一种评价语义相似度的方法、装置和系统的制作方法

文档序号:10471091阅读:203来源:国知局
一种评价语义相似度的方法、装置和系统的制作方法
【专利摘要】本发明实施例提供了一种评价语义相似度的方法、装置和系统,涉及机器翻译领域,用以解决现有技术对于词汇调序的句子无法正确评价语义相似度的问题。该方法包括:将第一句子中的词汇和第二句子的词汇分别进行词汇向量化处理得到第一词汇向量和第二词汇向量,将该第一词汇向量根据第一压缩编码参数按照预设的词向量压缩顺序进行压缩编码处理得到第一语句向量;将该第二词汇向量根据第二压缩编码参数按照预设的词向量压缩顺序进行压缩编码处理得到第二语句向量;确定该第一语句向量和该第二语句向量之间的向量距离,根据该向量距离评价该第一句子与该第二句子的语义相似度。该方法用于评价语义的相似度。
【专利说明】
-种评价语义相似度的方法、装置和系统
技术领域
[0001] 本发明设及机器翻译领域,尤其设及一种评价语义相似度的方法、装置和系统。
【背景技术】
[0002] 机器翻译能够将一种语言自动的翻译为另一种语言,随着经济全球化的发展,使 用不同语言的国家之间进行的信息交流变得越来越频繁,利用机器翻译快速获取多语言的 信息和资源已成为必然趋势。
[0003] 在机器翻译的过程中,对不同语言的句子进行语义相似度评价有助于得到翻译更 准确的译文。另外,机器翻译并不能提供百分之百准确的译文,通过语义相似度评价能够快 速定位译文中需要人工修正的句子。
[0004] 现有技术中,对语义相似度的评价主要基于外部资源匹配,针对已翻译得到的语 言句子,通过查询外部资源,该外部资源可W是词典或者是已有的双语匹配方案,评价该已 翻译得到的语言句子与被翻译的语言句子之间的相似度。但是,上述的语义相似度的评价 是基于词汇的语义评价,其不考虑词汇顺序的问题,致使评价不准确。例如,已翻译得到的 语言句子为汉语的"早上好",被翻译的语言句子为英语的"morning good",通过查询词典, 可知"早上"与"morning"两个词汇的语义一致,"好"与"good"的语义一致,因此现有技术 会评价"早上好"与"morning good"两个句子的语义一致,导致语义相似度评价错误。

【发明内容】

