基于标签传播算法面向寄递数据的并行化社团发现方法

文档序号:8943080阅读:426来源:国知局
基于标签传播算法面向寄递数据的并行化社团发现方法
【技术领域】
[0001]本发明涉及一种基于寄递数据来构建寄递网络的方法,尤其是涉及一种基于标签传播算法面向寄递数据的并行化社团发现方法。
【背景技术】
[0002]社会网络分析的研究起源于20世纪20年代初,侧重于研究社会实体之间的关系,例如:组成员内部的交流,国家之间的贸易,或公司之间的经济交易。随着信息的快速发展,社交网络复杂度越来越大,无论网络管理者还是网络研究人员,都希望对社交网络结构有清晰的认识。社区挖掘对理解社交网络结构有着重要意义,网络社区结构的发现对于网络拓扑结构分析、网络功能性分析以及网络行为预测具有非常重要的理论意义以及实用价值,在社会网及生物网等领域有广泛应用,现已被广泛应用于社交网络、恐怖组织识别等多个领域。
[0003]首先,基于聚类的社团发现算法往往仅考虑节点的属性信息,导致忽略其它的有用信息(如边的权值),而且它需要一个预先给定的输入参数(网络中社团的数目),导致社团划分的准确性不高。其次,考虑到基于标签传递算法不需要任何输入参数,而且具有线性的时间复杂度,收敛速度较快,而且挖掘的精确度也较高,适合于大规模网络中社团挖掘。最后,由于计算机技术和互联网技术的迅猛发展,人们获取数据的能力不断增强,需要分析的网络规模也从原来的几十至几百个结点上升到百万至千万级的规模,导致非分布式算法已不再适用于较大规模网络中社团发现。而Hadoop平台中的MapReduce计算框架十分适合处理大规模数据,因此在社区挖掘算法中引入MapReduce计算框架,利用分布式计算来解决的大规模寄递网络中社团发现,是一个切实可行的方案。

【发明内容】

