一种多义词词向量训练方法及装置与流程

文档序号:14657850发布日期:2018-06-12 07:35阅读:215来源:国知局

本发明涉及词向量技术领域,特别是涉及一种基于词性标注的多义词词向量训练方法及装置。



背景技术:

随着互联网技术的普及,越来越多的研究人员致力于研究计算机如何模拟或实现人类的学习行为,来获取新的知识技能,也就是致力于研究机器学习的过程。要将自然语言交给机器学习中的算法来处理,通常需要将人类的自然语言数学化,而词向量就是用来将自然语言中的词进行数学化的一种方式。于是计算机能够通过词向量学习到人类语言中每个词汇的含义。

词向量在NLP(Natural Language Processing,自然语言处理)领域中有着广泛的应用,例如,词性标注、情感分类、文本分类、关键词提取和语义相似度等等。通常,词向量模型将词语信息存储在一个高维向量中,每一维度的数值表示一个在词语上的特征。然而对于自然语言,特别是在中文领域中,多义词的现象普遍存在,同一个词的含义差异明显,甚至完全相反。如果采用现有的词向量训练方法将无法生成多义词的词向量。



技术实现要素:

针对于上述问题,本发明提供一种多义词词向量训练方法及装置,实现了生成多义词词向量的目的。

为了实现上述目的,本发明提供了如下技术方案:

一种多义词词向量训练方法,该方法包括:

对获取到的语料进行词性划分,得到与所述语料对应的词性信息;

对所述语料进行词向量训练,得到与所述语料对应的初始词向量;

将所述词性信息加入到与所述词性信息对应的语料中,对加入词性信息的语料进行词向量训练,得到初始目标词向量;

根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,其中,所述目标词向量为所述语料在不同词性下的词向量。

优选地,所述对获取的语料进行词性划分,得到与所述语料对应的词性信息之前,还包括:

对指定源的语言材料进行处理,生成语料库;

获取所述语料库中的语料。

优选地,所述对获取的语料进行词性划分,得到与所述语料对应的词性信息之后,还包括:

按照预设的数据清洗规则,对词性划分后的语料进行数据清洗,其中,所述数据清洗规则包括剔除掉特殊字符和过滤掉短句子。

优选地,所述将所述词性信息加入到与所述词性信息对应的语料中,对加入词性信息的语料进行词向量训练,得到初始目标词向量,包括:

将所述词性信息加入到与所述词性信息对应的语料中,生成词性语料;

判断所述词性语料是否满足预设的处理规则,如果是,则对所述词性语料进行词向量训练,得到初始目标词向量,,其中,所述处理规则为所述词性语料为非单一词性的语料。

优选地,所述根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,包括:

计算所述初始目标词向量与所述初始词向量之间的距离值;

判断所述距离值是否满足词向量合并阈值,如果是,则将所述初始目标词向量与所述初始词向量进行合并处理生成目标词向量,如果否,则将所述初始目标词向量作为目标词向量。

一种多义词词向量训练装置,该装置包括:

划分模块,用于对获取到的语料进行词性划分,得到与所述语料对应的词性信息;

第一训练模块,用于对所述语料进行词向量训练,得到与所述语料对应的初始词向量;

第二训练模块,用于将所述词性信息加入到与所述词性信息对应的语料中,对加入词性信息的语料进行词向量训练,得到初始目标词向量;

调整模块,用于根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,其中,所述目标词向量为所述语料在不同词性下的词向量。

优选地,还包括:

生成模块,用于对指定源的语言材料进行处理,生成语料库;

获取模块,用于获取所述语料库中的语料。

优选地,还包括:

清洗模块,用于按照预设的数据清洗规则,对词性划分后的语料进行数据清洗,其中,所述数据清洗规则包括剔除掉特殊字符和过滤掉短句子。

优选地,所述将第二训练模块包括:

词性添加单元,用于将所述词性信息加入到与所述词性信息对应的语料中,生成词性语料;

第一判断单元,用于判断所述词性语料是否满足预设的处理规则,如果是,则对所述词性语料进行词向量训练,得到初始目标词向量,,其中,所述处理规则为所述词性语料为非单一词性的语料。

优选地,所述调整模块包括:

计算单元,用于计算所述初始目标词向量与所述初始词向量之间的距离值;

第二判断单元,用于判断所述距离值是否满足词向量合并阈值,如果是,则将所述初始目标词向量与所述初始词向量进行合并处理生成目标词向量,如果否,则将所述初始目标词向量作为目标词向量。

相较于现有技术,本发明在生成语料的词向量的过程中分析了语料的词性信息,即对获取到的语料进行词性划分,得到与语料对应的词性信息;然后对语料进行词向量训练,得到与语料对应的初始词向量;再将词性信息加入到对应的语料中再次进行词向量训练,得到初始目标词向量;根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,该目标词向量为所述语料在不同词性下的词向量。在本发明中首先将词性进行了划分,但是并未直接训练得到词向量,避免了使新的词向量的规模增加,而是在获得词语的初始词向量后,加入词性信息对初始词向量进行训练调整,得到每个词语在不同词性下的词向量信息,进而实现了生成多义词词向量的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种多义词词向量训练方法的流程示意图;

