APP下载

基于LDA和Word2vec的微博标签生成算法

2021-12-18生佳根

计算机与现代化 2021年12期
关键词:主题词文档标签

陈 瀛,生佳根

(江苏科技大学计算机学院,江苏 镇江 212100)

0 引 言

近年来,随着现代信息技术的不断进步,以Twitter、新浪微博为代表的网络平台也得到了快速发展,由于其信息共享便捷迅速的特点,在吸引大量用户的同时也产生了海量的用户数据[1]。从用户数据中挖掘出的用户兴趣特征,可以协助平台为用户提供更加个性化的服务,也能为相关行业或企业精准定位用户,该项研究具有丰富的商业价值和社会价值。

标签是网络信息资源组织方式之一,用户可以自由地定义关键词,即用标签对网络中的各种资源进行标注,包括用户本身的兴趣特征。微博平台中也为用户提供了标签功能,标签作为微博用户的自定义描述,可以直观地反映用户的兴趣偏好。

目前,有许多研究者利用LDA主题模型提取微博文本文档中的潜在主题,以表示用户的兴趣特征,并被证实取得一定的成效。在国内,王雅静等人[2]以微博用户的点赞文本为数据源,使用LDA主题模型提取用户主题;严长春等人[3]通过LDA主题模型提取热门微博的主题;高永兵等人[4]将微博用户简介、认证信息以及词汇的语义作为先验知识引入传统LDA主题模型中,基于改进的LDA主题模型提取微博用户主题;冯勇等人[5]引入可变时间窗口对传统LDA主题模型做出改进,利用改进后的TIF-LDA主题模型提取微博主题。在国外,也有研究人员使用LDA主题模型对Twitter进行主题提取。Negara等人[6]通过LDA主题模型对Twitter中的推文进行主题建模。这说明LDA主题模型在提取微博文本方面具有较强的适用性和可操作性。然而,传统的基于LDA主题模型生成微博标签算法忽略了部分词语对用户兴趣的影响,导致了对用户的兴趣描述不够准确,同时匹配度计算方法受到同义词词林大小的限制。基于此,本文提出一种基于LDA主题嵌入表示的微博用户标签生成算法TopicERP,引入Word2vec词嵌入模型对用户兴趣主题进行全面描述,并对匹配度计算方法进行改进,使得生成的标签更加贴合用户兴趣。

1 相关理论

1.1 标签生成

标签中包含了非常有价值的用户描述信息,能够简明扼要地描述用户兴趣特征[7]。然而,由于过度自由的特性以及大部分用户没有使用标签的习惯,导致系统中出现标签稀疏的现象,使得用户的兴趣难以被挖掘。而强制用户使用标签会降低用户好感,标签自动生成机制应运而生。

目前,标签生成的方法可以分为2种,一种是基于关键词的生成方法[8-9],另一种是基于图的生成方法[10-11]。基于关键词的标签生成方法是通过关键词提取算法从文本数据中提取出可以表达用户兴趣偏好的关键词作为用户标签。基于图的标签生成方法主要集中在用户、项目和标签之间的关系上,通常使用标签传播算法实现标签生成。

1.2 LDA主题模型

潜在狄利克雷分布(Latent Dirichlet Allocation, LDA)是一种文档主题生成模型,它可以将一篇文档建模为多个主题的概率分布,每个主题通过若干个主题词来描述,如图1所示,文档到主题、主题到主题词都服从多项分布[12]。

图1 LDA文档建模

LDA主题模型的核心思想来源于一个基本假设:文档是由多个隐含主题构成,这些隐含主题由若干个特定特征词表示。文档中的每个词是通过“以一定的概率选择某个主题,并从这个主题中以一定概率选择某个词语”来得到。文档中每个词出现的概率都可以通过公式(1)来计算。

(1)

