CN114330367A - 一种基于句子的语义相似度获得方法、装置以及设备 - Google Patents
一种基于句子的语义相似度获得方法、装置以及设备 Download PDFInfo
- Publication number
- CN114330367A CN114330367A CN202111652611.0A CN202111652611A CN114330367A CN 114330367 A CN114330367 A CN 114330367A CN 202111652611 A CN202111652611 A CN 202111652611A CN 114330367 A CN114330367 A CN 114330367A
- Authority
- CN
- China
- Prior art keywords
- sentence
- training
- layer
- encoder
- semantic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明公开了一种基于句子的语义相似度获得方法、装置以及设备,语义相似度获得方法包括:利用第一编码器获得第一句子的第一语义表征;利用所述第一编码器或第二编码器获得第二句子的第二语义表征;计算所述第一语义表征与所述第二语义表征之间的相似度,作为两个句子之间的语义相似度;其中,所述第一编码器包括第一编码层,所述第二编码器包括第二编码层和交互层,其中,所述第一编码层的模型参数与所述第二编码层的模型参数完全相同,所述第二编码层的输出数据作为所述交互层的输入数据,所述交互层的输出数据作为所述第二语义表征。本申请在将句子转化成语义表征时考虑句子之间的交互,有助于语义相似度的精确计算。
Description
技术领域
本发明涉及自然语言处理技术领域,尤其涉及一种基于句子的语义相似度获得方法、装置以及设备。
背景技术
句子相似度指两个句子之间的语义相似度,它在自然语言处理中的应用场景非常广泛,例如对话系统、信息检索、语义分析等。语义相似度模型的效果往往决定了整个应用系统的好坏程度,一个好的语义相似度模型可以为我们检索信息提供更快的方式,并且得到更加准确的信息。在多文档自动文摘技术中,句子相似度计算是一个关键的问题。在搜索引擎和搜索广告场景中,最重要的、也是最难解决的问题也是语义相似度的计算。
现有技术中,获得语义相似度主要分为两个方向,一是基于深度学习的方法,二是基于统计的方法。
基于深度学习的方法主要包括Word2vec、深度结构化语义模型(Deep StructuredSemantic Model,DSSM)等。Word2vec方法通过模型训练将句子中的每个词转换为固定的向量表征,并对句子的所有词的向量表征求平均从而得到整个句子的表征向量,最后通过余弦相似度计算两个句子间的相似度。DSSM是典型的双塔结构,双塔结构一般将两个句子分别作为输入,两个输入层分别接一个编码层,编码后得到两个输出向量,最后通过余弦相似度计算两个输出向量的匹配得分。其中编码层可以使用RNN、CNN、Transformer、Bert等模型。
基于深度学习的方法中,将每个词转换为固定的向量表征或将两个句子独立编码成向量表征的过程中缺乏交互,对相似度匹配效果产生一定影响。
基于统计的方法主要用于粗排或者对语义精度要求不高的场景中,主要包括编辑距离、BM25、TF-IDF、TextRank等,这类方法主要关注句子之间的字面以及词频的变化。例如编辑距离是描述一个句子转化成另一个句子所需的最少的编辑次数,如果编辑次数越多,则说明句子间的相似度距离越远,越不相似。编辑操作包括将一个字符替换成另一个字符,插入一个字符以及删除一个字符。其他方法如BM25、TF-IDF等算法是在编辑距离的基础上,同时考虑了句子中词语出现的频率以及一个字词在所有文档中的重要程度,相较于编辑距离有一定改进,但基本方法还是基于统计词频等方式。
基于统计的方法浮于表面,难以理解句子的深度语义。以编辑距离测试“我喜欢你”为例,若要将其变为“我不喜欢你”需要在中间插入一个“不”字,即只需要一步操作;而若要将其变为“我很喜欢你呀”,则需要插入“很”和“呀”两个字符。这时编辑距离算法便认为“我喜欢你”与“我不喜欢你”更相似。所以基于统计的语义表征方法的精确度较低。
发明内容
鉴于上述,本发明旨在提供一种基于句子的语义相似度获得方法、装置以及设备,并相应地提出一种计算机可读存储介质,在将句子转化成语义表征时考虑句子之间的交互,使得句子的语义表征更加准确,有助于语义相似度的精确计算。
本发明采用的技术方案如下:
第一方面,本发明提供了一种基于句子的语义相似度获得方法,包括:
利用第一编码器获得第一句子的第一语义表征;
利用所述第一编码器或第二编码器获得第二句子的第二语义表征;
计算所述第一语义表征与所述第二语义表征之间的相似度,作为两个句子之间的语义相似度;
其中,所述第一编码器包括第一编码层,所述第二编码器包括第二编码层和交互层,其中,所述第一编码层的模型参数与所述第二编码层的模型参数完全相同,所述第二编码层的输出数据作为所述交互层的输入数据,所述交互层的输出数据作为所述第二语义表征。
在其中一种可能的实现方式中,所述第一编码器还包括平均池化层,所述第一编码层的输出数据为所述平均池化层的输入数据,所述平均池化层的输出数据为所述第一语义表征。
在其中一种可能的实现方式中,所述交互层包括第一子交互层和第二子交互层;
所述第一子交互层利用多个初始化向量对所述第二编码层的输出数据进行第一交互操作,获得第一交互结果;
所述第二子交互层利用所述第一交互结果对所述第一语义表征进行第二交互操作,获得第二交互结果,作为所述第二语义表征。
在其中一种可能的实现方式中,在训练阶段,所述第一编码器和所述第二编码器组成双塔训练模型,并利用所述第二编码器的交互层输出数据与所述第一编码器的输出数据之间的对比损失函数值对所述双塔训练模型进行优化。
在其中一种可能的实现方式中,对所述双塔训练模型进行训练包括:
对所述双塔训练模型进行预训练;
利用目标应用场景的种子数据生成增量训练数据集;
利用所述增量训练数据集对所述双塔训练模型进行增量训练。
在其中一种可能的实现方式中,利用目标应用场景的种子数据生成增量训练数据集,具体包括:
通过回译模型对所述种子数据进行处理,生成第一句子对,作为所述增量训练数据集的一部分。
在其中一种可能的实现方式中,利用目标应用场景的种子数据生成增量训练数据集,还包括:
通过句法分析调序方法获得第二句子对,作为所述增量训练数据集的一部分。
在其中一种可能的实现方式中,对所述双塔训练模型进行训练还包括:
在所述增量训练后,利用目标应用场景所属的领域内的小样本标注句子对地模型进行微调。
在其中一种可能的实现方式中,所述增量训练的输入数据中,所述第二句子对的比例在第一预设范围内。
在其中一种可能的实现方式中,所述增量训练的输入数据包括第三句子对,所述第三句子对中两个句子完全相同。
在其中一种可能的实现方式中,所述增量训练的输入数据中,所述第三句子对的比例在第二预设范围内。
在其中一种可能的实现方式中,预训练数据集包括多个第四句子对,所述第四句子对中两个句子的关联度小于阈值。
第二方面,本发明提供了一种基于句子的语义相似度获得装置,包括第一语义表征模块、第二语义表征模块以及相似度计算模块;
所述第一语义表征模块用于利用第一编码器获得第一句子的第一语义表征;
所述第二语义表征模块用于利用所述第一编码器或第二编码器获得第二句子的第二语义表征;
所述相似度计算模块用于计算所述第一语义表征与所述第二语义表征之间的相似度,作为两个句子之间的语义相似度;
其中,所述第一编码器包括第一编码层,所述第二编码器包括第二编码层和交互层,其中,所述第一编码层的模型参数与所述第二编码层的模型参数完全相同,所述第二编码层的输出数据作为所述交互层的输入数据,所述交互层的输出数据作为所述第二语义表征。
在其中一种可能的实现方式中,在训练阶段,所述第一编码器和所述第二编码器组成双塔训练模型;
所述相似度获得装置还包括模型训练模块,所述模型训练模块包括预训练模块、增量训练数据集获得模块以及增量训练模块;
所述预训练模块用于对所述双塔训练模型进行预训练;
所述增量训练数据集获得模块用于利用目标应用场景的种子数据生成增量训练数据集;
所述增量训练模块用于利用所述增量训练数据集对所述双塔训练模型进行增量训练。
在其中一种可能的实现方式中,所述增量训练数据集获得模块包括第一句子对获得模块,所述第一句子对获得模块用于通过回译模型对所述种子数据进行处理,生成第一句子对,作为所述增量训练数据集的一部分。
在其中一种可能的实现方式中,所述增量训练数据集获得模块还包括第二句子对获得模块,所述第二句子对获得模块用于通过句法分析调序方法获得第二句子对,作为所述增量训练数据集的一部分。
第三方面,本发明提供了一种基于句子的语义相似度获得设备,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述基于句子的语义相似度获得设备执行时,使得所述基于句子的语义相似度获得设备执行如上述的基于句子的语义相似度获得方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述的基于句子的语义相似度获得方法。
本发明的构思在于,在将句子转化成语义表征时考虑句子之间的交互,使得句子的语义表征更加准确,有助于语义相似度的精确计算。并且,本申请利用双塔训练模型,其中第一侧具有交互层,第二侧不具有交互层,训练过程中利用第一侧对第二侧编码层的模型参数进行校正,使得两侧编码层的模型参数完全一致,利用两侧表示层之间的对比损失对模型进行优化,利用非对称结构同时训练两侧,解决了缺乏交互的问题。另外,在训练过程中将利用句法分析获得的负样本和/或利用回译模型获得的正样本加入训练模型的批输入数据中,使模型在保证推理效率的同时能够学习到更加丰富的语义特征,达到更好的效果。最后,本申请的训练模型使用弱关联数据进行预训练,相对于大量监督语料的收集,弱关联数据的收集大大降低了难度。
附图说明
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步描述,其中:
图1为本发明提供的基于句子的语义相似度获得方法的流程图;
图2为本发明提供的第一编码器的结构图;
图3为本发明提供的第二编码器的结构图;
图4为本发明提供的闲聊问答的一个示例;
图5为本发明提供的双塔训练模型的一个实施例的结构图;
图6为本发明提供的交互操作的一个实施例的流程图;
图7为本发明提供的对双塔训练模型进行训练的流程图;
图8为本发明提供的回译模型的一个实例;
图9为本发明提供的句法分析调序的一个实例;
图10为本发明提供的batch的示例;
图11为本发明提供的基于句子的语义相似度获得装置的结构图;
图12为本发明提供的增量训练数据集获得模块的结构图;
图13为本发明提供的基于句子的语义相似度获得设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明的构思在于,在将句子转化成语义表征时考虑句子之间的交互,使得句子的语义表征更加准确,有助于语义相似度的精确计算。并且,本申请利用双塔训练模型,其中第一侧具有交互层,第二侧不具有交互层,训练过程中利用第一侧对第二侧编码层的模型参数进行校正,使得两侧编码层的模型参数完全一致,利用两侧表示层之间的对比损失对模型进行优化,利用非对称结构同时训练两侧,解决了缺乏交互的问题。另外,在训练过程中将利用句法分析获得的负样本和/或利用回译模型获得的正样本加入训练模型的批输入数据中,使模型在保证推理效率的同时能够学习到更加丰富的语义特征,达到更好的效果。最后,本申请的训练模型使用弱关联数据进行预训练,相对于大量监督语料的收集,弱关联数据的收集大大降低了难度。
DSSM模型中,两个编码层相互独立,因此将一个句子对输入模型后获得的两个输出向量相互独立,无法体现句子对中两个句子之间的相互关系,因此,这样的语义表征方法无法充分体现两个句子之间的关系。
针对前述核心构思,本发明提供了至少一种基于句子的语义相似度获得方法的实施例,如图1所示,可以包括如下步骤:
S110:利用第一编码器获得第一句子的第一语义表征。
S120:利用第一编码器或第二编码器获得第二句子的第二语义表征。
S130:计算第一语义表征与第二语义表征之间的相似度,作为两个句子之间的语义相似度。
具体地,在一种可能的实施方式中,第一编码器构成的语义表征模型如图2所示。第一编码器包括第一输入层、第一编码层、平均池化层。第一输入层的输入数据为第一句子,通过第一编码层后,其输出数据输入平均池化层,平均池化层的池化结果为第一表示层,该第一表示层作为第一编码器的输出数据,即第一语义表征。
在一种可能的实施方式中,第一编码层可以使用RNN、CNN、Transformer、Bert等模型。
在另一种可能的实施方式中,第一编码器的结构可以是现有技术中其他编码器结构,例如第一编码层的输出数据输入全连接层,获得的输出数据作为编码器的输出数据。
基于上述第一编码器的结构,在一种可能的实施方式中,第二编码器的结构与第一编码器的结构完全相同,并且各层的模型参数完全相同,或者第一编码器和第二编码器是同一模型。
该实施方式的应用场景包括相似度匹配任务(例如开放问答或闲聊问答)。相似度匹配任务是从候选数据库(例如问题库)的句子中筛选出与输入句子(例如输入问题)最相似的句子,然后根据筛选出的句子找到与输入句子对应的答案。图4示出了闲聊问答的一个示例,其中,通过语义相似度计算,问题库的候选集中“我今天心情糟透了”与输入问题“我今天心情真不好”的相似度高,二者相互匹配。
相似度匹配中,候选数据库量级很大,为了保证效率精度,一般先利用第一编辑器将候选数据库中所有的句子(例如所有问题)转为第一语义表征。在执行任务时,当用户输入句子(例如问题)后,利用第二编辑器获得第二语义表征。最后计算第一语义表征与第二语义表征之间的相似度(例如余弦相似度)。
在另一种可能的实施方式中,第二编码器构成的语义表征模型如图3所示。第二编码器包括第二输入层、第二编码层和交互层,其中第一编码层的模型参数与第二编码层的模型参数完全相同。第二输入层的输入数据为第二句子,第二编码层的输出数据输入交互层,交互层的输出结果为第二表示层,该第二表示层作为第二编码器的输出数据,即第二语义表征。
具体地,如图3所示,交互层包括第一子交互层和第二子交互层。第一子交互层利用多个初始化向量对第二编码层的输出数据进行第一交互操作,获得第一交互结果。第二子交互层利用第一交互结果对第一语义表征进行第二交互操作,获得第二交互结果,作为第二语义表征。
需要说明的是,在具有交互层的第二编码器的实施方式中,将两个句子同时输入第一编码器和第二编码器,第一编码器的输出数据作为第二编码器的交互层的输入数据,因此第二编码器的输出数据中体现了两个句子之间的关联性,使得二者的语义相似度更加精准。
该实施方式的应用场景包括自定义技能,自定义技能是在计算语义相似度后通过相似度阈值判断两个句子是否相似。具体地,在候选库小的情况下,将句子对中的两个句子分别输入第一编码器和第二编码器,获得第一语义表征和第二语义表征,然后计算第一语义表征与第二语义表征之间的语义相似度,并通过相似度阈值判断两个句子是否匹配。
在另一种可能的实施方式中,第一编码器还用于完成小样本意图识别、实体识别、文本聚类等分类任务,该类分类任务用于判断输入的单个句子属于哪个类别。
在该实施方式中,语义表征模型包括第一编辑器、全连接层和分类器,将第一编码器的输出数据输入全连接层,将全连接层的输出数据输入分类器进行分类,作为最后的输出结果。需要说明的是,在训练该语义表征模型时,不调整第一编辑器的模型参数,微调全连接层参数即可。
需要说明的是,在训练阶段,第一编码器和第二编码器同时训练。具体地,第一编码器和第二编码器组成双塔训练模型,并利用第二编码器的交互层输出数据与第一编码器的输出数据之间的对比损失函数值对双塔训练模型进行优化。如图5所示,以编码器采用Bert模型为例对双塔训练模型做进一步说明。
需要说明的是,第一输入层和第二输入层的输入数据以batch为单位批量导入,输入数据为文本。具体地,句子中的每个字经过Bert编码层后,输出为embedding向量(即768维的数组)。假设限定每个句子的长度为32,每个batch数为64(64个句子对),则每个batch对应的编码层输出(第一编码层输出和第二编码层输出)为64x32x768维的数组。
图5的示例中,句子长度是5,因此,第一编码层的输出数据为out-11、out-12…out-15,第二编码层的输出数据为out-21、out-22…out-25。
第一编码器中,第一编码层的输出数据经过平均池化层池化后,获得第一表示层。
第二编码器中,第二编码层的输出数据输入交互层。在第一子交互层中,利用多个初始化向量(code-1、code-2…code-m)对第二编码层的输出数据进行第一交互操作,获得第一交互结果。其中,m为初始化向量的个数,是该模型的超参。
图5中,m=16,Attention为数学运算结构。
具体地,第一交互操作是将第二编码层输出的每个词对应的embedding向量与16个初始化向量分别作Attention操作,得到16个embedding向量:Emb-1、Emb-2…Emb-16,即输出为5x16x768维的数组,该16个embedding向量作为第一交互结果。
具体地,在一种可能的实施方式中,结合图6所示,对于每个初始化向量code-n,将第二编码层的五个输出数据out-21、out-22…out-25分别与该初始化向量code-n矩阵点乘得到初始权值a-1、a-2…a-5,再通过softmax归一化后得到权值b-1、b-2…b-5,其中b-1+b-2+…+b-5=1。然后将权值b-1、b-2…b-5与第二编码层的五个输出数据out-21、out-22…out-25加权求和(mean)得到与该初始化向量对应的第一交互结果Emb-n。
在第二子交互层中,利用第一交互结果(作为初始化向量)对第一表示层(作为输入数据)进行第二交互操作,获得第二交互结果,作为第二表示层。
在一种可能的实施方式中,第二交互操作与第一交互操作相同。可以理解地,也可以使用现有的其他交互操作实现第二交互操作。
由此,将一个batch输入训练模型后,获得的第一表示层和第二表示层的维度均为64x1x768。
随后,计算第一表示层与第二表示层之间的对比损失。
在一种可能的实施方式中,对比损失函数如下所示:
其中,χ表示输入的batch中的所有样本,xk∈χ,表示与xk对应的正样本,xl∈χ,表示与xl对应的正样本,f(xk)表示第k个负样本的输出结果(例如第一表示层),表示第k个正样本的输出结果(例如第二表示层),|x|表示一个batch中样本对的个数,τ为超参数,表示一个batch中所有样本的个数,也就是|x|的2倍。
在现有的双塔结构模型的基础上引入了交互层,使句子表征在编码层也能够对语义表征进行交互,同时引入对比损失,使模型能够学习到一个batch中不同句子对之间的负样本,利用batch中的所有正例对作为负样本,将距离相近的正样本聚合,同时,将不同种类的负样本拉开距离。
基于上述双塔训练模型的结构,如图7所示,对该双塔训练模型的训练过程包括如下步骤:
S710:对双塔训练模型进行预训练。
需要说明的是,传统的语义相似度模型依赖大量相似句子对作为监督语料对进行训练,而这种相似句子对的获取需要大量的业务数据支撑以及人工标注资源,这种量级的数据获取在很多下游任务中是不现实的。
基于上述原因,本申请中,预训练数据集包括多个第四句子对,第四句子对中的两个句子的关联度小于阈值,即第四句子对为弱监督的关联性语料,这种预料的获取非常简单,只需要保证句子对之间存在一定的关联性,例如一篇文章的句子上下文、Q-A对等等。在不同的下游任务场景中获取大量的弱关联语料是比较容易的。因此,相对于监督语料的获取,弱关联语料的获取难度大大降低。
S720:利用目标应用场景的种子数据生成增量训练数据集。
具体地,种子数据是从不同的下游任务场景中选取出来的。
在一种可能的实施方式中,利用目标应用场景的种子数据生成增量训练数据集,具体包括通过回译模型对种子数据进行处理,生成第一句子对,作为增量训练数据集的一部分。
具体地,回译模型是将第一语言类型(例如中文)的种子数据翻译为第二语言类型(例如英文),然后再将第二语言类型的译文翻译成第一语言类型(例如中文),并通过预设的过滤方法,获得高质量的相似句子对。图8示出了其中一个实例,其中通过第一对编码器和解码器将输入句子翻译成英文,再通过第二对编码器和解码器将英文翻译成中文,获得回译结果,输入句子与回译结果的表达方式不同,但是表达的意思是相同的。
一个好的语义相似度模型应该能够理解句子的微小变化带来的语义上的差异。例如:“我喜欢你”应该与“我中意你”相似度距离更近,与“你喜欢我”相似度距离更远。
基于这样的思路,在另一种可能的实施方式中,利用目标应用场景的种子数据生成增量训练数据集还包括通过句法分析调序方法伪造第二句子对,作为增量训练数据集的一部分。
具体地,对种子数据进行句法分析,获得句子中每个词的词性和句子成分,并依据词性规则对相同词性的词语进行替换,通过这种方法能够得到一定相似度差异的负样本句子,供增量训练时使用。图9示出了其中一个实例,其中,将“你”和“他”、“句法”和“规则”、“分析”和“替换”进行位置替换,可以获得伪造句子。
可以理解地,还可以通过其他方式(例如近义词替换、反义词替换等)获得伪造句子,作为训练时的正样本或负样本。
基于上述的增量训练数据集,在一种可能的实施方式中,在一个batch中,第二句子对的比例在第一预设范围(例如18-12%)内。
在一个优选的实施方式中,增量训练的输入数据还包括第三句子对,第三句子对中两个句子完全相同(即重复样本)。从上述双塔训练模型的结构可以看出,由于两侧的转换过程不同,并且整个网络结构设置的dropout为10%,因此,输入相同的句子后获得的第一表示层和第二表示层可能是不同的。这样的句子对作为输入数据中的正样例,以增强模型的鲁棒性。
在一种可能的实施方式中,增量训练的输入数据(一个batch)中,第三句子对的比例在第二预设范围(例如3-6%)内。
图10示出了一个batch中句子对的示例,其中上面的虚线框为第一句子对,中间的虚线框为第二句子对,下面的虚线框为第三句子对。
通过这样的batch能够使模型学习到更加均匀的向量表征,同时将不同的负样本区分开。
在增量训练过程中使用上述特殊的batch构造方法,使模型在保证推理效率的同时能够学习到更加丰富的语义特征,达到更好的效果。
S730:利用增量训练数据集对双塔训练模型进行增量训练。
优选地,在增量训练后,还包括:
S740:利用目标应用场景的领域内的小样本标注句子对对模型进行微调。
利用弱关联语料进行预训练,同时使用单个句子作为种子数据,通过句法分析等方法进行数据伪造、回译模型等数据增强方法生成增强训练语料,使模型不再依赖大量的高质量相似句子对,节省了数据获取以及人工标注的成本。
相应于上述各实施例及优选方案,本发明还提供了一种基于句子的语义相似度获得装置的实施例,如图11所示,具体可以包括第一语义表征模块1101、第二语义表征模块1102以及相似度计算模块1103。
第一语义表征模块1101用于利用第一编码器获得第一句子的第一语义表征。
第二语义表征模块1102用于利用第一编码器或第二编码器获得第二句子的第二语义表征。
相似度计算模块1103用于计算第一语义表征与第二语义表征之间的相似度,作为两个句子之间的语义相似度。
其中,第一编码器包括第一编码层,第二编码器包括第二编码层和交互层,其中,第一编码层的模型参数与第二编码层的模型参数完全相同,第二编码层的输出数据作为交互层的输入数据,交互层的输出数据作为第二语义表征。
在其中一种可能的实现方式中,在训练阶段,第一编码器和第二编码器组成双塔训练模型。
如图11所示,相似度获得装置还包括模型训练模块1104,模型训练模块1104包括预训练模块11041、增量训练数据集获得模块11042、增量训练模块11043以及微调模块11044。
预训练模块11041用于对双塔训练模型进行预训练。
增量训练数据集获得模块11042用于利用目标应用场景的种子数据生成增量训练数据集。
增量训练模块11043用于利用增量训练数据集对双塔训练模型进行增量训练。
微调模块11044用于利用目标应用场景的领域内的小样本标注句子对对模型进行微调。
在其中一种可能的实现方式中,如图12所示,增量训练数据集获得模块11042包括第一句子对获得模块110421,第一句子对获得模块110421用于通过回译模型对种子数据进行处理,生成第一句子对,作为增量训练数据集的一部分。
在其中一种可能的实现方式中,增量训练数据集获得模块11042还包括第二句子对获得模块110422,第二句子对获得模块110422用于通过句法分析调序方法获得第二句子对,作为增量训练数据集的一部分。
应理解以上图11-12所示的基于句子的语义相似度获得装置的各个部件的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些部件可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分部件以软件通过处理元件调用的形式实现,部分部件通过硬件的形式实现。例如,某个上述模块可以为单独设立的处理元件,也可以集成在电子设备的某一个芯片中实现。其它部件的实现与之类似。此外这些部件全部或部分可以集成在一起,也可以独立实现。在实现过程中,上述方法的各步骤或以上各个部件可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit;以下简称:ASIC),或,一个或多个微处理器(Digital Singnal Processor;以下简称:DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array;以下简称:FPGA)等。再如,这些部件可以集成在一起,以片上系统(System-On-a-Chip;以下简称:SOC)的形式实现。
综合上述各实施例及其优选方案,本领域技术人员可以理解的是,在实际操作中,本发明适用于多种实施方式,本发明以下述载体作为示意性说明:
(1)一种基于句子的语义相似度获得设备,其可以包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述设备执行时,使得所述设备执行前述实施例或等效实施方式的步骤/功能。
图13为本发明基于句子的语义相似度获得设备的实施例的结构示意图,其中,该设备可以是电子设备也可以是内置于上述电子设备的电路设备。上述电子设备可以为PC、服务器、智能终端(手机、平板、手表、眼镜等)、智能电视、音响、音箱、机顶盒、遥控器、智慧屏、柜员机、机器人、无人机、ICV、智能(汽)车及车载设备等。本实施例对基于句子的语义相似度获得设备的具体形式不作限定。
具体如图13所示,基于句子的语义相似度获得设备900包括处理器910和存储器930。其中,处理器910和存储器930之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器930用于存储计算机程序,该处理器910用于从该存储器930中调用并运行该计算机程序。上述处理器910可以和存储器930可以合成一个处理装置,更常见的是彼此独立的部件,处理器910用于执行存储器930中存储的程序代码来实现上述功能。具体实现时,该存储器930也可以集成在处理器910中,或者,独立于处理器910。
除此之外,为了使得基于句子的语义相似度获得设备900的功能更加完善,该设备900还可以包括输入单元960、显示单元970、音频电路980、摄像头990和传感器901等中的一个或多个,所述音频电路还可以包括扬声器982、麦克风984等。其中,显示单元970可以包括显示屏。
进一步地,上述基于句子的语义相似度获得设备900还可以包括电源950,用于给该设备900中的各种器件或电路提供电能。
应理解,图13所示的基于句子的语义相似度获得设备900能够实现前述实施例提供的方法的各个过程。该设备900中的各个部件的操作和/或功能,可分别为了实现上述方法实施例中的相应流程。具体可参见前文中关于方法、装置等实施例的描述,为避免重复,此处适当省略详细描述。
应理解,图13所示的基于句子的语义相似度获得设备900中的处理器910可以是片上系统SOC,该处理器910中可以包括中央处理器(Central Processing Unit;以下简称:CPU),还可以进一步包括其他类型的处理器,例如:图像处理器(Graphics ProcessingUnit;以下简称:GPU)等,具体在下文中再作介绍。
总之,处理器910内部的各部分处理器或处理单元可以共同配合实现之前的方法流程,且各部分处理器或处理单元相应的软件程序可存储在存储器930中。
(2)一种可读存储介质,在可读存储介质上存储有计算机程序或上述装置,当计算机程序或上述装置被执行时,使得计算机执行前述实施例或等效实施方式的步骤/功能。
在本发明所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的某些技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以如下所述软件产品的形式体现出来。
(3)一种计算机程序产品(该产品可以包括上述装置),该计算机程序产品在终端设备上运行时,使终端设备执行前述实施例或等效实施方式的基于句子的语义相似度获得方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,上述计算机程序产品可以包括但不限于是指APP;接续前文,上述设备/终端可以是一台计算机设备(例如手机、PC终端、云平台、服务器、服务器集群或者诸如媒体网关等网络通信设备等)。并且,该计算机设备的硬件结构还可以具体包括:至少一个处理器,至少一个通信接口,至少一个存储器和至少一个通信总线;处理器、通信接口、存储器均可以通过通信总线完成相互间的通信。其中,处理器可能是一个中央处理器CPU、DSP、微控制器或数字信号处理器,还可包括GPU、嵌入式神经网络处理器(Neural-network Process Units;以下简称:NPU)和图像信号处理器(Image Signal Processing;以下简称:ISP),该处理器还可包括特定集成电路ASIC,或者是被配置成实施本发明实施例的一个或多个集成电路等,此外,处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储器等存储介质中;而前述的存储器/存储介质可以包括:非易失性存储器(non-volatile memory),例如非可移动磁盘、U盘、移动硬盘、光盘等,以及只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)等。
本发明实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员可以意识到,本说明书中公开的实施例中描述的各模块、单元及方法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方式来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以及,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可。尤其,对于装置、设备等实施例而言,由于其基本相似于方法实施例,所以相关之处可参见方法实施例的部分说明即可。以上所描述的装置、设备等实施例仅仅是示意性的,其中作为分离部件说明的模块、单元等可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个地方,例如系统网络的节点上。具体可根据实际的需要选择其中的部分或者全部模块、单元来实现上述实施例方案的目的。本领域技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上依据图式所示的实施例详细说明了本发明的构造、特征及作用效果,但以上仅为本发明的较佳实施例,需要言明的是,上述实施例及其优选方式所涉及的技术特征,本领域技术人员可以在不脱离、不改变本发明的设计思路以及技术效果的前提下,合理地组合搭配成多种等效方案;因此,本发明不以图面所示限定实施范围,凡是依照本发明的构想所作的改变,或修改为等同变化的等效实施例,仍未超出说明书与图示所涵盖的精神时,均应在本发明的保护范围内。
Claims (18)
1.一种基于句子的语义相似度获得方法,其特征在于,包括:
利用第一编码器获得第一句子的第一语义表征;
利用所述第一编码器或第二编码器获得第二句子的第二语义表征;
计算所述第一语义表征与所述第二语义表征之间的相似度,作为两个句子之间的语义相似度;
其中,所述第一编码器包括第一编码层,所述第二编码器包括第二编码层和交互层,其中,所述第一编码层的模型参数与所述第二编码层的模型参数完全相同,所述第二编码层的输出数据作为所述交互层的输入数据,所述交互层的输出数据作为所述第二语义表征。
2.根据权利要求1所述的基于句子的语义相似度获得方法,其特征在于,所述第一编码器还包括平均池化层,所述第一编码层的输出数据为所述平均池化层的输入数据,所述平均池化层的输出数据为所述第一语义表征。
3.根据权利要求1所述的基于句子的语义相似度获得方法,其特征在于,所述交互层包括第一子交互层和第二子交互层;
所述第一子交互层利用多个初始化向量对所述第二编码层的输出数据进行第一交互操作,获得第一交互结果;
所述第二子交互层利用所述第一交互结果对所述第一语义表征进行第二交互操作,获得第二交互结果,作为所述第二语义表征。
4.根据权利要求1所述的基于句子的语义相似度获得方法,其特征在于,在训练阶段,所述第一编码器和所述第二编码器组成双塔训练模型,并利用所述第二编码器的交互层输出数据与所述第一编码器的输出数据之间的对比损失函数值对所述双塔训练模型进行优化。
5.根据权利要求4所述的基于句子的语义相似度获得方法,其特征在于,对所述双塔训练模型进行训练包括:
对所述双塔训练模型进行预训练;
利用目标应用场景的种子数据生成增量训练数据集;
利用所述增量训练数据集对所述双塔训练模型进行增量训练。
6.根据权利要求5所述的基于句子的语义相似度获得方法,其特征在于,利用目标应用场景的种子数据生成增量训练数据集,具体包括:
通过回译模型对所述种子数据进行处理,生成第一句子对,作为所述增量训练数据集的一部分。
7.根据权利要求6所述的基于句子的语义相似度获得方法,其特征在于,利用目标应用场景的种子数据生成增量训练数据集,还包括:
通过句法分析调序方法获得第二句子对,作为所述增量训练数据集的一部分。
8.根据权利要求5所述的基于句子的语义相似度获得方法,其特征在于,对所述双塔训练模型进行训练还包括:
在所述增量训练后,利用目标应用场景所属的领域内的小样本标注句子对地模型进行微调。
9.根据权利要求7所述的基于句子的语义相似度获得方法,其特征在于,所述增量训练的输入数据中,所述第二句子对的比例在第一预设范围内。
10.根据权利要求5或9所述的基于句子的语义相似度获得方法,其特征在于,所述增量训练的输入数据包括第三句子对,所述第三句子对中两个句子完全相同。
11.根据权利要求10所述的基于句子的语义相似度获得方法,其特征在于,所述增量训练的输入数据中,所述第三句子对的比例在第二预设范围内。
12.根据权利要求5所述的基于句子的语义相似度获得方法,其特征在于,预训练数据集包括多个第四句子对,所述第四句子对中两个句子的关联度小于阈值。
13.一种基于句子的语义相似度获得装置,其特征在于,包括第一语义表征模块、第二语义表征模块以及相似度计算模块;
所述第一语义表征模块用于利用第一编码器获得第一句子的第一语义表征;
所述第二语义表征模块用于利用所述第一编码器或第二编码器获得第二句子的第二语义表征;
所述相似度计算模块用于计算所述第一语义表征与所述第二语义表征之间的相似度,作为两个句子之间的语义相似度;
其中,所述第一编码器包括第一编码层,所述第二编码器包括第二编码层和交互层,其中,所述第一编码层的模型参数与所述第二编码层的模型参数完全相同,所述第二编码层的输出数据作为所述交互层的输入数据,所述交互层的输出数据作为所述第二语义表征。
14.根据权利要求13所述的基于句子的语义相似度获得装置,其特征在于,在训练阶段,所述第一编码器和所述第二编码器组成双塔训练模型;
所述相似度获得装置还包括模型训练模块,所述模型训练模块包括预训练模块、增量训练数据集获得模块以及增量训练模块;
所述预训练模块用于对所述双塔训练模型进行预训练;
所述增量训练数据集获得模块用于利用目标应用场景的种子数据生成增量训练数据集;
所述增量训练模块用于利用所述增量训练数据集对所述双塔训练模型进行增量训练。
15.根据权利要求14所述的基于句子的语义相似度获得装置,其特征在于,所述增量训练数据集获得模块包括第一句子对获得模块,所述第一句子对获得模块用于通过回译模型对所述种子数据进行处理,生成第一句子对,作为所述增量训练数据集的一部分。
16.根据权利要求15所述的基于句子的语义相似度获得装置,其特征在于,所述增量训练数据集获得模块还包括第二句子对获得模块,所述第二句子对获得模块用于通过句法分析调序方法获得第二句子对,作为所述增量训练数据集的一部分。
17.一种基于句子的语义相似度获得设备,其特征在于,包括:
一个或多个处理器、存储器以及一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述基于句子的语义相似度获得设备执行时,使得所述基于句子的语义相似度获得设备执行如权利要求1~12任一项所述的基于句子的语义相似度获得方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如权利要求1~12任一项所述的基于句子的语义相似度获得方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111652611.0A CN114330367A (zh) | 2021-12-30 | 2021-12-30 | 一种基于句子的语义相似度获得方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111652611.0A CN114330367A (zh) | 2021-12-30 | 2021-12-30 | 一种基于句子的语义相似度获得方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114330367A true CN114330367A (zh) | 2022-04-12 |
Family
ID=81018798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111652611.0A Pending CN114330367A (zh) | 2021-12-30 | 2021-12-30 | 一种基于句子的语义相似度获得方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114330367A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116721309A (zh) * | 2023-06-13 | 2023-09-08 | 南京邮电大学 | 一种口腔语义模型训练方法、口腔锥形束ct图像的优化方法及装置 |
-
2021
- 2021-12-30 CN CN202111652611.0A patent/CN114330367A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116721309A (zh) * | 2023-06-13 | 2023-09-08 | 南京邮电大学 | 一种口腔语义模型训练方法、口腔锥形束ct图像的优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309267B (zh) | 基于预训练模型的语义检索方法和系统 | |
CN112100383B (zh) | 一种面向多任务语言模型的元-知识微调方法及平台 | |
Cai et al. | Audio‐Textual Emotion Recognition Based on Improved Neural Networks | |
CN109815336B (zh) | 一种文本聚合方法及系统 | |
CN112269868B (zh) | 一种基于多任务联合训练的机器阅读理解模型的使用方法 | |
CN110619051B (zh) | 问题语句分类方法、装置、电子设备及存储介质 | |
CN113239169A (zh) | 基于人工智能的回答生成方法、装置、设备及存储介质 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN117390497B (zh) | 基于大语言模型的类目预测方法、装置和设备 | |
Yan et al. | Leveraging contextual sentences for text classification by using a neural attention model | |
CN116956835A (zh) | 一种基于预训练语言模型的文书生成方法 | |
CN115759119A (zh) | 一种金融文本情感分析方法、系统、介质和设备 | |
CN111581379A (zh) | 一种基于作文扣题度的自动作文评分计算方法 | |
CN114330367A (zh) | 一种基于句子的语义相似度获得方法、装置以及设备 | |
CN117875395A (zh) | 多模态预训练模型的训练方法、装置及存储介质 | |
CN113486143A (zh) | 一种基于多层级文本表示及模型融合的用户画像生成方法 | |
Ma et al. | Multi-scale cooperative multimodal transformers for multimodal sentiment analysis in videos | |
CN117033961A (zh) | 一种上下文语境感知的多模态图文分类方法 | |
CN113723111B (zh) | 一种小样本意图识别方法、装置、设备及存储介质 | |
CN116821781A (zh) | 分类模型的训练方法、文本分析方法及相关设备 | |
Mu et al. | MOCOLNet: A Momentum Contrastive Learning Network for Multimodal Aspect-Level Sentiment Analysis | |
CN113536797A (zh) | 一种切片文档关键信息单模型抽取方法及系统 | |
CN114328978B (zh) | 关系抽取方法、装置、设备及可读存储介质 | |
CN115062229B (zh) | 基于新闻评论的过滤以及情感分析方法 | |
CN117933231B (zh) | 文本纠错及纠错模型训练方法、装置、电子设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |