一种数据清洗方法与流程

文档序号:17601508发布日期:2019-05-07 20:22阅读:530来源:国知局
一种数据清洗方法与流程

本发明涉及通信领域,尤其一种数据清洗方法。



背景技术:

在数据分析领域,经常需要对数据进行清洗和提取。在常见互动性网站中,比如知乎,百度贴吧存在大量的用户互评类数据,这类数据能够反应用户的个人偏好,也能够用于研究时事热点和社会现象,存在较多的社会信息,能够被广泛的应用于广告目标用户研究,热点问题研究,舆情监督等各个领域。但是现有技术中缺乏对于这类数据的有效清洗和科学分析方法,从而能够得到的信息有限。



技术实现要素:

为了解决上述技术问题,本发明提供一种数据清洗方法。

本发明是以如下技术方案实现的:

一种数据清洗方法,所述数据包括一类数据和二类数据,所述一类数据为直接发布的数据,所述二类数据为针对一类数据的评论数据,包括:

获取数据集合,所述数据集合包括一类数据和二类数据;

对所述数据集合进行预处理以得到数据网络集合{di},所述数据网络集合中的数据网络元素以di={v,e}的形式记录,其中v为用户标识,e代表一个用户标识发布的二类数据对另一个用户标识发布的一类数据的评论关系,每个顶点均包括用户标识、标题和内容三部分数据;

根据所述数据网络集合进行数据清洗以得到数据清洗结果。

进一步地,所述数据清洗包括:

对每个数据网络元素的各个顶点进行出度统计;

获取每个数据网络元素中出度小于2的目标顶点;

删除所述目标顶点。

进一步地,所述数据清洗包括:

对每个数据网络元素中各个顶点的进行入度统计;

对每个数据网络元素中各个顶点对应的用户在所述数据网络元素的范围内进行重视度评估;

根据所述重视度评估的结果和所述入度判断所述顶点是否为目标顶点;

若是,则删除所述目标顶点。

进一步地,对某个顶点对应的用户的重视度评估包括:

获取其它用户对所述用户的负评度,所述负评度根据公式计算而得,其中表示某个其它用户对所述所述用户的评论中某个负评词的权重,sumj表示所述评论中出现负评词的总数;

计算所述用户的重视度。

进一步地,重视度计算公式如下其中κ1,κ2是预设参量,其值与清洗的程度相关,input,output为所述顶点的入度和出度,sum(neg≥0.45)是对所述用户负评度大于0.45的其它用户的负评度的总和值,sum(i)是对所述用户进行评论的全部其它用户的数量。

在本发明创造的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明创造和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明创造的限制。此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”等的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明创造的描述中,除非另有说明,“多个”的含义是两个或两个以上。

在本发明创造的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以通过具体情况理解上述术语在本发明创造中的具体含义。

本发明的有益效果是:

本发明中提供了一种数据清洗方法,能够有效清洗垃圾用户和不活跃用户。

附图说明

图1是本实施例提供的一种数据清洗方法流程图;

图2是本实施例提供的第一种数据清洗方法流程图;

图3是本实施例提供的第二种数据清洗方法流程图;

图4是本实施例提供的某个顶点对应的用户的重视度评估方法流程图;

图5是本实施例提供的对清洗后的数据进行提取的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将对本发明作进一步地详细描述。

本发明实施例提供一种数据清洗方法,所述数据包括一类数据和二类数据,所述一类数据为直接发布的数据,所述二类数据为针对一类数据的评论数据。所述方法如图1所示,包括:

s101.获取数据集合,所述数据集合包括一类数据和二类数据。

s102.对所述数据集合进行预处理以得到数据网络集合{di},所述数据网络集合中的数据网络元素以di={v,e}的形式记录,其中v为用户标识,e代表一个用户标识发布的二类数据对另一个用户标识发布的一类数据的评论关系,每个顶点均包括用户标识、标题和内容三部分数据。

举例而言,若用户spark发布了一个一类数据,用户tony,samby和dazzi对其进行了评论,则得到了包括四个顶点,三条有向边的数据网络元素,有向边为从tony指向spark,samby指向spark和dazzi指向spark的三条边。有向边的方向由发布二类数据的用户指向所述二类数据对应的一类数据的用户。

具体地,数据网络元素中可以包括多个发布一类数据的用户和多个发布二类数据的用户,而发布一类数据的用户也可以同时作为发布二类数据的用户,本发明实施例并不限定数据网络元素的具体生成方法。比如可以按照时间,一天发布出来的数据对应一个数据网络元素。

s103.根据所述数据网络集合进行数据清洗以得到数据清洗结果。

具体地,所述数据清洗以各个数据网络元素为清洗对象,如图2所示,包括:

s1031.对每个数据网络元素的各个顶点进行出度统计。

具体地,数据网络元素为有向图的形式,对于所述有向图中的各个顶点,统计其出度。

s1033.获取每个数据网络元素中出度小于2的目标顶点。

s1035.删除所述目标顶点。

本次清洗步骤旨在清洗活跃度较低的用户发布的一类数据和二类数据,活跃度较低的用户所发布的数据的统计意义较小,因此,有必要进行清理。

进一步地,所述数据清洗如图3所示,还包括:

s1032.对每个数据网络元素中各个顶点的进行入度统计。

s1034.对每个数据网络元素中各个顶点对应的用户在所述数据网络元素的范围内进行重视度评估。