LDA是一个完备的主题模型,该模型生成文本的方式可由图2的贝叶斯网络图来表示。LDA采用Dirichlet分布作为概率主题模型多项分布的先验分布,该模型中K代表主题的数量,V代表文档中词的数量,M代表文档的数量,α是文档-主题概率分布θ的先验分布超参数,β是主题-主题词概率分布φ的先验分布超参数,z为主题变量,文本中的词w是唯一可观测的变量。

图2 LDA贝叶斯图模型

由于LDA主题模型是一种无监督的学习算法,因此该方法生成的主题本质是单词模糊聚类,聚集到一类的词语表示一个潜在的主题。故LDA能对文本的潜在语义信息进行挖掘,并通过一系列的词语来表示文档中隐含的主题信息。

1.3 词嵌入模型

随着深度学习的不断发展,自然语言处理技术得到了极大的改善。Bengio等人[13]在2003年提出了神经网络语言模型,该模型可以将词语嵌入到语义空间中,把词语表示为向量形式。但神经网络语言模型存在灵活性不足以及训练效率低的问题,在此基础上,Mikolov等人[14]通过适当的改进措施在2013年提出了Word2vec词嵌入模型。该模型具有高效实用的特点,现已广泛应用于自然语言处理的各个领域中,并且与之相关的各种研究仍在不断深入。

根据训练词向量方式的不同,Word2vec的训练模型主要分为连续词袋(Continuous Bag-Of-Words, CBOW)模型和Skip-gram模型2种。其中,CBOW模型将词语的上下文作为输入以预测词语的语义信息;而Skip-gram模型则是通过词语本身作为输入来预测其上下文信息[15]。相比较而言,Skip-gram训练模型学习的词向量更加细致,因此当语料库中数据量较少或者含有有大量低频词时,使用Skip-gram训练模型学习词向量比较合适。

2 算法优化

2.1 基于LDA主题模型的标签生成算法

传统基于LDA主题模型的标签生成算法的主要步骤如下:

1)用户主题建模。使用Gibbs采样方法[16]来对文档-主题分布概率θ,主题-主题词分布概率φ的先验参数进行估计,如公式(2)和公式(3):

(2)

(3)

2)主题表示。根据词语在主题中可能出现概率值大小,选取用户兴趣主题下前5个主题词代表用户兴趣主题。

3)匹配度计算。基于同义词林计算候选标签与主题词的相似度,将得到的相似度与每个词语在主题中出现的概率进行乘法运算并求和,将求得的和记为匹配度。将预选标签与每个主题的匹配度进行求均值运算,求得的均值为最终主题与候选标签的匹配度。选取匹配度大于阈值的候选标签作为用户标签。

2.2 主题表示方法改进

传统基于LDA的标签生成算法仅选用主题下的几个词语表示主题,而忽略剩下的词语对用户兴趣的影响,这导致对用户兴趣描述不够准确。因此本文使用Word2vec词嵌入模型将用户每个兴趣主题下每个词语转换为词向量的形式,并使用加权平均的方式对用户兴趣主题进行全面描述。

基于微博文本短小简洁的特点,本文选用在维基百科中文语料库中训练后的Skip-gram训练模型,对每个主题下所有主题词进行学习,并生成对应的词向量。由于Skip-gram模型被设计用于预测当前词语wt的上下文词语,故需要使模型中的平均对数似然概率最大化[17],其值计算公式为:

(4)

其中,c表示词汇窗口的大小,一般情况下,c值越高,模型训练时间越长,效果越好。T表示训练数据集的大小。

该模型的参数可以通过分层Softmax或负采样方法确定。当使用Softmax函数时,词汇概率的计算公式为:

(5)

其中v′wo和vwi分别表示词w的输入和输出向量。

根据上述原理获取主题中每个主题词的词向量,将主题下所有主题词的词向量进行加权平均得出主题向量,生成的主题向量类似于聚类的中心。预先训练好的词向量使得主题词在语义级别上已经量化,因此使用聚类的中心来表示主题向量是合理的[18]。主题向量计算公式为:

