一种融合词性与位置信息的词向量训练方法及系统与流程

文档序号:11216269阅读:3824来源:国知局
一种融合词性与位置信息的词向量训练方法及系统与流程

本发明属于自然语言处理技术领域,更具体地,涉及一种融合词性与位置信息的词向量训练方法及系统。



背景技术:

近年来,随着移动互联网技术的飞速发展,使得互联网中数据的规模急速增长,也使得数据的复杂度急剧增高。这就使得对这些海量的无结构、未标注数据的处理分析成为一大难题。

传统的机器学习方法采用特征工程(featureengineering)对数据进行符号化表示以便于模型的建模与求解,但特征工程中常用的词袋表示技术如one-hot向量随着数据复杂度的增长,特征的维度也会急剧增加从而导致维度灾难问题。并且基于one-hot向量表示的方法还存在语义鸿沟现象。随着“如果两个词上下文相似,那么它们的语义也相似”的分布假说(distributionalhypothesis)被提出,基于分布假说的单词分布表示技术不断地被提出。其中最主要的有基于矩阵的分布表示、基于聚类的分布表示及基于词向量的分布表示。但无论是基于矩阵表示还是基于聚类表示的分布表示方法虽然能够在特征维度较小时表达简单的上下文信息。但当特征维度较高时,模型对于上下文的表达尤其是对复杂上下文的表达就无能为力。而基于词向量的表示技术,使得无论是对于每个单词的表示,还是通过线性组合的方法来表示单词的上下文都避免了出现维度灾难的问题。而且由于单词之间的距离可以通过他们所对应词向量之间的余弦距离或欧式距离来衡量,这也在很大程度上消除了传统的词袋模型中的语义鸿沟的问题。

然而,目前已有的词向量研究工作大都集中在通过简化模型中神经网络的结构来减少模型复杂度,有的工作融合了情感、主题等信息,而融合词性信息的研究工作很少且在这些很少的工作中针对的词性粒度比较大,对于词性信息的利用很不充分,对于词性信息的更新也不太合理。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明的目的在于提供了一种融合词性与位置信息的词向量训练方法及系统,由此解决现有技术中融合词性信息的研究工作中针对的词性粒度比较大,对于词性信息的利用很不充分,对于词性信息的更新也不太合理的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种融合词性与位置信息的词向量训练方法,包括如下步骤:

s1、对原始文本进行预处理得到目标文本;

s2、根据单词的上下文信息,采用词性标注集中的词性对目标文本中的单词进行词性标注;

s3、根据标注的词性信息进行建模构建词性关联权重矩阵m,以及针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵mi',其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率,矩阵mi'的行列维度与矩阵m相同,矩阵mi'中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率;

s4、将建模后的矩阵m和矩阵mi'融合到skip-gram词向量模型中构建目标模型,由目标模型进行词向量学习得到目标词向量,其中,目标词向量用于单词类比任务以及单词相似度任务。

优选地,步骤s2具体包括以下子步骤:

s2.1、对目标文本进行分词,以区分出目标文本中的所有单词;

s2.2、对目标文本中的每个句子,根据单词在句子中的上下文信息,采用词性标注集中的词性对单词进行词性标注。

优选地,步骤s3具体包括以下子步骤:

s3.1、对目标文本中的每个单词,生成针对单词及其对应的词性构成的单词-词性对,根据单词-词性对构建词性关联权重矩阵m,其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率;

s3.2、针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵m′i,其中,矩阵m′i的行列维度与矩阵m相同,矩阵m′i中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率。

优选地,步骤s4具体包括以下子步骤:

s4.1、构建初始目标函数:其中,c表示整个训练语料库中的词汇表,context(w)表示由目标单词w的前后各c个单词组成的上下文单词集,c表示窗口大小;

