词嵌入模型的训练方法及装置制造方法及图纸

技术编号:20285300 阅读:32 留言:0更新日期:2019-02-10 17:51
本申请实施例公开一种词嵌入模型的训练方法及装置,该方法包括:利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量;根据所述第一向量得到预测词;利用所述预测词,以及所述输入词所对应的真实词,更新输入词在词嵌入矩阵中所对应的参数;获取目标词的近义词集,所述目标词包括所述输入词或所述真实词;以及,更新近义词集中的至少一个近义词在词嵌入矩阵中对应的参数,以缩短所述至少一个近义词与所述目标词之间的距离。通过这样的方法不断训练,使每一个目标词的近义词集中的至少一个近义词都朝着该目标词移动,进而使一个词的近义词与其反义词能够较容易地被区分开,以此减轻词嵌入的极性问题,同时也不会导致整个词向量空间紊乱。

Training Method and Device of Word Embedding Model

The embodiment of this application discloses a training method and device for a word embedding model, which includes: vectorizing the input words of training samples into the first vector by using the word embedding matrix; obtaining the predictive words according to the first vector; updating the parameters of the input words in the word embedding matrix by using the predictive words and the real words corresponding to the input words; The target word includes the input word or the real word, and updates the corresponding parameters of at least one synonym in the word embedding matrix to shorten the distance between the at least one synonym and the target word. Through continuous training, at least one synonym in each target word's synonym set moves toward the target word, which makes it easier to distinguish a synonym from its antonym, thus alleviating the polarity of word embedding and avoiding the disorder of the whole word vector space.

【技术实现步骤摘要】
词嵌入模型的训练方法及装置
本专利技术涉及自然语言处理
,具体涉及一种词嵌入模型的训练方法及装置。
技术介绍
在自然语言处理(NaturalLanguageProcessing,NLP)领域,词的表示方法有独热表示(one-hotrepresentation)和分布式表示(distributedrepresentation)两大类,其中,分布式表示是基于分布假说(DistributionalHypothesis),它的核心思想由两部分组成:一、选择一种方式描述上下文;二、选择一种模型来刻画某个词(即中心词)与其上下文之间的关系。根据建模的不同,词的分布式表示主要可以分为三类:基于矩阵的分布表示、基于聚类的分布表示和基于神经网络的分布表示。其中,基于神经网络的分布式表示一般也被称为词嵌入(wordembedding),主要是通过神经网络技术对中心词的上下文,以及上下文与中心词之间的关系进行建模。词嵌入是一种低维实数向量,例如[0.792,-0.177,-0.107,0.109,-0.542,…],其维度可以是50维、100维等。连续词袋模型(ContinousBagofWordsModel,CBOW)和Skip-gram模型是Mikolov等人提出的神经网络语言模型,可以用来训练以得到语料库中每一个词的词嵌入。CBOW是统计语言模型的一种,请参考图1,其主要思想是根据中心词(w(t))的上下文,即中心词前面的C个词(例如w(t-2)、w(t-1)等)以及后面的C个词(例如w(t+1)、w(t+2)等),来计算中心词的概率。与CBOW相反,请参考图2,Skip-Gram模型的主要思想是根据中心词(w(t))来分别计算它前后的词(例如w(t-2)、w(t-1)、w(t+1)、w(t+2)等)的概率。但是,采用CBOW、Skip-gram模型等训练出来的词嵌入在表示能力上还存在缺陷,极性问题较为严重。具体来说,当计算两个词的相似度时,通常是将两个词各自的词嵌入代入到欧式距离或者余弦距离的公式中来计算。但是无论是采用欧式距离还是余弦距离来表示两个词的相似度,经常会出现这样的错误——语义相反的词之间的距离反而比语义一致的词之间的距离更近。例如“开心”与“快乐”的语义一致,利用CBOW、Skip-gram模型等训练得到的词嵌入来计算二者的语义相似度P1;“开心”与“不开心”的语义相反,同样利用利用CBOW、Skip-gram模型等训练得到的词嵌入来计算二者的语义相似度P2。理应P1>P2,但实际计算出来却可能是P1<P2。由于采用CBOW、Skip-gram模型等训练出来的词嵌入存在这样的极性问题,进而导致进行文本语义匹配、文本分类等处理的时候容易出错,匹配到完全不同的句子,或者将语义相反的两个文本分类到同一个类别中,这是本领域技术人员亟待解决的问题。
技术实现思路
为解决上述技术问题,本申请提供一种新的词嵌入模型的训练方法,可以局部调整一个词的至少一个近义词与其之间的距离。通过这样的方法训练得到的词嵌入矩阵,能够更好地区分近义词和反义词,从而有效地减轻词嵌入的极性问题。第一方面,本申请提供一种词嵌入模型的训练方法,包括以下步骤:利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量;根据所述第一向量得到预测词;利用所述预测词,以及所述输入词所对应的真实词,更新所述输入词在词嵌入矩阵中所对应的参数;获取目标词的近义词集,所述目标词包括所述输入词或所述真实词;更新所述近义词集中的至少一个近义词在词嵌入矩阵中对应的参数,以缩短所述至少一个近义词与所述目标词之间的距离;其中,所述至少一个近义词中包括至少一个远距离近义词,所述远距离近义词与所述目标词之间的距离大于或等于所述目标词的至少一个反义词与所述目标词之间的距离。结合第一方面,在第一方面第一种可能的实现方式中,所述词嵌入模型的目标函数为:L(H)=L+α·J(wt,wsyn),其中,L为第一目标函数,表示CBOW模型或Skip模型的目标函数;wt表示目标词,wsyn表示目标词的近义词集;J(wt,wsyn)为第二目标函数,表示所述至少一个近义词与所述目标词之间的距离;α表示影响因子。结合第一方面的第一种实现方式,在第一方面第二种可能的实现方式中,其中,wt表示目标词,wi表示所述至少一个近义词中的一个近义词;J(wt,wi)表示所述至少一个近义词中的一个近义词wi与目标词wt之间的距离。结合第一方面的第二种实现方式,在第一方面第三种可能的实现方式中,更新所述近义集中的至少一个近义词在词嵌入矩阵中对应的参数的步骤,包括:wij(new)=wij+η·Gradient(wij),其中,wij(new)表示近义词wi的第j维在更新后的值;η表示第二学习率;Gradient(wij)表示近义词wi的第j维的更新梯度;表示目标词wt与近义词wi之间的距离值,对wi的第j维的偏导数;wij表示近义词wi的第j维在更新之前的值;wtj表示目标词的第j维的值。结合第一方面的第三种实现方式,在第一方面第四种可能的实现方式中,第二学习率η通过以下方式得到:η=α·μ,其中,α表示影响因子;μ表示第一学习率;μ0表示第一学习率预设初始值;train_words表示训练语料的总词数;word_ca表示当前已经训练过的输入词的数量;iter表示当前训练的迭代轮次。结合第一方面的第三种或第四种实现方式,在第一方面第五种可能的实现方式中,当更新梯度Gradient(wij)的绝对值>max_Gradient时,取所述Gradient(wij)=max_Gradient;其中,max_Gradient为梯度最大值;starting_mG表示梯度最大值的预设初始值;train_words表示训练语料的总词数;word_ca表示当前已经训练过的输入词的数量;iter表示当前训练的迭代轮次。结合第一方面及上述可能的实现方式,在第一方面第六种可能的实现方式中,当所述词嵌入模型为CBOW模型时,所述训练样本的输入词为上下文词,所述预测词为中心词的预测值,所述真实词为中心词的真实值。结合第一方面的第六种实现方式,在第一方面第七种可能的实现方式中,所述利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量的步骤,包括:确定至少两个上下文词;利用词嵌入矩阵分别确定所述至少两个上下文词的向量表示;将所述至少两个上下文词的向量表示累加,得到第一向量。结合第一方面及上述可能的实现方式,在第一方面第八种可能的实现方式中,当所述词嵌入模型为Skip模型时,所述训练样本的输入词为中心词,所述预测词为上下文词的预测值,所述真实词为上下文词的真实值。第二方面,本申请提供一种词嵌入模型的训练装置,包括:第一处理单元,用于利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量;根据所述第一向量得到预测词;利用所述预测词,以及所述输入词所对应的真实词,更新所述输入词在词嵌入矩阵中所对应的参数;第二处理单元,用于获取目标词的近义词集,以及,更新所述近义词集中的至少一个近义词在词嵌入矩阵中对应的参数,以缩短所述至少一个近义词与所述目标词之间的距离;其中,所述目标词包括所述输入词或所述真实词,所述至少一个近义词中包括至少一个远距离本文档来自技高网
...