图2为本发明实施例提供的一种对添加词性的语料进行训练方法的流程示意图;

图3为本发明实施例提供的一种词向量调整方法的流程示意图;

图4为本发明实施例提供的一种多义词词向量训练装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1为本发明实施例提供的一种多义词词向量训练方法的流程示意图,该方法包括以下步骤:

S11、对获取到的语料进行词性划分,得到与所述语料对应的词性信息;

语料库中存放的是在语言的实际使用中真实出现过的语言材料,是以电子计算机为载体承载语言知识的基础资源。而语料库中包含多个语料,每个语料又是由词语组成的。在本发明实施例中,首先对获取到的语料进行词性划分是为了明确语料中的词性信息,对后续的词向量生成能够体现出词性的添加。要获取到语料库中的语料并进行处理,就要首先将语言材料转换成机器能够学习和识别的语料,并存放到语料库中。即可以对指定源的语言材料进行处理,生成语料库;然后获取该语料库中的语料。其中,指定源就是指定来源的语言材料,例如,在对视频中的语言材料进行分析时,可以利用用户原创内容视频名称及对视频的描述信息组成语料库,具体的构建语料库的方法及语料库的内容组成本发明不做限制,只要所构建的语料库是为后续进行词向量训练提供的即可。

在获得语料后,需要利用分词工具对获取到的语料进行词性划分,由于现有的分词工具一般为开源软件,即可以直接利用现有的分词工具完成词性划分。因此,发明实施例中并不对分词工具的具体类型进行限制,比如可以采用Standard Analyzer、CJK Analyzer、Chinese Analyzer等等。采用分词工具对获取的语料进行分词和词性的划分是同时完成的,其中词性的划分采用的是中科院汉语词性标准,词性类别包括:

a(形容词)、ad(副词)、an(名形词)、b(区别词)、c(连词)、d(副词)、e(叹词)、f(方位词)、g(语素)、h(前接成份)、i(成语)、j(简称略语)、k(后接成份)、I(习用语)、m(数词)、n(名词)、nr(人名)、ns(地名)、nt(机构团体)、nz(其他专名)、o(拟声词)、p(介词)、q(量词)、r(代词)、s(处所词)、t(时间词)、u(助词)、v(动词)、vd(副动词)、vn(名动词)、w(标点符号)、x(非语素字)、y(语气词)、z(状态词)、un(未知词)。

举例说明,比如对“今天是个好天气”通过分词工具进行词性划分后,得到的词性信息结果为:

今天t/是v/个q/好a/天气n

并且,词性划分后得到的词性信息中的的字母为对应的词性,具体的,“今天”的词性为t(时间词)、“是”的词性为v(动词)、“个”的词性是q(量词),“好”的词性为a(形容词),“天气”的词性为n(名词)。

因此,通过词性划分可以得到语料的词性信息为后续的词向量的生成提供词性参考的基础。

进一步地,得到词性信息之后,在本发明的另一实施例中还可以包括:

按照预设的数据清洗规则,对词性划分后的语料进行数据清洗,其中,所述数据清洗规则包括剔除掉特殊字符和过滤掉短句子。

具体的,通过上述词性信息的描述可以得到在词性信息中包括了w(标点符号)、x(非语素字)、和un(未知词)这些词性信息,但是这些词在进行词向量分析时意义不大,为了减少分析的工作量需要将这些特殊字符去掉,也就是特殊字符包括了标点符号、特殊符号或者一些未知词等,过滤掉短句子的主要目的排除对某些词语干扰,因为短句子有可能被误认为是一个词语,但是当其作为句子可能可以拆分为多个词语,进而影响判断。

S12、对所述语料进行词向量训练,得到与所述语料对应的初始词向量。

可以采用词向量训练模型对语料进行训练,例如,采用CBOW(ContinuousBag-of-Word Model)模型对获取的语料库中的每个词语生成一个词向量,此处生成的词向量只是最基本的词向量还未考虑词性信息。

S13、将所述词性信息加入到与所述词性信息对应的语料中,对加入词性信息的语料进行词向量训练,得到初始目标词向量;

此处的词向量的训练过程与步骤S12中相比是增加了语料的词性信息后通过词向量训练工具生成的。

之所以要增加语料的词性信息是为了针对语料中的具有多义词性的词语生成词向量。

参见图2,在本方案的基础上,本发明的另一实施例还提供了一种对加入词性信息的语料进行词向量训练方法,可以包括:

S131、将所述词性信息加入到与所述词性信息对应的语料中,生成词性语料;

S132判断所述词性语料是否满足预设的处理规则,如果是,则执行步骤S133;

S133、对所述词性语料进行词向量训练,得到初始目标词向量;

其中,所述处理规则为所述词性语料为非单一词性的语料。由于本发明研究的是多义词,所以需要对词语进行采样选取,即只选择不同词性的词语,若某个词语只有一个词性,则跳过不做处理,保证了此处进行训练的词语均为多义词,即具有多个词性的词语。

