本说明书属于计算机技术领域,尤其涉及一种语义相似度确定方法、装置及处理设备。
背景技术:
随着计算机技术的发展,许多业务需要使用计算机技术进行自然语言处理,例如:搜索引擎、智能服务等。在进行自然语言处理时,通常会进行语义相似度的计算,一般会使用智能学习模型进行语义相似度的计算。如何能够准确快速的进行语义相似度的计算是本领域亟需解决的技术问题。
技术实现要素:
本说明书实施例的目的在于提供一种语义相似度确定方法、装置及处理设备,提高了语义相似度确定的准确性和效率。
一方面,本说明书实施例提供了一种语义相似度确定方法,所述方法包括:
获取待处理文本;
利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
另一方面,本说明书提供了一种用于语义相似度计算的模型训练构建方法,所述方法包括:
获取待训练的语义相似度模型中的语句语义确定子模型和交叉语义确定子模型的模型参数;
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据,所述样本数据为文本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述交叉语义确定子模型进行预训练,调整所述交叉语义确定子模型的模型参数;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和所述语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,调整所述语句语义确定子模型的模型参数,直至满足训练要求,构建出所述语义相似度模型。还一方面,本说明书提供了一种语义相似度确定装置,包括:
文本获取模块,用于获取待处理文本;
模型预测模块,用于利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
相似度确定模块,用于根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
还一方面,本说明书实施例提供了一种语义相似度确定处理设备,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述语义相似度确定方法。
本说明书提供的语义相似度确定方法、装置及处理设备,预先建立的语义相似度模型从两个不同的角度处理句子对,既考虑了文本句子的维度,又结合了文本单词级交叉矩阵的角度。在需要对待处理文本进行语义相似度的计算时,可以直接利用建立好的语义相似度模型中的语句语义确定子模型对待处理文本分别进行语义编码,将待处理文本分别转换为向量表示,基于转换后的向量对待处理文本进行相似度计算。在确保语义相似度计算效率的基础上,提高了语义相似度计算的准确性。利用本说明书实施例中的语义相似度模型可以快速、准确的确定出两个文本之间的语义相似度。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书一个示例中智能客服的数据交互流程示意图;
图2是本说明书实施例提供的语义相似度确定方法实施例的流程示意图;
图3是本说明书一些实施例中语义相似度模型的原理结构示意图;
图4是本说明书一些实施例中语义相似度模型的构建过程的示意图;
图5是本说明书提供的语义相似度确定装置一个实施例的模块结构示意图;
图6是本说明书一个实施例中语义相似度确定服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着计算机互联网技术的发展,人们的日常生活和工作都离不开计算机,但是自然语言和计算机语言是不同的,需要利用计算机对自然语言进行识别分析。在利用计算机技术对自然语言进行分析处理时,通常需要语义相似度的匹配计算,对于文本间与相似度的计算,一般可以使用机器学习模型。例如:bert(bidirectionalencoderrepresentationfromtransformers)通过对两个句子进行交叉编码,确定两个句子之间的相似度。然而,当候选句子对没有预先给出时,对于n个句子,合并的计算复杂度为n^2,吞吐量非常大,这样可能导致在信息检索任务中落地时产生了困难。
图1是本说明书一个示例中智能客服的数据交互流程示意图,如图1所示,本说明书一些实施例中,用户可以通过用户终端向服务器如:智慧沟通平台发起提问,服务器可以将接收到的问题转发给智能客服端,其中智能客服端可以理解为是问答机器人。问答机器人可以将用户输入的问题与知识库中的问题进行匹配,匹配的过程,需要计算用户输入的问题域知识库中问题之间的语义相似度,根据相似度确定出用户提问的问题以及对应的答案,并为用户返回对应的答案。本说明书实施例提供一种语义相似度确定方法,可以预先建立语义相似度模型,该语义相似度模型综合了文本语句的相似度以及文本单词级的相似度进行训练构建获得。基于构建出的语义相似度可以对待处理文本进行语义相似度的计算。
图2是本说明书实施例提供的语义相似度确定方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
具体的一个实施例如图2所示,本说明书提供的语义相似度确定方法的一个实施例中,所述方法可以用于客户端(如:智能手机、平板电脑、计算机、车载设备、智能穿戴设备等)、服务器等终端,所述方法可以包括如下步骤:
步骤202、获取待处理文本。
在具体的实施过程中,待处理文本可以指需要进行语义相似度确定的自然语言文本,待处理文本的形式可以根据实际需要而不同,如:可以是文字、图片、视频、语音等,本说明书实施例不作具体限定。待处理文本的数量可以是两个或多个,具体根据实际情况而定。
例如:若需要计算两句话之间的语义相似度,则待处理文本可以是两句话,若需要从一个数据集合中找出与某特定文本的匹配文本,则待处理文本可以是该特征文本以及数据集合中的文本。
步骤204、利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的。
在具体的实施过程中,可以预先训练构建一个语义相似度模型,该语义相似度模型可以用于计算两个文本之间的语义相似度。本说明书实施例中的语义相似度模型可以包括两个部分:语句语义确定子模型和交叉语义确定子模型,其中,语句语义确定子模型可以根据两个文本的句子编码的拼接确定出两个文本之间的相似度,交叉语义确定子模型可以根据两个文本的单词级交互矩阵确定出两个文本之间的相似度。例如:语句语义确定子模型可以采用siamesebert模型即双塔模型,siamesebert模型可以将两个句子分别编码成语义表示,然后进行余弦相似度测量,如:可以先将两个句子转换为顺序向量,然后分别计算出两个句子顺序向量的平均值,采用合适的合并策略,计算这两个句子之间的相似度。交叉语义确定子模型可以理解为crosssentenceinteraction,可以对两个句子的单词进行交叉匹配,根据两个句子的跨单词的交互矩阵来确定出两个句子之间的相似度。语句语义确定子模型和交叉语义确定子模型的具体模型结构和算法的选择可以根据实际需要而定,本说明书实施例不作具体限定。
此外,本说明书实施例中的语义相似度模型中的语句语义确定子模型是以预训练好的交叉语义确定子模型输出的结果为训练目标进行模型训练构建的,即在进行语义相似度模型时,可以先对交叉语义确定子模型进行预训练,再将预训练好的交叉语义确定子模型的模型输出(如交叉语义确定子模型输出的两个句子的语义相似度的概率值)作为语句语义确定子模型的训练目标对语句语义确定子模型进行模型训练,以构建出语义相似度模型。可以看出,本说明书实施例中的语义相似度模型可以理解为包括两层模型,上层为交叉语义确定子模型,该交叉语义相似度确定模型的输出可以作为下层语句语义确定子模型的模型训练目标。其中,语句语义确定子模型是基于两个文本之间的句子编码计算语义相似度的,计算效率比较快,交叉语义确定子模型是对两个文本单词级进行数据处理,计算语义相似度,语义相似度计算的准确性和计算效果比较好。
构建出语义相似度模型后,当需要对新的文本进行语义相似度的计算时,可以利用语义相似度模型中的语句语义确定子模型即siamesebert模型可以将待处理文本分别编码成语义表示,即将待处理文本分别转换为对应的向量表示,然后进行余弦相似度测量,获得语义相似度模型的输出结果。可以将待处理文本分别输入到语义相似度模型中,并不需要对待处理文本进行拼接处理,语义相似度模型中的语句语义确定子模型可以直接对待处理文本分别进行语义编码,转换成向量表示,通过相似度距离计算两个文本之间的相似度。本说明书实施例中的语义相似度模型在训练构建时,语句语义确定子模型是在交叉语义确定子模型的基础上训练构建的,交叉语义确定子模型可以理解为语句语义确定子模型的老师,语句语义确定子模型已经学习了交叉语义确定子模型的能力。在实际使用时,可以直接利用语义确定模型中的语句语义确定子模型的计算结果确定出待处理文本之间的语义相似度,使得语义相似度的计算结果既保证了语句语义确定子模型的计算效率,又拥有了交叉语义确定子模型语义相似度计算的准确性。
步骤206、根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
在具体的实施过程中,获取到语义相似度模型的输出结果后,可以根据语义相似度模型的输出结果确定出待处理文本之间的语义相似度。如:若待处理文本为两个文本,则可以直接根据语义相似度模型的输出结果的数值大小,数值越大则可以认为两个文本之间的语义越相似。若待处理文本有多个,是为了选择特定文本的匹配文本,则可以根据语义相似度模型的输出结果,选择数值最大的作为特定文本的匹配文本。
本说明书实施例提供的语义相似度确定方法,预先建立的语义相似度模型从两个不同的角度处理句子对,既考虑了文本句子拼接相似度计算的维度,又结合了文本单词级交叉矩阵相似度计算的角度。在需要对待处理文本进行语义相似度的计算时,可以利用建立好的语义相似度模型中的语句语义确定子模型对待处理文本分别进行语义编码,将待处理文本分别转换为向量表示,基于转换后的向量对待处理文本进行相似度计算。在确保语义相似度计算效率的基础上,提高了语义相似度计算的准确性。利用本说明书实施例中的语义相似度模型可以快速、准确的确定出两个文本之间的语义相似度。
在上述实施例的基础上,本说明书实施例中的语义相似度模型被设置为按照下述方法进行构建:
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述语义相似度模型中的交叉语义确定子模型进行预训练;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,直至满足训练要求,构建出所述语义相似度模型。
在具体的实施过程中,本说明书一些实施例在训练构建语义相似度模型时,可以先获取第一样本数据集,该第一样本数据集中可以包括多个带有标签的样本数据,样本数据可以是句子对(即文本对)。例如:可以从语义相似度确定的历史数据中,获取已知语义相似度的句子对作为样本数据,如:文本1和文本2是具有语义相似度比较高已经被确定为有相似度的一对文本,文本3和文本4是语义相似度很低被确定为没有相似度的一对文本,是否有相似度可以作为样本数据的标签。标签可以是从语义相似度确定的历史数据中获取,也可以由人工标记,具体可以根据实际需要而定,本说明书实施例不作具体限定。可以利用第一样本数据集中的带有标签的样本数据对语义相似度模型中的交叉语义确定子模型进行模型训练,如:可以将样本数据作为交叉语义确定子模型的输入,将样本数据对应的标签作为交叉语义确定子模型的训练目标,进行模型的学习训练,调整交叉语义确定子模型的模型参数,直至满足训练条件,如:训练次数达到一定次数,或模型输出的精度达到一定的精度,则交叉语义确定子模型训练完成。再将样本数据作为交叉语义确定子模型的输入时,可以将样本数据进行分词等处理后获得两个句子的单词级交互矩阵后输入到交叉语义确定子模型中,或者利用交叉语义确定子模型对输入的样本数据进行分词等处理,获得两个句子的单词级交互矩阵,基于单词级交互矩阵计算两个样本数据之间的相似度,结合样本数据对应的标签对模型进行预训练。
在本说明书一些实施例中部,交叉语义确定子模型可以理解为一种预训练模型,是语句语义确定子模型的老师。预训练模型可以理解为为了解决类似问题所创造出来的模型,不用从零开始训练一个新模型,可以从在类似问题中训练过的模型入手。
交叉语义确定子模型训练完成后,可以将第二样本数据集中的样本数据输入到语义相似度模型中的语句语义确定子模型以及训练好的交叉语义确定子模型中,将训练好的交叉语义确定子模型的输出结果作为语句语义确定子模型训练的训练目标,对语句语义确定子模型进行训练,直至满足训练要求,如:训练次数达到一定次数,或模型输出的精度达到一定的精度,则语句语义确定子模型训练完成,构建出所述语义相似度模型。其中,第二样本数据集与第一样本数据集可以是相同的样本数据集,也可以是不同的样本数据集。可以将相同的需要预测的数据(可以是第一样本数据集中的样本数据,也可以第二样本数据集中的样本数据)输入到交叉语义确定子模型和语句语义确定子模型中,将交叉语义确定子模型计算出的该样本数据的语义相似度的概率值作为语句语义确定子模型的训练目标,对语句语义确定子模型进行模型训练。语句语义确定子模型以交叉语义确定子模型的预测结果为训练目标,可以理解为一种对语句语义确定子模型进行模型蒸馏的过程,以学习交叉语义确定子模型的能力。模型蒸馏可以理解为一种知识蒸馏(knowledgedistillation),目的是把一个大模型或者多个模型ensemble(集成)学到的知识迁移到另一个轻量级单模型上,方便部署。
本说明书一些实施例中,可以利用预训练好的交叉语义确定子模型对第一样本数据集中的样本数据进行重新标记,如:可以将第一样本数据集中的样本数据输入到预训练好的交叉语义确定子模型中,交叉语义确定子模型可以计算出各个样本数据对应的语义相似度的概率值,可以将交叉语义确定子模型计算出的语义相似度的概率值作为样本数据的计算标签。将交叉语义确定子模型确定出的样本数据的计算标签添加到第一样本数据集中,添加了计算标签的第一样本数据集可以作为第二样本数据集。将第二样本数据集中的样本数据输入到语句语义确定子模型中,将交叉语义确定子模型确定出的样本数据的计算标签作为训练目标,对语句语义确定子模型进行模型训练。利用预训练好的交叉语义确定子模型对样本数据进行重新标记,以作为语句语义确定子模型的训练目标,使得语句语义确定子模型可以学习交叉语义确定子模型的能力。本说明书实施例,先利用样本数据集对交叉语义确定子模型进行模型训练,再基于训练好的交叉语义确定子模型对样本数据的预测结果,对语句语义确定子模型进行模型训练。同时考虑了文本语句拼接以及单词交叉两个角度,语句语义确定子模型将交叉语义确定子模型作为老师,学习了交叉语义确定子模型的能力,既确保了语义相似度确定的效率,又提高了语义相似度计算的准确性。
在上述实施例的基础上,本说明书一些实施例中,所述方法还包括:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
在具体的实施过程中,在对语义相似度模型中的语句语义确定子模型进行训练时,可以将训练好的交叉语义确定子模型的输出结果(可以为交叉语义确定子模型的输出的相似度的概率值)作为语句语义确定子模型训练的训练软目标,将第二样本数据集中样本数据的标签作为语句语义确定子模型训练的训练硬目标,综合训练软目标和训练硬目标确定出语句语义确定子模型的训练目标。如:可以对训练软目标和训练硬目标进行加权平均计算,确定出语句语义确定子模型的训练目标,或者通过数学统计等方式确定出训练目标的计算公式,按照一定的计算公式,综合训练软目标和训练硬目标确定出语句语义确定子模型的训练目标,本说明书实施例不作具体限定。
例如:利用预训练好的交叉语义确定子模型对第一样本数据集中的样本数据进行重新标记,计算出样本数据对应的计算标签,并将计算标签添加到第一样本数据集中获得第二样本数据集后。可以将第二样本数据集中的样本数据输入到语句语义确定子模型中,并将第二样本数据集中样本数据对应的标签作为训练硬目标,将样本数据对应的计算标签作为训练软目标,综合训练硬目标和训练软目标确定出语句语义确定子模型的训练目标后,对语句语义确定子模型进行训练。
本说明书实施例,综合了样本数据的标签以及训练好的交叉语义确定子模型的输出结果,确定出拼接语义确定模型的训练目标,既学习了样本数据本身确定的属性,又学习了交叉语义确定子模型的能力,提高了语义相似度确定的效率和准确性。
在上述实施例的基础上,本说明书一些实施例中,所述根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标,包括:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
在具体的实施过程中,可以为训练软目标和训练硬目标分别设置权重,即软目标权重和硬目标权重,通常情况下,软目标权重和硬目标权重的和为1,并且软目标权重和硬目标权重是变量,可以随着对语句语义确定子模型的训练过程而不断改变。其中,在语句语义确定子模型训练开始时,硬目标权重小于软目标权重,软目标权重是随着对语句语义确定子模型的训练过程不断递减,硬目标权重则随着语句语义确定子模型的训练过程不断递增,但仍保证软目标权重和硬目标权重的和为1。如:可以将硬目标权重设置为λ,软目标权重设置为1-λ,随着语句语义确定子模型的训练λ逐渐增加。本说明书一些实施例中,可以在语句语义确定子模型训练开始时将软目标权重λ设置为0,这样可以确保在语句语义确定子模型训练初期具有比较丰富的训练样本,以提高模型训练的速度,随着语句语义确定子模型的训练过程λ可以从0到1逐渐增加,以提高语句语义确定子模型的准确度。语句语义确定子模型的训练目标则可以根据训练硬目标以及对应的硬目标权重、训练软目标以及对应的软目标权重确定获得,如:可以将训练硬目标和目标权重的乘积与训练软目标和软目标权重的乘积的和作为语句语义确定子模型的训练目标。本说明书实施例,将样本数据原本的标签即训练硬目标以及交叉语义确定子模型对样本数据的预测结果集训练软目标分别设置权重值,并随着对语句语义确定子模型的训练,逐渐改变训练软目标和训练硬目标对应的权重。并且,在语句语义确定子模型训练开始时训练软目标的权重大于硬目标权重,可以确保在语句语义确定子模型训练初期具有比较丰富的训练样本,以提高模型训练的速度,随着语句语义确定子模型不断收敛,逐渐增加硬目标权重的数值,可以提高语句语义确定子模型的准确度。
在上述实施例的基础上,本说明书一些实施例中,所述交叉语义确定子模型有多个,各个交叉语义确定子模型的结构不同,所述语句语义确定子模型以各个训练好的交叉语义确定子模型输出的结果为训练目标进行模型训练。
在具体的实施过程中,图3是本说明书一些实施例中语义相似度模型的原理结构示意图,如图3所示,本说明书实施例中语义相似度模型中的交叉语义确定子模型可以有多个,各个交叉语义确定子模型的结构可以不同,即本说明书实施例中可以为语句语义确定子模型提供多个老师。图3中交叉语义确定子模型即crosssentenceinteraction模块可以有3中模型即:bert、roberta、albert,其中,roberta模型是bert的改进版(从其名字来看,arobustlyoptimizedbert,即简单粗暴称为强力优化的bert方法),roberta建立在bert的语言掩蔽策略的基础上,修改bert中的关键超参数,包括删除bert的下一个句子训练前目标,以及使用更大的bacthsize和学习率进行训练。roberta也接受了比bert多一个数量级的训练,时间更长。这使得roberta表示能够比bert更好地推广到下游任务。albert(alitebert,一个精简的bert)模型提出了两种减少内存的方法,同时提升了训练速度,其次改进了bert中的nsp的预训练任务。当然,根据实际需要,交叉语义确定子模型的数量和类型可以自行定义设置,本说明书实施例不作具体限定。如图3所示,语句语义确定子模型siamesebert可以依次向crosssentenceinteraction模块中三个交叉语义确定子模型bert、roberta、albert进行学习,即可以分别将各个训练好的交叉语义确定子模型输出的结果(如:交叉语义确定子模型输出的相似度预测值)作为训练目标对语句语义确定子模型siamesebert进行模型训练,可以理解为一种模型蒸馏,通过向多个交叉语义确定子模型进行学习,将各个交叉语义确定子模型的能力集成到语句语义确定子模型中,以提高语义确定的准确性和效率。
例如:本说明书一些实施例中,可以采用下述公式的损失函数对语句语义确定子模型进行模型训练:
其中,
上述公式中的λ初始可以设置为0,随着语句语义确定子模型的训练过程可以将λ从0到1逐渐增加,即在语句语义确定子模型训练初期只基于交叉语义确定子模型的训练硬目标进行学习,具有比较丰富的训练样本,以提高模型训练的速度。随着语句语义确定子模型的训练过程λ可以从0到1逐渐增加,不断加重训练硬目标的权重,以提高语句语义确定子模型的准确度。
下面结合图3具体介绍本说明书实施例中语义相似度确定的方案:
如图3所示,本说明书实施例实际上提供了一种mv-sbert即多视角语义相似度确定模型bert,主要可以包含两个组件,分别对应于语句语义确定子模型即siamesebert模块和交叉语义确定子模型即crosssentenceinteraction模块,其中:(1)siamesebert模块将两个句子分别编码成语义表示,然后进行余弦相似度测量;(2)crosssentenceinteraction模块对两个句子之间的单词级对齐进行建模。通常,后一种方法比前一种方法具有更好的性能。
如图3所示,本说明书一些示例中,对于给定两个句子s=[s1,...,sm],t=[t1,...,tn],利用siamesebert可以将两个句子转换为两个顺序向量,即zs=bert(s),zt=bert(t)。可以计算所有输出的顺序向量的平均值u、v,可以将u、v和|u−v|串联成完全连接的图层,该图层将投影隐藏的尺寸变成概率分布。图3中,mean可以理解为简单均值回归策略,[cls]可以表示该特征用于分类模型,[sep]可以表示分句符号,用于断开输入语料中的两个句子。对于crosssentenceinteraction模块可以理解为是为siamesebert添加的多个辅助的不同的预训练模型,引入了跨单词的交互矩阵以丰富单词级别互动功能。每个交叉语义确定子模型首先进行带标签数据的预训练,充当“老师”来重新标记数据并将其添加到新的训练集中。具体来说,如图3(顶部)所示,我们将句子对s和t成为文本序列[[cls],s,[sep],t,[sep]]。[cls]可以被视为输入句子对的聚合语义缺口,它用于预测句子对是否预训练期间是否连贯,最终以softmax层作为分类器。
如图3所示,图中crosssentenceinteraction模块和siamesebert模块之间的实线箭头可以表示要向训练硬目标(即样本数据自身带有的标签)学习,而虚线的箭头可以表示模型蒸馏过程,即siamesebert向crosssentenceinteraction中的交叉语义确定子模块学习。其中,siamesebert不仅需要向训练硬目标学习,同时还向交叉语义确定子模块学习。
本说明书实施例,提出了一种多视角的mv-sbert,从两个不同的角度处理句子对,即siameseview(双塔视角)和interactionview(交互视角)。siameseview用于生成主要视图,interactionview集成了交叉编码的bert作为辅助视图,提高了句子嵌入的表示能力。siamesebert保证了检索速度上的效率,和crosssentenceinteraction模块联合起来训练提高了siamesebert的效果且速度上不会发生改变。经过实验表明,该方法在有监督和无监督环境下均优于最新的句子嵌入方法,能够准确快速的确定出文本间的语义相似度。
在上述实施例的基础上,本说明书一些实施例中,还可以提供一种语义相似度模型的训练构建方法,该语义相似度模型可以用于计算或预测两个文本之间的语义相似度,图4是本说明书一些实施例中语义相似度模型的构建过程的示意图,如图4所示,本说明书实施例中的语义相似度模型的构建可以参考如下:
步骤402、获取待训练的语义相似度模型中的语句语义确定子模型和交叉语义确定子模型的模型参数。
可以预先设计语义相似度模型的模型架构以及模型参数,本说明书实施例中的语义相似度模型可以包括语句语义确定子模型和交叉语义确定子模型,其中,语句语义确定子模型可以根据两个文本的句子编码的拼接确定出两个文本之间的相似度,可以采用siamesebert模型。交叉语义确定子模型可以根据两个文本的单词级交互矩阵确定出两个文本之间的相似度,交叉语义确定子模型可以有多个模型,如:可以选择bert、roberta、albert。可以根据实际需要设置或定义模型参数,如:全连接层数等等,本说明书实施例不作具体限定。
步骤404、获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据,所述样本数据为文本数据。
构建出语义相似度模型的模型架构或模型参数后,可以获取带有标签的多个样本数据即第一样本数据集,本说明书实施例中的第一样本数据集和第二样本数据集中的样本数据可以是文本数据,如:句子对,具体形式可以参考上述实施例的记载。
步骤406、利用所述第一样本数据集中的样本数据以及对应的标签对所述交叉语义确定子模型进行预训练,调整所述交叉语义确定子模型的模型参数。
可以利用第一样本数据集对交叉语义确定子模型进行预训练,调整交叉语义确定子模型的模型参数,直至符合要求,具体预训练的过程可以参考上述实施例的记载,此处不再赘述。
步骤408、将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和所述语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,调整所述语句语义确定子模型的模型参数,直至满足训练要求,构建出所述语义相似度模型。
交叉语义确定子模型预训练好之后,可以利用预训练好的交叉语义确定子模型对语句语义确定子模型进行训练,即可以将交叉语义确定子模型的输出结果作为语句语义确定子模型训练的训练目标,对语句语义确定子模型进行训练。例如:可以利用预训练好的交叉语义确定子模型对第一样本数据集中的样本数据进行重新标记,将重新标记的计算标签添加到第一样本数据集中,获得第二样本数据集。将第二样本数据集中的样本数据输入到语句语义确定子模型中,将交叉语义确定子模型确定出的样本数据的计算标签作为训练目标,对语句语义确定子模型进行模型训练。语句语义确定子模型在进行语义相似度的计算时考虑的是句子维度,交叉语义确定子模型进行语义相似度的计算时考虑的是单词交互维度,同时考虑了文本语句拼接以及单词交叉两个角度,语句语义确定子模型将交叉语义确定子模型作为老师,学习了交叉语义确定子模型的能力,是的训练出的语义相似度模型既确保了语义相似度确定的效率,又提高了语义相似度计算的准确性。
在上述实施例的基础上,所述方法还包括:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
在对语义相似度模型中的语句语义确定子模型进行训练时,可以将训练好的交叉语义确定子模型的输出结果(可以为交叉语义确定子模型的输出的相似度的概率值)作为语句语义确定子模型训练的训练软目标,将第二样本数据集中样本数据的标签作为语句语义确定子模型训练的训练硬目标,综合训练软目标和训练硬目标确定出语句语义确定子模型的训练目标。综合了样本数据的标签以及训练好的交叉语义确定子模型的输出结果,确定出拼接语义确定模型的训练目标,既学习了样本数据本身确定的属性,又学习了交叉语义确定子模型的能力,提高了语义相似度确定的效率和准确性。
在上述实施例的基础上,本说明书一些实施例中,所述根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标,包括:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
在具体的实施过程中,可以为训练软目标和训练硬目标分别设置权重,即软目标权重和硬目标权重,通常情况下,软目标权重和硬目标权重的和为1,并且软目标权重和硬目标权重是变量,可以随着对语句语义确定子模型的训练过程而不断改变。其中,在语句语义确定子模型训练开始时,硬目标权重小于软目标权重,软目标权重是随着对语句语义确定子模型的训练过程不断递减,硬目标权重则随着语句语义确定子模型的训练过程不断递增,但仍保证软目标权重和硬目标权重的和为1。如:可以将硬目标权重设置为λ,软目标权重设置为1-λ,随着语句语义确定子模型的训练λ逐渐增加。本说明书一些实施例中,可以在语句语义确定子模型训练开始时将软目标权重λ设置为0,这样可以确保在语句语义确定子模型训练初期具有比较丰富的训练样本,以提高模型训练的速度,随着语句语义确定子模型的训练过程λ可以从0到1逐渐增加,以提高语句语义确定子模型的准确度。语句语义确定子模型的训练目标则可以根据训练硬目标以及对应的硬目标权重、训练软目标以及对应的软目标权重确定获得,具体可以参考上述实施例的记载,此处不再赘述。
需要说明的是关于语义相似度模型的构建方法还可以参考上述语义相似度确定方法的实施例包括其他的实施方式,此处不再赘述。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方法实施例的部分说明即可。
基于上述所述的语义相似度确定方法,本说明书一个或多个实施例还提供一种用于语义相似度确定的系统。所述系统可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图5是本说明书提供的语义相似度确定装置一个实施例的模块结构示意图,如图5所示,本说明书中提供的语义相似度确定装置可以包括:文本获取模块51、模型预测模块52、相似度确定模块53,其中:
文本获取模块51,可以用于获取待处理文本;
模型预测模块52,可以用于利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
相似度确定模块53,可以用于根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
本说明书实施例提供的语义相似度确定装置,预先建立的语义相似度模型从两个不同的角度处理句子对,既考虑了文本句子的维度,又结合了文本单词级交叉矩阵的角度。在需要对待处理文本进行语义相似度的计算时,可以直接利用建立好的语义相似度模型中的语句语义确定子模型对待处理文本分别进行语义编码,将待处理文本分别转换为向量表示,基于转换后的向量对待处理文本进行相似度计算。在确保语义相似度计算效率的基础上,提高了语义相似度计算的准确性。语义相似度模型在训练构建时,语句语义确定子模型是在交叉语义确定子模型的基础上训练构建的,交叉语义确定子模型可以理解为语句语义确定子模型的老师,语句语义确定子模型已经学习了交叉语义确定子模型的能力。在实际使用时,可以直接利用语义确定模型中的语句语义确定子模型的计算结果确定出待处理文本之间的语义相似度,使得语义相似度的计算结果既保证了语句语义确定子模型的计算效率,又拥有了交叉语义确定子模型的准确性。
在上述实施例的基础上,所述装置还包括模型构建模块用于按照下述方法进行构建所述语义相似度模型:
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述语义相似度模型中的交叉语义确定子模型进行预训练;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,直至满足训练要求,构建出所述语义相似度模型。
本说明书实施例,先利用样本数据集对交叉语义确定子模型进行模型训练,再基于训练好的交叉语义确定子模型对样本数据的预测结果,对语句语义确定子模型进行模型训练。同时考虑了文本语句拼接以及单词交叉两个角度,语句语义确定子模型将交叉语义确定子模型作为老师,学习了交叉语义确定子模型的能力,即确保了语义相似度确定的效率,又提高了语义相似度计算的准确性。
在上述实施例的基础上,本说明书一些实施例中,所述模型构建模块还用于:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
本说明书实施例,综合了样本数据的标签以及训练好的交叉语义确定子模型的输出结果,确定出拼接语义确定模型的训练目标,既学习了样本数据本身确定的属性,又学习了交叉语义确定子模型的能力,提高了语义相似度确定的效率和准确性。
在上述实施例的基础上,本说明书一些实施例中,所述模型构建模块具体用于:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
本说明书实施例,将样本数据原本的标签即训练硬目标以及交叉语义确定子模型对样本数据的预测结果集训练软目标分别设置权重值,并随着对语句语义确定子模型的训练,逐渐改变训练软目标和训练硬目标对应的权重。并且,在语句语义确定子模型训练开始时训练软目标的权重大于硬目标权重,可以确保在语句语义确定子模型训练初期具有比较丰富的训练样本,以提高模型训练的速度,随着语句语义确定子模型不断收敛,逐渐增加硬目标权重的数值,可以提高语句语义确定子模型的准确度。
在上述实施例的基础上,本说明书一些实施例中,所述交叉语义确定子模型有多个,各个交叉语义确定子模型的结构不同,所述语句语义确定子模型以各个训练好的交叉语义确定子模型输出的结果为训练目标进行模型训练。
本说明书实施例,通过向多个交叉语义确定子模型进行学习,将各个交叉语义确定子模型的能力集成到语句语义确定子模型中,以提高语义确定的准确性和效率。
需要说明的,本说明书实施例参考上述语义相似度模型的训练构建方法还可以有语义相似度模型的训练构建装置,具体实施方式可以参考上述方法实施例。上述所述的装置根据对应方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种语义相似度确定处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的信息推荐数据处理方法,如:
获取待处理文本;
利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
需要说明的,上述所述的处理设备根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的语义相似度确定装置,也可以应用在多种数据分析处理系统中。所述系统或服务器或终端或处理设备可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例系统或服务器或终端或处理设备的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图6是本说明书一个实施例中语义相似度确定服务器的硬件结构框图,该计算机终端可以是上述实施例中的语义相似度确定服务器或语义相似度确定装置。如图6所示服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的非易失性存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图6中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、gpu,或者具有与图6所示不同的配置。
非易失性存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的语义相似度确定方法对应的程序指令/模块,处理器100通过运行存储在非易失性存储器200内的软件程序以及模块,从而执行各种功能应用以及资源数据更新。非易失性存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,非易失性存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局与网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果,如:
获取待处理文本;
将所述待处理文本输入到建立好的语义相似度模型中,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括语句语义确定子模型和交叉语义确定子模型,其中,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如ram、rom等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、u盘;利用光学方式存储信息的装置如,cd或dvd。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述语义相似度确定方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c 语言在pc端实现、linux系统实现,或其他例如使用android、ios系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件 程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式资源数据更新环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程资源数据更新设备的处理器以产生一个机器,使得通过计算机或其他可编程资源数据更新设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程资源数据更新设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
1.一种语义相似度确定方法,所述方法包括:
获取待处理文本;
利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
2.如权利要求1所述的方法,所述语义相似度模型被设置为按照下述方法进行构建:
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述语义相似度模型中的交叉语义确定子模型进行预训练;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,直至满足训练要求,构建出所述语义相似度模型。
3.如权利要求2所述的方法,所述方法还包括:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
4.如权利要求3所述的方法,所述根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标,包括:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
5.如权利要求4所述的方法,所述方法还包括:
在所述语句语义确定子模型训练开始时,所述硬目标权重为0。
6.如权利要求3-5任一项所述的方法,所述方法还包括:
利用预训练好的所述交叉语义确定子模型确定所述第一样本数据集中的样本数据的计算标签;
将所述计算标签添加到所述第一样本数据集中,将添加了计算标签的第一样本数据集作为所述第二样本数据集。
7.如权利要求1所述的方法,所述交叉语义确定子模型有多个,各个交叉语义确定子模型的结构不同,所述语句语义确定子模型以各个训练好的交叉语义确定子模型输出的结果为训练目标进行模型训练。
8.如权利要求2所述的方法,所述交叉语义确定子模型通过根据两个文本的单词级交互矩阵确定出两个文本之间的相似度语句语义确定子模型。
9.一种用于语义相似度计算的模型训练构建方法,所述方法包括:
获取待训练的语义相似度模型中的语句语义确定子模型和交叉语义确定子模型的模型参数;
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据,所述样本数据为文本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述交叉语义确定子模型进行预训练,调整所述交叉语义确定子模型的模型参数;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和所述语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,调整所述语句语义确定子模型的模型参数,直至满足训练要求,构建出所述语义相似度模型。
10.如权利要求9所述的方法,所述方法还包括:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
11.如权利要求10所述的方法,所述根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标,包括:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
12.一种语义相似度确定装置,包括:
文本获取模块,用于获取待处理文本;
模型预测模块,用于利用建立好的语义相似度模型中的语句语义确定子模型对所述待处理文本分别进行向量转换,并利用所述语句语义确定子模型根据转换后的向量进行相似度计算,获得所述语义相似度模型的输出结果;其中,所述语义相似度模型包括所述语句语义确定子模型和交叉语义确定子模型,所述语句语义确定子模型是以预训练好的所述交叉语义确定子模型输出的结果为训练目标进行模型训练构建的;
相似度确定模块,用于根据所述语义相似度模型的输出结果,确定出所述待处理文本之间的语义相似度。
13.如权利要求12所述的装置,所述装置还包括模型构建模块用于按照下述方法进行构建所述语义相似度模型:
获取第一样本数据集,所述第一样本数据集包括多个带有标签的样本数据;
利用所述第一样本数据集中的样本数据以及对应的标签对所述语义相似度模型中的交叉语义确定子模型进行预训练;
将第二样本数据集中的样本数据输入到预训练好的所述交叉语义确定子模型和语句语义确定子模型中,并将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练目标,对所述语句语义确定子模型进行训练,直至满足训练要求,构建出所述语义相似度模型。
14.如权利要求13所述的装置,所述模型构建模块还用于:
将预训练好的交叉语义确定子模型的输出结果作为所述语句语义确定子模型训练的训练软目标;
将所述第二样本数据集中样本数据的标签作为所述语句语义确定子模型训练的训练硬目标;
根据所述训练软目标和所述训练硬目标确定出所述语句语义确定子模型的训练目标。
15.如权利要求14所述的装置,所述模型构建模块具体用于:
根据所述训练软目标对应的软目标权重、所述训练硬目标对应的硬目标权重、所述训练软目标、所述训练硬目标确定出所述语句语义确定子模型的训练目标;其中,在所述语句语义确定子模型训练开始时,所述硬目标权重小于所述软目标权重,随着所述语句语义确定子模型的模型训练,所述软目标权重的数值递减,所述硬目标权重的数值递增。
16.如权利要求12所述的装置,所述交叉语义确定子模型有多个,各个交叉语义确定子模型的结构不同,所述语句语义确定子模型以各个训练好的交叉语义确定子模型输出的结果为训练目标进行模型训练。
17.一种语义相似度确定处理设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-8任一项所述的方法。
技术总结