s4.2、将建模后的矩阵m和矩阵mi'融合到基于负采样的skip-gram词向量模型中构建目标模型,并根据初始目标函数构建目标模型的新目标函数:其中,neg(w)为对目标单词w进行采样的负样本集,lw(u)为样本u的打分,正样本打分为1,负样本打分为0,θu为样本词在模型训练过程中用到的辅助向量,为上下文单词对应的词向量的转置,为tu和两词性在相对位置关系为i时的共现概率;

s4.3、对新目标函数进行优化,将新目标函数取值最大化,并对参数θu以及进行梯度计算和更新,并在对整个训练语料库遍历完成时获得目标词向量。

按照本发明的另一方面,提供了一种融合词性与位置信息的词向量训练系统,包括:

预处理模块,用于对原始文本进行预处理得到目标文本;

词性标注模块,用于根据单词的上下文信息,采用词性标注集中的词性对目标文本中的单词进行词性标注;

位置词性融合模块,用于根据标注的词性信息进行建模构建词性关联权重矩阵m,以及针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵m′i,其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率,矩阵m′i的行列维度与矩阵m相同,矩阵m′i中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率;

词向量学习模块,用于将建模后的矩阵m和矩阵m′i融合到skip-gram词向量模型中构建目标模型,由目标模型进行词向量学习得到目标词向量,其中,目标词向量用于单词类比任务以及单词相似度任务。

优选地,所述词性标注模块包括:

分词模块,用于对目标文本进行分词,以区分出目标文本中的所有单词;

词性标注子模块,用于对目标文本中的每个句子,根据单词在句子中的上下文信息,采用词性标注集中的词性对单词进行词性标注。

优选地,所述位置词性融合模块包括:

词性信息建模模块,用于对目标文本中的每个单词,生成针对单词及其对应的词性构成的单词-词性对,根据单词-词性对构建词性关联权重矩阵m,其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率;

位置信息建模模块,用于针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵m′i,其中,矩阵m′i的行列维度与矩阵m相同,矩阵m′i中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率。

优选地,所述词向量学习模块包括:

初始目标函数构建模块,用于构建初始目标函数:其中,c表示整个训练语料库中的词汇表,context(w)表示由目标单词w的前后各c个单词组成的上下文单词集,c表示窗口大小;

新目标函数构建模块,用于将建模后的矩阵m和矩阵m′i融合到基于负采样的skip-gram词向量模型中构建目标模型,并根据初始目标函数构建目标模型的新目标函数:其中,neg(w)为对目标单词w进行采样的负样本集,lw(u)为样本u的打分,正样本打分为1,负样本打分为0,θu为样本词在模型训练过程中用到的辅助向量,为上下文单词对应的词向量的转置,为tu和两词性在相对位置关系为i时的共现概率;

词向量学习子模块,用于对新目标函数进行优化,将新目标函数取值最大化,并对参数θu以及进行梯度计算和更新,并在对整个训练语料库遍历完成时获得目标词向量。

总体而言,本发明方法与现有技术方案相比,能够取得下列有益效果:

(1)通过构建基于词性关联关系与位置关联关系的关联矩阵,可以很好地对单词间的词性和位置信息进行建模。

(2)通过将已经建模好的基于词性信息以及位置信息的关联矩阵融合到基于负采样的skip-gram词向量学习模型中,一方面可以得到更好的词向量结果,另一方面也可以得到用于模型训练的语料库中词性间的关联关系权重。

(3)由于模型采用了负采样的优化策略,使得模型的训练速度也比较快。

附图说明

图1为本发明实施例公开的一种融合词性与位置信息的词向量训练方法的流程示意图;

图2为本发明实施例公开的一种词性和位置信息的建模模型图;

图3为本发明实施例公开的一种整体流程简化示意图;

图4为本发明实施例公开的另一种融合词性与位置信息的词向量训练方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

由于已有词向量学习方法忽略词性及其在自然语言中的重要性,本发明提供一种融合词性与位置信息的词向量学习方法。该方法旨在原有skip-gram模型的基础上考虑单词之间的词性关联关系与位置关系,以便让模型能训练出融合更多信息的词向量结果,并利用学习到的词向量来更好地完成单词类比任务及单词相似度任务。