【技术保护点】
1.一种词嵌入模型的训练方法,其特征在于,包括以下步骤:利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量;根据所述第一向量得到预测词;利用所述预测词,以及所述输入词所对应的真实词,更新所述输入词在词嵌入矩阵中所对应的参数;获取目标词的近义词集,所述目标词包括所述输入词或所述真实词;更新所述近义词集中的至少一个近义词在词嵌入矩阵中对应的参数,以缩短所述至少一个近义词与所述目标词之间的距离;其中,所述至少一个近义词中包括至少一个远距离近义词,所述远距离近义词与所述目标词之间的距离大于或等于所述目标词的至少一个反义词与所述目标词之间的距离。

【技术特征摘要】
1.一种词嵌入模型的训练方法,其特征在于,包括以下步骤:利用词嵌入矩阵,将训练样本的输入词向量化表示为第一向量;根据所述第一向量得到预测词;利用所述预测词,以及所述输入词所对应的真实词,更新所述输入词在词嵌入矩阵中所对应的参数;获取目标词的近义词集,所述目标词包括所述输入词或所述真实词;更新所述近义词集中的至少一个近义词在词嵌入矩阵中对应的参数,以缩短所述至少一个近义词与所述目标词之间的距离;其中,所述至少一个近义词中包括至少一个远距离近义词,所述远距离近义词与所述目标词之间的距离大于或等于所述目标词的至少一个反义词与所述目标词之间的距离。2.根据权利要求1所述的词嵌入模型的训练方法,其特征在于,所述词嵌入模型的目标函数为:L(H)=L+α·J(wt,wsyn),其中,L为第一目标函数,表示CBOW模型或Skip模型的目标函数;wt表示目标词,wsyn表示目标词的近义词集;J(wt,wsyn)为第二目标函数,表示所述至少一个近义词与所述目标词之间的距离;α表示影响因子。3.根据权利要求2所述的词嵌入模型的训练方法,其特征在于,其中,wt表示目标词,wi表示所述至少一个近义词中的一个近义词;J(wt,wi)表示所述至少一个近义词中的一个近义词wi与目标词wt之间的距离。4.根据权利要求3所述的词嵌入模型的训练方法,其特征在于,更新所述近义词集中的至少一个近义词在词嵌入矩阵中对应的参数的步骤,包括:wij(new)=wij+η·Gradient(wij),其中,wij(new)表示近义词wi的第j维在更新后的值;η表示第二学习率;Gradient(wij)表示近义词wi的第j维的更新梯度;表示目标词wt与近义词wi之间的距离值,对wi的第j维的偏导数;wij表示近义词wi的第j维在更新之前的值;wtj表示目标词的第j维的值。5.根据权利要求4所述的词嵌入模型的训练方法,其特征在于,第二学习率η通过以下方式得到:η=α·μ,其中,α表示影响因子;μ表示第一学习率;μ0表示第一学习率预设初始值;train_word...

【专利技术属性】
技术研发人员:李健铨刘小康陈玮
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1