基于知识图谱的用户兴趣社区发现算法研究
2024-12-12符精晶连文双胡峰
关键词:用户兴趣社区;主题关系图谱;主题挖掘;六度空间
0 引言
伴随着互联网的快速普及和用户的大规模使用,各大平台和系统的使用过程中产生了海量的数据,且这些数据大多以文本形式保存。基于这些数据进行信息挖掘,对研究网络社区可以提供极大的帮助。对用户的兴趣进行分析与研究具有重要意义:用户的行为、兴趣爱好等,具有很高的社会研究价值,它们常常作为社交关系、信息传播等相关学科的基础研究对象。在复杂的社交网络中发现社区结构,将有助于提高社交网站的个性化推荐系统、商家市场营销活动、各类媒体新闻推荐的精准性,从而提升用户体验。
针对上述研究,本文提出了一种基于知识图谱构建主题关系图谱以实现用户兴趣社区发现的方法。主要贡献如下:首先,利用TF-IDF(词频-逆向文件频率)算法提取出训练集中所有主题词,并将其与非主题词一同存储至Neo4j图数据库中,构建主题关系图谱。其次,基于六度空间理论及Neo4j最短路径算法,提出短文本主题挖掘算法,该算法利用主题关系图谱对短文本进行主题关系恢复,实现短文本到长文本的逆向转化,继而挖掘主题。再次,在短文本主题挖掘过程中,使用主题递归相似度算法计算单词之间的关联度,并预训练出主题关联度矩阵,最终实现用户兴趣社区关联度的计算。
1 系统功能介绍
本文基于用户发布的文本信息和社交关系等,分析用户兴趣爱好的主题相似度及关联度,并对用户的兴趣爱好进行挖掘和建模。
1.1 用户信息分析与建模
想要挖掘用户的兴趣信息,较为有效的方式是直接分析用户的信息。通过文本形式挖掘用户的兴趣并进行建模,提取出相关文本的关键词、进行主题分析,从而描述用户的兴趣倾向。常用方法有TF-IDF(Term Frequency-Inverse Document Frequency) 和LDA(Latent Dirichlet Allocation) [1]等,也包括基于图模型的词语排序算法TextRank。TF-IDF 算法通过统计词频,并以频率越低越重要的思想选取关键词,其判断方法简单,但忽略了文本中的语义信息。LDA模型被广泛应用于文本语义相似度计算中,作为一种三层贝叶斯模型,它可以提取主题作为用户特征,但在处理短文本时效果并不理想。
社交平台具有文本内容短小的特点,“文档-词”的映射关系比较稀疏。对此,主题模型的改进思路如下:一是引入外部文本对原始文本进行“扩容”,Hong 从词语出发,将含有相同单词的短文本进行聚合;Phan则利用大量的额外知识(如Wiki) 丰富短文本的信息。二是基于同义词关系进行建模,BTM模型构建全局的词对集合,代替原始文本中的词语,从而丰富了文本中的主题映射关系。
1.2 用户群体发现与兴趣挖掘
在社交网络中,用户群体可以称为社区(commu⁃nity) 或簇(cluster) [2]。从网络结构来看,社区包括了用户节点及用户关系。通常,社区的发现有三种方式:以节点连接、以节点属性连接,或者是将两者进行结合。通过内容发现社区的方法有:Zhou[3]提出了一种融合用户和话题的概率模型,用于挖掘与社区相关的话题语义。然而,仅仅从各自的角度来划分社区,其结果可能无法完整准确地反映实际情况。部分研究者基于此问题,将用户连接关系和信息内容进行结合,并应用于社区发现。Yan等[4]研究了综合LDA和Link模型的方法,从主题语义和文档关联关系两个角度对话题和作者群体进行了建模。Yang等[5]组合使用条件模型和判别模型,分析了用户连接关系和节点内容,并提出了一种两阶段优化算法用于社区发现。Qi 等[6]提出了一种改进的矩阵分解算法(Edge-InducedMatrix Factorization,EIMF) 。Sachan 等对Pathak[7] 的“社区-作者-接收者-主题”模型提出了改进,结合交互话题和网络结构用于识别社区。
现有的很多社区发现方法主要包括基于连接关系的方法、基于信息内容的方法以及两者的结合。然而,由于社交网络用户可能存在于多个不同群体或社区,使得社交网络的类型多样且关系复杂。因此,想要单纯通过连接信息来判断关系类型或基于这些关系组成的群体是非常困难的。过去,谷歌发布了其基于知识图谱(Knowledge Graph,KG) 的搜索引擎产品。知识图谱的本质包含知识表示(Knowledge Representa⁃tion) 和知识库(Knowledge Base) 。知识库来源于知识构建、知识抽取和知识融合,可用于语义搜索和知识问答,非常适合文本语义推理和用户社区发现。Neo4j图数据库最早在2010年发布,它是NoSQL数据库的一种类型。图数据库中主要存储节点(Node) 和连接节点的关系(Relationship) 。节点、关系和属性的数据存储方式非常适合社交网络的存储和分析。
2 主题关系图谱构建及短文本主题挖掘算法
2.1 数据集预处理
本文通过使用来自非社交网络的长文本进行主题关系图谱的建模。由于用户发布的文本信息并不会脱离外部语境,因此基于这些外部文本进行训练,可以得到更完整的主题关系图谱。主题关系图谱主要由普通单词、主题单词及单词间关系组成。结合图数据库的存储原理,在主题关系图谱中,单词作为节点存储,主题则作为属性存储在关系之上。本文所提出的主题区别于传统概念上的“主题”,前者具有标签或代号的含义,用于标记两个单词之间的关系,以实现高关联度单词(即出现在同一文本中概率较高的单词)的聚类。因此,主题可以使用文本中的关键词进行表示。
2.2 分词及主题选取
本文使用Jieba分词工具将每条新闻进行分词,并去除停用词。然后,使用TF-IDF算法对分词后的关键词进行排序,选取权重最高的关键词作为主题。
2.3 主题关系图谱训练
在自然语言中,单词间通过各种排列组合构成句子,从而表达语义。因此,单词间存在特定的联系。分词后,本文选择Neo4j图数据库对单词进行存储。由于单词之间存在多对多的组合关系,在语料训练过程中,需要通过创建关联表的方式来记录不同单词间的关系,并且需要将语料中的主题信息保存到单词的关系中,以增强语义信息的维度。而图数据库正好符合上述存储单词和主题的要求。本文利用图数据库构建主题关系图谱(WordGraph) ,用于存储单词及单词间的关系。具体来说,本文为每个单词创建一个节点,单词的文本内容作为节点的属性。每两个相连的词,依据前后顺序使用有向关系进行连接,主题的文本信息则作为关系的属性。相同关系出现的次数,也同样作为关系的属性进行存储。
在新闻语料(NewsList) 的累计训练过程中,每个计算周期处理相邻的两个单词,若WordGraph中已存在当前单词,则图谱中不新增对应单词。单词间的关系具有方向性,由文本中单词的前后位置决定。后续训练中,若WordGraph中已存在相同方向的关系,则将关系中的rct属性加1(rct表示同方向单词对出现的次数)。若两个单词所属主题不包含在kw属性中,则额外增加,例如原主题为kw1,当前主题为kw2,则属性r的表示方式为:r:{kw:’kw1|kw2’,rct:2}。
另外,主题词同样作为节点存储于WordGraph 中。而判断主题关联度的重点,便是在WordGraph中查找主题间的最优路径(BP, Best Path) 。由于两个关联度极低的单词,在BP的查找上会遍历近整个Word⁃Graph,因此在查找层数上需要设置阈值来提高性能。本文引入“六度空间理论”为阈值的设定提供理论依据。六度空间理论(Six Degrees of Separation) 指出,在社会网络中,任何一个人通过6个中间人就能够认识任何一个陌生人。WordGraph拥有与社会网络相似的结构,因此可以假设,任何两个不同的单词,总能够通过6层以内的路径产生联系。在Neo4j中可通过以下公式查询两个单词间的最短路径:
其中:w1、w2 代表需要查询最短路径的两个单词;F 代表shortestPath函数。p 是最短路径的结果集,包含连接两个单词之间的所有单词和关系,[*...6]表示要求所查询路径中关系层数不超过6。通过测试和统计后发现,WordGraph词汇量在1 000以上时,80% 单词间最短路径在2~3层,且随着词汇量的上升,最短路径将趋向于1~2层。
2.4 短文本逆转换及主题挖掘
社交网络中用户发布的短文本信息存在稀疏性问题,即文本层面的主题信息不明确或缺失。基于主题关系图谱,可将短文本逆向转换为关联主题词袋,继而使用TF-IDF从词袋中挖掘真正主题。
在主题关系图谱中,以两个相邻单词的最短路径为中心存在一个局部主题关系图谱。假设存在一个由单词W1和W2之间的2层最短路径构成的局部主题关系图谱。短文本主题挖掘过程如下:查找短文本中每两个相邻单词间的局部主题关系图谱,记为sWG,主题词袋记为kwB。使用TF-IDF算法从主题词袋中查找最终主题词:
2.5 主题关联度计算及其矩阵构建
主题关联度的计算思路为:两个单词间路径的层数越少,则关联度越高,阶数越少,关联度越高。
主题关联度计算流程如下:通过Neo4j最短路径算法查询W1和W2间的首阶单词集合{W11,W12,…,W1n},然后按照词顺序计算所有单词间主题关联度的加权和平均。最终每两个单词x1,x2的主题关联度结果为relx1x2:
2.6 词主题关联度矩阵构建(WTRM)
由主题关联度的计算过程可知,每计算一次两个单词之间的主题关联度,将消耗大量的计算资源,因此需要在预训练过程中对图谱中的所有单词进行主题关联度的预计算并存储。由此,可以得到词主题关联度矩阵(Word Topic Relevance Matrix,WTRM) ,矩阵中的每一行代表一个单词的词向量(relxnx1,...,relxnxm)。本研究选取了微博平台的特定数据集,该集合包含1000位用户的详细信息及他们之间超过2万条的互动连接。为深化对用户兴趣特性的理解,实验采用人工标注法,对这1 000名用户中的900人进行了精细标注。标注依据的兴趣分类体系涵盖了50种不同的二级兴趣子类别,旨在全面描绘用户的多元兴趣结构。实验选择的对比方法为SocDim、wvRN和LGC。在探究用户兴趣聚类的不同策略中,SocDim方法首先依据用户间的社交连接来辨别并划分关系群体,继而运用One-vs-Rest Support Vector Machine (SVM) 算法从这些群体中提取其典型兴趣特征。另外,wvRN算法采取了一种基于局部邻近节点的共识机制,通过节点间相互投票来量化单个用户的兴趣偏好。相比之下,LGC方法采用了生成式概率模型框架,其核心在于先以概率原则分割出用户群体,然后将群体成员身份这一属性视为关键特征,用于后续的模型训练过程。
针对上述方法,本文所提出的创新方案立足于WTRM模型,旨在通过计算用户兴趣与各类标签在社区层面的相关性,以此揭示并提炼出用户群体共享的兴趣模式。为了验证所提方法的有效性,设计了如下实验:利用已标注兴趣且归属群体明确的用户数据集进行训练,目的在于评估各方法对群体内未标注用户兴趣预测的准确性。逻辑上,预测结果与实际兴趣贴合度越高,则表明该方法在揭示群体共性兴趣方面的效能越显著。在此过程中,实验选用Macro-F1作为主要评价指标。该指标的计算逻辑包括两步:首先,对每个类别独立计算其精确率与召回率,并据此得出各自的F1分数;其次,对所有类别得到的F1分数求平均值,从而得到最终的Macro-F1值,以此综合反映模型在多类别兴趣预测上的均衡性能。设yi,y'ki∈ {0,1}分别为用户i 的真实兴趣标签和预测标签,对于类别k的准确率、召回率和F1的计算方法如下:
逐步提升了已标注用户样本在总样本中的比例,由初始的10%递增至90%,旨在观察各方法在不同标注比例下对未标注用户兴趣预测的效果变化。
3 结束语
本文所提出的基于WTRM的兴趣相似度计算方法,综合考虑了主题关联度和词向量相似度对用户文本主题表达的影响,避免了仅考虑词频等单一特征所带来的误差,能进一步提高兴趣发现的能力。首先,通过TF-IDF提取语料中的主题词;其次,配合图数据库,将分词后的单词一起构建成词关系网络。然后,基于六度空间理论及NEO4J的最短路径算法,提出基于主题关系图谱的短文本主题挖掘算法,并构建词主题关联度矩阵。最后,从词主题关联度矩阵中得到词向量,并计算相似度,从而获得用户社区文本信息的主题关联度,进而应用于挖掘用户群体兴趣。