(6)

其中,P(w|z)表示主题z下的主题词的分布概率,vec(w)表示主题词的向量,vec(z)表示主题的向量。N(z)表示主题下主题词的集合。

2.3 匹配度计算方法改进

传统基于LDA的标签生成算法中利用人为定义的同义词林衡量主题词与标签的相似度,并对相似度求均值作为匹配度,有一定的局限性。因此本文使用余弦相似度方法衡量主题和候选标签的相似度,不受词林大小的限制,能够计算所有文档中出现的候选标签和主题的相似度,并且引入条件概率与相似度值相乘作为匹配度,使得生成的用户兴趣标签更加准确。

在进行匹配度计算之前,需要为用户选取候选标签。本文从用户微博文档中选取词语作为用户标签候选词,将微博文本中预处理后得到的特征词作为用户的候选标签tag,并为每个候选标签生成对应的向量。主题向量与候选标签向量的相似度计算公式为:

(7)

然后将主题和候选标签tag的相似度值sim(tag,z)替换文档中主题-主题词分布,把主题在文档中可能出现的概率值作为该主题向量和候选标签向量的相似度的系数,以此计算候选标签与文档内容之间的匹配程度,语义空间中最接近主题的候选标签可以获得更高的分值,最终标签匹配分值的计算公式为:

(8)

其中,P(z|d)表示文档d中主题的分布概率,sim(tag,z)表示候选标签向量和主题向量的相似度值,N(d)表示文档中主题的集合。最后,将tag的score值降序排序,选取Top-Q个候选标签tag作为用户的标签。

2.4 改进算法流程

改进后的微博标签生成算法首先利用LDA主题模型提取微博用户文档中的潜在主题,生成K个用户兴趣主题,这些主题由一系列词语构成。然后利用Word2vec词嵌入模型为主题中的每个词语生成对应的词向量,将每个词在主题下对应的概率作为对应词向量的权值,对这些词向量进行加权平均计算得出一个主题向量。其次将微博用户文档中的特征词作为候选标签,将候选标签转化为对应的标签向量。最后利用余弦相似度方法计算主题向量和标签向量的相似度,将主题在文档中可能出现的概率值乘以该主题向量和候选标签向量的相似度,以此衡量候选标签与文档内容之间的匹配程度,并选取分值为Top-Q的候选标签作为微博用户标签。

改进后的算法流程如图3所示。

图3 标签生成算法流程图

3 实验及结果分析

3.1 数据预处理

为验证算法的准确性,本文使用UCI官网的MicroblogPCU数据集进行实验验证,该数据集包含用户782名,用户发布、转发的微博48814条,其中262位用户带有自定义标签,标签的总数为144个。将数据集中80%的用户微博数据作为训练输入语料,20%作为测试集测试算法性能,并使用5折交叉平均实验结果以减少误差。

本文将每个微博原创和转发的微博文本合成一篇长文档,使用Jieba分词技术对文档进行分词,并使用哈工大的停用词表过滤掉无意义的词语,最终得到可以表示用户微博文本的特征词,以此作为LDA主题模型的输入。

3.2 实验结果及评价标准

在进行用户LDA主题建模前,需要先确定主题的个数K。本文采用基于困惑度(Perplexity)的方式对模型主题数K的取值进行确定。其计算公式为:

(9)

困惑度取值越小,文本的似然估计就越高,表示模型的生成性能越好[19]。对主题数K分别取值[1,15],Dirichlet超参数设置为α=50/K,β=0.05,迭代1000次对应的困惑度值如图4所示。

图4 主题数K对困惑度的影响

从图4可以看出,在主题个数K=20时困惑度最低,因此,为每个微博用户生成20个兴趣主题。

