一种词向量训练方法及系统的制作方法

文档序号:10569890阅读:279来源:国知局
一种词向量训练方法及系统的制作方法
【专利摘要】本发明适用计算机技术领域,提供了一种词向量训练方法及系统,在该方法中,对训练样本文档中每个训练目标词执行词向量训练步骤时,获取训练目标词在训练样本文档中上下文窗口内的窗口词,使用Skip?gram模型预测每个窗口词的出现概率,更新窗口词在词向量库中对应的词向量和Huffman树中训练目标词对应编码路径中每一个非叶子节点对应的中间向量,通过预设的公式更新训练样本文档的全局文本向量,并计算CBOW模型的递增式局部输入向量,进而计算CBOW模型的混合拼接向量,将混合拼接向量设置为CBOW模型投影层的输入,使用CBOW模型预测训练目标词的出现概率,最后更新训练目标词的词向量和Huffman树中每一个非叶子节点对应的中间向量,提高了训练目标词词向量的准确度。
【专利说明】
_种词向量训练方法及系统
技术领域
[0001] 本发明属于计算机技术领域,尤其涉及一种词向量训练方法及系统。
【背景技术】
[0002] 近年来,词向量已经成为自然语言处理领域中一种非常流行的工具,传统的文本 处理方法一般以词为基本特征,将词表示为二进制编码的词向量,使用这种表示方式的词 向量不仅容易产生特征稀疏性问题,而且任意两个词之间相互独立,无法正确捕捉到隐含 在词语之间的语义及词法关联。为了解决这一问题,分布式词向量应运而生。分布式词向量 将词语表示为一个浓密的、低维的实值向量,每一维代表词语的一个特征属性,各词向量之 间只需进行简单的余弦计算即可挖掘出词语间的各种关联,过程简单方便,易于实现。
[0003] 因此,如何有效获取高质量的词向量一直是自然语言处理及文本挖掘中的一个重 要课题。谷歌(Google)公司提出了一款开源工具 W〇rd2vec,该工具提供的词向量训练模型 具有结构简单、训练速度快、能处理大规模语料等优点,深受广大研究者的喜爱。然而,该工 具提供的模型不能同时兼顾上下文局部语境、全局语境和词语之间的语序关系,导致词向 量训练的准确度不高。

【发明内容】

[0004] 本发明的目的在于提供一种词向量训练方法及系统,旨在解决由于现有技术无法 提供一种有效的词向量训练方法,导致词向量训练准确度不高的问题。
[0005] -方面,本发明提供了 一种词向量训练方法,所述方法包括下述步骤:
[0006] 预先构建包括训练目标词的词典,对所述训练目标词的词向量和所述Huffman树 中的所有非叶子节点对应的中间向量进行初始化,所述训练目标词的词向量形成一词向量 库;
[0007] 对预设的训练样本文档进行扫描,对扫描到的每个所述训练目标词执行预设的词 向量训练步骤,以得到每个训练目标词的词向量;
[0008] 所述词向量训练步骤包括:
[0009] 获取所述训练目标词在所述训练样本文档中上下文窗口内的窗口词,使用Skip-gram 模型预测每个所述窗口 词的出 现概率 ,更新所述窗 口词在所述词 向量库 中对应的词向 量和所述Huffman树中所述训练目标词对应编码路径中每一个非叶子节点对应的中间向 量;
[0010] 根据更新后的所述窗口词的词向量,通过预设的公式更新所述训练样本文档的全 局文本向量,并计算CB0W模型的递增式局部输入向量;
[0011] 根据所述更新后的全局文本向量和所述递增式局部输入向量,计算所述CB0W模型 的混合拼接向量,将所述混合拼接向量设置为所述CB0W模型投影层的输入;
[0012] 使用所述CB0W模型预测所述训练目标词的出现概率,更新所述训练目标词的词向 量和所述Huf f man树中每一个非叶子节点对应的中间向量。
[0013] 另一方面,本发明提供了一种词向量训练系统,所述系统包括:
[0014] 向量初始化单元,用于预先构建包括训练目标词的词典,对所述训练目标词的词 向量和所述Huffman树中的所有非叶子节点对应的中间向量进行初始化,所述训练目标词 的词向量形成一词向量库;以及
[0015] 词向量训练单元,用于对预设的训练样本文档进行扫描,对扫描到的每个所述训 练目标词执行预设的词向量训练步骤,以得到每个训练目标词的词向量;
[0016] 所述词向量训练单元包括:
[0017] 第一向量更新单元,用于获取所述训练目标词在所述训练样本文档中上下文窗口 内的窗口词,使用Skip-gram模型预测每个所述窗口词的出现概率,更新所述窗口词在所述 词向量库中对应的词向量和所述Huffman树中所述训练目标词对应编码路径中每一个非叶 子节点对应的中间向量;
[0018] 向量计算单元,用于根据更新后的所述窗口词的词向量,通过预设的公式更新所 述训练样本文档的全局文本向量,并计算CB0W模型的递增式局部输入向量;
[0019] 输入设置单元,用于根据所述更新后的全局文本向量和所述递增式局部输入向 量,计算所述CB0W模型的混合拼接向量,将所述混合拼接向量设置为所述CB0W模型投影层 的输入;以及
[0020] 第二向量更新单元,用于使用所述CB0W模型预测所述训练目标词的出现概率,更 新所述训练目标词的词向量和所述Huffman树中每一个非叶子节点对应的中间向量。
[0021]在本发明实施例中,在对词向量进行训练时,使用Skip-gram模型预测上下文窗口 内每个窗口词的出现概率,更新窗口词在词向量库中对应的词向量和Huff man树中训练目 标词对应编码路径中每一个非叶子节点对应的中间向量,根据更新后的全局文本向量和计 算得到的递增式局部输入向量计算CB0W模型的混合拼接向量,将混合拼接向量设置为CB0W 模型投影层的输入,从而结合训练目标词的上下文局部语境、全局语境和词语之间的语序 关系对训练目标词的词向量进行训练,提高了词向量的训练准确度。
【附图说明】
[0022] 图1是本发明实施例一提供的词向量训练方法的实现流程图;
[0023] 图2是本发明实施例一提供的词向量训练方法的实现流程图;
[0024] 图3是本发明实施例二提供的词向量训练系统的结构示意图;以及
[0025] 图4是本发明实施例二提供的词向量训练系统的结构示意图。
【具体实施方式】
[0026] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0027] 以下结合具体实施例对本发明的具体实现进行详细描述:
[0028] 实施例一:
[0029] 图1示出了本发明实施例一提供的词向量训练方法的实现流程,为了便于说明,仅 示出了与本发明实施例相关的部分,详述如下:
[0030] 在步骤S101中,预先构建包括训练目标词的词典,对训练目标词的词向量和 Huffman树中的所有非叶子节点对应的中间向量进行初始化,训练目标词的词向量形成一 词向量库。
[0031] 在本发明实施例中,可预先构建包括训练目标词的词典,具体地,可对涉及某一类 型或科目的文本进行分词、去停用词、去高低频词,从而构造出对应的词典。优选地,可使用 中科院的ICTCLAS2015分词系统,该分词系统具有新词发现、关键词提取等功能,并支持用 户自定义词典导入。另外,还需要为词典中的训练目标词构建词向量和对应的Huffman树。 在构建Huffman树时,可根据词频大小进行构建,词典中所有词的词频都位于树中的叶子节 点处,每个叶子节点和非叶子节点都唯一地对应一个向量。
[0032] 优选地,对训练目标词的词向量进行初始化时,可引入外部样本集或常识知识库 对词典中每个训练目标词进行预训练,以对词典中每个训练目标词的词向量进行初始化, 从而得到为每个训练目标词提供比较精确的初始化值,以提高词向量训练的速度。优选地, 常识知识库采用Wordnet或Hownet知识库。
[0033]在步骤S102中,对预设的训练样本文档进行扫描,对扫描到的每个训练目标词执 行预设的词向量训练步骤,以得到每个训练目标词的词向量。
[0034]在本发明实施例中,在对构建好的词典中的训练目标词进行训练时,需要提供大 量的训练样本文档,在具体实施过程中,可根据系统对词向量准确度的要求输入对应数量 的训练样本文档,以在保证词向量准确度的前提下,提高词向量的训练速度。
[0035]优选地,在本发明实施例中,如图2所示,通过图示步骤对扫描到的每个训练目标 词执行预设的词向量训练步骤。
[0036]在步骤S201中,获取训练目标词在训练样本文档中上下文窗口内的窗口词,使用 Skip-gram模型预测每个窗口词的出现概率,更新窗口词在词向量库中对应的词向量和 Huffman树中训练目标词对应编码路径中每一个非叶子节点对应的中间向量。
[0037]在本发明实施例中,应首先设置词向量训练时训练目标词的上下文窗口的大小, 优选地,上下文窗口的大小设置为10。之后使用Skip-gram(Continuous Skip-gramModel) 模型依次预测该上下文窗口中每个词语(为了便于描述,将窗口中的词语记为窗口词)的出 现概率,进而更新窗口词在词向量库中对应的词向量和Huffman树中训练目标词对应编码 路径中每一个非叶子节点对应的中间向量,这样,可以使窗口词和训练目标词之间建立某 种语义联系,这种语义联系体现在自然语言的表达中,通过窗口词词向量的各个维度反映 出来,并通过训练目标词对应编码路径中各非叶子节点对应的中间向量保存下来,用于下 一次训练。
[0038]在步骤S202中,根据更新后的窗口词的词向量,通过预设的公式更新训练样本文 档的全局文本向量,并计算CB0W模型的递增式局部输入向量。
[0039]在本发明实施例中,可通过预设的公式更新训练样本文档的全局文本向量,例如, 可先通过词频-逆文档频率(TF-IDF)权重计算方法抽取出能够代表训练样本文档特征的词 语,然后将这些词的权重组合在一起构成一个全局文本向量。另外,也可以使用词频或者逆 文档频率计算各个词语的权重,然后将各个词的权重组合在一起构成一个全局文本向量。 当然,也可以通过其他模型训练得到全局文本向量,如可通过PV-DB0W、PV-DM方法获得。
[0040]优选地,可通过公式dc(r)) = t (久* (K(^))) / t怂计算或更新全局文本向 2r- i r-1 量g(c(w)),其中Wi表示训练样本文档中第i个词语,V(Wi)表示词语Wi对应的词向量,K表示 训练样本文档中的词语总数,&表示词Wi在训练样本文档中的权重,这样,可简化全局文本 向量的计算,同时可保证训练的准确率,有助于提高训练速度。
[0041 ] 在计算CB0W(Continuous Bag-〇f-Words Model,连续词袋模型)模型的递增式局 部输入向量时,可通过累加、求平均值、或者向量拼接的方式。优选地,使用拼接方式计算 CB0W模型的递增式局部输入向量,从而可保留词语内部顺序。
[0042]在步骤S203中,根据更新后的全局文本向量和递增式局部输入向量,计算CB0W模 型的混合拼接向量,将混合拼接向量设置为CB0W模型投影层的输入。
[0043]在本发明实施例中,根据更新后的全局文本向量和递增式局部输入向量,计算 CB0W模型的混合拼接向量。具体地,通过下述方式进行拼接:若向量的维度为d,词^的递增 式局部输入向量为以¥」)=[¥1,¥2,一,¥01],'^在当前窗口内对应的全局文本向量为8((:(¥)) = [V'1,V'2,…,V'd],贝1J混合拼接向量为[V1,V2,…,Vd,V'l,V'2,…,V'd],该向量维度为2d。 在得到CB0W模型的混合拼接向量后,将混合拼接向量设置为CB0W模型投影层的输入,从而 可将局部和全局语境结合起来预测训练目标词,并更新训练目标词和其对应路径上的中间 节点对应的中间向量,而且使用拼接方式还可以保留词语之间的内部语序关系,使得窗口 词和训练目标词之间的语义联系更强,训练得到的词向量表达更加准确。
[0044] 在步骤S204中,使用CB0W模型预测训练目标词的出现概率,更新训练目标词的词 向量和Huf f man树中每一个非叶子节点对应的中间向量。
[0045] 在本发明实施例中,在对词向量进行训练时,使用Skip-gram模型预测上下文窗口 内每个窗口词的出现概率,更新窗口词在词向量库中对应的词向量和Huf fman树中训练目 标词对应编码路径中每一个非叶子节点对应的中间向量,根据更新后的全局文本向量和计 算得到的递增式局部输入向量计算CB0W模型的混合拼接向量,将混合拼接向量设置为CB0W 模型投影层的输入,从而结合训练目标词的上下文局部语境、全局语境和词语之间的语序 关系对训练目标词的词向量进行训练,提高了词向量的训练准确度。
[0046] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中, 所述的存储介质,如R0M/RAM、磁盘、光盘等。
[0047] 实施例二:
[0048] 图3示出了本发明实施例二提供的词向量训练系统的结构,为了便于说明,仅示出 了与本发明实施例相关的部分,其中包括:
[0049] 向量初始化单元31,用于预先构建包括训练目标词的词典,对训练目标词的词向 量和Huffman树中的所有非叶子节点对应的中间向量进行初始化,训练目标词的词向量形 成一词向量库;以及
[0050] 词向量训练单元32,用于对预设的训练样本文档进行扫描,对扫描到的每个训练 目标词执行预设的词向量训练步骤,以得到每个训练目标词的词向量。
[0051 ]优选地,如图4所示,本发明实施例提供的词向量训练系统的词向量训练单元32包 括:
[0052]第一向量更新单元321,用于获取训练目标词在训练样本文档中上下文窗口内的 窗口词,使用Skip-gram模型预测每个窗口词的出现概率,更新窗口词在词向量库中对应的 词向量和Huffman树中训练目标词对应编码路径中每一个非叶子节点对应的中间向量; [0053]向量计算单元322,用于根据更新后的窗口词的词向量,通过预设的公式更新训练 样本文档的全局文本向量,并计算CB0W模型的递增式局部输入向量;
[0054] 输入设置单元323,用于根据更新后的全局文本向量和递增式局部输入向量,计算 CB0W模型的混合拼接向量,将混合拼接向量设置为CB0W模型投影层的输入;以及
[0055] 第二向量更新单元324,用于使用CB0W模型预测训练目标词的出现概率,更新训练 目标词的词向量和Huf f man树中每一个非叶子节点对应的中间向量。
[0056] 具体地,向量计算单元322可包括更新子单元,用于根据更新后的窗口词的词向 k k 量,通过公式发(C(r)) = |^(汉"Kr)))/艺更新全局文本向量g(C(w)),其中wi表示 训练样本文档中第i个词语,V(Wl)表示词语^对应的词向量,K表示训练样本文档中的词语 总数,Pi表示词Wi在训练样本文档中的权重。
[0057] 具体地,向量初始化单元31可包括第一初始化单元,用于引入外部样本集对词典 中每个训练目标词进行预训练,以对词典中每个训练目标词的词向量进行初始化。
[0058]具体地,向量初始化单元31也可以包括第二初始化单元,用于引入常识知识库对 词典中每个训练目标词进行预训练,以对词典中每个训练目标词的词向量进行初始化。其 中,常识知识库为Wordnet或Hownet。
[0059] 在本发明实施例中,词向量训练系统的各单元可由相应的硬件或软件单元实现, 各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发 明。各单元的【具体实施方式】可参考前述实施例的描述,不此不再赘述。
[0060] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1. 一种词向量训练方法,其特征在于,所述方法包括下述步骤: 预先构建包括训练目标词的词典,对所述训练目标词的词向量和所述Huffman树中的 所有非叶子节点对应的中间向量进行初始化,所述训练目标词的词向量形成一词向量库; 对预设的训练样本文档进行扫描,对扫描到的每个所述训练目标词执行预设的词向量 训练步骤,以得到每个训练目标词的词向量; 所述词向量训练步骤包括: 获取所述训练目标词在所述训练样本文档中上下文窗口内的窗口词,使用Skip-gram 模型预测每个所述窗口词的出现概率,更新所述窗口词在所述词向量库中对应的词向量和 所述Huffman树中所述训练目标词对应编码路径中每一个非叶子节点对应的中间向量; 根据更新后的所述窗口词的词向量,通过预设的公式更新所述训练样本文档的全局文 本向量,并计算CBOW模型的递增式局部输入向量; 根据所述更新后的全局文本向量和所述递增式局部输入向量,计算所述CBOW模型的混 合拼接向量,将所述混合拼接向量设置为所述CBOW模型投影层的输入; 使用所述CBOW模型预测所述训练目标词的出现概率,更新所述训练目标词的词向量和 所述Huf f man树中每一个非叶子节点对应的中间向量。2. 如权利要求1所述的方法,其特征在于,根据更新后的所述窗口词的词向量,通过预 设的公式更新所述训练样本文档的全局文本向量的步骤,包括:根据更新后的所述窗口词的词向量, 新所述全局文本向量g(C(w)),其中所述wi表示所述训练样本文档中第i个词语,V(wi)表示 词语^对应的词向量,K表示所述训练样本文档中的词语总数,队表示词^在所述训练样本 文档中的权重。3. 如权利要求1所述的方法,其特征在于,对所述训练目标词的词向量和所述Huffman 树中的所有非叶子节点对应的中间向量进行初始化的步骤,包括: 引入外部样本集对所述词典中每个所述训练目标词进行预训练,以对所述词典中每个 所述训练目标词的词向量进行初始化。4. 如权利要求1所述的方法,其特征在于,对所述训练目标词的词向量和所述Huffman 树中的所有非叶子节点对应的中间向量进行初始化的步骤,包括: 引入常识知识库对所述词典中每个所述训练目标词进行预训练,以对所述词典中每个 所述训练目标词的词向量进行初始化。5. 如权利要求4所述的方法,其特征在于,所述常识知识库为Wordnet或Hownet。6. -种词向量训练系统,其特征在于,所述系统包括: 向量初始化单元,用于预先构建包括训练目标词的词典,对所述训练目标词的词向量 和所述Huf fman树中的所有非叶子节点对应的中间向量进行初始化,所述训练目标词的词 向量形成一词向量库;以及 词向量训练单元,用于对预设的训练样本文档进行扫描,对扫描到的每个所述训练目 标词执行预设的词向量训练步骤,以得到每个训练目标词的词向量; 所述词向量训练单元包括: 第一向量更新单元,用于获取所述训练目标词在所述训练样本文档中上下文窗口内的 窗口词,使用Skip-gram模型预测每个所述窗口词的出现概率,更新所述窗口词在所述词向 量库中对应的词向量和所述Huffman树中所述训练目标词对应编码路径中每一个非叶子节 点对应的中间向量; 向量计算单元,用于根据更新后的所述窗口词的词向量,通过预设的公式更新所述训 练样本文档的全局文本向量,并计算CBOW模型的递增式局部输入向量; 输入设置单元,用于根据所述更新后的全局文本向量和所述递增式局部输入向量,计 算所述CBOW模型的混合拼接向量,将所述混合拼接向量设置为所述CBOW模型投影层的输 入;以及 第二向量更新单元,用于使用所述CBOW模型预测所述训练目标词的出现概率,更新所 述训练目标词的词向量和所述Huffman树中每一个非叶子节点对应的中间向量。7. 如权利要求6所述的系统,其特征在于,所述向量计算单元包括: 更新子单元,用于根据更新后的所述窗口词的词向量,通过公式更新所述全局文本向量g(C(w)),其中所述^表示所 述训练样本文档中第i个词语,V(Wl)表示词语^对应的词向量,K表示所述训练样本文档中 的词语总数,&表示词Wl在所述训练样本文档中的权重。8. 如权利要求6所述的系统,其特征在于,所述向量初始化单元包括: 第一初始化单元,用于引入外部样本集对所述词典中每个所述训练目标词进行预训 练,以对所述词典中每个所述训练目标词的词向量进行初始化。9. 如权利要求6所述的系统,其特征在于,所述向量初始化单元包括: 第二初始化单元,用于引入常识知识库对所述词典中每个所述训练目标词进行预训 练,以对所述词典中每个所述训练目标词的词向量进行初始化。10. 如权利要求9所述的系统,其特征在于,所述常识知识库为Wordnet或Hownet。
【文档编号】G06F17/27GK105930318SQ201610218878
【公开日】2016年9月7日
【申请日】2016年4月11日
【发明人】傅向华, 李晶
【申请人】深圳大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1