如图1所示为本发明实施例公开的一种融合词性与位置信息的词向量学习方法的流程示意图,在图1所示的方法中包括以下步骤:

s1、对原始文本进行预处理得到目标文本;

由于获得的原始文本中存在着大量的无用信息如xml标签、网页链接、图片链接以及如“[”、“@”,“&”,“#”等,这些无用信息不但对词向量的训练无益,甚至会成为噪声数据,影响词向量的学习,因此需要将这些信息过滤掉,可以利用perl脚本将这些信息过滤掉。

s2、根据单词的上下文信息,采用词性标注集中的词性对目标文本中的单词进行词性标注;

由于在本发明提出的方法中要使用单词的词性信息,因此需要利用一些词性标注工具对文本进行词性标注。由于一个单词所处上下文的不同导致其可能具有多个词性,为了解决这个问题可以提前将文本进行词性标注,借助其上下文信息进行词性标注。步骤s2具体包括以下子步骤:

s2.1、对目标文本进行分词,以区分出目标文本中的所有单词;

其中,可以利用opennlp中的tokenize分词工具将文本进行分词,比如“ibuyanapple.”中如果不分词的话常见单词“apple”就会成为“apple.”这个不存在的单词,影响词向量的学习。

s2.2、对目标文本中的每个句子,根据单词在句子中的上下文信息,采用词性标注集中的词性对单词进行词性标注。

其中,一次性地对一整个句子进行词性标注,这样就可以将同一个单词根据其所处上下文而可以具有的多个词性区分开来。这里单词被赋予的词性属于penntreebankpos词性标注集。

如“iloveyou.”和“shegivehersontoomuchlove.”进行词标注后的两个句子就成为:

i_prp(代词)love_vbp(动词)you_prp(代词)._.;

she_prp(代词)give_vb(动词)her_prp$(代词)son_nn(名词)too_rb(副词)much_jj(形容词)love_nn(名词)._.。

s3、根据标注的词性信息进行建模构建词性关联权重矩阵m,以及针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵m′i,其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率,矩阵m′i的行列维度与矩阵m相同,矩阵m′i中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率;如图2所示本发明实施例公开的一种词性和位置信息的建模模型图,其中,行列中的t0~tn表示词性,m′i(tt,tt-2)表示词性tt与词性tt-2在相对位置i时的共现概率。

其中,在获得单词的词性之后,如何将词性信息参与到词向量学习模型中并对新模型进行求解,就需要首先对词性信息进行建模。建模的目标为建立行列维度都为词性标注集中词性的种类大小的词性关联关系矩阵,矩阵中的元素即为两个词性出现的概率。除此之外,还要针对位置关系进行建模,因为两个词性共现时它们之间的位置关系也是十分重要的。步骤s3具体包括以下子步骤:

s3.1、对目标文本中的每个单词,生成针对单词及其对应的词性构成的单词-词性对,根据单词-词性对构建词性关联权重矩阵m,其中,矩阵m的行列维度为词性标注集中词性的种类大小,矩阵m中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性的共现概率;

例如对于“shegivehersontoomuchlove.”中的单词son来说,其词性为nn,单词her的词性为prp,则矩阵中词性prp对应的行以及词性nn对应的列所指定的元素即为两个词性的共现概率(即权值)。

s3.2、针对词性对所对应单词对的相对位置i进行建模,构建与位置对应的位置词性关联权重矩阵m′i,其中,矩阵m′i的行列维度与矩阵m相同,矩阵m′i中的元素为该元素的行对应单词的词性与该元素的列对应单词的词性在相对位置i时的共现概率(即权值)。

例如,若窗口大小为2c,则i∈[-c,c]。当窗口大小为6时,则就要建立m′-3、m′-2、m′-1、m′1、m′2、m′3共6个矩阵。

例如对于“shegivehersontoomuchlove.”中的son和her,当son为目标词时,这两个单词词性所对应的词性与位置的关联权值为m′-1(prp,nn)。

s4、将建模后的矩阵m和矩阵m′i融合到skip-gram词向量模型中构建目标模型,由目标模型进行词向量学习得到目标词向量,其中,目标词向量用于单词类比任务以及单词相似度任务。

其中,步骤s4具体包括以下子步骤:

s4.1、构建初始目标函数:其中,c表示整个训练语料库中的词汇表,context(w)表示由目标单词w的前后各c个单词组成的上下文单词集,c表示窗口大小;

由于skip-gram模型思想相同即通过目标词wt预测上下文中的单词v(wt+i)其中,i表示wt+i与wt之间的位置关系。以样本(context(wt),wt)为例,其中|context(wt)|=2c,其中,context(wt)是由单词wt前后各c个词组成。目标模型的最终优化目标依然是对整个训练语料库来说,使得所有通过目标词wt来预测上下文单词的概率最大化也即最优化初始目标函数。

例如样本“shegivehersontoomuchlove.”单词son为目标词wt,c为3,则context(wt)={she,give,her,too,much,love}。

s4.2、将建模后的矩阵m和矩阵m′i融合到基于负采样的skip-gram词向量模型中构建目标模型,并根据初始目标函数构建目标模型的新目标函数:其中,neg(w)为对目标单词w进行采样的负样本集,lw(u)为样本u的打分,正样本打分为1,负样本打分为0,θu为样本词在模型训练过程中用到的辅助向量,为上下文单词对应的词向量的转置,为tu和两词性在相对位置关系为i时的共现概率;

例如样本“shegivehersontoomuchlove.”单词son为正样本,此时单词son的标签为1,对于其他单词如dog、flower等就是负样本,其标签为0。

如图3所示为本发明实施例公开的一种整体流程简化示意图,构建的目标模型具有输入层、投影层、输出层三层。其中:

输入层的输入为中心单词w(t),输出的是中心单词w(t)对应的词向量;

投影层主要是对输入层的输出结果进行投影,在该模型中投影层的输入和输出都是中心单词w(t)的词向量;

输出层主要是利用中心单词w(t)来预测如w(t-2),w(t-1),w(t+1),w(t+2)等上下文单词的词向量。

本发明主要目的是利用中心单词w(t)来预测其上下文单词时,考虑中心单词与其上下文单词的词性与位置关系。

s4.3、对新目标函数进行优化,将新目标函数取值最大化,并对参数θu以及进行梯度计算和更新,并在对整个训练语料库遍历完成时获得目标词向量。

例如可以采用随机梯度上升法(stochasticgradientascent,sga)对新目标函数进行优化即将新目标函数取值最大化。并对参数θu梯度计算和更新,当对整个训练语料库遍历完时则就获得了目标词向量。

可选地,可以采用如下所示的方式进行更新及梯度计算得到目标词向量:

如图4所示为本发明实施例提供的另一种融合词性与位置信息的词向量训练方法的流程示意图,在图4所示的方法中,包括数据预处理、分词及词性标注、词性与位置信息建模、词向量训练、任务评估五个步骤。其中数据预处理、分词及词性标注、词性与位置信息建模、词向量训练如实施例1所描述的方法步骤,任务评估可以利用上面学习到的带有词性和位置信息的目标词向量后,可以将目标词向量用于单词类比任务以及单词相似度等任务中。主要包括以下两个步骤:

用学习到的目标词向量做单词类比任务。例如对于两个单词对<king,queen>和<man,woman>,通过对这些单词对所对应的词向量进行计算会发现存在v(king)–v(queen)=v(man)–v(woman)这样的关系。

用学习到的目标词向量做单词相似的任务。例如给定一个单词如“dog”,通过计算其他单词与“dog”的余弦距离或欧式距离就可能会得到诸如“puppy”、“cat”等和“dog”有密切关系的前topn个单词。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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