为了验证标签生成个数Top-Q对算法性能的影响,分别选取{1,3,5,7,9,11}个候选标签作为用户标签,计算平均准确率P值[20]、平均召回率R值[21]以及平均F值[22]这3个评估指标,并进行相关实验对比分析,进而确定标签生成个数Top-Q的值。

计算公式如下:

(10)

(11)

(12)

如图5所示,随着标签生成个数的增加,算法的总体性能也逐渐增加。当标签扩充个数大于9时,算法的总体性能不增反降。这是由于随着标签生成个数的增大,一些排名靠后的标签并不能很好地表示用户的兴趣或爱好。并且当Q=7或9时,算法的总体性能并无明显增加且算法的性能达到最佳状态,因此,取7和9的均值8作为标签生成个数Q的值。

图5 标签生成个数对算法性能的影响

当标签生成个数为8时,将本文算法与LDA[23]和改进的TextRank[24]等标签生成算法的性能以及效果进行对比,结果如表1所示。

表1 标签生成算法性能对比

如表1所示,相较于另2种标签生成算法,本文提出的标签生成算法在准确率、召回率和总体性能(F值)方面均有所提升,证明了主题和嵌入学习联合的有效性。改进TextRank的算法受微博文本长度的影响,生成词图过小导致准确率不高。基于LDA的微博标签生成方法性能优于改进TextRank的算法,但受用户兴趣表示方法以及候选标签的的限制,对用户兴趣描述的个性化程度不足。TopicERP算法在LDA主题模型的基础上引入Word2vec词嵌入模型全面描述用户兴趣主题,并对匹配度计算方法进行改进,使得匹配度结果更加精准,从而生成高质量的用户标签。

本文从数据集中随机抽取2名微博用户,根据其对应的微博内容文档,分别利用不同的标签生成算法为他们生成标签,结果如表2所示。

表2 不同算法生成标签的效果对比

从表2中不同算法生成的用户标签可以看出,用户1主要对电影领域相关内容感兴趣,用户2主要对美术绘画领域相关内容感兴趣。改进的TextRank算法为用户生成的标签主要是一些在电影、美术领域中共现频率高的名词或动词,对用户兴趣描述的准确度不高。基于LDA算法为用户生成的标签中包含一些过于宽泛的词语,如影视、艺术等,不能够精准描述用户的兴趣,因为这些标签在包含用户的兴趣领域的同时也涵盖了其他的领域,导致了用户标签的个性化程度不足。而本文提出的TopicERP算法为用户生成的标签能够更加全面具体地表现出用户1的兴趣主题与电影领域中的喜剧方向相关,以及用户2的兴趣主题与美术领域中的插画方向相关,在保证准确率的同时能够满足用户的个性化需求。

4 结束语

本文在LDA主题模型的基础上引入了Word2vec词嵌入模型,提出了一种基于主题嵌入表示的标签生成算法。首先将预处理后得到的用户微博文本中的特征词作为候选标签;然后利用LDA主题模型对用户微博进行潜在语义的分析,提取出能够描述用户兴趣特征的用户主题,并通过Word2vec词嵌入模型将主题转换为可直接应用于计算的主题向量;最后利用余弦相似度和文档中主题的条件概率计算用户候选标签和主题之间的匹配度大小,选取能够表示微博用户兴趣偏好且质量较高的标签。经过分析发现,TopicERP算法生成的用户标签能够较为准确地描述用户的兴趣特征。下一步的研究工作可以引入用户的社交信息,以进一步提升标签生成算法的准确度和全面性;同时还可以将其应用于融合标签的个性化微博推荐或好友推荐中。

猜你喜欢

主题词文档标签
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
基于RI码计算的Word复制文档鉴别
标签化伤害了谁
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
科学家的标签
我校学报第32卷第5期(2014年10月)平均每篇有3.04个21世纪的Ei主题词
我校学报第32卷第6期(2014年12月)平均每篇有3.00个21世纪的Ei主题词