一种动态融合语义关系的分布式词向量空间修正方法

文档序号:33515246发布日期:2023-03-22 05:49阅读:49来源:国知局
一种动态融合语义关系的分布式词向量空间修正方法

1.本发明属于自然语言处理技术领域,具体涉及一种动态融合语义关系的分布式词向量空间修正方法。


背景技术:

2.词语向量表达是现代机器翻译、文本分类、情感分析等自然语言处理应用的基础。通常,分布式语义认为如果两个词的上下文相似,则认为这两个词的含义也相似。分布式语义通常建立单词与其上下文的共现矩阵形成分布式语义空间。词语的向量表达通过捕捉上下文中的语言特征,形成词语的分布式语义表示。
3.在当前的自然语言处理应用任务中,基于神经网络语言模型的分布式词向量表示普遍优于传统分布式语义的的基于词频统计的单词共现方法。神经词向量模型是基于上下文中的单词预测建立分布式语义表示,解决了传统分布式语义模型中基于上下文单词共现产生的数据稀疏问题,成为现今语言工程中的一种主流技术。
4.然而对于基于单词预测和单词共现得到的分布式词向量模型,对在相同上下文中经常出现的词通常会产生相同的词向量表示,由此会出现上下文相近而词义相反的两个词的向量表示相似的情况,所以不适合计算语义相似度,神经网络词嵌入模型的表达能力还需要进一步提高。因此需要一种新的方式对利用海量语料数据训练得到的分布式词向量空间进行语义约束和修正。


技术实现要素:

