一种多义词词向量消歧方法与流程

文档序号:16068439发布日期:2018-11-24 12:54阅读:248来源:国知局

本发明属于文本挖掘和机器学习的交叉技术领域,具体涉及多义词词向量模型,尤其涉及到多义词词向量模型的词义消歧方法以及在短文本中的消歧应用。

背景技术

汉语的表达方式多种多样,不同的词语在不同的语境中具有不同的含义,而怎么样得出词语的正确语义,专家有很多的解决方法,同时也存在很多一些问题,主要有:

1)基于知识的方法,基于人工构造的文本库以及语料库,优势在于结果的准确率相对较高,这些准确率主要来源于各种已经确定的语料库,但是对于某些领域来说,语料库相对不健全,因此难免会遇到语料库特征稀疏的问题,受限于知识构建的完整程度。

2)有监督的方法,基于人工对语料数据的标注,但是强烈依赖于已经标注好的语料库数据,但对于没有标注的语言来说,这种方法不适用与词义消歧,这种方法对于标注数据依赖性太强。

3)无监督的方法,基于不完全需要语料库以及各种语言标注信息,因此有更好的适用性,但是准确性相对较低。

由此可知,现有的词义消歧方法面临着语料依赖程度高,人工标注繁琐以及准确率低的问题,因此对词义消歧方法有待进一步探究。



技术实现要素:

本发明提供准确率高的一种基于主题模型和词向量模型的多义词词向量消歧方法。

本发明的技术方案,一种多义词词向量消歧方法:

(1)文本语料获取以及预处理:采用搜狗新闻文本分类语料,然后进行分词、去停用词的预处理步骤,最后的每个类别的文档按照80%作为训练数据,20%作为测试数据。

(2)btm主题模型建模,即用吉布斯采样的方法,对短文本中的分类语料进行主题标注,并得到每一个词语对应的主题以及主题-主题词矩阵a。

(3)词语对应主题的概率计算,从(2)中得到的主题-主题词矩阵a,进行转置,得到主题词-主题矩阵b,通过贝叶斯公式,最后得到词语对应主题的概率p(z|w)。

(4)向量模型计算词向量和主题向量,从(2)中得到每个词语的主题标注,作为向量模型的输入,分别对词语和主题进行向量训练,得到词向量簇w和主题向量簇z,词向量w和主题向量z分别表示其中的一个向量。

(5)多义词词向量构造,将(4)中训练得到的词向量w和主题向量z进行连接(首尾合并),并依照(3)中得到的词语对应主题的概率p(z|w)对连接过程中的主题向量进行加权处理,实现对相同词语在不同上下文中的不同意思的区分,得到正确的多义词词向量。

本发明有助于将汉语词义消歧扩展到短文本领域;通过利用主题模型和词向量的结合,不需要人力进行数据标注,有助于海量的短文本数据挖掘,更加省时省力;有助于电商网站进行个性化商品推荐。

附图说明

图1是多义词词向量框架图。

图2是主题数目参数估计。

图3是多义词词向量窗口大小估计。

图4是多义词词向量维度长短估计。

图5是文本分类结果。

具体实施方式

实施例1:数据集构成

本次实验的数据集分为两个部分,一种是电商评论数据和简体中文维基百科语料,另一种是搜狗新闻文本分类语料,前者主要用来做定性评价,后者用来做定量评价。

第一种,为了对多义词更好的进行定性评测,这里选取电商评论数据和简体中文维基百科语料相结合,因为单一领域的文本语料中一词多义的现象比较少,难以对一词多义现象进行定性描述,并且维基百科领域范围广,适合对一词多义进行挖掘。电商评论数据一共4904600条评论,对维基百科语料的处理经过抽取正文内容、繁简转换、去停用词以及分词之后,得到一共361668条词条,1576564行。部分预处理之后的语料如下:

表1预处理后部分实验数据

