本发明专利技术公开了一种基于社交网络的主题社团发现方法,包括步骤:S1、对社交网络的文档集进行主题分析,从而得到主题向量集;S2、对所述主题向量集使用k-means算法进行聚类,从而得到主题簇;S3、对每个所述主题簇进行链接划分,得到每个主题簇的主题社团集。本发明专利技术结合基于链接的社团发现算法和主题模型算法提供了一种能够有效和高效地对社团进行主题和链接划分的主题社团发现算法。
【技术实现步骤摘要】
本专利技术涉及数据挖掘领域,尤其涉及基于社交网络的主题社团发现方法。
技术介绍
随着社交网络服务(简称SNS)的迅速发展,社交网络已经成为人们获取实时信息的重要来源和进行网络社交的重要平台。近几年里我国社交网络的用户数量在高速增长,这就说明了社交网络在高速发展。同时,社交网络存在大量数据信息,而且数据类型有多种形式,如人际网络,文本,图片,视频和音频等。如何利用这些数据为社交网络用户提供更好的服务已经成为了社交网络分析(Social network analysis)的重要研究方向。社团发现问题是社交网络分析的核心问题之一。由原来的无向图社团发现到现在的核心社团发现,社团发现问题得到了许多扩展,并且新的问题又被提出来。社团发现研究既有丰富的科学理论,又有巨大的商业意义,比如社团发现算法可以对社交网络的人及其人际结构进行分析,并可以向其推荐好友、商品等。在社交网络分析时,通常是采集社交网络的文本集,再对文本集进行主题分析,主题分析是通过对文本内容分析并提取出文本中的主题的过程。传统的LDA算法就是对文本集进行主题分析,其中,LDA主题模型涉及到贝叶斯理论、Dirichlet分布、多项分布、图模型、变分推断、EM算法、Gibbs抽样等知识。LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。它采用了词袋(bag of words)的方法,这种方法将每一篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息。但是词袋方法没有考虑词与词之间的顺序,这简化了问题的复杂性,同时也为模型的改进提供了契机。每一篇文档代表了一些主题所构成的一个概率分布,而每一个主题又代表了很多单词所构成的一个概率分布。LDA算法以文档集合作为输入(会有切词,去停用词,取词干等常见的预处理,略去不表),希望训练出两个结果向量,即每个文档文档在主题上的概率,和每个主题在词上的概率。以下就是基于gibbs抽样的LDA算法的伪代码:其中,k~Multinomial(1/K)为:p(zm,n=k)=1/K,其中,V为所有文档的总词数,K为主题个数。主题在词表上的概率矩阵和文档在主题上的概率矩阵θ的元素值分别为:主题k在词v的概率φk,v=nk(v)+βΣv=1V(nk(v)+β),]]>文档m在主题k的概率经分析,LDA算法时间复杂度为O(N*M*Z*K),其中N为迭代次数,N为文档的个数,Z为点的文本的词的平均个数,K为主题数,并且LDA算法可以对文本很好地进行主题划分。但是LDA仍然有不足:当前社交网络用户文本更新的速度是非常频繁的,如果当有一篇新文档加入的时候,为了确定这篇文档的主题,LDA算法需要对旧文档和新文档一起进行主题分析,这就重复了对旧文档的主题分析的工作。针对社交网络这一特点,本专利技术对LDA算法进行改造,使它可以对新文档进行主题分析而不用重复地对旧文档进行主题分析。Normalized-cuts和Modularity等是传统的社团发现算法,只是利用了链接关系而忽略了网络节点所拥有的文本信息,这就导致了划分结果不能反映社团之间的主题(兴趣)关系。在社交网络中是真实蕴含这些主题(兴趣)关系的,比如人际关系中不同的人有不同的兴趣,即使关系密切的人之间的兴趣也会是不同的。这就导致了在推荐好友中,传统的社团发现算法只能帮助用户找到与其关系密切的好友,并不能找到与其兴趣相近的好友。经过上述的分析,可以知道传统的社团发现算法是仅能对社团进行链接划分,而不能对社团进行主题划分。本专利技术将结合基于链接的社团发现算法和主题模型算法设计一种主题社团发现算法。
技术实现思路
本专利技术的目的是针对当前社团发现算法仅能对社团进行链接划分而不能对社团进行主题划分的不足,结合基于链接的社团发现算法和主题模型算法提供一种能够有效和高效地对社团进行主题和链接划分的主题社团发现算法。为解决以上技术问题,本专利技术公开了一种基于社交网络的主题社团发现方法,包括步骤:S1、对社交网络的文档集进行主题分析,从而得到主题向量集;S2、对所述主题向量集使用k-means算法进行聚类,从而得到主题簇;S3、对每个所述主题簇进行链接划分,得到每个主题簇的主题社团集。进一步的,所述步骤S1具体包括步骤:S11、对所述社交网络的文档集分词,得到文档集中词的总数,并对所述分词后的文档集采用LDA算法进行主题分析,得到每个主题出现在每个文档的概率矩阵以及每个文档的主题总数、每个词出现在每个主题上的次数和每个主题所包含的词的总数;其中,所述概率矩阵中的每一行即为对应的文档在主题上的主题向量,全部的主题向量集合即为所述主题向量集。进一步的,所述步骤S11之后还包括步骤:S12、当社交网络的文档集更新从而产生新的文档集时,根据所述步骤S11得到的每个文档的主题总数、每个词出现在每个主题上的次数和每个主题所包含的词的总数,对所述新的文档集中每一个新文档分词后进行主题分析,从而得到更新后的每个主题出现在每个文档的概率矩阵。进一步的,步骤S12中对所述新的文档集中每一个文档执行以下步骤:S121、对当前新文档进行分词,得到词序列;S122、所述词序列中的每个词所属的主题服从概率分布Multinomial(1/K),对所述每个词所属的主题进行抽样,并统计每个主题被抽到的次数,将所述每个主题被抽到的次数标记为当前主题的出现次数;其中,概率分布Multinomial(1/K)具体为p(zn=k)=1/K,zn表示词n所属的主题,K表示当前新文档的主题总数,k表示主题变量;S123、对于所述词序列中的每个词,执行以下步骤:取出当前词所属的主题,并将步骤S122统计的被取出的主题的出现次数减1,则此时当前词所属的主题服从概率分布P(zn|m,α,β),接着对当前词所属的主题进行抽样,并将抽到的主题的出现次数加1;其中,m表示当前新文档,nm表示当前新文档中词的总数,K表示当前新文档的主题总数,V表示步骤S11中所述文档集中词的总数,表示此时在当前新文档中主题k的出现次数,表示词v出现在主题k的次数,nk表示主题k所包含的词的总数,α和β为参数;S124、重复执行步骤S123,直至达到预设的迭代次数,得到迭代完毕时的每个主题的出现次数;S125、根据步骤S124中得到的所述每个主题的出现次数求出每个主题出本文档来自技高网...
【技术保护点】
一种基于社交网络的主题社团发现方法,其特征在于,包括步骤:S1、对社交网络的文档集进行主题分析,从而得到主题向量集;S2、对所述主题向量集使用k‑means算法进行聚类,从而得到主题簇;S3、对每个所述主题簇进行链接划分,得到每个主题簇的主题社团集。
【技术特征摘要】
1.一种基于社交网络的主题社团发现方法,其特征在于,包括步骤:
S1、对社交网络的文档集进行主题分析,从而得到主题向量集;
S2、对所述主题向量集使用k-means算法进行聚类,从而得到主题簇;
S3、对每个所述主题簇进行链接划分,得到每个主题簇的主题社团集。
2.如权利要求1所述的基于社交网络的主题社团发现方法,其特征在于,
所述步骤S1具体包括步骤:
S11、对所述社交网络的文档集分词,得到文档集中词的总数,并对所述分
词后的文档集采用LDA算法进行主题分析,得到每个主题出现在每个文档的概
率矩阵以及每个文档的主题总数、每个词出现在每个主题上的次数和每个主题
所包含的词的总数;其中,所述概率矩阵中的每一行即为对应的文档在主题上
的主题向量,全部的主题向量集合即为所述主题向量集。
3.如权利要求2所述的基于社交网络的主题社团发现方法,其特征在于,
所述步骤S11之后还包括步骤:
S12、当社交网络的文档集更新从而产生新的文档集时,根据所述步骤S11
得到的每个文档的主题总数、每个词出现在每个主题上的次数和每个主题所包
含的词的总数,对所述新的文档集中每一个新文档分词后进行主题分析,从而
得到更新后的每个主题出现在每个文档的概率矩阵。
4.如权利要求3所述的基于社交网络的主题社团发现方法,其特征在于,
步骤S12中对所述新的文档集中每一个文档执行以下步骤:
S121、对当前新文档进行分词,得到词序列;
S122、所述词序列中的每个词所属的主题服从概率分布Multinomial(1/K),
对所述每个词所属的主题进行抽样,并统计每个主题被抽到的次数,将所述每
\t个主题被抽到的次数标记为当前主题的出现次数;
其中,概率分布Multinomial(1/K)具体为p(zn=k)=1/K,zn表示词n所属的主
题,K表示当前新文档的主题总数,k表示主题变量;
S123、对于所述词序列中的每个词,执行以下步骤:取出当前词所属的主
题,并将步骤S122统计的被取出的主题的出现次数减1,则此时当前词所属的
主题服...
【专利技术属性】
技术研发人员:蔡昭权,周献政,黄翰,
申请(专利权)人:惠州学院,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。