5.针对现有技术的上述不足,本发明提供一种动态融合语义关系的分布式词向量空间修正方法及系统,以解决上述技术问题。
6.第一方面,本发明提供一种动态融合语义关系的分布式词向量空间修正方法,其特征在于,包括:从语义关系网络中抽取具备语义关系的词汇对,并计算词汇对之间的语义距离,形成语义关系约束集;根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例;构建语义约束函数,最小化词向量与其正样例之间的余弦距离,最大化词向量与其负样例之间的余弦距离,通过正则化函数缩小原始分布式词向量空间中修正前后词向量的距离;通过语义约束函数和正则化函数共同构成的损失函数对分布式词向量空间进行训练。
7.进一步地,所述从语义关系网络中抽取具备语义关系的词汇对,包括:抽取语义关系约束,从具有语义关系网络中抽取词汇对,所述词汇对为具备同义、反义关系或具备上位、下位关系的一对词向量,形成语义关系约束集。
8.进一步地,所述计算词汇对之间的语义距离,包括:构建语义距离计算模型,计算语义关系约束集中词汇对之间的语义距离,所述语义距离计算模型为,其中len(x
l
,xr)为词汇对x
l
,xr之间最短路径的链路数量,α为根据的词汇对x
l
,xr之间的语义关系设置的路径权重,β为计算的词汇对之间最短路径的链路权重,所述路径权重为根据词汇对之间的语义关系设置的权重,链路权重就是词汇对之间最少路径的链路的权重。
9.进一步地,所述根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例,包括:对语义关系约束集进行批处理,并确定每个批次的词向量对应的正、负样例:若该词向量具备同义关系或上位、下位关系,则批处理数据集br为其正样例集合,即该词向量的正样例为所在具有同义关系或上位、下位关系的词汇对中另一个词向量,根据br构建的nr为其负样例集合,即该词向量的负样例为同批次中与其语义距离最近的词向量;若该词向量具备反义关系,则批处理数据集br为其负样例集合,即该词向量的负样例为所在具有反义关系的词汇对中另一个词向量,根据br构建的nr为其正样例集合,即该词向量的正样例为同批次中与其语义距离最远的词向量。
10.进一步地,所述语义约束函数为:;其中,τ(x)=max(0,x),d
cos(
·
)
为词向量与其负样例之间的余弦距离,d
cos(*)
为词向量与其正样例之间的余弦距离,为语义关系约束集中词向量的语义距离,br为语义关系约束集批处理后的词向量,nr为批处理后的词向量对应的正负样例集,k为批次大小,i为批次内的词向量的顺序,1≤i≤k。
11.进一步地,所述正则化函数为:;其中μ是l2正则化常数,代表xi原始的词向量表示,br为语义关系约束集批处理后的词向量。
12.进一步地,所述通过语义约束函数和正则化函数共同构成的损失函数为:c=s(br,nr)+l(br),其中,s(br,nr)为语义约束函数,l(br)为正则化函数。
13.第二方面,本发明提供一种融合语义关系的分布式词向量空间修正系统,包括:约束构建单元,用于从语义关系网络中抽取具备语义关系的词汇对,并计算词汇对之间的语义距离,形成语义关系约束集;样例确定单元,用于根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例;
函数构建单元,用于构建语义约束函数,最小化词向量与其正样例之间的余弦距离,最大化词向量与其负样例之间的余弦距离,通过正则化函数缩小原始分布式词向量空间中修正前后词向量的距离;函数训练单元,用于通过语义约束函数和正则化函数共同构成的损失函数对分布式词向量空间进行训练。
14.第三方面,提供一种终端,包括:处理器、存储器,其中,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
15.第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
16.本发明的有益效果在于:本发明提供的一种融合语义关系的分布式词向量空间修正系统,在词向量空间的语义修正过程中,根据词向量间实际的语义关系自动计算语义距离并调整边界距离,进而达到丰富词向量空间模型的表达内容、提高其在语言工程应用中的有效性的目的。此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
17.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1是本发明一个实施例的方法的示意性流程图;图2是本发明提供的修正方法和相关技术的成果对比图。
具体实施方式
19.为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
20.下面对本发明的原理进行说明。
21.近年来,研究者们一般采用各种词汇语义知识提供的概念间语义关系 (如词语间的同义关系或反义关系)对利用海量语料数据训练得到的神经词向量模型进行语义约束和修正,提高词向量的语义表达能力。词向量的修正主要分为两种方法:一种方法是直接在训练词向量的过程中加入词汇语义关系约束,另一类方法则是对已经预训练好的词向量模型,利用词汇语义关系进行修正和约束。相比于前者,后者适用于对任何模型训练得到的词向量进行修正,计算效率较高,通常被称为后处理信息融合方法。
22.这种后处理融合方法无需使用大规模语料库重新训练神经语言模型,仅通过无监督式学习对词嵌入向量进行语义约束。相较于前期将知识源融入到传统的模型训练过程中
的方法,后处理融合方法不仅可以注入同义词关系、反义词关系、蕴含关系等多种类型语义关系,而且其灵活性和普适性更高,不需要使用大规模计算资源重新训练语言模型,极大地提高了分布式词向量模型的训练效率和应用领域。
23.词向量修正方法使用的蕴含关系涉及层次网络结构中的语义关系传递的问题,随着语义传递路径长度的增长,语义传递的有效性逐渐降低,概念相关或相似性也更模糊。例如,wordnet中除了对称性的同义词和反义词关系之外,还有非对称性的上位关系、下位关系(is-a)以及部分-整体关系(part-of)等。在is-a和part-of的语义网络层次结构中,随着网络路径距离的增加,词汇间的语义域重叠度也会相应降低。如果语义间的层次跨度增大,具有蕴含关系的词汇间的语义域相容性也会变低,词汇间的相似度也随之降低。若在语义修正分布式语义空间的过程中,对具有不同语义相似度的词汇设置相同的边界距离,必将会降低语义约束的效果,这种不加区分在神经网络词嵌入模型中注入语义关系的方式则会降低分布式词向量模型的实际表达能力。
24.因此有必要提出一种动态融合语义关系的分布式词向量空间修正方法,使得在词向量空间的语义修正过程中,无需人工干预设置分布式语义空间中的边界距离,能够根据概念间的语义关系自动计算语义距离并相应调整边界距离。对具有不同语义相似度的词汇自动施加相应的语义关系约束限制,能够丰富分布式词向量空间模型的表达内容,显著改善模型修正过程中普遍存在的不能动态调整语义约束作用的突出问题,提高其在语言工程应用中的有效性。
25.如图1所示,本发明在分布式词向量空间中动态融合语义网络关系的方法,包括:s1、从语义关系网络中抽取具备语义关系的词汇对,并计算词汇对之间的语义距离,形成语义关系约束集;s2、根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例;s3、构建语义约束函数,最小化词向量与其正样例之间的余弦距离,最大化词向量与其负样例之间的余弦距离,通过正则化函数缩小原始分布式词向量空间中修正前后词向量的距离;s4、通过语义约束函数和正则化函数共同构成的损失函数对分布式词向量空间进行训练。
26.在一种实现方式中,所述从语义关系网络中抽取具备语义关系的词汇对,包括:抽取语义关系约束,从具有语义关系网络中抽取词汇对,所述词汇对为具备同义、反义关系或具备上位、下位关系的一对词向量,形成语义关系约束集。
27.在本实施例抽取语义关系约束,从语义关系网络如wordnet、roget’s thesaurus 中抽取具有对称关系的同义、反义词,并从wordnet中抽取具有非对称关系的上位、下位词。
28.此外,所述词汇对与分布式词向量空间的原始词向量存在一定的对应关系,即设待修正分布式词向量空间的待修正的词向量构成词典v,在对分布式词向量进行修正时,在语义关系约束集中选择词典v对应的词向量作为修正的依据,向待修正分布式词向量空间融入语义关系,因此本发明提出了一种在分布式词向量空间中动态融合人工编辑的概念语义关系的方法。
29.在一种实现方式中,所述计算词汇对之间的语义距离,包括:
构建语义距离计算模型,计算语义关系约束集中词汇对之间的语义距离,所述语义距离计算模型为,其中len(x
l
,xr)为词汇对x
l
,xr之间最短路径的链路数量,α为根据的词汇对x
l
,xr之间的语义关系设置的路径权重,β为计算的词汇对之间最短路径的链路权重,所述路径权重为根据词汇对之间的语义关系设置的权重,链路权重就是词汇对之间最少路径的链路的权重。
30.其次通过建立的语义距离计算模型计算所抽取语义关系约束中概念对之间的相似度。语义距离计算模型考虑了在语义关系网络(例如wordnet)结构中语义关系的路径权重α和链路权重β。假设单个链接始终代表相同的于语义网络的深度无关的概念间距离,并且两个概念w1,w2之间的距离len(w1,w2)应该是从它们之间的最少链接数。
31.下面针对α及β是如何被确定的展开说明:α及β均为0-1的权重系数,首先,将β的值固定,将α的值从0.5增至0.95,每次的增幅为0.05,并利用该语义距离计算模型计算mc数据集中30个概念对的语义距离,然后根据计算该语义距离和mc中的黄金标准语义距离之间的正向相关度得分,确定α的最佳值为0.8。同样,固定α的值,对β按照上述方式进行试验,得到β的最佳值为0.7。其中mc数据集是普通人对30个概念对的语义相似性评分,其分值介于0到5之间,其中0表示概念间没有任何相似度,5表示概念间具有最高相似度。分两步将mc数据集中的相似性评分转换为语义距离:首先,对所有的相似度评分归一化操作后得到概念词w1,w2之间新的相似性评分;然后,通过“语义距离=1-新的相似性评分”,实现相似性评分到语义距离的转化。
32.在一种实现方式中,所述根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例,包括:对语义关系约束集进行批处理,并确定每个批次的词向量对应的正、负样例:若该词向量具备同义关系或上位、下位关系,则该词向量的正样例为所在具有同义关系或上位、下位关系的词汇对中另一个词向量,该词向量的负样例为同批次中与其语义距离最近的词向量;若该词向量具备反义关系,该词向量的负样例为所在具有反义关系的词汇对中另一个词向量,该词向量的正样例为同批次中与其语义距离最远的词向量。
33.具体地,令r为语义关系约束集,根据前述实施例可知语义关系约束集r是由具备同义关系、反义关系、上位关系、下位关系的词汇对以及其之间的语义距离构成的。
34.设x为语义关系约束集中的词向量表示,设语义关系约束集中的词汇对为(x
l
,xr);对语义关系约束集进行批处理,得到任意一个批处理数据集,k为批处理的批次;设nr为根据br对应的正、负样例集,其中,;i为该批次中词汇对的序号,1≤i≤k;词向量的正样例和负样例的规则为:若该词向量具备同义关系或上位、下位关系,则该词向量的正样例为所在具有同义关系或上位、下位关系的词汇对中另一个词向量,即与互为正样例;该词向量的负样例为同批次中与其语义距离最近的词向量,此时令为对应的负样例,即为与
其语义距离最近的词向量,为对应的负样例,即为与其语义距离最近的词向量。
35.若该词向量具备反义关系,该词向量的负样例为所在具有反义关系的词汇对中另一个词向量,即与互为负样例;该词向量的正样例为同批次中与其语义距离最远的词向量,为的正样例,即为与其语义距离最远的词向量,为的正样例,即为与其语义距离最远的词向量。
36.在一种实现方式中,采用三元损失函数的思想最小化词向量和其正样例之间的距离,最大化词向量和其负样例之间的距离以便融合语义关系,同时利用语义距离计算模型自动得到的词向量之间的语义距离,从而动态调整三元损失函数中的边界距离,并通过正则化函数保留原始词向量空间中的信息。
37.所述语义约束函数为:;其中,τ(x)=max(0,x), d
cos(
·
)
为词向量与其负样例之间的余弦距离,d
cos(*)
为词向量与其正样例之间的余弦距离,为语义关系约束集中词向量的语义距离。
38.通过按批次执行,即;输出0或,若的值大于0,则输出;所以会一致缩小的值,由于在之前就已经确定,所以对于同一个词向量是固定的;所以想缩小d
cos(*)-d
cos(
·
)
,就需要增大d
cos(
·
)
缩小d
cos(*)
,最终得到的d
cos(*)-d
cos(
·
)
为d
cos(
·
)
最大且d
cos(*)
最小,此为最小化词向量与其正样例之间的余弦距离,最大化词向量与其负样例之间的余弦距离的原理。通过语义约束函数实现根据语义关系自动计算语义距离,并调整边界距离,从而对分布式词向量空间进行动态优化。
39.进一步,所述通过正则化函数保留原始词向量空间中的信息,正则化函数为:;其中μ是l2正则化常数,代表xi原始的向量表示, br为语义关系约束集批处理后的词向量。通过正则化函数使得原始词向量分布空间不与注入的语义约束关系冲突的优质词嵌入信息。
40.在一种实现方式中,通过语义约束函数和正则化函数构成完成的损失函数对修正模型进行训练,损失函数为:c=s(br,nr)+l(br),其中,s(br,nr)为语义约束函数,l(br)为正则化函数。分布式词向量模型训练过程中完整的损失函数是以上两个函数之和。
41.在训练时使用网格化搜索方式对分布式词向量模型的超参数进行训练,训练批次大小为32,最大迭代次数为11,正则化常数μ设置为0.001,采用adagrad算法优化分布式词向量模型,初始优化速率为0.025。
42.本发明提出了一种动态融合语义关系的分布式词向量空间修正方法,对利用大规模文本数据预训练得到的分布式词向量模型融合概念语义关系,通过准确定义了损失函数对分布式词向量空间进行语义约束和修正。
43.图2所示为当前技术与本发明提出的动态融合人工编辑的概念语义关系的方法,针对同一原始分布式词向量空间进行修正的不同表现。其中,待修正词向量用
“”
表示,其同义词也采用
“”
表示,其反义词用
“”
表示,直接上位词用
“”
表示,间接上位词用
“”
形表示。可以看到,即使当前技术采用了本发明提出的修正方法的从wordnet网络结构提取概念语义关系注入原始分布式词向量空间的方式,但是当前技术的语义约束集中的语义关系提取仅仅提取具有语义关系的词汇对,本发明提出的修正方法在进行语义关系提取时,不仅提取具有语义关系的词汇对,同时利用建立的语义距离计算模型计算词汇对之间的语义距离;正因如此,将构成的语义关系约束集注入到原始的分布式词向量空间时,当前技术采用的修正方法在修正同种约束关系但不同词汇对时的约束力度相同;而本发明提供的方法根据语义关系约束集中提取的语义距离对不同的词汇对赋予不同的约束力度,从而呈现出图中不同词汇对之间的距离不同的效果,使得分布式词向量模型具有更加丰富的表达。因此,本发明提出的在分布式词向量空间中动态融合人工编辑的概念语义关系的方法,分析了原有利用语义关系修正分布式词向量空间过程中存在的弊端,从概念语义关系网络中自动抽取语义关系并通过构建的语义距离计算模型得到概念间的相似度信息,并对分布式词向量空间进行动态优化。与当前相关技术相比,此发明在词向量空间的语义修正过程中,无需人工干预设置边界距离,对具有不同语义相似度的概念自动施加相应的语义约束限制,能够根据概念间的语义关系自动计算语义距离并调整边界距离,丰富词向量空间模型的表达内容,显著改善修正分布式词向量空间模型过程中普遍存在的不能动态调整语义约束作用问题,提高其在语言工程应用中的有效性。
44.本技术实施例提供的一种融合语义关系的分布式词向量空间修正,包括:约束构建单元,用于从语义关系网络中抽取具备语义关系的词汇对,并计算词汇对之间的语义距离,形成语义关系约束集;样例确定单元,用于根据语义距离和语义关系确定语义关系约束集中的词向量对应的正样例和负样例;函数构建单元,用于构建语义约束函数,最小化词向量与其正样例之间的余弦距离,最大化词向量与其负样例之间的余弦距离,通过正则化函数缩小原始分布式词向量空间中修正前后词向量的距离;函数训练单元,用于通过语义约束函数和正则化函数共同构成的损失函数对分布式词向量空间进行训练。
45.本发明实施例提供的一种终端,该终端可以用于执行本发明实施例提供的一种动态融合语义关系的分布式词向量空间修正方法。
46.其中,该终端可以包括:处理器、存储器及通信单元。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构。
47.其中,该存储器可以用于存储处理器的执行指令,存储器可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。当存储器中的执行指令由处理器执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
48.处理器为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(integrated circuit,简称ic) 组成,例如可以由单颗封装的ic 所组成,也可以由连接多颗相同功能或不同功能的封装ic而组成。举例来说,处理器可以仅包括中央处理器(central processing unit,简称cpu)。在本发明实施方式中,cpu可以是单运算核心,也可以包括多运算核心。
49.通信单元,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
50.本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:rom)或随机存储记忆体(英文:random access memory,简称:ram)等。
51.因此,本发明提供本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
52.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
53.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
54.在本发明所提供的几个实施例中,应该理解到,所揭露的系统、方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通
信连接,可以是电性,机械或其它的形式。
55.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
56.尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内或任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1