[0004]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于标签传播算法面向寄递数据的并行化社团发现方法,,在构建了寄递关系网络模型基础上,利用MapReduce分布式计算框架,提高传统标签传播算法的扩展性和运行效率,最终实现准确、尚效地挖掘寄递网络中社团。
[0005]本发明的目的可以通过以下技术方案来实现:
[0006]—种基于标签传播算法面向寄递数据的并行化社团发现方法,包括:
[0007]步骤S1:预处理寄递数据,按照设定格式结构化为文本数据;
[0008]步骤S2:综合文本数据中节点之间寄递往来信息,标准化节点之间有向边的权值,最终以邻接表形式构建成寄递有向有权关系网络模型;
[0009]步骤S3:利用改进的标签传播算法,运用MapReduce框架并行化挖掘寄递网络中的社团结构;
[0010]步骤S4:解析步骤S3获取的社团结构,发现寄递网络中社团。
[0011]所述文本数据上传至Hadoop 平台的 HDFS (Hadoop Distributed File System)中存储与处理。
[0012]所述步骤SI具体为:对于每条寄递数据,分别抽取出寄件人姓名、寄件人电话号码、收件人姓名、收件人电话号码,所述寄件人姓名、寄件人电话号码、收件人姓名、收件人电话号码对应为每行文本数据的四列信息。
[0013]所述步骤S2具体为:
[0014]201:针对每个寄件人,获取该寄件人与其他收件人之间物流往来频数的邻接表,并对邻接表进行标准化处理;
[0015]202:对任意存在物流往来的寄件人和收件人,统计他们分别作为寄件人时对应存在相同收件人的数量A,该数量A记为共享发送邻居数;
[0016]203:对任意存在物流往来的寄件人和收件人,统计他们分别作为收件人时对应存在相同寄件人的数量B,该数量B记为共享接收邻居数;
[0017]204:对任意存在物流往来的寄件人和收件人,获取他们之间的共享发送邻居数与共享接收邻居数的和值,该和值作为该寄件人和收件人之间的共享邻居数,并对共享邻居数进行标准化处理;
[0018]205:将步骤201得到的邻接表的权值和步骤204中得到的共享邻居数按a:1- α的比例相加后获得同时考虑寄件频数与共同发送邻居数和共同接收邻居数的有向边权值,并更新邻接表,其中,O < α < I ο
[0019]所述改进的标签传播算法采用多次迭代的方式,一次迭代过程具体为:
[0020]301:在步骤S2获得的邻接表的结尾加上对应寄件人节点的唯一标示ID,作为寄件人节点标签Label,完成初始化标签;
[0021]302:根据带节点标签的邻接表输出多个〈key,value)形式键值对,分为寄件人键值对和收件人键值对;
[0022]303:获取相同key值的键值对,遍历每个value,首先获取寄件人键值对的value用来表示该key值的邻接表的value,并存于变量adjacent中,其次,对于收件人键值对的value,统计不同Label下权重值之和,并根据不同Label的比重来更新该key值的节点标签 NewLabel ;
[0023]304:将NewLabel添加到adjacent结尾处,输出一个新的〈key, value〉形式键值对,并更新邻接表的标签,寄递网络中的社团结构与含有标签的邻接表相对应。
[0024]所述改进的标签传播算法的迭代终止条件包括:前后两次迭代过程大于设定百分比的节点标签不发生变化或达到设定的迭代次数。
[0025]所述设定百分比为90%。
[0026]所述设定的迭代次数为20?30次。
[0027]所述步骤S4具体为:根据步骤S3获取的邻接表,将相同标签的节点视为同一社团,从而发现寄递网络中社团。
[0028]与现有技术相比,本发明具有以下优点:
[0029]I)现有技术主要是基于单机算法挖掘社团,不适合大规模网络中社团挖掘,本发明基于寄递数据来构建寄递网络的方法,同时在寄递网络中采用并行标签传播算法,以准确、高效地挖掘寄递网络中社团,特别适用于大规模网络的挖掘,相比于传统单机算法挖掘社团,本发明所提供的方法的优越性十分明显。
[0030]2)在计算寄递网络边的权值方面考虑了 3个方面的指标:1、寄递双方的物流往来频数;2、统计寄递双方分别作为寄件人时对应存在相同收件人的数量;3、统计寄递双方分别作为收件人时对应存在相同寄件人的数量,最后本发明综合这3个指标计算网络中所有边的权值,从而提供挖掘精度与准确度。
[0031]3)本发明方法不需要任何输入参数,而且具有线性的时间复杂度,收敛速度较快,适合于大规模网络中社团挖掘。
[0032]4)结合MapReduce分布式计算框架,将反应寄递数据的文本数据上传至Hadoop集群的HDFS中存储与处理,提高算法的扩展性与时间效率。
【附图说明】
[0033]图1为本发明方法的整体流程图;
[0034]图2为基于寄递数据构建寄递关系网络模型的流程图;
[0035]图3为采用改进的标签传播算法并行化挖掘社团的流程图。
【具体实施方式】
[0036]下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0037]如图1所示,一种基于标签传播算法面向寄递数据的并行化社团发现方法分为构建寄递关系网络模型阶段和挖掘阶段,具体如下:
[0038]步骤S1:预处理寄递数据,按照设定格式结构化为文本数据,文本数据上传至Hadoop集群的HDFS中存储与处理。具体为:
[0039]对于每条寄递数据,分别抽取出寄件人姓名、寄件人电话号码、收件人姓名、收件人电话号码,寄件人姓名、寄件人电话号码、收件人姓名、收件人电话号码对应为每行文本数据的四列信息。
[0040]步骤S2:综合文本数据中节点之间寄递往来信息,标准化节点之间有向边的权值,最终以邻接表形式构建成寄递有向有权关系网络模型,并上传至HDFS中。如图2所示,具体为:
[0041]201:针对每个寄件人,获取该寄件人与其他收件人之间物流往来频数的邻接表,并对邻接表进行标准化处理。下面具体说明:
[0042]I)首先,基于MapReduce计算框架,在Map阶段按行读取步骤SI中存于HDFS且经过标准化后的文本数据,分别对寄件人和收件人使用其姓名与电话号码的组合作为其唯一标示ID,输出〈key, value〉形式键值对,其中key为寄件人ID,value为收件人ID。
[0043]2)在Reduce阶段获取相同key值下,即相同寄件人情况下,统计该寄件人与不同收件人物流往来频数。最终为每个寄件人得到一个仅考虑该寄件人与其他收件人之间物流往来频数的邻接表。
[0044]3)其次,根据每个寄件人的邻接表,当该寄件人发送快递频数大于设定频数(本实施例中根据经验取500次),则可判断该寄件人为物流中转站或者为淘宝卖家等情况,因此需删去该寄件人的邻接表,同时从其他寄件人的邻接表中删去该寄件人节点。
[0045]4)最后,根据新产生的所有寄件人的邻接表,统计物流往来频数最大的寄件人与收件人,设最大往来次数为Max,利用Max来标准化所有寄件人的邻接表:假设某个寄件人的邻接表[SXtR1 IC1XtR2: C2...\tRk:Ck],其中\t为分隔符,S为Sender简写,表示寄件人,R为Receiver简写,表示收件人,C为Count简写,下标k为收件人和对应次数的顺序编号,表示次数,将与其有物流往来的收件人(&、&和1^等)的往来次数(Cp CjP (^等)除以Max,最终得到该寄件人标准化后的邻接表,即[SVR1 = WAtR2 = W2...\tRk:Wk],其中,Wk= Ck/Max。
[0046]202:求得共享发送邻居数:对任意存在物流往来的寄件人和收件人,统计他们分别作为寄件人时对应存在相同收件人的数量A,该数量A记为共享发送邻居数。下面具体说明:
[0047]I)首先,在MapReduce计算框架下,在Map阶段读取I)中每个寄件人的邻接表[SXtR1IffAtR2Iff2...\tRk:Wk],输出多个〈key, value)形式键值对:<S, +R1XtR2...\tRk> (
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1