第二种,主要是采用搜狗新闻文本分类语料,由于本文主要对短文本进行分析,并且对于短文本的分类数据比较少,因此这里对搜狗新闻分类语料进行了处理。首先通过语料构造合适的短文本,这里对语料的大小进行过滤,去除大于1.5k的新闻数据,1.5k的文本语料大约500字左右,并且每个分类语料中至少有三段话,因此每段话的字数大约150字左右,符合短文本特征,过滤之后的文档数量如表4-3。由于以上对分类预料进行了处理,造成分类数据的不平衡,并且因为大部分数据在3500篇文档左右,这里对每个类别采用3500篇文档,对数量不足的进行过采样,数量超过3500篇的进行欠采样。最后的每个类别的文档按照80%作为训练数据,20%作为测试数据。

表2搜狗分类语料过滤之后文档数量

实施例2:多义词词向量训练

图1所示,多义词词向量算法,将词语向量和主题向量分别进行计算,结合btm主题模型训练之后的结果word:(topicnumber),将词语向量和主体向量通过式子

进行连接,表示将词向量w和主题向量z进行连接,wz的长度为词向量w和主题向量z的长度值和。在这里词语向量的长度和主体向量的长度不需要一样长。

btm主题标注。btm主题模型的参数推理,这里使用吉布斯采样过程,得到文本集中每篇文档的每个词语对应的隐含主题。同时,由于skip-gram在较大语料库上的训练效果要比cbow模型好,本章在这里采用skip-gram训练模型。btm模型中的主题采样公式如下:

表示去除词对b之外的词对,m表示语料中互不相同的词语,α和β为狄利克雷中的超参数,nbi|z是当前词语bi被分配为主题z的总次数,m表示文本集中互不相同的词语。

对于整个文本集的文档-主题分布参数θ和主题-词分布参数φ的估计如下式:

以上两个式子中,k代表主题个数,m为语料库中不相同词语的个数,不考虑重复的词语,nz表示主题z的个数,nw|z表示主题z下词ω出现的次数。

为了构造多维词向量,这里的多维指的就是主题对词语进行区分的维度。因此需要从btm主题模型中得到每个词语wi的主题z,利用btm主题模型对词语wi对应的主题z进行预测。假设文档为d,推导过程如下,首先将p(zi|wi,d)视为(zi|wi)和d的联合分布,因此,有

因为p(d)以及p(wi)可以根据文本集直接算出来,因此最后得到

p(zi|wi,d)∝p(wi|zi)p(zi|d)(6)

从btm主题模型中,通过训练,得到词对应的主题编号word:(topicnumber)、词语编号wordmap和每个词语对应主题的概率p(z|w)。p(z|w)表示的为词语w对应不同主题z的概率,在主题模型中,可以知道p(w|z),有这个参数对p(z|w)进行参数推理,利用贝叶斯公式,有

其中,对于主题模型来说,每个主题出现的概率是相同的,即p(z)相等,且

v表示一个主题下的所有词语,式子(4)说明同一主题下所有主题词语的概率和为1,因此(7)得到的最终概率为

t表示总的主题个数。例子如下,有四个词语“手机”、“质量”、“特别”、“好”,以及四个主题,概率如表3:

表3部分主题-词概率表

最终通过式子(9)算出“手机”的p(z|w)为(0.4,0.2,0.1,0.3),同理“质量”为(0.5,0.1,0.3,0.1),“特别”为(0.2,0.1,0.2,0.5),以及“好”为(0.2,0.3,0.2,0.3)。

向量计算。这里将每个词语对应一个主题转化为每个词语可以对应t个主题,词语向量和主题向量通过式子(1)连接,相同词的词语向量一致,主要是后面的主题向量不同。通过以上的方式可以对向量维度进行降低,缓解数据的维度灾难。

主要构造的似然函数为,

这里主题向量的softmax归一化概率如下,

实施例3:实验验证过程

(1)定量验证

1)词向量相似度

表4word2vec词向量相似度结果

表5多义词词向量相似度结果

首先将电商评论和维基百科语料进行预处理,包括去停用词以及分词,为了对语料中的网络词语进行过滤,这里对停用词表进行了扩充,降低语料噪声,同时又由于一些频率较低的词语包含的信息比较少,并且影响词向量的效果,所以删除频率低于5的词语。词向量相似度主要将多义词词向量算法和word2vec算法进行词向量相似度对比。结果如表4和表5。