[0005] 本发明提供一种评价语义相似度的方法、装置和系统,用W解决现有技术对于词 汇调序的句子无法正确评价语义相似度的问题。
[0006] 为达到上述目的,本发明的实施例采用如下技术方案:
[0007] 第一方面,提供一种评价语义相似度的方法,包括:
[0008] 将第一句子中的词汇和第二句子的词汇分别进行词汇向量化处理得到第一词汇 向量和第二词汇向量,所述第一句子包括至少两个词汇,所述第一词汇向量包括所述第一 句子中所有词汇的词向量;所述第二句子包括至少一个词汇,所述第二词汇向量包括所述 第二句子中所有词汇的词向量;
[0009] 将所述第一词汇向量根据第一压缩编码参数按照预设的词向量压缩顺序进行压 缩编码处理得到第一语句向量;
[0010] 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第 二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的 词向量压缩顺序进行压缩编码处理得到第二语句向量;
[0011] 确定所述第一语句向量和所述第二语句向量之间的向量距离,根据所述向量距离 评价所述第一句子与所述第二句子的语义相似度。
[0012] 在第一方面的第一种可能的实现方式中,所述第一压缩编码参数包括至少两层神 经网络参数,所述将所述第一词汇向量按照预设的词向量压缩顺序根据第一压缩编码参数 进行压缩编码处理得到第一语句向量具体包括:
[0013] 根据第一层神经网络参数将所述第一词汇向量中的第一词向量和第二词向量进 行第一次压缩编码,生成中间压缩向量;
[0014] 根据第二层神经网络参数将所述中间压缩向量与第Ξ词向量进行第二次压缩编 码,直到将所述第一词汇向量中的词向量全部压缩编码得到所述第一语句向量,其中,所述 第一词汇向量中的所有词向量、所述中间压缩向量和所述第一语句向量的向量维度相同。
[0015] 结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的实现方式 中,所述确定所述第一语句向量和所述第二语句向量之间的向量距离具体包括:
[0016] 由公式:
[0017]计算得到所述第一语句向量和所述第二语句向量
7 之间的向量距离;
[001引其中,所述为所述第一语句向量,所述υ 2为所述第二语句向量,所述 sim(Ui, 02)为所述向量距离。
[0019] 结合第一方面至第一方面的第二种可能的实现方式中的任一种可能的实现方式, 在第Ξ种可能的实现方式中,所述方法还包括:利用双语平行语料,对所述第一压缩编码参 数和所述第二压缩编码参数进行训练,具体包括:
[0020] 对双语平行语料中的第一训练句子,和与所述第一训练句子相同语义的第二训练 句子进行词汇向量化处理得到第一训练词汇向量和第二训练词汇向量;
[0021] 根据所述第一压缩编码参数和所述第二压缩编码参数分别对所述第一训练词汇 向量和所述第二训练词汇向量进行压缩编码得到所述第一训练句子的第一训练语句向量 和所述第二训练句子的第二训练语句向量;
[0022] 确定所述第一训练语句向量和所述第二训练语句向量之间的向量距离;
[0023] 在所述向量距离未满足预设条件时,获取所述第一训练语句向量和所述第二训练 语句向量之间的差值向量,将所述差值向量通过神经网络的反向传播BP算法进行错误传 播,根据所述差值向量对所述第一压缩编码参数和所述第二压缩编码参数进行调整;
[0024] 利用调整后的所述第一压缩编码参数和所述第二压缩编码参数重新确定所述第 一训练语句向量和所述第二训练语句向量之间的向量距离,直到所述向量距离满足预设条 件时,停止对所述第一压缩编码参数和所述第二压缩编码参数进行训练。
[0025] 结合第一方面的第Ξ种可能的实现方式,在第四种可能的实现方式中,所述根据 所述差值向量对所述第一压缩编码参数和所述第二压缩编码参数进行调整具体包括: [00%] 确定所述第一压缩编码参数中各层神经网络参数对应的层次错误向量,并根据所 述层次错误向量确定每层神经网络参数的梯度;
[0027] 使用每层神经网络参数的梯度的均值对各层神经网络参数进行调整,或者,使用 低层神经网络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网络参数的 梯度对各层神经网络参数进行调整,其中,所述低层神经网络参数为最后一次压缩编码使 用的神经网络参数,所述高层神经网络参数为第一次压缩编码使用的神经网络参数。
[0028] 第二方面,提供一种语义评价系统,包括:词汇向量化装置、向量压缩编码装置和 语义对比装置,其中,所述词汇向量化装置与所述向量压缩编码装置相连,所述向量压缩编 码装置与所述语义对比装置相连;
[0029] 所述词汇向量化装置,用于将第一句子中的词汇和第二句子的词汇分别进行词汇 向量化处理得到第一词汇向量和第二词汇向量,所述第一句子包括至少两个词汇,所述第 一词汇向量包括所述第一句子中所有词汇的词向量;所述第二句子包括至少一个词汇,所 述第二词汇向量包括所述第二句子中所有词汇的词向量;
[0030] 所述向量压缩编码装置,用于将所述第一词汇向量根据第一压缩编码参数按照预 设的词向量压缩顺序进行压缩编码处理得到第一语句向量;
[0031] 在所述第二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参 数按照预设的词向量压缩顺序进行压缩编码处理得到第二语句向量;其中,所述第二句子 包括一个词汇时,所述第二词汇向量即为所述第二语句向量;
[0032] 语义对比装置,用于确定所述第一语句向量和所述第二语句向量之间的向量距 离,并根据所述向量距离评价所述第一句子与所述第二句子的语义相似度。
[0033] 结合第二方面的第一种可能的实现方式,所述向量压缩编码装置具体用于:
[0034] 根据第一层神经网络参数将所述第一词汇向量中的第一词向量和第二词向量进 行第一次压缩编码,生成中间压缩向量;
[0035] 根据第二层神经网络参数将所述中间压缩向量与第Ξ词向量进行第二次压缩编 码,直到将所述第一词汇向量中的词向量全部压缩编码得到所述第一语句向量,其中,所述 第一词汇向量中的所有词向量、所述中间压缩向量和所述第一语句向量的向量维度相同。
[0036] 结合第二方面或者第二方面的第一种可能的实现方式,在第二种可能的实现方式 中,所述语义对比装置具体用于:
[0037] 由公式:
[0038]
计算得到所述第一语句向量和所述第二语句向量 之间的向量距离;
[0039] 其中,所述为所述第一语句向量,所述υ 2为所述第二语句向量,所述 sim(Ui, 〇2)为所述向量距离。
[0040] 结合第二方面至第二方面的第二种可能的实现方式中的任一种可能的实现方式, 在第Ξ种可能的实现方式中,所述装置还包括对比差异训练装置和训练结束判别装置;
[0041] 所述词汇向量化装置还用于,对双语平行语料中的第一训练句子,和与所述第一 训练句子相同语义的第二训练句子进行词汇向量化处理得到第一训练词汇向量和第二训 练词汇向量;
[0042] 所述向量压缩编码装置还用于,根据所述第一压缩编码参数和所述第二压缩编码 参数分别对所述第一训练词汇向量和所述第二训练词汇向量进行压缩编码得到所述第一 训练句子的第一训练语句向量和所述第二训练句子的第二训练语句向量;
[0043] 所述语义对比装置还用于,确定所述第一训练语句向量和所述第二训练语句向量 之间的向量距离;
[0044] 所述训练结束判别装置,用于判断所述向量距离是否满足预设条件;
[0045] 所述对比差异训练装置,用于在所述向量距离未满足预设条件时,获取所述第一 训练语句向量和所述第二训练语句向量之间的差值向量,将所述差值向量通过神经网络的 反向传播BP算法进行错误传播;
[0046] 所述向量压缩编码装置还用于,根据所述差值向量对所述第一压缩编码参数和所 述第二压缩编码参数进行调整;
[0047] 所述训练结束判别装置还用于,在确定所述向量距离满足预设条件时,停止对所 述第一压缩编码参数和所述第二压缩编码参数进行训练。
[0048] 结合第二方面第Ξ种可能的实现方式,在第四种可能的实现方式中,所述向量压 缩编码装置具体用于:
[0049] 确定所述第一压缩编码参数中各层神经网络参数对应的层次错误向量,并根据所 述层次错误向量确定每层神经网络参数的梯度;
[0050] 使用每层神经网络参数的梯度的均值对各层神经网络参数进行调整,或者,使用 低层神经网络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网络参数的 梯度对各层神经网络参数进行调整,其中,所述低层神经网络参数为最后一次压缩编码使 用的神经网络参数,所述高层神经网络参数为第一次压缩编码使用的神经网络参数。
[0051] 第Ξ方面,提供向量压缩编码装置,包括:
[0052] 获取单元,用于获取第一词汇向量W及第二词汇向量;所述第一词汇向量包括第 一句子中所有词汇的词向量;所述第二词汇向量包括第二句子中所有词汇的词向量;所述 第一句子包括至少两个词汇,所述第二句子包括至少一个词汇;
[0053] 向量压缩单元,用于将所述第一词汇向量根据第一压缩编码参数按照预设的词向 量压缩顺序进行压缩编码处理得到第一语句向量;
[0054] 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第 二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的 词向量压缩顺序进行压缩编码处理得到第二语句向量;
[0055] 发送单元,用于将所述第一语句向量和所述第二语句向量发送至语义对比装置, W便所述语义对比装置确定所述第一语句向量和所述第二语句向量之间的向量距离,根据 所述向量距离评价所述第一句子与所述第二句子的语义相似度。
[0056] 采用上述方案,通过压缩编码得到第一句子的第一语句向量和第二句子的第二语 句向量,并计算该第一语句向量与该第二语句向量之间的向量距离,根据该向量距离评价 该第一句子和该第二句子的语义相似度,其中,向量距离越近表明该第一句子与该第二句 子的语义相似度越高,运样,由于存在词汇调序的句子被表示为一个向量,从而避免了分别 单独比较句子中各个词汇的语义,因此,本发明的技术方案能够对词汇调序的句子进行准 确的语义相似度评价。
【附图说明】
[0057] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他的 附图。
[0058] 图1为本发明实施例提供的一种评价语义相似度的方法的流程示意图;
[0059] 图2为本发明实施例提供的一种词向量压缩编码的示意图;
[0060] 图3为本发明实施例提供的一种语义评价系统的结构示意图;
[0061] 图4为本发明实施例提供的一种评价语义相似度的方法的装置间流程图;
[0062] 图5为本发明实施例提供的另一种语义评价系统的结构示意图;
[0063] 图6为本发明实施例提供的一种向量压缩编码装置的结构示意图;
[0064] 图7为本发明实施例提供的另一种向量压缩编码装置的结构示意图。
【具体实施方式】
[0065] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0066] 本发明实施例提供一种评价语义相似度的方法,如图1所示,该方法包括:
[0067] S101、将第一句子中的词汇和第二句子的词汇分别进行词汇向量化处理得到第一 词汇向量和第二词汇向量。
[0068] 其中,该第一句子包括至少两个词汇,该第一词汇向量包括该第一句子中所有词 汇的词向量;该第二句子包括至少一个词汇,该第二词汇向量包括该第二句子中所有词汇 的词向量。 W例需要说明的是,词汇向量化是将词汇数学化表示的方法。在 NLP(Neuro-Linguistic Programming,神经语言程序学)中,最常用的词汇表示方法是 化e-hot Representation,运种方法把每个词汇表示为一个向量,运个向量的维度与词表 大小相同,其中该向量中绝大多数元素为0,只有一个维度的值为1,运个维度就代表了当 前的词,例如舌筒"表示为:[0 001000000 0……];"麦克"表示为:[0 0 0 0 0 0 0 0 1 0 0……]。现有的词汇向量化方式有多种,其中,在机器的深度学习中一般用到 的词向量并不是上述One-hot Representation表示的词向量的方法,而是用Distributed Representation表不的一种低维实数向量,使用Distributed Representation生成的 词汇向量具体形式为:[0. 13, -0. 29,……0. 91,0. 8引,其维度W 50维和100维比较常见。 Distributed representation最大的贡献就是让相关或者相似的词,在距离上更接近了。 向量的距离可W用传统的欧氏距离来衡量,也可W用cos夹角来衡量。
[0070] 本发明对所使用的词汇向量化技术不作限定,可W是化e-hot R巧resentation, 也可W是Distributed R巧resentation,或者其他的词汇向量化方式。通过大量语料进行 词向量的训练,现有的词汇向量化技术可W有效区分词汇的同意表达、词汇多义和词汇意 译。
[0071] 具体地,采用现有的词汇向量化技术,例如,Distributed R巧resentation,将第 一句子中所有词汇和第二句子的所有词汇用词向量的方式进行表示,其中,该第一句子与 该第二句子可W是不同语言的句子,也可W是相同语言的句子。
[0072] S102、将该第一词汇向量根据第一压缩编码参数按照预设的词向量压缩顺序进行 压缩编码处理得到第一语句向量。
[0073] 示例地,第一句子为:我吃苹果。则该第一句子里包括"我"、"吃"、"苹果"Ξ个词 汇,通过词汇向量化技术获得第一词汇向量,包括表示词汇"我"的词向量cl、表示词汇"吃" 的词向量c2、表示词汇"苹果"的词向量c3。并且,预设该词向量压缩顺序为从左至右的顺 序,则先将词向量cl和c2进行压缩编码,再对词向量c3进行压缩编码。
[0074] 值得说明的是,词向量压缩顺序可由用户进行预先设置,上述只是举例说明,本发 明对词向量压缩顺序不作限定,该词向量压缩顺序还可W是从右至左,或者是根据语法结 构设置词向量压缩顺序,例如,该第一句子的语法结构包括主语,谓语,宾语,则可预先设置 先对谓语的词向量和宾语的词向量进行压缩编码,再对主语的词向量进行压缩编码。
[00巧]具体地,该第一压缩编码参数包括至少两层神经网络参数,则根据第一层神经网 络参数将该第一词汇向量中的第一词向量和第二词向量进行第一次压缩编码,生成中间压 缩向量,根据第二层神经网络参数将该中间压缩向量与第Ξ词向量进行第二次压缩编码, 直到将该第一词汇向量中的词向量全部压缩编码得到该第一语句向量,其中,该第一词汇 向量中的所有词向量、第二词汇向量该中间压缩向量和该第一语句向量的向量维度相同。 [0076] 示例地,向量的压缩编码指的是向量的自回归,其基于数据的统计性质建立模型, 通过神经网络参数对词向量进行两两压缩编码。例如,如图2所示,该第一压缩编码参数包 括第一层神经网络参数kl、第二层神经网络参数k2、第Ξ层神经网络参数k3。对于词向量 C1、c2、c3和c4,其中,该词向量C1、c2、c3和c4的向量维度为50,按照从左至右的顺序,首 先,利用第一层神经网络参数kl对词向量cl和c2进行压缩编码得到向量维度为50的中 间压缩向量wl,再利用第二层神经网络参数k2将该中间压缩向量wl与该词向量c3进行压 缩编码得到向量维度为50的中间压缩向量最后利用第Ξ层神经网络参数k3将该中间 压缩向量w2与该词向量c4进行压缩编码得到向量维度为50的第一语句压缩向量VI。 阳077] S103、该第二句子包括一个词汇时,将该第二词汇向量作为第二语句向量;该第二 句子包括至少两个词汇时,将该第二词汇向量根据第二压缩编码参数按照所述预设的词向 量压缩顺序进行压缩编码处理得到第二语句向量。
[0078] 具体地,该第二句子仅为一个词汇时,该词汇的词向量即为该第二句子的第二语 句向量,因此,无需进行压缩编码,若该第二句子包括至少两个词汇时,对该第二句子的第 二词汇向量进行压缩编码,具体可参照对该第一句子进行压缩编码的描述。
[0079] 需要说明的是,为了使用该第一压缩编码参数和该第二压缩编码参数准确的对该 第一句子和该第二句子进行压缩编码处理,需要利用双语平行语料,对该第一压缩编码参 数和该第二压缩编码参数进行训练,具体方法为:对双语平行语料中的第一训练句子,和与 该第一训练句子相同语义的第二训练句子进行词汇向量化处理得到第一训练词汇向量和 第二训练词汇向量;根据该第一压缩编码参数和该第二压缩编码参数分别对该第一训练词 汇向量和该第二训练词汇向量进行压缩编码得到该第一训练句子的第一训练语句向量和 该第二训练句子的第二训练语句向量;确定该第一训练语句向量和该第二训练语句向量之 间的向量距离;在该向量距离未满足预设条件时,获取该第一训练语句向量和该第二训练 语句向量之间的差值向量,将该差值向量通过神经网络的BP度ack Propagation,反向传 播)算法进行错误传播,根据该差值向量对该第一压缩编码参数和该第二压缩编码参数进 行调整。
[0080] 示例地,由于该第一训练句子与该第二训练句子的语义相同,若采用cos相似度 计算向量距离,可预先设置条件:该第一训练语句向量与该第二训练语句向量之间的向量 距离处于[0.8, 1]内,运样,若使用该第一压缩编码参数和该第二压缩编码参数分别对该 第一训练词汇向量rl和该第二训练词汇向量r2进行压缩编码后,得到的该第一训练语句 向量与该第二训练语句向量之间的向量距离未处于该区间内,则获取该第一训练词汇向量 rl和该第二训练词汇向量r2的差值向量,其中,该差值向量e = rl-r2。将该差值向量e 通过神经网络的BP传播算法进行错误传播,根据该差值向量对该第一压缩编码参数和该 第二压缩编码参数进行调整。
[0081] 其中,根据该差值向量对该第一压缩编码参数进行调整具体包括:确定该第一压 缩编码参数中各层神经网络参数对应的层次错误向量,并根据该层次错误向量确定每层神 经网络参数的梯度,使用每层神经网络参数的梯度的均值对各层神经网络参数进行调整, 或者,使用低层神经网络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网 络参数的梯度对各层神经网络参数进行调整,其中,该低层神经网络参数为最后一次压缩 编码使用的神经网络参数,该高层神经网络参数为第一次压缩编码使用的神经网络参数。
[0082] 示例地,由该差值向量e确定该第一压缩编码参数中各层神经网络参数对应的层 次错误向量,如该第一压缩编码参数中的第一层神经网络参数对应的层次错误向量为el, 该第一压缩编码参数中的第二层神经网络参数对应的层次错误向量为e2,该第一压缩编码 参数中的第Ξ层神经网络参数对应的层次错误向量为e3,由该层次错误向量el、e2和e3分 别确定该第一层神经网络参数的梯度X,该第一层神经网络参数的梯度y,该第一层神经网 络参数的梯度Z。进一步地,可通过Ξ种可选的方式对该第一压缩编码参数进行调整:
[0083] 方式一、使用第一层神经网络参数的梯度X,该第一层神经网络参数的梯度y,该 第一层神经网络参数的梯度Z的均值对各层神经网络参数进行调整。
[0084] 方式二、使用第一层神经网络参数的梯度X对各层神经网络参数进行调整。
[00化]方式Ξ、使用第Ξ层神经网络参数的梯度Z对各层神经网络参数进行调整。
[0086] 进一步地,利用调整后的该第一压缩编码参数和该第二压缩编码参数重新确定该 第一训练语句向量和该第二训练语句向量之间的向量距离,直到该向量距离满足预设条件 时,停止对该第一压缩编码参数和该第二压缩编码参数进行训练。
[0087] S104、确定该第一语句向量和该第二语句向量之间的向量距离,根据该向量距离 评价该第一句子与该第二句子的语义相似度。
[0088] 可选地,为该第一语句向量,υ 2为该第二语句向量,则由公式:
[0089]
W90] 计算得到该第一语句向量和该第二语句向量之间的向量距离,此时,该 sim(〇i,〇2)的取值范围为[0,+ c-],运样,该sim(〇i,〇2)取值越小,表明该第一句子与 该第二句子的语义相似度越高。
[0091] 上述计算该第一语句向量和该第二语句向量之间的向量距离的公式只是举例说 明,本发明对此不作限定,例如,还可W通过cos相似度计算该第一语句向量和该第二语句 向量之间的向量距罔,由公式:
[0092]
阳093] 计算该第一语句向量和该第二语句向量之间的向量距离,此时,该sim( υ 1, υ 2) 的取值范围为[-1,1],运样,该Sim( υ 1,υ 2)取值越大,表明该第一句子与该第二句子的语 义相似度越高。另外,还可W通过计算该第一语句向量和该第二语句向量之间的欧式距离 来评价该第一句子与该第二句子的语义相似度。
[0094] 采用上述方案,通过压缩编码得到第一句子的第一语句向量和第二句子的第二语 句向量,并计算该第一语句向量与该第二语句向量之间的向量距离,根据该向量距离评价 该第一句子和该第二句子的语义相似度,其中,向量距离越近表明该第一句子与该第二句 子的语义相似度越高,运样,由于存在词汇调序的句子被表示为一个向量,从而避免了分别 单独比较句子中各个词汇的语义,因此,本发明的技术方案能够对词汇调序的句子进行准 确的语义相似度评价。
[0095] 本发明实施例提供一种语义评价系统30,对应上述图1的方法实施例,该语义评 价系统30的各个装置均可用于上述方法步骤。如图3所示,该语义评价系统30包括:
[0096] 词汇向量化装置31、向量压缩编码装置32和语义对比装置33,其中,该词汇向量 化装置31与该向量压缩编码装置32相连,该向量压缩编码装置32与该语义对比装置33 相连。
[0097] 该词汇向量化装置31,用于将第一句子中的词汇和第二句子的词汇分别进行词汇 向量化处理得到第一词汇向量和第二词汇向量。
[0098] 其中该第一句子包括至少两个词汇,该第一词汇向量包括该第一句子中所有词汇 的词向量;该第二句子包括至少一个词汇,该第二词汇向量包括该第二句子中所有词汇的 词向量。
[0099] 该向量压缩编码装置32,用于将该第一词汇向量根据第一压缩编码参数按照预设 的词向量压缩顺序进行压缩编码处理得到第一语句向量;在该第二句子包括至少两个词汇 时,将该第二词汇向量根据第二压缩编码参数按照所述预设的词向量压缩顺序进行压缩编 码处理得到第二语句向量;其中,该第二句子包括一个词汇时,该第二词汇向量即为该第二 语句向量。
[0100] 语义对比装置33,用于确定该第一语句向量和该第二语句向量之间的向量距离, 并根据该向量距离评价该第一句子与该第二句子的语义相似度。 阳101] 需要说明的是,若该第一句子和该第二句子为不同语言的句子,则该语义评价系 统包括至少两个词汇向量化装置和至少两个向量压缩编码装置,如图4所示,使用两个词 汇向量化装置分别对该第一句子和该第二句子进行词汇向量化处理,并使用两个向量压缩 编码装置分别对该第一词汇向量与该第二词汇向量进行压缩编码处理。 阳102] 示例地,第一句子为:我吃苹果。则该第一句子里包括"我"、"吃"、"苹果"Ξ个词 汇,通过词汇向量化技术获得第一词汇向量,包括表示词汇"我"的词向量cl、表示词汇"吃" 的词向量c2、表示词汇"苹果"的词向量c3。并且,预设该词向量压缩顺序为从左至右的顺 序,则该向量压缩编码装置32先将词向量cl和c2进行压缩编码,再对词向量c3进行压缩 编码。 阳103] 值得说明的是,词向量压缩顺序可由用户进行预先设置,上述只是举例说明,本发 明对词向量压缩顺序不作限定,该词向量压缩顺序还可w是从右至左,或者是根据语法结 构设置词向量压缩顺序,例如,该第一句子的语法结构包括主语,谓语,宾语,则可预先设置 先对谓语的词向量和宾语的词向量进行压缩编码,再对主语的词向量进行压缩编码。
[0104] 可选地,该向量压缩编码装置32具体用于,根据第一层神经网络参数将该第一词 汇向量中的第一词向量和第二词向量进行第一次压缩编码,生成中间压缩向量;根据第二 层神经网络参数将该中间压缩向量与第Ξ词向量进行第二次压缩编码,直到将该第一词汇 向量中的词向量全部压缩编码得到该第一语句向量,其中,该第一词汇向量中的所有词向 量、该中间压缩向量和该第一语句向量的向量维度相同。
[0105] 示例地,向量的压缩编码指的是向量的自回归,其基于数据的统计性质建立模型, 通过神经网络参数对词向量进行两两压缩编码。例如,如图2所示,该第一压缩编码参数包 括第一层神经网络参数kl、第二层神经网络参数k2、第Ξ层神经网络参数k3。对于词向量 cl、c2、c3和c4,其中,该词向量cl、c2、c3和c4的向量维度为50,按照从左至右的顺序,首 先,利用第一层神经网络参数kl对词向量cl和c2进行压缩编码得到向量维度为50的中 间压缩向量wl,再利用第二层神经网络参数k2将该中间压缩向量wl与该词向量c3进行压 缩编码得到向量维度为50的中间压缩向量最后利用第Ξ层神经网络参数k3将该中间 压缩向量w2与该词向量c4进行压缩编码得到向量维度为50的第一语句压缩向量vl。 阳106] 可选地,该语义对比装置33具体用于,由公式: 阳107]
计算得到该第一语句向量和该第二语句向量之间 的向量距离。 阳108] 其中,该U 1为该第一语句向量,该υ 2为该第二语句向量,该sim( υ 1,υ 2)为该向 量距离。
[0109] 可选地,如图5所示,该装置还包括对比差异训练装置34和训练结束判别装置35, 该词汇向量化装置31还用于,对双语平行语料中的第一训练句子,和与该第一训练句子相 同语义的第二训练句子进行词汇向量化处理得到第一训练词汇向量和第二训练词汇向量; 该向量压缩编码装置32还用于,根据该第一压缩编码参数和该第二压缩编码参数分别对 该第一训练词汇向量和该第二训练词汇向量进行压缩编码得到该第一训练句子的第一训 练语句向量和该第二训练句子的第二训练语句向量;该语义对比装置33还用于,确定该第 一训练语句向量和该第二训练语句向量之间的向量距离;该训练结束判别装置34,用于判 断该向量距离是否满足预设条件;该对比差异训练装置35,用于在该向量距离未满足预设 条件时,获取该第一训练语句向量和该第二训练语句向量之间的差值向量,将该差值向量 通过神经网络的反向传播ΒΡ算法进行错误传播;该向量压缩编码装置32还用于,根据该差 值向量对该第一压缩编码参数和该第二压缩编码参数进行调整;该训练结束判别装置35 还用于,在确定该向量距离满足预设条件时,停止对该第一压缩编码参数和该第二压缩编 码参数进行训练。
[0110] 示例地,由于该第一训练句子与该第二训练句子的语义相同,若采用cos相似度 计算向量距离,可预先设置条件:该第一训练语句向量与该第二训练语句向量之间的向量 距离处于[0.8, 1]内,运样,若使用该第一压缩编码参数和该第二压缩编码参数分别对该 第一训练词汇向量rl和该第二训练词汇向量r2进行压缩编码后,得到的该第一训练语句 向量与该第二训练语句向量之间的向量距离未处于该区间内,则获取该第一训练词汇向量 rl和该第二训练词汇向量r2的差值向量,其中,该差值向量e = rl-r2。将该差值向量e 通过神经网络的BP传播算法进行错误传播,根据该差值向量对该第一压缩编码参数和该 第二压缩编码参数进行调整。 阳111] 可选地,该向量压缩编码装置32具体用于,确定该第一压缩编码参数中各层神经 网络参数对应的层次错误向量,并根据该层次错误向量确定每层神经网络参数的梯度;使 用每层神经网络参数的梯度的均值对各层神经网络参数进行调整,或者,使用低层神经网 络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网络参数的梯度对各层 神经网络参数进行调整,其中,该低层神经网络参数为最后一次压缩编码使用的神经网络 参数,该高层神经网络参数为第一次压缩编码使用的神经网络参数。
[0112] 示例地,由该差值向量e确定该第一压缩编码参数中各层神经网络参数对应的层 次错误向量,如该第一压缩编码参数中的第一层神经网络参数对应的层次错误向量为el, 该第一压缩编码参数中的第二层神经网络参数对应的层次错误向量为e2,该第一压缩编码 参数中的第Ξ层神经网络参数对应的层次错误向量为e3,由该层次错误向量el、e2和e3分 别确定该第一层神经网络参数的梯度X,该第一层神经网络参数的梯度y,该第一层神经网 络参数的梯度Z。进一步地,可通过Ξ种可选的方式对该第一压缩编码参数进行调整:
[0113] 方式一、使用第一层神经网络参数的梯度X,该第一层神经网络参数的梯度y,该 第一层神经网络参数的梯度Z的均值对各层神经网络参数进行调整。
[0114] 方式二、使用第一层神经网络参数的梯度X对各层神经网络参数进行调整。
[0115] 方式Ξ、使用第Ξ层神经网络参数的梯度Z对各层神经网络参数进行调整。
[0116] 进一步地,利用调整后的该第一压缩编码参数和该第二压缩编码参数重新确定该 第一训练语句向量和该第二训练语句向量之间的向量距离,直到该向量距离满足预设条件 时,停止对该第一压缩编码参数和该第二压缩编码参数进行训练。
[0117] 采用上述语义评价系统,通过压缩编码得到第一句子的第一语句向量和第二句子 的第二语句向量,并计算该第一语句向量与该第二语句向量之间的向量距离,根据该向量 距离评价该第一句子和该第二句子的语义相似度,其中,向量距离越近表明该第一句子与 该第二句子的语义相似度越高,运样,由于存在词汇调序的句子被表示为一个向量,从而避 免了分别单独比较句子中各个词汇的语义,因此,本发明的技术方案能够对词汇调序的句 子进行准确的语义相似度评价。
[0118] 如图6所示,本发明实施例提供一种向量压缩编码装置60,用于实现本发明图3所 示语义评价系统中的向量压缩编码装置32,该向量压缩编码装置60包括:
[0119] 获取单元61,用于获取第一词汇向量化及第二词汇向量;所述第一词汇向量包括 第一句子中所有词汇的词向量;所述第二词汇向量包括第二句子中所有词汇的词向量;所 述第一句子包括至少两个词汇,所述第二句子包括至少一个词汇;
[0120] 向量压缩单元62,用于将所述第一词汇向量根据第一压缩编码参数按照预设的词 向量压缩顺序进行压缩编码处理得到第一语句向量; 阳121] 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第 二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的 词向量压缩顺序进行压缩编码处理得到第二语句向量;
[0122] 发送单元63,用于将所述第一语句向量和所述第二语句向量发送至语义对比装 置,W便所述语义对比装置确定所述第一语句向量和所述第二语句向量之间的向量距离, 根据所述向量距离评价所述第一句子与所述第二句子的语义相似度。
[0123] 采用上述向量压缩编码装置,该向量压缩编码装置通过压缩编码得到第一句子的 第一语句向量和第二句子的第二语句向量,W便语义对比装置计算该第一语句向量与该第 二语句向量之间的向量距离,根据该向量距离评价该第一句子和该第二句子的语义相似 度,其中,向量距离越近表明该第一句子与该第二句子的语义相似度越高,运样,由于存在 词汇调序的句子被表示为一个向量,从而避免了分别单独比较句子中各个词汇的语义,因 此,本发明的技术方案能够对词汇调序的句子进行准确的语义相似度评价。
[0124] 所属领域的技术人员可W清楚地了解到,为描述的方便和简洁,仅W上述各功能 模块的划分进行举例说明,实际应用中,可W根据需要而将上述功能分配由不同的功能模 块完成,即将装置的内部结构划分成不同的功能模块,W完成W上描述的全部或者部分功 能。上述描述的系统,装置和单元的具体工作过程,可W参考前述方法实施例中的对应过 程,在此不再寶述。
[01巧]如图7所示,本发明实施例还提供一种向量压缩编码装置70,用于实现本发明图3 所示语义评价系统中的向量压缩编码装置32,该向量压缩编码装置70分别与本发明图3中 所示的词汇向量化装置31、语义对比装置33相连,该向量压缩编码装置70包括:
[0126] 处理器 71、通信接口(Communications Interface) 72、存储器 73 和通信总线 74 ; 其中,所述处理器71、所述通信接口 72和所述存储器73通过所述通信总线74相互连接并 通信。
[0127] 具体地,所述向量压缩编码装置70通过所述通信接口 72分别与所述词汇向量化 装置31和所述语义对比装置33通信。 阳128] 处理器71可W是通用处理器,CPU、网络处理器(Network Processor,简称NP)等; 还可W是数字信号处理器值SP)、专用集成电路(ASIC)、现场可编程口阵列(FPGA)或者其 他可编程逻辑器件。
[0129] 存储器73用于存放程序代码,所述程序代码包括计算机操作指令。存储器73可 能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memcxry),例如至少 一个磁盘存储器。
[0130] 所述处理器71用于执行所述存储器73中的程序代码,已实现W下操作: 阳131] 获取第一词汇向量W及第二词汇向量;所述第一词汇向量包括第一句子中所有词 汇的词向量;所述第二词汇向量包括第二句子中所有词汇的词向量;所述第一句子包括至 少两个词汇,所述第二句子包括至少一个词汇;
[0132] 将所述第一词汇向量根据第一压缩编码参数按照预设的词向量压缩顺序进行压 缩编码处理得到第一语句向量;
[0133] 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第 二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的 词向量压缩顺序进行压缩编码处理得到第二语句向量;
[0134] 将所述第一语句向量和所述第二语句向量发送至语义对比装置,W便所述语义对 比装置确定所述第一语句向量和所述第二语句向量之间的向量距离,根据所述向量距离评 价所述第一句子与所述第二句子的语义相似度。
[0135] 在本申请所提供的几个实施例中,应该理解到,所掲露的系统,装置,可W通过其 它的方式实现。例如,W上所描述的系统实施例仅仅是示意性的,例如,所述装置的划分,仅 仅为一种逻辑功能划分,实际实现时可W有另外的划分方式,例如多个装置可W结合或者 可W集成到另一个系统,或一些特征可W忽略,或不执行。
[0136] 所述作为分离部件说明的装置可W是或者也可W不是物理上分开的,作为装置显 示的部件可W是或者也可W不是物理单元,即可W位于一个地方,或者也可W分布到多个 网络单元上。可W根据实际的需要选择其中的部分或者全部装置来实现本实施例方案的目 的。
[0137] W上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明掲露的技术范围内,可轻易想到的变化或替换,都应 涵盖在本发明的保护范围之内。因此,本发明的保护范围应W权利要求的保护范围为准。
【主权项】
1. 一种评价语义相似度的方法,其特征在于,包括: 将第一句子中的词汇和第二句子的词汇分别进行词汇向量化处理得到第一词汇向量 和第二词汇向量,所述第一句子包括至少两个词汇,所述第一词汇向量包括所述第一句子 中所有词汇的词向量;所述第二句子包括至少一个词汇,所述第二词汇向量包括所述第二 句子中所有词汇的词向量; 将所述第一词汇向量根据第一压缩编码参数按照预设的词向量压缩顺序进行压缩编 码处理得到第一语句向量; 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第二句 子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的词向 量压缩顺序进行压缩编码处理得到第二语句向量; 确定所述第一语句向量和所述第二语句向量之间的向量距离,根据所述向量距离评价 所述第一句子与所述第二句子的语义相似度。2. 根据权利要求1所述的方法,其特征在于,所述第一压缩编码参数包括至少两层神 经网络参数,所述将所述第一词汇向量按照预设的词向量压缩顺序根据第一压缩编码参数 进行压缩编码处理得到第一语句向量具体包括: 根据第一层神经网络参数将所述第一词汇向量中的第一词向量和第二词向量进行第 一次压缩编码,生成中间压缩向量; 根据第二层神经网络参数将所述中间压缩向量与第三词向量进行第二次压缩编码,直 到将所述第一词汇向量中的词向量全部压缩编码得到所述第一语句向量,其中,所述第一 词汇向量中的所有词向量、所述中间压缩向量和所述第一语句向量的向量维度相同。3. 根据权利要求1或2所述的方法,其特征在于,所述确定所述第一语句向量和所述第 二语句向量之间的向量距离具体包括: 由公式:Η 十算得到所述第一语句向量和所述第二语句向量之间 的向量距离; 其中,所述^为所述第一语句向量,所述υ 2为所述第二语句向量,所述sin^u υ2) 为所述向量距离。4. 根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:利用双语平 行语料,对所述第一压缩编码参数和所述第二压缩编码参数进行训练,具体包括: 对双语平行语料中的第一训练句子,和与所述第一训练句子相同语义的第二训练句子 进行词汇向量化处理得到第一训练词汇向量和第二训练词汇向量; 根据所述第一压缩编码参数和所述第二压缩编码参数分别对所述第一训练词汇向量 和所述第二训练词汇向量进行压缩编码得到所述第一训练句子的第一训练语句向量和所 述第二训练句子的第二训练语句向量; 确定所述第一训练语句向量和所述第二训练语句向量之间的向量距离; 在所述向量距离未满足预设条件时,获取所述第一训练语句向量和所述第二训练语句 向量之间的差值向量,将所述差值向量通过神经网络的反向传播ΒΡ算法进行错误传播,根 据所述差值向量对所述第一压缩编码参数和所述第二压缩编码参数进行调整; 利用调整后的所述第一压缩编码参数和所述第二压缩编码参数重新确定所述第一训 练语句向量和所述第二训练语句向量之间的向量距离,直到所述向量距离满足预设条件 时,停止对所述第一压缩编码参数和所述第二压缩编码参数进行训练。5. 根据权利要求4所述的方法,其特征在于,所述根据所述差值向量对所述第一压缩 编码参数和所述第二压缩编码参数进行调整具体包括: 确定所述第一压缩编码参数中各层神经网络参数对应的层次错误向量,并根据所述层 次错误向量确定每层神经网络参数的梯度; 使用每层神经网络参数的梯度的均值对各层神经网络参数进行调整,或者,使用低层 神经网络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网络参数的梯度 对各层神经网络参数进行调整,其中,所述低层神经网络参数为最后一次压缩编码使用的 神经网络参数,所述高层神经网络参数为第一次压缩编码使用的神经网络参数。6. -种语义评价系统,其特征在于,包括:词汇向量化装置、向量压缩编码装置和语义 对比装置,其中,所述词汇向量化装置与所述向量压缩编码装置相连,所述向量压缩编码装 置与所述语义对比装置相连; 所述词汇向量化装置,用于将第一句子中的词汇和第二句子的词汇分别进行词汇向量 化处理得到第一词汇向量和第二词汇向量,所述第一句子包括至少两个词汇,所述第一词 汇向量包括所述第一句子中所有词汇的词向量;所述第二句子包括至少一个词汇,所述第 二词汇向量包括所述第二句子中所有词汇的词向量; 所述向量压缩编码装置,用于将所述第一词汇向量根据第一压缩编码参数按照预设的 词向量压缩顺序进行压缩编码处理得到第一语句向量; 在所述第二句子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按 照所述预设的词向量压缩顺序进行压缩编码处理得到第二语句向量;其中,所述第二句子 包括一个词汇时,所述第二词汇向量即为所述第二语句向量; 语义对比装置,用于确定所述第一语句向量和所述第二语句向量之间的向量距离,并 根据所述向量距离评价所述第一句子与所述第二句子的语义相似度。7. 根据权利要求6所述的系统,其特征在于,所述向量压缩编码装置具体用于: 根据第一层神经网络参数将所述第一词汇向量中的第一词向量和第二词向量进行第 一次压缩编码,生成中间压缩向量; 根据第二层神经网络参数将所述中间压缩向量与第三词向量进行第二次压缩编码,直 到将所述第一词汇向量中的词向量全部压缩编码得到所述第一语句向量,其中,所述第一 词汇向量中的所有词向量、所述中间压缩向量和所述第一语句向量的向量维度相同。8. 根据权利要求6或7所述的系统,其特征在于,所述语义对比装置具体用于: 由公式:Η 十算得到所述第一语句向量和所述第二语句向量之间 的向量距离; 其中,所述^为所述第一语句向量,所述υ 2为所述第二语句向量,所述sin^u υ2) 为所述向量距离。9. 根据权利要求6至8任一项所述的系统,其特征在于,所述装置还包括对比差异训练 装置和训练结束判别装置; 所述词汇向量化装置还用于,对双语平行语料中的第一训练句子,和与所述第一训练 句子相同语义的第二训练句子进行词汇向量化处理得到第一训练词汇向量和第二训练词 汇向量; 所述向量压缩编码装置还用于,根据所述第一压缩编码参数和所述第二压缩编码参数 分别对所述第一训练词汇向量和所述第二训练词汇向量进行压缩编码得到所述第一训练 句子的第一训练语句向量和所述第二训练句子的第二训练语句向量; 所述语义对比装置还用于,确定所述第一训练语句向量和所述第二训练语句向量之间 的向量距离; 所述训练结束判别装置,用于判断所述向量距离是否满足预设条件; 所述对比差异训练装置,用于在所述向量距离未满足预设条件时,获取所述第一训练 语句向量和所述第二训练语句向量之间的差值向量,将所述差值向量通过神经网络的反向 传播BP算法进行错误传播; 所述向量压缩编码装置还用于,根据所述差值向量对所述第一压缩编码参数和所述第 二压缩编码参数进行调整; 所述训练结束判别装置还用于,在确定所述向量距离满足预设条件时,停止对所述第 一压缩编码参数和所述第二压缩编码参数进行训练。10. 根据权利要求9所述的系统,其特征在于,所述向量压缩编码装置具体用于: 确定所述第一压缩编码参数中各层神经网络参数对应的层次错误向量,并根据所述层 次错误向量确定每层神经网络参数的梯度; 使用每层神经网络参数的梯度的均值对各层神经网络参数进行调整,或者,使用低层 神经网络参数的梯度对各层神经网络参数进行调整,或者,使用高层神经网络参数的梯度 对各层神经网络参数进行调整,其中,所述低层神经网络参数为最后一次压缩编码使用的 神经网络参数,所述高层神经网络参数为第一次压缩编码使用的神经网络参数。11. 一种向量压缩编码装置,其特征在于,包括: 获取单元,用于获取第一词汇向量以及第二词汇向量;所述第一词汇向量包括第一句 子中所有词汇的词向量;所述第二词汇向量包括第二句子中所有词汇的词向量;所述第一 句子包括至少两个词汇,所述第二句子包括至少一个词汇; 向量压缩单元,用于将所述第一词汇向量根据第一压缩编码参数按照预设的词向量压 缩顺序进行压缩编码处理得到第一语句向量; 所述第二句子包括一个词汇时,将所述第二词汇向量作为第二语句向量;所述第二句 子包括至少两个词汇时,将所述第二词汇向量根据第二压缩编码参数按照所述预设的词向 量压缩顺序进行压缩编码处理得到第二语句向量; 发送单元,用于将所述第一语句向量和所述第二语句向量发送至语义对比装置,以便 所述语义对比装置确定所述第一语句向量和所述第二语句向量之间的向量距离,根据所述 向量距离评价所述第一句子与所述第二句子的语义相似度。
【文档编号】G06F17/28GK105824797SQ201510003802
【公开日】2016年8月3日
【申请日】2015年1月4日
【发明人】马林, 刘凯, 熊皓
【申请人】华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1