具体地,某个顶点对应的用户的重视度评估如图4所示,包括:

s10341.获取其它用户对所述用户的负评度,所述负评度根据公式计算而得,其中表示某个其它用户对所述所述用户的评论中某个负评词的权重,sumj表示所述评论中出现负评词的总数。

具体地,负评词及其权重可以预先设置,并记录在负评词权重表中。比如负评词“白痴”对应权重0.9,负评词“小傻瓜”对应权重0.4。权重越重,则负评词的负评语气越激烈。

s10342.计算所述用户的重视度。

具体地,计算公式如下其中κ1,κ2是预设参量,其值与清洗的程度相关,可以由程序员进行任意设置。input,output为所述顶点的入度和出度,sum(neg≥0.45)是对所述用户负评度大于0.45的其它用户的负评度的总和值,sum(i)是对所述用户进行评论的全部其它用户的数量。

s1036.根据所述重视度评估的结果和所述入度判断所述顶点是否为目标顶点。

具体地,若所述顶点的入度为0或者所述顶点的入度非零并且重视度小于预设阈值,则所述顶点被判定为目标顶点

s1038.若是,则删除所述目标顶点。

本次清洗步骤旨在清洗垃圾用户,垃圾用户通常没有其它用户对其进行评论或者垃圾用户通常带有某种负面情绪,对其它用户的评论的内容也带有强烈的负面情绪色彩,对于垃圾用户发布的一类数据和二类数据进行清洗有利于维持数据的客观度,有理由基于清洗后的数据进行其它的统计研究。

在上述进行充分的数据清洗的基础上,本发明实施例进一步提供了数据提取方法,所述数据可以为清洗后的数据,如图5所示,包括:

s201.对所述数据重新生成数据网络集合{di},所述数据网络集合中的数据网络元素以di={v,e}的形式记录,其中v为用户标识,e代表一个用户标识发布的二类数据对另一个用户标识发布的一类数据的评论关系,每个顶点均包括用户标识、标题和内容三部分数据。

s202.根据所述数据网络集合中的顶点的标题获取主题向量集。

具体地,所述主题向量集可以被标识为{topici},其中topici={(ti1,pi1)……(tin,pin)},其中为tij主题topici中可能出现的关键词,pij为所述关键词在该主题中出现的概率。事实上数据网络集合中的各个顶点的标题和内容都可以看做是一系列关键词的概率分布,因此,通过对于各个顶点的标题进行分析结合先验知识即可得到与顶点相关的主题,由此得到数据网络集合对应的主题向量集。而对于得到主题向量集的具体方法本发明实施例并不做出具体限定,可以参考现有技术。本发明实施例使用标题分析而不考虑内容分析是出于节省运算量的考量,在标题对于内容具备较强的概括作用的应用场景中,对于主题向量集的获取精度损失不大。

s203.获取数据网络集合中各个顶点的标识与所述主题向量集中各个向量的相关度,得到相关度集合。

具体地,某个顶点与某个主题向量的相关度的获取方法包括:

基于公式计算某个顶点与某个主题向量的相关度,其中vi为该顶点的标题,key为同时隶属于所述主题向量和所述标题的关键词,所述p(key)为所述关键词在所述主题向量中的概率。

进一步地,可以得到某个顶点与所述主题向量集中各个主题的相关度,从而得到相关度集合。

s204.根据所述相关度集合进行数据提取。

具体地,根据所述相关度集合进行数据提取与具体的提取目的有关,本发明提供了两种应用场景之下的提取方法。

在一个应用场景之中,需要对于各个主题的相关数据进行分别研究,因此,需要提取出各个主题中重要程度较高的数据,在这种应用场景之下,需要按照主题进行数据的提取,所述根据所述相关度集合进行数据提取包括:

s2041.为所述主题向量集中的各个主题生成数据容器,每个主题有唯一对应的数据容器,所述数据容器用于收集与所述主题对应的数据。

s2043.获取待提取顶点的相关度集合。

s2045.判断所述相关度集合中是否存在目标相关度,所述相关度为值大于第一预设阈值的相关度,若存在,则将目标相关度提取出来。

s2047.获取所述目标相关度对应的主题,将所述待提取顶点的加入所述主题对应的数据容器之中。

s2048.获取下一个待提取顶点,若所述下一个待提取顶点不为空,则重复执行步骤s2043,否则,流程结束。

在另一个应用场景之中,需要定位活跃度较高的用户,即对于很多话题均进行参与,而这部分用户是很多大型门户网站的铁杆用户,也是广告投放商的广告投放对象,为了定位这些用户,也需要进行数据提取,所述根据所述相关度集合进行数据提取把偶偶:

s2042.获取待提取顶点的相关度集合。

s2044.判断所述相关度集合中是否存在目标相关度,所述相关度为值大于第二预设阈值的相关度,若存在,则将所述待提取顶点提取出来。

s2046.获取下一个待提取顶点,若所述下一个待提取顶点不为空,则重复执行步骤s2042,否则,执行步骤s2048。

s2048.将提取出的顶点对应的用户标识提取出来,得到用户集合。

提取出的用户集合即为铁杆用户,通过对所述用户集合进行进一步研究,还可以分析这部分用户的行为特征,社会关系,以用于广告投放或者后续为这些客户提供更好的服务。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1