通过表4和表5进行分析,word2vec算法对每一个词只有单独的唯一的向量,并不能严格的对一词多义现象进行区分,如表4,词语“苹果”的相似度中即出现了手机“苹果”的含义,也出现了水果“苹果”的意思,因此word2vec词向量模型对于多义词缺乏分辨力。手机“苹果”相似度较高的原因是因为语料里面电商评论中手机评论的比例占绝大多数。如表5,多义词词向量可以很好的对“苹果”进行多义词区分,将苹果分为“手机”和“水果”两种义项,两种义项都对相似的词语进行了分析,但是在“水果”义项中,出现了“青春”和“机子”两种意思,证明多义词词向量对多义词的识别还有一定的差距。两种义项之间相似度区别较大的原因是由于电商评论语料的数量大于中文维基百科数量,造成义项数量的不平衡,因此“水果”义项取到的相似词的相似度较低。

2)btm主题标注效果

表6btm主题标注

表6中是词语以及通过btm主题模型分配的词语。其中原始语句为直接从电商网站爬取的语料,词语为分词之后的结果,主题为词语通过btm主题模型之后分配的主题。本节中主题个数为90个,以上两句话中,“客服”、“服务”和“细心”都属于服务,分配到的主题分别为60、1、1,通过主题向量计算,主题60和主题1的相似度为0.77;“指纹”、“解锁”和“开”都属于手机解锁范畴,分配到的主题分别为29、29、25,主题29和主题25之间的相似度为0.68;第一句中“不错”分配主题63,第二句中两个“不错”分别分配主题42、52,主题63、42和52两两之间的相似度分别为0.74、0.69、0.77。通过以上分析可以看出,虽然相近意思的词语没有分配到相同的主题,但是它们分配到的主题的向量具有很高的相似度,因此证明btm主题模型分配对词语的上下文主题标注有一定的区分能力。

(2)定量评价

1)主题数目:首先运用btm主题模型对文本进行主题标注,但是对于主题数量的多少存在问题。从词语的主题标注上来说,主题数目太少,无法很好的区分词语的多义词,主题数目如果太多,又对词语之间的区别过于细致,造成语义相似的词语主题编号区别很大。由于上述原因,这里设计了对于主题数目的实验,实验首先针对btm标注的过程,分别取主题数目为10,30,50,70,90,110,130,200,评价标准用f1值来表示,其余变量的值保持一致。

从图2中看出,主题数目在90时比较合适,multi-2算法可以得到最大的f1值。并且从图中可以看出,f1值随着主题数目的增加而增加,但是主题数目增大到一定程度,f1值随着主题数目的增加而减少,可能的原因是由于主题数目越多,词与词之间的区分更加敏感,可能对相同含义词语标注的主题意义相差较大,对不同含义的词语标注的主题相差较小,容易造成主题歧义,进而影响模型整体性能。通过实验证明了多义词词向量算法中最优主题数目为90。

2)多义词词向量的向量窗口大小估计:在词向量的训练过程中,窗口长度不一致,容易造成当前词语的上下文语义缺失,并且窗口长度不同,会引起当前词语的上下文语义的变化,因此对算法中向量窗口大小参数进行了评估实验。从图3可以看出,随着向量窗口的增加,f1值也在不断增加,但是窗口增加到一定长度之后,f1值增长趋于平缓,因此最后增加窗口长度对于f1值的提高没有大的帮助,并且增加窗口度会不断增加程序的复杂度,因此这里的窗口长度采用10。

3)多义词词向量维度长短估计:从图4中可以看出,f1值随着向量的增加而增加,从理论上来说,向量的维度越高,对于词语之间的相似性判断准确率就越高,但是在实际的程序运行过程中,随着向量维度的增加,算法的复杂度也急剧增加,训练时间越来越长,因此要把向量的维度控制在合适的范围之内。权衡复杂度和f1值,这里选取向量维度为300进行实验,既减少了一定的时间,也可以对算法得到较好的性能。

4)多算法对比试验:通过以上的各种参数估计,确定了多义词词向量算法中的各个参数。选取btm主题数目为90,对词语进行主题标注。选取向量窗口大小为10,对当前词语前后各十个进行上下文语义考虑。选取向量维度为300,用来衡量词向量的相似性。

表7文本分类结果对比

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