语义相似度计算和模型训练方法、装置、设备及存储介质与流程

专利查询2023-3-6  126



1.本技术涉及计算机技术领域,具体涉及计算机视觉、深度学习等人工智能技术领域,尤其涉及语义相似度计算和模型训练方法、装置、设备及存储介质。


背景技术:

2.语义文本相似度计算(semantic textual similarity)是联系文本表示和上层应用之间的纽带。常见的应用于语义相似度计算的深度学习模型有:cnn模型和matchpyramid模型。
3.cnn模型可以提取n-gram特征,即利用cnn卷积核的滑动窗口提取中心词和周围词的特征,符合人类自然语言的表达,但是使用cnn模型所提取的特征不够完善;matchpyramid模型是利用词向量进行相似度矩阵的构造,但仅靠词向量对文本语义的表达不够充分。


技术实现要素:

4.本技术实施例的目的在于提供一种语义相似度计算和模型训练方法、装置、设备及存储介质,以改善上述由于特征提取不完善或语义表达不充分所带来的语义相似度计算准确度较低的技术问题。
5.为实现上述目的,本技术提供如下技术方案:
6.第一方面,本技术实施例提供一种语义相似度计算方法,所述方法包括:
7.获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;
8.将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;
9.其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;
10.其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。
11.在上述方案中,该语义相似度计算方法通过将包括待计算语义相似度的第一语句和第二语句的待计算语句组输入到训练好的语义相似度计算模型,并获得该语义相似度计算模型输出的上述第一语句和上述第二语句的语义相似度结果。其中,在该语义相似度计算模型训练过程中,对训练数据集中的正例训练语句进行增强处理获得了反例训练语句,并根据训练数据集和反例训练语句一同确定损失函数,并通过所确定的损失函数值对待训练语义相似度计算模型进行训练所获得的。由于在语义相似度计算模型的训练过程中,对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相
似度计算模型的语义相似度计算的准确度更高。
12.可选的,所述将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果,包括:将所述第一语句输入到训练好的词向量模型,获得第一词向量;将所述第二语句输入到训练好的词向量模型,获得第二词向量;将所述第一词向量和所述第二词向量输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果。
13.在上述方案中,通过将待计算语义相似度的第一语句和第二语句分别输入到训练好的词向量模型中,获得语义表达更加充分的第一词向量和第二词向量,再将第一词向量和第二词向量输入到训练好的语义相似度计算模型,以获得准确度更高的语义相似度结果。
14.第二方面,本技术实施例提供一种语义相似度计算装置,所述装置包括:
15.待计算语句组获取模块,所述待计算语句组获取模块用于获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;
16.语义相似度计算模块,所述语义相似度计算模块用于将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;
17.其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;
18.其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。
19.在上述方案中,该语义相似度计算装置通过将包括待计算语义相似度的第一语句和第二语句的待计算语句组输入到训练好的语义相似度计算模型,并获得该语义相似度计算模型输出的上述第一语句和上述第二语句的语义相似度结果。其中,在该语义相似度计算模型训练过程中,对训练数据集中的正例训练语句进行增强处理获得了反例训练语句,并根据训练数据集和反例训练语句一同确定损失函数,并通过所确定的损失函数值对待训练语义相似度计算模型进行训练所获得的。由于在语义相似度计算模型的训练过程中,对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相似度计算模型的语义相似度计算的准确度更高。
20.可选的,所述语义相似度计算模块包括:第一词向量模块,所述第一词向量模块用于将所述第一语句输入到训练好的词向量模型,获得第一词向量;第二词向量模块,所述第二词向量模块用于将所述第二语句输入到训练好的词向量模型,获得第二词向量;语义相似度结果获得模块,所述语义相似度结果获得模块用于将所述第一词向量和所述第二词向量输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果。
21.第三方面,本技术实施例提供一种语义相似度模型训练方法,所述方法包括:
22.获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练
语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;
23.对所述正例训练语句进行增强处理获得反例训练语句;
24.根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;
25.根据所述损失函数值对待训练语义相似度模型的内部参数进行优化,以获得训练好的语义相似度模型。
26.在上述方案中,该语义相似度模型训练方法通过获取训练数据集,并对该训练数据集中的正例训练语句进行增强处理获得反例训练语句,根据所获得的反例训练语句以及训练数据集中的正例训练语句、目标训练语句和相似度批注结果确定损失函数值,进而根据损失函数值对待训练语义相似度模型的内部参数进行优化,以获得训练好的语义相似度模型。由于在语义相似度计算模型的训练过程中,通过对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相似度模型所计算的语义相似度的准确度更高。
27.可选的,所述根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,包括:根据所述正例训练语句、所述目标训练语句和距离计算公式确定所述正例训练语句和所述目标训练语句之间的第一相似距离;根据所述反例训练语句、所述目标训练语句和所述距离计算公式确定所述反例训练语句和所述目标训练语句之间的第二相似距离;根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
28.可选的,所述距离计算公式是余弦相似度距离计算公式或曼哈顿距离计算公式。
29.在上述方案中,可以通过余弦相似度距离计算公式或曼哈顿距离计算公式计算出正例训练语句和目标训练语句之间的第一相似距离以及反例训练语句和目标训练语句之间的第二相似距离。
30.可选的,所述语义相似度模型包括mlstm模型;所述根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,具体包括:将所述正例训练语句输入到训练好的词向量模型,获得正例训练词向量;将所述目标训练语句输入到训练好的词向量模型,获得目标训练词向量;将所述反例训练语句输入到训练好的词向量模型,获得反例训练词向量;将所述正例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的正例训练向量;将所述目标训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的目标训练向量;将所述反例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的反例训练向量;根据所述正例训练向量、所述目标训练向量和所述距离计算公式确定所述第一相似距离;根据所述反例训练向量、所述目标训练向量和所述距离计算公式确定所述第二相似距离;根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
31.在上述方案中,通过将正例训练语句、目标训练语句以及反例训练语句分别输入到训练好的词向量模型中,获得语义表达更加充分的正例训练词向量、目标训练词向量以及反例训练词向量,再根据正例训练词向量、目标训练词向量、反例训练词向量以及相似度批注结果确定损失函数值,并根据损失函数值对待训练的语义相似度模型进行训练,以获
得准确度更高的语义相似度模型。
32.第四方面,本技术实施例提供一种语义相似度模型训练装置,所述装置包括:
33.训练数据集获取模块,所述训练数据集获取模块用于获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;
34.增强处理模块,所述增强处理模块用于对所述正例训练语句进行增强处理获得反例训练语句;
35.损失函数值确定模块,所述损失函数值确定模块用于根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;
36.训练模块,所述训练模块用于根据所述损失函数值对语义相似度模型进行训练。
37.可选的,所述相似度距离包括所述正例训练语句和所述目标训练语句之间的第一相似距离以及所述反例训练语句和所述目标训练语句之间的第二相似距离;所述损失函数值确定模块,包括:第一相似距离确定模块,所述第一相似距离确定模块用于根据所述正例训练语句、所述目标训练语句和距离计算公式确定所述第一相似距离;第二相似距离确定模块,所述第二相似距离确定模块用于根据所述反例训练语句、所述目标训练语句和所述距离计算公式确定所述第二相似距离;损失函数值确定子模块,所述损失函数值确定子模块用于根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
38.可选的,所述距离计算公式是余弦相似度距离计算公式或曼哈顿距离计算公式。
39.可选的,所述语义相似度模型包括mlstm模型;所述损失函数值确定模块,还包括:正例训练词向量确定模块,所述正例训练词向量确定模块用于将所述正例训练语句输入到训练好的词向量模型,获得正例训练词向量;目标训练词向量确定模块,所述目标训练词向量确定模块用于将所述目标训练语句输入到训练好的词向量模型,获得目标训练词向量;反例训练词向量确定模块,所述反例训练词向量确定模块用于将所述反例训练语句输入到训练好的词向量模型,获得反例训练词向量;正例训练向量确定模块,所述正例训练向量确定模块用于将所述正例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的正例训练向量;目标训练向量确定模块,所述目标训练向量确定模块用于将所述目标训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的目标训练向量;反例训练向量确定模块,所述反例训练向量确定模块用于将所述反例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的反例训练向量;其中,所述第一相似距离确定模块具体用于根据所述正例训练向量、所述目标训练向量和所述距离计算公式确定所述第一相似距离;所述第二相似距离确定模块具体用于根据所述反例训练向量、所述目标训练向量和所述距离计算公式确定所述第二相似距离;所述损失函数值确定子模块具体用于根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
40.第五方面,本技术实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第三方面任意一种可能的实现方式提供的方法。
41.第六方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面
或第三方面任意一种可能的实现方式提供的方法。
42.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
43.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
44.图1为本技术实施例提供的一种语义相似度计算方法的流程示意图;
45.图2为本技术实施例提供的另一种语义相似度计算方法的流程示意图;
46.图3为本技术实施例提供的一种语义相似度计算装置的结构示意图;
47.图4为本技术实施例提供的一种语义相似度模型训练方法的流程示意图;
48.图5为本技术实施例提供的一种语义相似度模型训练装置的结构示意图;
49.图6为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
51.术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
52.术语“第一”、“第二”等仅用于将一个实体或者操作与另一个实体或操作区分开来,而不能理解为指示或暗示相对重要性,也不能理解为要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
53.针对现有技术中存在的不足,本技术实施例提供一种语义相似度计算方法,用于改善上述由于特征提取不完善或语义表达不充分所带来的语义相似度计算准确度较低的技术问题。
54.请参照图1,图1为本技术实施例提供的一种语义相似度计算方法的流程示意图,该语义相似度计算方法,包括:
55.步骤101、获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;
56.步骤102、将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;
57.其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强
处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;
58.其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。
59.其中,在步骤101中,第一语句和第二语句可以是给定的两段文本;待计算语句组的待计算语义相似度指的是第一语句和第二语句这两段文本在语义上的相近程度。
60.其中,在步骤102中,通过语义相似度计算模型输出该待计算语句组的语义相似度结果。可以预先设置好上述语义相似度计算模型所输出的语义相似度结果的相似度范围,语义相似度结果的数值越大,则表示第一语句和第二语句之间的语义差异性越小,即两个文本在语义层面上越相似;语义相似度结果的数值越小,则表示第一语句和第二语句之间的语义差异性越大,即两个文本在语义层面上越不相似。
61.其中,增强处理具体包括文字改写、字序颠倒以及字词删除等方法。
62.由上可知,本技术提供的一种语义相似度计算方法,该语义相似度计算方法通过将包括待计算语义相似度的第一语句和第二语句的待计算语句组输入到训练好的语义相似度计算模型,并获得该语义相似度计算模型输出的上述第一语句和上述第二语句的语义相似度结果。其中,在该语义相似度计算模型训练过程中,对训练数据集中的正例训练语句进行增强处理获得了反例训练语句,并根据训练数据集和反例训练语句一同确定损失函数,并通过所确定的损失函数值对待训练语义相似度计算模型进行训练所获得的。由于在语义相似度计算模型的训练过程中,对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相似度计算模型的语义相似度计算的准确度更高。
63.请参照图2,图2为本技术实施例提供的另一种语义相似度计算方法的流程示意图。
64.在一些可选的实施例中,步骤102、将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果,包括:步骤1021、将所述第一语句输入到训练好的词向量模型,获得第一词向量;步骤1022、将所述第二语句输入到训练好的词向量模型,获得第二词向量;步骤1023、将所述第一词向量和所述第二词向量输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果。
65.其中,词向量模型可以将自然语言转换成计算机能够理解的向量;该词向量模型可以是腾讯的预训练词向量,也可以是现有的其他词向量模型,例如word2vec、glove等。通过将待计算语义相似度的第一语句和第二语句分别输入到训练好的词向量模型中,获得语义表达更加充分的第一词向量和第二词向量,再将第一词向量和第二词向量输入到训练好的语义相似度计算模型,以获得准确度更高的语义相似度结果。
66.请参照图3,图3为本技术实施例提供的一种语义相似度计算装置的结构示意图,该语义相似度计算装置,包括:
67.待计算语句组获取模块201,待计算语句组获取模块201用于获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;
68.语义相似度计算模块202,语义相似度计算模块202用于将所述待计算语句组输入
到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;
69.其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;
70.其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。
71.在一些可选的实施例中,语义相似度计算模块202包括:第一词向量模块,所述第一词向量模块用于将所述第一语句输入到训练好的词向量模型,获得第一词向量;第二词向量模块,所述第二词向量模块用于将所述第二语句输入到训练好的词向量模型,获得第二词向量;语义相似度结果获得模块,所述语义相似度结果获得模块用于将所述第一词向量和所述第二词向量输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果。
72.本技术实施例提供的语义相似度装置,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
73.请参照图4,图4为本技术实施例提供的一种语义相似度模型训练方法的流程示意图,该语义相似度模型训练方法,包括:
74.步骤301、获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;
75.步骤302、对所述正例训练语句进行增强处理获得反例训练语句;
76.步骤303、根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;
77.步骤304、根据所述损失函数值对待训练语义相似度模型的内部参数进行优化,以获得训练好的语义相似度模型。
78.其中,在步骤301中,正例训练语句和目标训练语句可以是给定的两段文本;相似度批注结果用于表示该正例训练语句和目标训练语句这两段文本在语义上的相近程度。其中,可以通过人工批注的方式获取该相似度批注结果。
79.其中,在步骤302中,增强处理具体包括文字改写、字序颠倒以及字词删除等方法。反例训练语句为通过增强处理所获得的正例训练语句的反例。
80.其中,在步骤303中,可以将上述正例训练语句、目标训练语句、反例训练语句输入到待训练的语义相似度模型中,获得其所输出的正例训练向量、目标训练向量以及反例训练向量;再根据正例训练向量、目标训练向量、反例训练向量以及相似度批注结果确定损失函数值。还可以先将上述正例训练语句、目标训练语句、反例训练语句分别输入到训练好的词向量模型中,获得正例训练词向量、目标训练词向量、反例训练词向量之后,再将正例训练词向量、目标训练词向量、反例训练词向量输入到待训练的语义相似度模型中,获得其所输出的正例训练向量、目标训练向量以及反例训练向量;再根据正例训练向量、目标训练向量、反例训练向量以及相似度批注结果确定损失函数值。
81.由上可知,本技术提供的一种语义相似度模型训练方法,该语义相似度模型训练
方法通过获取训练数据集,并对该训练数据集中的正例训练语句进行增强处理获得反例训练语句,根据所获得的反例训练语句以及训练数据集中的正例训练语句、目标训练语句和相似度批注结果确定损失函数值,进而根据损失函数值对待训练语义相似度模型的内部参数进行优化,以获得训练好的语义相似度模型。由于在语义相似度计算模型的训练过程中,通过对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相似度模型所计算的语义相似度的准确度更高。
82.在一些可选的实施例中,步骤303、根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,包括:根据所述正例训练语句、所述目标训练语句和距离计算公式确定所述正例训练语句和所述目标训练语句之间的第一相似距离;根据所述反例训练语句、所述目标训练语句和所述距离计算公式确定所述反例训练语句和所述目标训练语句之间的第二相似距离;根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
83.其中,距离计算公式可以是余弦相似度距离计算公式或曼哈顿距离计算公式。根据上述第一相似距离、第二相似距离和相似度批注结果确定该损失函数值具体可以是,将第一相似距离、第二相似距离和相似度批注结果代入到三元损失函数公式中,进而确定该损失函数值。其中,三元损失函数公式可以是loss(d1,d2)=max(|(d
1-d)
2-(d
2-d)2|+m,0),loss(d1,d2)表示所求取的损失函数值,d1表示第一相似距离,d2表示第二相似距离,d表示相似度批注结果,m表示相似距离阈值,m的具体取值可以根据实际情况进行调整。其中,可以通过预设损失阈值来判断模型是否收敛,预设损失阈值可以是0.01,也可以是0.05或其他合理数值。
84.在一些可选的实施例中,所述距离计算公式是余弦相似度距离计算公式或曼哈顿距离计算公式。
85.其中,余弦相似度距离计算公式为d1=cos(v
p
,vo),d2=cos(vn,vo);其中,d1表示第一相似距离,d2表示第二相似距离,v
p
表示正例训练语句所对应的向量,vo表示目标训练语句所对应的向量,vn表示反例训练语句所对应的向量。曼哈顿距离计算公式为d1=|x
p-xo|+|y
p-yo|,d2=|x
n-xo|+|y
n-yo|;其中,d1表示第一相似距离,d2表示第二相似距离,(x
p
,y
p
)表示正例训练语句所对应的向量,(xo,yo)表示目标训练语句所对应的向量,(xn,yn)表示反例训练语句所对应的向量。
86.在一些可选的实施例中,所述语义相似度模型包括mlstm模型;步骤303、根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,具体包括:将所述正例训练语句输入到训练好的词向量模型,获得正例训练词向量;将所述目标训练语句输入到训练好的词向量模型,获得目标训练词向量;将所述反例训练语句输入到训练好的词向量模型,获得反例训练词向量;将所述正例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的正例训练向量;将所述目标训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的目标训练向量;将所述反例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的反例训练向量;根据所述正例训练向量、所述目标训练向量和所述距离计算公式确定所述第一相似距离;根据所述反例训练向量、所述目标训练向量和所述距离计算公式确定所述第二相似距离;根据所述第一相似距离、所述第二
相似距离和所述相似度批注结果确定所述损失函数值。
87.其中,词向量模型可以将自然语言转换成计算机能够理解的向量;该词向量模型可以是腾讯的预训练词向量,也可以是现有的其他词向量模型,例如word2vec、glove等。
88.其中,语义相似度的区间可以设置为[0,5];5表示两个语句之间的语义相似度最高,0表示两个语句之间的语义相似度最低。具体地,以正例训练语句是“他问我会议几点结束”、目标训练语句是“他问我会议什么时候结束”且其相似度批注结果是d=4.8为例。首先,对正例训练语句“他问我会议几点结束”进行增强处理获得反例训练语句“他问我会议什么时候开始”;进而将上述正例训练语句、目标训练语句、反例训练语句分别输入到训练好的词向量模型,获得词向量模型所输出的三个向量,分别是正例训练词向量、目标训练词向量、反例训练词向量。其次,再将正例训练词向量、目标训练词向量、反例训练词向量分别输入到mlstm模型,获得mlstm模型所输出的正例训练向量、目标训练向量、反例训练向量。进而,根据所获得的正例训练向量、目标训练向量和距离计算公式确定第一相似距离d1,根据所获得的反例训练向量、目标训练向量和距离计算公式确定第二相似距离d2;将所确定的第一相似距离d1、第二相似距离d2和相似度批注结果d代入到三元损失计算公式loss(d1,d2)=max(|(d
1-d)
2-(d
2-d)2|+m,0)中,获得损失函数值。通过预设损失阈值来判断模型是否收敛,预设损失阈值可以是0.01,也可以是0.05或其他合理数值,当所求取的损失函数值loss(d1,d2)小于预设损失阈值,则认为模型收敛,此时的语义相似度模型即为训练好的语义相似度模型。
[0089]
请参照图5,图5为本技术实施例提供的一种语义相似度模型训练装置的结构示意图,该语义相似度模型训练装置,包括:
[0090]
训练数据集获取模块401,训练数据集获取模块401用于获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;
[0091]
增强处理模块402,增强处理模块402用于对所述正例训练语句进行增强处理获得反例训练语句;
[0092]
损失函数值确定模块403,损失函数值确定模块403用于根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;
[0093]
训练模块404,训练模块404用于根据所述损失函数值对语义相似度模型进行训练。
[0094]
在一些可选的实施例中,所述相似度距离包括所述正例训练语句和所述目标训练语句之间的第一相似距离以及所述反例训练语句和所述目标训练语句之间的第二相似距离;损失函数值确定模块403,包括:第一相似距离确定模块,所述第一相似距离确定模块用于根据所述正例训练语句、所述目标训练语句和距离计算公式确定所述第一相似距离;第二相似距离确定模块,所述第二相似距离确定模块用于根据所述反例训练语句、所述目标训练语句和所述距离计算公式确定所述第二相似距离;损失函数值确定子模块,所述损失函数值确定子模块用于根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
[0095]
在一些可选的实施例中,所述距离计算公式是余弦相似度距离计算公式或曼哈顿距离计算公式。
[0096]
在一些可选的实施例中,所述语义相似度模型包括mlstm模型;损失函数值确定模块403,还包括:正例训练词向量确定模块,所述正例训练词向量确定模块用于将所述正例训练语句输入到训练好的词向量模型,获得正例训练词向量;目标训练词向量确定模块,所述目标训练词向量确定模块用于将所述目标训练语句输入到训练好的词向量模型,获得目标训练词向量;反例训练词向量确定模块,所述反例训练词向量确定模块用于将所述反例训练语句输入到训练好的词向量模型,获得反例训练词向量;正例训练向量确定模块,所述正例训练向量确定模块用于将所述正例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的正例训练向量;目标训练向量确定模块,所述目标训练向量确定模块用于将所述目标训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的目标训练向量;反例训练向量确定模块,所述反例训练向量确定模块用于将所述反例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的反例训练向量;其中,所述第一相似距离确定模块具体用于根据所述正例训练向量、所述目标训练向量和所述距离计算公式确定所述第一相似距离;所述第二相似距离确定模块具体用于根据所述反例训练向量、所述目标训练向量和所述距离计算公式确定所述第二相似距离;所述损失函数值确定子模块具体用于根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。
[0097]
本技术实施例提供的语义相似度模型训练装置,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。
[0098]
请参照图6,图6为本技术实施例提供的一种电子设备的结构示意图。电子设备5包括:处理器501、存储器502,这些组件通过通信总线503和/或其他形式的连接机构(未示出)互连并相互通讯。
[0099]
其中,存储器502包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(random access memory,简称ram),只读存储器(read only memory,简称rom),可编程只读存储器(programmable read-only memory,简称prom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),电可擦除可编程只读存储器(electric erasable programmable read-only memory,简称eeprom)等。处理器501以及其他可能的组件可对存储器502进行访问,读和/或写其中的数据。
[0100]
处理器501包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器501可以是通用处理器,包括中央处理器(centralprocessing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括神经网络处理器(neural-network processing unit,简称npu)、图形处理器(graphics processing unit,简称gpu)、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器501为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。
[0101]
在存储器502中可以存储一个或多个计算机程序指令,处理器501可以读取并运行这些计算机程序指令,以实现本技术实施例提供的一种语义相似度计算方法或语义相似度
模型训练方法。
[0102]
可以理解的,图6所示的结构仅为示意,电子设备5还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的结构。图6中所示的各组件可以采用硬件、软件或其组合实现。电子设备5可能是实体设备,例如pc机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备5也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。
[0103]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的一种语义相似度计算方法或语义相似度模型训练方法。例如,计算机可读存储介质可以实现为图6中电子设备5中的存储器502。
[0104]
在本技术所提供的实施例中,应该理解到,所揭露装置以及系统,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0105]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0106]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0107]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种语义相似度计算方法,其特征在于,所述方法包括:获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。2.根据权利要求1所述的方法,其特征在于,所述将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果,包括:将所述第一语句输入到训练好的词向量模型,获得第一词向量;将所述第二语句输入到训练好的词向量模型,获得第二词向量;将所述第一词向量和所述第二词向量输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果。3.一种语义相似度计算装置,其特征在于,所述装置包括:待计算语句组获取模块,所述待计算语句组获取模块用于获取待计算语句组,所述待计算语句组包括待计算语义相似度的第一语句和第二语句;语义相似度计算模块,所述语义相似度计算模块用于将所述待计算语句组输入到训练好的语义相似度计算模型,获得所述语义相似度计算模型输出的所述第一语句和所述第二语句的语义相似度结果;其中,所述语义相似度计算模型是通过对训练数据集中的正例训练语句进行增强处理获得反例训练语句,并根据所述训练数据集和所述反例训练语句确定损失函数值,通过所述损失函数值对待训练语义相似度计算模型进行训练所获得的;其中,所述训练数据集包括多个所述正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果。4.一种语义相似度模型训练方法,其特征在于,所述方法包括:获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;对所述正例训练语句进行增强处理获得反例训练语句;根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;根据所述损失函数值对待训练语义相似度模型的内部参数进行优化,以获得训练好的语义相似度模型。5.根据权利要求4所述的方法,其特征在于,所述根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,包括:根据所述正例训练语句、所述目标训练语句和距离计算公式确定所述正例训练语句和
所述目标训练语句之间的第一相似距离;根据所述反例训练语句、所述目标训练语句和所述距离计算公式确定所述反例训练语句和所述目标训练语句之间的第二相似距离;根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。6.根据权利要求5所述的方法,其特征在于,所述距离计算公式是余弦相似度距离计算公式或曼哈顿距离计算公式。7.根据权利要求5所述的方法,其特征在于,所述语义相似度模型包括mlstm模型;所述根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值,具体包括:将所述正例训练语句输入到训练好的词向量模型,获得正例训练词向量;将所述目标训练语句输入到训练好的词向量模型,获得目标训练词向量;将所述反例训练语句输入到训练好的词向量模型,获得反例训练词向量;将所述正例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的正例训练向量;将所述目标训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的目标训练向量;将所述反例训练词向量输入所述mlstm模型,获得所述mlstm模型所输出的反例训练向量;根据所述正例训练向量、所述目标训练向量和所述距离计算公式确定所述第一相似距离;根据所述反例训练向量、所述目标训练向量和所述距离计算公式确定所述第二相似距离;根据所述第一相似距离、所述第二相似距离和所述相似度批注结果确定所述损失函数值。8.一种语义相似度模型训练装置,其特征在于,所述装置包括:训练数据集获取模块,所述训练数据集获取模块用于获取训练数据集,其中,所述训练数据集包括多个正例训练语句、相应的目标训练语句以及所述正例训练语句和所述目标训练语句的相似度批注结果;增强处理模块,所述增强处理模块用于对所述正例训练语句进行增强处理获得反例训练语句;损失函数值确定模块,所述损失函数值确定模块用于根据所述正例训练语句、所述目标训练语句、所述反例训练语句和所述相似度批注结果确定损失函数值;训练模块,所述训练模块用于根据所述损失函数值对语义相似度模型进行训练。9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1-2或4-7任一所述的方法。10.一种计算机可读存储介质,其特征在于,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-2或4-7任一所述的方法。

技术总结
本申请提供一种语义相似度计算和模型训练方法、装置、设备及存储介质。该语义相似度计算方法通过将包括待计算语义相似度的第一语句和第二语句的待计算语句组输入到训练好的语义相似度计算模型,并获得该语义相似度计算模型输出的上述第一语句和上述第二语句的语义相似度结果。由于在语义相似度计算模型的训练过程中,对训练数据集中的正例训练语句进行增强处理,获得了更多的语义特征,再根据训练数据集和反例训练语句一同确定的损失函数值,由此损失函数值进行训练,使得所获得的语义相似度计算模型的语义相似度计算的准确度更高。似度计算模型的语义相似度计算的准确度更高。似度计算模型的语义相似度计算的准确度更高。


技术研发人员:吕超 杜新凯 卢世成 孙垚锋 王建辉 张晗 史祎凡 韩佳
受保护的技术使用者:阳光保险集团股份有限公司
技术研发日:2021.12.09
技术公布日:2022/3/8

最新回复(0)