增强BTM主题模型主题词语义相关性和主题凝聚度方法与流程

文档序号:14727626发布日期:2018-06-19 12:41阅读:1428来源:国知局

本发明属于文本挖掘和机器学习的交叉领域,具体涉及文本主题模型与词向量计算模型,尤其涉及到文本主题模型的主题词语义增强以及在短文本商品评论中的应用。



背景技术:

现代社会购物是人们一种不可替代的生活方式,而通过电商进行购物更是其中一条极其重要的途径,大到家用电器,小到锅碗瓢盆,各种商品应有尽有。但是对于如何选择要购买的商品,消费者一般的步骤为,首先选择自己要购买的商品的种类,然后看具体某个商品的商品详情,最后查看商品评论,参考已买过的人的建议,选择自己是否要购买此商品。以上三个步骤就是购买商品的大体过程,但是对于某些商品来说,商品评论特别多,一一查看明显费时费力,并且得出的结果也不尽相同,并且针对商品的某个具体属性,无法做到有针对性的查找。

针对文本挖掘的算法主题模型来说,专家有很多的解决办法,但是对于将其应用到商品短文本评论这一关键问题上,这些方法仍存在一些问题,主要有:

1)虽然现在有很多学者利用BTM主题模型来处理短文本评论,但是该模型提取出的主题词主要是基于词共现的方式,缺乏深层的语义相关性。

2)在主题表征方面,传统BTM主题模型无法明显的看出究竟是什么主题,也就是主题内部的语义表达不是特别突出,造成最后的主题凝聚度偏低。

由此可见,现有的文本主题模型,在主题词语义相关性和主题凝聚度等方面存在问题,尚无法解决短文本主题挖掘这一问题。



技术实现要素:

本发明提供主题词语义相关性以及主题凝聚度高的一种应用于短文本商品评论的主题模型的改进方法。

本发明的技术方案,一种用于增强BTM主题模型主题词语义相关性和主题凝聚度的方法:

(1)文本语料获取以及预处理:即从电商在线评论中,通过爬虫程序将手机商品里面的评论抓取下来,然后通过分词程序以及停用词词表,对语料进行预处理。

(2)词向量模型构建:利用大规模的语料,训练语义相关的词向量,确定词向量的维度,选择合适维度的词向量。

(3)BTM主题模型的建模,即用吉布斯采样算法,提取语料中的文档-主题矩阵A以及主题-主题词矩阵B。

(4)词语之间语义相关性计算,即用已经建立好的词向量模型,通过余弦距离,计算出每条短文本商品评论中,通过分词之后的,任意两个词语之间的语义相关性,并选取合适的语义距离值C,C的取值范围为0~1.

(5)结合双词语义相关的主题模型的建模,即将语义距离值C作为筛选条件,选择不同数量的相关词语融入到主题模型吉布斯采样的过程中,实现双词BTM主题模型的构建。

所述的BTM主题模型的建模是由晏小辉等人于2013年提出,方式如下:

步骤1:对每一个主题Z,描述确定主题Z下的词分布φ~Dir(β),φ为每个主题下的词分布,β狄利克雷分布,φ的超参数;

步骤2:对短文本语料库L,描述一个语料库级别的主题分布θ~Dir(α),θ为语料库级的主题多项分布;α为狄利克雷分布,是θ的超参数;

步骤3:对于词对|B|里的每一个词对按照以下步骤产生,假设一个词对用b来表示,则b=(bi,bj):

i.从语料库级别的主题分布θ中抽取一个主题Z,即Z~Muli(θ)

Ii.从这个被抽取到的主题Z中同时抽取两个词bi,bj,服从基本假设,每一个词对都是从一个独立主题中产生,即bi,bj~Muli(φ)。

所述的双词语义扩展的W-BTM主题模型的方法是:

步骤1:利用word2vec计算语义距离;

步骤2:所有词对主题初始化;

步骤3:Gibbs吉布斯采样过程;

步骤4:分别按照更新公式计算出θ,φ;

步骤5:选择主题凝聚度TC以及Js散度进行检验。

为了比较本方法可以对传统的主题模型的优点,在相同的语料库下进行实验,并用主题凝聚度TC值以及Js散度来进行结果验证,实验结果如说明书附图2和说明书附图3。

本发明的双词扩展的主题模型在主题凝聚度TC值以及Js距离值上都比传统的主题模型有明显的提高。

附图说明

图1本发明流程图。

图2是主题数目和主题凝聚度的关系图。

图3是主题数目与Js距离关系图。

图4是距离阈值C和词对数量关系图。

图5是主题词距离阈值C与主题凝聚度关系图。

具体实施方式

实验语料来自于网络爬虫,主要从各大电商网站进行了手机评论的抓取,集中于手机评论的原因,是为了测试主题模型的时候,主题可以有大概的范围,相比于不同的评论语料,更具有专一性,采集到的商品评论中一共有原始的单词数245221407个,一共4904600条评论,出现不同的汉字的个数为32757。训练语料和测试语料用十折交叉验证法,进行处理。

实施例:文本语料预处理

采用python的结巴分词工具和停用词表,对语料进行分词处理,以及去掉一些无实际意义的词,例如语气助词、副词、介词、连词等。最后处理的结果如表1.

表1 语料预处理结果

词向量训练

Word2vec训练数据,采用negative-sampling进行训练,词语维度为200维,为了适应短文本,窗口大小调整为10,初始学习效率为0.025,去除掉在语料中频率小于5的词语,语料库上的迭代次数为20次。词向量训练之后的部分结果如表2.

表2 词向量训练之后的部分结果

主题模型建模

表3 主题模型各个参数含义

利用word2vec可以得到词语之间的语义关联性,利用

计算出词语bi和bj之间在语义空间的距离。

将word2vec的结果与BTM主题模型结合,主要是在吉布斯采样的过程中,对双词特征进行扩展。在吉布斯采样初始化时,利用γ与给定的语义距离值C之间的距离关系,来确定词对扩展程度,如果满足距离要求,则

Nbz=Nbz+γ*10 (2)

Nbz表示的意思在主题Z下采样词对b的次数。如果不满足距离要求,则

Nbz=Nbz+1 (3)

利用上式对Nbz进行扩展。

上述过程完成语义距离阈值C计算以及词对数量扩展,接下来在吉布斯采样的过程中,依据利用γ与给定的语义距离值C之间的距离关系,每次采样过程中对主题的更新采用不同的方式,如果满足距离要求,

否则,

表示去除词对b之外的词对,K代表主题个数,M为语料库中不相同词语的个数,不考虑重复的词语,nz表示主题Z的个数,nω|z表示主题Z下词ω出现的次数,nb|z表示主题Z下词对b出现的次数。

进行完吉布斯采样之后,最后确定nz,和利用

公式6中,l代表满足距离条件的所有扩展词对的数量。对语料中主题的多项分布参数θz和主题下词的多项分布参数进行计算,从而确定文档-主题以及主题-词的概率分布。具体流程框图如说明书附图1。

本发明算法流程表如下:

表4 算法流程表

实验1,不同距离阈值C词对采样数量对比

基于词扩展方式对BTM主题模型进行改进,那么当选取不同阈值C的条件下,扩展的词对数量是不一致的。从经验上来说,语义距离越相关的词语,词对的数量就会越少。从下图可以看出,随着距离阈值的增大,不同阈值下的词对数量都在减少,符合经验习惯。同时刚开始的不加语义距离参数C时,语料中词对的数量在1345943,增加语义距离C之后,语料中词对的数量增加到3663470,也证明了基于语义距离C的词扩展方式的有效性。效果如说明书附图4。

实验2,不同距离阈值C的对比

基于词对扩展方式对主题模型BTM进行改进,最后主题的好坏,不仅与训练的过程有关,而且与语义阈值C也有一定的关系。不同的语义阈值C不仅可以扩充不同数量的词对,而且增强词对内部词语之间的语义相关性。因为比传统的主题模型多了一个参数语义阈值C,所以到底阈值C取多少最为合适,我们通过做实验,找出最适合的阈值C。本次实验中BTM主题模型以及改进的W-BTM主题模型都采用相同的狄利克雷分布参数,α=50/K,β=0.01,变量为语义阈值C,通过说明书附图5可以看出,在主题数量为5是不同的语义阈值C差别不多,随着主题数量的增加,不同语义阈值C下,不同主题数目的情况下取得的TC值,越来越有规律。可以看出在语义距离阈值C为0.4时,取得的效果比较好。因此以下对于BTM主题模型以及改进算法W-BTM的对比中,语义距离C取值为0.4。

本发明中BTM为词对主题模型的英文缩写。

为了验证方法的有效性,也将此方法应用于LDA主题模型中,改进之后的LDA算法为W-LDA,最后部分结果对比如表5。

表5 算法部分结果对比

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1