一种面向社交网络的兴趣社群发现方法与流程

文档序号:19155712发布日期:2019-11-16 00:44阅读:181来源:国知局
一种面向社交网络的兴趣社群发现方法与流程
本发明涉及社区发现
技术领域
,具体涉及一种面向社交网络的兴趣社群发现方法。
背景技术
:随着智能移动设备的发展,人们在互联网上的时间投入比例越来越多。人们会花费大量的时间在社交网络上进行信息的浏览获取。社交网络给用户提供发布超文本信息的功能、评论他人博文的功能、与他人聊天的功能等,用户可以在社交网络中感受到社交带来的愉悦,所以社交网络上的用户具有很大的研究价值。目前,在线社交网络已成为连接网络虚拟空间和人类物理世界不可或缺的桥梁。如果能通过微博用户的文本及网络交互信息,分析在某一话题下具有兴趣相投的用户群体,对于社交网络上的兴趣发现、舆情监测及心理学研究等领域都具有重要意义。例如在网络舆情监测方面,通过挖掘微博热点事件中兴趣社区,可以帮助政府了解网络舆情以及不同兴趣社区的构成;在心理健康分析领域,对微博用户进行兴趣社区划分,便于进一步对其中的高压力人群实施针对性的心理疏导和专业干预;在类似推荐系统中,帮助进行广告投放等。社区发现是指将网络中的节点分割成多个簇结构,通过聚类的形式使得分割后的结构中的簇具有高内聚低耦合的特点。兴趣社区发现是指将社交网络中用户以兴趣类别为划分依据的社区发现的研究。目前对于兴趣社区发现的研究存在三个问题。第一,兴趣社区发现的研究是通过对社交网络中的结构分析、以及基于内容分析或者二者结合的方式进行的研究。对于基于内容的分析的兴趣社区发现研究中,目前存在应用较为广泛的lda等主题提取的方法,然而对于这些方法的准确率受先验知识影响,并不稳定。而现公认的基于文本内容分类的textcnn算法虽可解决单文本分类问题,但对网络用户多博文分类效果有所降低。第二,将结构和内容结合的兴趣社区发现方法虽然比单方面的研究更具体,但是它却忽略了社交网络的社交性,在用户的互动行为比如评论、转发、点赞、@等并没有考虑。第三,目前重叠的兴趣社区发现基于标签传播算法,只在网络结构上进行。并且其标签获取方式主要是靠用户标签信息,而用户标签信息具有不准确和片面化的负面影响。而非重叠的兴趣社区发现不符合社交网络中用户具有多种兴趣的这一现象,因此不具有很好的应用价值。所以该研究对网络舆情、公共心理健康、个性化推荐等领域均有重要意义和应用价值。综上所述,传统的兴趣社区发现忽略了用户产生的多文本内容、交互行为以及用户标签准确性这些重要因素,而且现有基于兴趣社区发现的研究效果不太理想。技术实现要素:针对现有技术存在的问题,本发明提供一种面向社交网络的兴趣社群发现方法,在传统textcnn模型基础上建立新的深度学习模型,能够支持多篇社交网络文本输入,并结合社交网络文本间的相似度,提出了基于textcnn结合相似度的多文本兴趣建模方法(similarityconsiderationsandmulti-bloginputinterestmodelbasedtextcnn,smb-textcnn),并提出了结合网络结构和互动行为的用户兴趣特征建模方法(withstructureandinteractionbehavioruserinterestmodel,sibuim)。利用lm神将网络算法构建用户影响力模型,再根据该模型结果、关注关系以及@行为信息对基于smb-textcnn的结果进行调整,最后根据sibuim的结果,提出了基于k-means重叠的兴趣社区发现方法(overlapinterestcommunitydiscoverymethodbasedonk-means,k-oicd)。该方法考虑了社交网络的结构性以及节点的内容,并且能够对新浪微博用户进行重叠的兴趣社区划分。一种面向社交网络的兴趣社群发现方法,具体步骤如下:步骤1:将textcnn卷积神经网络模型的单文本输入改为多文本输入,并利用textcnn卷积神经网络生成该用户的兴趣特征矩阵,利用每个用户多个社交网络文本之间的文本相似度对得到的兴趣特征矩阵进行调整;步骤1.1:读取同一用户id的多篇社交网络文本,利用python语言实现的中文分词模块结巴分词中的精确模式对该用户的多篇社交网络文本进行分词;步骤1.2:使用word2vec模型中的cbow,即continuousbag-of-wordsmodel训练模型对分词结果进行向量化;步骤1.3:将所述步骤1.2得到的词向量输入到textcnn卷积神经网络模型中,经过卷积层,池化层,全连接层等操作后,得到该用户的网络社交文本兴趣特征矩阵t={i1,i2,…in}t;步骤1.4:利用余弦相似性计算该用户每篇网络社交文本之间的文本相似性,将得到的网络社交文本相似性作为权重对网络社交文本兴趣特征矩阵进行调整;步骤2:用lm神经网络算法构建用户影响力模型,将用户影响力分为高、较高、中、低四个等级,再根据用户影响力模型结果、用户关注关系以及@行为信息对基于smb-textcnn的结果进行调整;步骤2.1:抽取社交网络平台的用户的粉丝数、发表文本数、点赞数、评论数、转发数作为影响力模型的特征,将相同id的用户数据进行合并;步骤2.2:采用所述步骤2.1得到的用户数据对lm神经网络分类器进行训练验证,将用户影响力分为高、较高、中、低四个等级;步骤2.3:采用所述步骤2.2中训练的lm神经网络分类器对用户ui的关注者列表构成的关注者集合ufi进行影响力的分类,并从中选取影响力类别为高的用户构成集合hfi;步骤2.4:分别计算用户ui与集合hfi中所有用户的社交网络文本之间的相似性,利用得到的文本相似性调整所述步骤1.4得到的兴趣特征矩阵;步骤2.5:计算用户ui的@列表构成的@用户集合p中元素的兴趣矩阵,并计算其兴趣矩阵与ui的兴趣矩阵的相似性,并用得到的结果对所述步骤2.4得到的兴趣特征矩阵进行调整,得到最终的兴趣特征矩阵fi;步骤3:基于k-means均值聚类的思想,利用兴趣特征矩阵fi对社交网络平台用户进行重叠社区的发现和划分;步骤3.1:计算每个用户兴趣特征矩阵中的每个兴趣类别上各元素的和,兴趣类别k上矩阵第i行各元素的和记为sumik,所有用户在兴趣类别k上sumk的值记为yk={sum1k,sum2k,…sumzk}。步骤3.2:兴趣类别的y构成的集合为l={y1,y2,…ym},对集合l中每个元素内部进行k-means算法,即社区构成的集合记为集合c,将yk内部进行社区划分的结果按照各社区质心的位置从高到低排序,记为{ck1,ck2,cka}。步骤3.3:设每个兴趣社区下有y个小社区,这y个小社区分别代表每个兴趣类别下的兴趣社区的分布状况,因此对l中每个元素取前y个社区作为本方法在每个类别上社区划分结果。所述步骤1.4中计算计算社交网络文本相似性调整用户兴趣特征矩阵的公式如下:v={ω1i1,ω2i2,...ωnin}tv为调整后的兴趣矩阵,ωi代表ii的权重,ωi取值说明如下,使用余弦相似性作为相似性度量标准,计算方式如下:其中ii,ij表示用户ui任意两篇社交网络文本的兴趣分布向量,计算任意两篇社交网络文本相似度后得到矩阵记为b,对矩阵b调整公式如下所示:a=f(b-δe)e表示单位矩阵,δ为阈值,如果bij-δ>0,aij取值为1表示两篇社交网络文本表示很大的相似度,否则为0。本文用(ai)表示ai中1的个数,用(a)表示矩阵a中总元素个数,ωi的值如下所示:所述步骤2.4中利用用户ui关注的高影响力用户集合hfi的兴趣特征矩阵调节所述步骤1.4得到的兴趣特征矩阵公式如下:其中|hfi|表示集合hfi中元素的个数,j代表hf中第j个用户的下标,λi为调节参数,g(vi,vj)是衡量vj对vi贡献的标准,计算方式如下:矩阵h为用户ui及其关注的高影响力用户集合hfi的兴趣特征矩阵之间的相似度,sum(h)为所有用户在某一兴趣类别上概率之和,计算方式如下:所述步骤2.5中所述@行为对用户兴趣矩阵的调整公式如下:其中用户ui的兴趣特征矩阵为v’i={ii1’,ii2’,...iin’}t,用户ui的@列表构成的用户集合为p。p中任意元素uj兴趣矩阵为vj’={ij1’,ij2’,...ijn’}t,pik,pjk分别为用户ui及其@的用户的某一篇社交网络文本在某种兴趣分类上的概率。本发明的有益效果:本发明提出一种面向社交网络的兴趣社群发现的方法,该方法不仅能够发现模块度较高的兴趣社区,而且运行时间也在可接受范围之内,本方法既可以为政府监测社交网络中的舆论导向,同时又能够帮助完善改进各种推荐算法,而且还可以给心理研究机构提供敏感话题人群的情感变化分析结果。附图说明图1为本发明实施例中步骤1.1中分词结果展示图;图2为本发明实施例中步骤1.2中词向量结果展示图;图3为本发明实施例中textcnn卷积神经网络模型框架图;图4为本发明实施例中不同输入方式下smb-textcnn模型用户分类准确率对比实验图;图5为本发明实施例中不同向量维度下准确率对比实验结果;图6为本发明实施例中应用的smb-textcnn与textcnn、lda、tf-idf四个模型分类准确率对比图;图7为本发明实施例中步骤2中用lm神将网络算法建立的影响力模型算法流程图;图8为本发明实施例中应用的lm神经网络于决策树分类器、朴素贝叶斯分类器、随机游走的pagerank算法的影响力结果准确率对比图;图9为本发明实施例中步骤2提出的sibuim和步骤1提出smb-textcnn算法以及textcnn算法准确率对比图;图10为本发明实施例中k-oicd应用在的smb-textcnn算法和sibuim算法以及直接使用textcnn算法和单独的copra算法进行类内紧密性cp值和类间紧密型sp值的比较图。具体实施方式为了使本发明的目的、技术方案及优势更加清晰,下面结合附图和具体实施例对本发明做进一步详细说明。此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。一种面向社交网络的兴趣社区发现方法,具体方法如下所述:本实例中,总共获取原始数据1200万条微博博文数据,100万个微博用户数据信息存到数据库中本实例中称为a数据集。另外,本从网上收集到了35000条带有主题标签的数据集。带有主题标签的数据集将主题分为21类:it、财经、传媒、动漫、房产、广告公共、健康、教育、旅游、美食、女性、汽车、人为艺术、生活、时尚、体育、文字出版、校园、游戏、娱乐、育儿,本实例中称为b数据集。本实例中对a数据集中用户数据选取微博数较少,粉丝较少,转发和评论数较少的用户信息以及网上收集新浪大v用户数据信息和微博名人堂数据信息构建新的数据集c。步骤1:将textcnn卷积神经网络模型的单文本输入改为多文本输入,并利用textcnn卷积神经网络生成该用户的兴趣特征矩阵,利用每个用户多个社交网络文本之间的文本相似度对得到的兴趣特征矩阵进行调整,具体步骤如下:步骤1.1:读取同一用户id的多篇社交网络文本,利用python语言实现的中文分词模块结巴分词中的精确模式对该用户的多篇社交网络文本进行分词,分词结果如图1所示;步骤1.2:使用word2vec模型中的cbow,即continuousbag-of-wordsmodel训练模型对分词结果进行向量化,向量化结果如图2所示;步骤1.3:将所述步骤1.2得到的词向量输入到textcnn卷积神经网络模型中,如图3所示,经过卷积层,池化层,全连接层等操作后,得到该用户的网络社交文本兴趣特征矩阵t={i1,i2,…in}t;步骤1.4:利用余弦相似性计算该用户每篇网络社交文本之间的文本相似性,将得到的网络社交文本相似性作为权重对网络社交文本兴趣特征矩阵进行调整;所述博文相似性调整用户兴趣特征矩阵的公式如下:v={ω1i1,ω2i2,...ωnin}t(1)v为调整后的兴趣矩阵,ωi代表ii的权重,ωi取值说明如下,本方法使用余弦相似性作为相似性度量标准,计算方式如下:其中ii,ij表示用户ui任意两篇博文的兴趣分布向量,计算任意两篇博文相似度后得到矩阵记为b,对矩阵b调整公式如下所示:a=f(b-δe)(3)e表示单位矩阵,δ为阈值,如果bij-δ>0,aij取值为1表示两篇博文表示很大的相似度,否则为0。本文用(ai)表示ai中1的个数,用(a)表示矩阵a中总元素个数,ωi的值如下所示:本实例中每篇博文的长度会有差异,而smb-textcnn算法模型的输入层长度为固定值,所以本实例要对输入的博文的长度进行统一。本实例测试了输入长度取最大值、最小值、均值三种方法下smb-textcnn模型用户分类准确率,如图4所示。本实例对word2vec输出的词向量维度的大小对smb-textcnn模型准确率的影响作出比较。本实验选取100维、150维、200维、250维、300维、350维、400维作为候选维度,观察准确率随着维度变化的变化趋势,通过图5可以发现如果词向量维度较大,会出现过拟合现象,维度过小会影响准确率。准确率在向量维度300维以下时,随着维度的提升而升高,在向量维度300维以上时,准确率开始降低。这里选择300维作为最优维度。为了证明本实例提出的smb-textcnn模型的合理性,本实施例设计了对比实验,将smb-textcnn算法模型和textcnn、lda以及tf-idf常见的文本分类算法进行对比。但是本实例提出最后的用户分类可以有多分类,因此传统单分类的分类标准不再适用。因此针对于本实验的分类正确与否说明如表1所示。由于textcnn只能对单篇博文进行处理,所以实例将同一用户id下的所有博文进行合并作为输入,并进行实验对比。最后,实验结果如图6所示。步骤2:用lm神经网络算法构建用户影响力模型,将用户影响力分为高、较高、中、低四个等级,再根据用户影响力模型结果、用户关注关系以及@行为信息对基于smb-textcnn的结果进行调整;步骤2.1:抽取社交网络平台的用户的粉丝数、发表文本数、点赞数、评论数、转发数作为影响力模型的特征,将相同id的用户数据进行合并,合并结果如表2所示;表1分类正确性说明表2最终数据形式用户id粉丝数微博数点赞数评论数被转发数分类结果180246480113803832790732223高215346736424094867928392低……………………………………步骤2.2:采用步骤2.1得到的用户数据对lm神经网络分类器进行训练验证,将用户影响力分为高、较高、中、低四个等级,lm神经网络算法建立的影响力模型算法流程如图7所示;本实例通过数据集c验证本实例提出的lm神经网络与决策树分类器,朴素贝叶斯分类器以及随机游走的pagerank算法的准确率。数据集划分如表3所示。其中四个指标,本实例将数据集c中用户如果有两项值超过上述平均值,则划分为高。类似,如果有用户有两项超过大v用户数据均值则为较高,准确率对比图如图8所示;表3数据集划分内容总数量/个均值/个评论数118431871165870.97(max=8342455)转发数152082044213000.06(max=12528208)粉丝数6341220030888126.09(max=14707929)微博数17010012382.37(max=31546)步骤2.3:用步骤2.2中训练的lm神经网络分类器对用户ui的关注者列表构成的关注者集合ufi进行影响力的分类,并从中选取影响力类别为高的用户构成集合hfi;步骤2.4:分别计算用户ui与集合hfi中所有用户的社交网络文本之间的相似性,利用得到的文本相似性调整步骤1.4得到的兴趣特征矩阵;所述利用用户ui关注的高影响力用户集合hfi的兴趣特征矩阵调节步骤1.4得到的兴趣特征矩阵公式如下:其中|hfi|表示集合hfi中元素的个数,j代表hf中第j个用户的下标,λi为调节参数,g(vi,vj)是衡量vj对vi贡献的标准,计算方式如下:矩阵h为用户ui及其关注的高影响力用户集合hfi的兴趣特征矩阵之间的相似度,sum(h)为所有用户在某一兴趣类别上概率之和,计算方式如下:步骤2.5:计算用户ui的@列表构成的@用户集合p中元素的兴趣矩阵,并计算其兴趣矩阵与ui的兴趣矩阵的相似性,并用得到的结果对步骤2.4得到的兴趣特征矩阵进行调整,得到最终的兴趣特征矩阵fi;所述@行为对用户兴趣矩阵的调整公式如下:其中用户ui的兴趣特征矩阵为vi’={ii1’,ii2’,...iin’}t,用户ui的@列表构成的用户集合为p。p中任意元素uj兴趣矩阵为vj’={ij1’,ij2’,...ijn’}t,pik,pjk分别为用户ui及其@的用户的某一篇博文在某种兴趣分类上的概率;为了验证步骤2提出的sibuim算法的合理性,sibuim准确率对比实验将sibuim和本文提出smb-textcnn算法以及textcnn算法进行对比。因为三个算法均涉及深度学习模型,非深度学习模型已经在smb-textcnn模型性能对比实验中进行对比,所以在这里不加入非深度学习模型进行比较。本实验将在准确率上对上述三个模型进行比较说明。sibuim准确率对比实验的结果如图9所示;步骤3:基于k-means均值聚类的思想,利用兴趣特征矩阵fi对社交网络平台用户进行重叠社区的发现和划分,具体步骤如下:步骤3.1:计算每个用户兴趣特征矩阵中的每个兴趣类别上各元素的和,兴趣类别k上矩阵第i行各元素的和记为sumik,所有用户在兴趣类别k上sumk的值记为yk={sum1k,sum2k,…sumzk};步骤3.2:兴趣类别的y构成的集合为l={y1,y2,…ym},对集合l中每个元素内部进行k-means算法,即社区构成的集合记为集合c,将yk内部进行社区划分的结果按照各社区质心的位置从高到低排序,记为{ck1,ck2,cka};划分后的社区数设为a,采用k-means算法对l中元素进行聚类分析,得到a个质心即为输出的社区质心;步骤3.3:每个兴趣社区下有y个小社区,这y个小社区分别代表每个兴趣类别下的兴趣社区的分布状况,因此对l中每个元素取前y个社区作为本方法在每个类别上社区划分结果;为了证明步骤3提出的算法合理性,本文通过将k-oicd应用在的smb-textcnn算法和sibuim算法以及直接使用textcnn算法和单独的copra算法进行cp值和sp值的比较。实验结果如图10所示。可以看出在经过sibuim算法后的k-oicd算法在性能上有更好的表现,值得一提的是copra算法在本文实验中表现并不理想,其原因为,本文的数据集对于copra而言,其信息并不符合而且不准确,所以copra算法的效果很差。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;因而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1