例如,当对某一语料进行分析时,首先会对该语料进行词性划分,当得到词性信息时,然后将词性信息添加到该语料进行词向量训练,假设词性信息包括“今天”n(名词)和“今天”t(时间词),可以得到在词性划分过程中,今天这个词既可以是名词也可以是时间词,因此需要对这种具有多个词性的词进行分析、训练得到词向量。

S14、根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,其中,所述目标词向量为所述语料在不同词性下的词向量。

参见图3,在本方案的基础上,本发明的另一实施例还提供了一种词向量校正方法,可以包括:

S141、计算所述初始目标词向量与所述初始词向量之间的距离值;

S142、判断所述距离值是否满足词向量合并阈值,如果是,则执行步骤S143,如果否,则执行步骤S144;

S143、将所述初始目标词向量与所述初始词向量进行合并处理生成目标词向量;

S144、将所述初始目标词向量作为目标词向量。

由于初始目标词向量与初始词向量的本质都是向量,可以借助数学中分析向量相似性的方法,计算初始目标词向量和初始词向量之间的距离值,即采用余弦距离或者欧式距离进行计算,余弦距离,也称为余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量;欧式距离是指向量的自然长度(即该点到原点的距离)。欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异。余弦距离更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦距离对绝对数值不敏感)。所以在计算距离值时,根据具体的情况选用余弦距离或者欧式距离即可。

需要说明的是,衡量词语的不同词向量与初始词向量的距离,合并变化较小的词向量的目的是,将某些多义词的相差较小的词义对应的词向量进行合并,一方面可以减少语料库的负担,另一方可以使多义词对应的词向量更加简洁和直观,其中,所述的距离可以通过计算两个词向量的向量余弦距离或者欧氏距离,本发明对此不做限定。

通过本发明实施例公开的多义词词向量训练方法的技术方案,在生成语料的词向量的过程中分析了语料的词性信息,即对获取到的语料进行词性划分,得到与语料对应的词性信息;然后对语料进行词向量训练,得到与语料对应的初始词向量;再将词性信息加入到对应的语料中再次进行词向量训练,得到初始目标词向量;根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,该目标词向量为所述语料在不同词性下的词向量。在本发明中首先将词性进行了划分,但是并未直接训练得到词向量,避免了使新的词向量的规模增加,而是在获得词语的初始词向量后,加入词性信息对初始词向量进行训练调整,得到每个词语在不同词性下的词向量信息,进而实现了生成多义词词向量的目的。

与本发明提供的一种多义词词向量训练方法的实施例相对应,本发明的实施例还提供了一种多义词词向量训练装置,参见图4,该装置包括:

划分模块1,用于对获取到的语料进行词性划分,得到与所述语料对应的词性信息;

第一训练模块2,用于对所述语料进行词向量训练,得到与所述语料对应的初始词向量;

第二训练模块3,用于将所述词性信息加入到与所述词性信息对应的语料中,对加入词性信息的语料进行词向量训练,得到初始目标词向量;

调整模块4,用于根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,其中,所述目标词向量为所述语料在不同词性下的词向量。

对应的,还包括:

生成模块,用于对指定源的语言材料进行处理,生成语料库;

获取模块,用于获取所述语料库中的语料。

相应的,还包括:

清洗模块,用于按照预设的数据清洗规则,对词性划分后的语料进行数据清洗,其中,所述数据清洗规则包括剔除掉特殊字符和过滤掉短句子。

具体的,所述将第二训练模块包括:

词性添加单元,用于将所述词性信息加入到与所述词性信息对应的语料中,生成词性语料;

第一判断单元,用于判断所述词性语料是否满足预设的处理规则,如果是,则对所述词性语料进行词向量训练,得到初始目标词向量,,其中,所述处理规则为所述词性语料为非单一词性的语料。

具体的,所述调整模块包括:

计算单元,用于计算所述初始目标词向量与所述初始词向量之间的距离值;

第二判断单元,用于判断所述距离值是否满足词向量合并阈值,如果是,则将所述初始目标词向量与所述初始词向量进行合并处理生成目标词向量,如果否,则将所述初始目标词向量作为目标词向量。

根据本发明提供的多义词词向量训练装置,分别通过划分模块、第一训练模块、第二训练模块和调整模块,在生成语料的词向量的过程中分析了语料的词性信息,即对获取到的语料进行词性划分,得到与语料对应的词性信息;然后对语料进行词向量训练,得到与语料对应的初始词向量;再将词性信息加入到对应的语料中再次进行词向量训练,得到初始目标词向量;根据所述初始目标词向量对所述初始词向量进行调整,得到目标词向量,该目标词向量为所述语料在不同词性下的词向量。在本发明中首先将词性进行了划分,但是并未直接训练得到词向量,避免了使新的词向量的规模增加,而是在获得词语的初始词向量后,加入词性信息对初始词向量进行训练调整,得到每个词语在不同词性下的词向量信息,进而实现了生成多义词词向量的目的。

本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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