一种文本语义匹配方法及设备与流程

文档序号:31024633发布日期:2022-08-05 23:40阅读:87来源:国知局
一种文本语义匹配方法及设备与流程

1.本技术涉及计算机技术领域,尤其涉及一种文本语义匹配方法及设备。


背景技术:

2.在智能服务中,需要对用户常见的问题进行快速自动回答。现有技术中通常是判断用户发言所对应的文本和问题库中问题的文本是否相似,然后寻找相似问题对应的答案作为回复。
3.现有技术中通常通过训练机器学习模型来实现文本相似程度的判断。然而,基于深度学习的模型往往适用于固定化的意图。而对于智能对话平台这一类的应用场景,因为用户需要动态的对意图进行增删改操作,从而造成对话过程中难以对用户意图进行准确判断。


技术实现要素:

4.本技术实施例提供了一种文本语义匹配方法及设备,用于解决如下技术问题:对于智能对话平台这一类的应用场景,因为用户需要动态的对意图进行增删改操作,从而造成对话过程中难以对用户意图进行准确判断。
5.本技术实施例采用下述技术方案:
6.本技术实施例提供一种文本语义匹配方法。包括,通过预设相似度组合算法,对用户输入的文本与预设语料库中的文本进行第一相似度计算,以在预设语料库中筛选出参考语料集合;其中,参考语料集合中的语料所对应的第一相似度大于预设相似度阈值;预设语料库包括多个语料以及多个语料分别对应有文本语义;将用户输入的文本以及参考语料集合输入预设sbert模型,通过预设sbert模型对用户输入的文本进行第一序列向量提取,以及通过预设sbert模型对参考语料集合中的语料进行第二序列向量提取;通过预设sbert模型,确定出第一序列向量与多个第二序列向量分别对应的第二相似度,以根据第二相似度确定出与用户输入的文本所对应的文本语义。
7.本技术实施例通过预设相似度算法集合,能够通过多种相似度算法对用户输入的文本,与预设语料库中的文本进行第一相似度计算,从而根据不同算法分别对应的第一相似度,确定出与用户输入的文本相似度较高的参考语料集合。从而缩小语义选取的范围。其次,为了进一步精确用户输入的文本所对应的文本语义,将用户输入的文本与参考语料集合输入预设sbert模型,对用户输入的内容与参考语料集合进行比对,通过得到的第二相似度,确定出相应的文本语义。从而针对智能对话平台这一类的应用场景,在用户动态的对意图进行增删改操作时,能够通过多种算法集合以及该预设sbert模型对用户意图进行准确判断。
8.在本技术的一种实现方式中,预设相似度组合算法至少包括bm25算法、最小距离算法、同义词替换算法以及错别字纠错算法中的一项或多项。
9.在本技术的一种实现方式中,通过预设相似度组合算法,对用户输入的文本与预
设语料库中的文本进行第一相似度计算,以在预设语料库中筛选出参考语料集合,具体包括:通过相似度组合算法中的多种算法,分别对用户输入的文本与预设语料库中的文本进行第一相似度计算;确定预设语料库中的每个语料分别对应的多个第一相似度;将每个语料分别对应的多个第一相似度与预设相似度阈值进行比对,在当前语料所对应的多个第一相似度均大于预设相似度阈值的情况下,将当前语料作为参考语料集合中的语料。
10.在本技术的一种实现方式中,将用户输入的文本以及参考语料集合输入预设sbert模型,具体包括:将用户输入的文本与参考语料集合,分别输入预设sbert模型中的子网络模型;其中,子网络模型为参数共享的多个bert模型。
11.在本技术的一种实现方式中,通过预设sbert模型对用户输入的文本进行第一序列向量提取,具体包括:通过sbert模型的transformer层对用户输入的文本进行编码,以将用户输入的文本转换为sbert模型所对应的编码格式;基于预设字符长度与sbert模型,对用户输入的文本进行文本划分,得到用户输入的文本对应的第一序列向量。
12.在本技术的一种实现方式中,通过预设sbert模型对参考语料集合中的语料进行第二序列向量提取,具体包括:通过sbert模型的transformer层对参考语料集合中的语料进行编码,以将参考语料集合中的语料转换为sbert模型所对应的编码格式;基于预设字符长度与sbert模型,对参考语料集合中的语料进行文本划分,得到参考语料集合中的语料对应的第二序列向量。
13.在本技术的一种实现方式中,通过预设sbert模型,确定出第一序列向量与多个第二序列向量分别对应的第二相似度,具体包括:通过sbert模型确定第一序列向量中的第一数据内容,以及确定出第二序列向量中的第二数据内容;对第一数据内容分别与多个第二数据内容进行关联度计算,以得到第一序列向量分别与多个第二序列向量之间的第二相似度。
14.在本技术的一种实现方式中,根据第二相似度确定出与用户输入的文本所对应的文本语义,具体包括:确定出参考语料集合中的语料分别对应的第二相似度;基于第一相似度,以及预设权重值模板,确定出参考语料集合中的语料分别对应的权重值;将权重值与第二相似度进行乘积计算,将乘积最高的第二相似度所对应的语料含义,作为与用户输入的文本相匹配的文本语义。
15.本技术实施例通过根据参考语料集合中的语料分别对应的权重值,对第二相似度进行权重调节,从而能够将第一相似度与第二相似度进行结合。根据结合后的结果确定出最为相似的语料,进而确定出与用户输入的文本最为匹配的文本语义。
16.在本技术的一种实现方式中,通过预设相似度组合算法,对用户输入的文本与预设语料库中的文本进行第一相似度计算之前,方法还包括:获取用户输入的文本;对用户输入的文本进行数据清洗,以确定出用户输入的文本中的问题数据;其中,问题数据至少包括重复数据与损坏数据中的一项或多项;将重复数据进行删除处理;以及基于预设文本模板,对损坏数据进行修复处理。
17.本技术实施例提供一种文本语义匹配设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够:通过预设相似度组合算法,对用户输入的文本与预设语料库中的文本进行第一相似度计算,以在预设语料库中筛选出参考语料集
合;其中,参考语料集合中的语料所对应的第一相似度大于预设相似度阈值;预设语料库包括多个语料以及多个语料分别对应有文本语义;将用户输入的文本以及参考语料集合输入预设sbert模型,通过预设sbert模型对用户输入的文本进行第一序列向量提取,以及通过预设sbert模型对参考语料集合中的语料进行第二序列向量提取;通过预设sbert模型,确定出第一序列向量与多个第二序列向量分别对应的第二相似度,以根据第二相似度确定出与用户输入的文本所对应的文本语义。
18.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:本技术实施例通过预设相似度算法集合,能够通过多种相似度算法对用户输入的文本,与预设语料库中的文本进行第一相似度计算,从而根据不同算法分别对应的第一相似度,确定出与用户输入的文本相似度较高的参考语料集合。从而缩小语义选取的范围。其次,为了进一步精确用户输入的文本所对应的文本语义,将用户输入的文本与参考语料集合输入预设sbert模型,对用户输入的内容与参考语料集合进行比对,通过得到的第二相似度,确定出相应的文本语义。从而针对智能对话平台这一类的应用场景,在用户动态的对意图进行增删改操作时,能够通过多种算法集合以及该预设sbert模型对用户意图进行准确判断。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附
20.图中:
21.图1为本技术实施例提供的一种文本语义匹配方法流程图;
22.图2为本技术实施例提供的一种文本语义匹配设备的结构示意图。
具体实施方式
23.本技术实施例提供一种文本语义匹配方法及设备。
24.为了使本技术领域的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
25.在智能服务中,需要对用户常见的问题进行快速自动回答。现有技术中通常是判断用户发言所对应的文本和问题库中的问题的文本是否相似,然后寻找相似问题对应的答案作为回复。
26.现有技术中通常通过训练机器学习模型来实现文本相似程度的判断。然而,基于深度学习的模型往往适用于固定化的意图。而对于智能对话平台这一类的应用场景,因为用户需要动态的对意图进行增删改操作,从而会造成对话过程中难以对用户意图进行准确判断。
27.为了解决上述问题,本技术实施例提供一种文本语义匹配方法及设备。通过预设
相似度算法集合,能够通过多种相似算法对用户输入的文本,与预设语料库中的文本进行第一相似度计算,从而根据不同算法分别对应的第一相似度,确定出与用户输入的文本相似度较高的参考语料集合。从而缩小语义选取的范围。其次,为了进一步精确用户输入的文本所对应的文本语义,将用户输入的文本与参考语料集合输入预设sbert模型,对用户输入的内容与参考语料集合进行比对,通过得到的第二相似度,确定出相应的文本语义。从而针对智能对话平台这一类的应用场景,在用户动态的对意图进行增删改操作时,能够通过多种算法集合以及该预设sbert模型对用户意图进行准确判断。
28.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
29.图1为本技术实施例提供的一种文本语义匹配方法流程图。如图1所示,文本语义匹配方法包括如下步骤:
30.s101、文本语义匹配设备通过预设相似度组合算法,对用户输入的文本与预设语料库中的文本进行第一相似度计算,以在预设语料库中筛选出参考语料集合。其中,参考语料集合中的语料所对应的第一相似度大于预设相似度阈值,预设语料库包括多个语料以及多个语料分别对应有文本语义。
31.在本技术的一个实施例中,获取用户输入的文本。对用户输入的文本进行数据清洗,以确定出用户输入的文本中的问题数据。其中,问题数据至少包括重复数据与损坏数据中的一项或多项。将重复数据进行删除处理,以及基于预设文本模板,对损坏数据进行修复处理。
32.具体地,用户在输入文本时,可能会存在输入错别字、重复输入、输入乱码等情况发生,此时,直接对用户输入的文本进行语义匹配时,会降低语义匹配的准确率。因此,在进行语义匹配之前,需要对用户输入的文本内容进行数据清洗。以确定出里面的问题数据。若出现的问题数据为重复数据,则可以直接将重复部分进行删除。若出现的问题为损坏数据,例如,部分字词出现乱码、错别字等问题,则可以根据预先采集的用户输入的文本的大数据,建立预设文本模板,根据预设文本模板对用户输入的文本进行修订。
33.在本技术的一个实施例中,通过相似度组合算法中的多种算法,分别对用户输入的文本与预设语料库中的文本进行第一相似度计算。确定预设语料库中的每个语料分别对应的多个第一相似度。将每个语料分别对应的多个第一相似度与预设相似度阈值进行比对,在当前语料所对应的多个第一相似度均大于预设相似度阈值的情况下,将当前语料作为参考语料集合中的语料。
34.在本技术的一个实施例中,预设相似度组合算法至少包括bm25算法、最小距离算法、同义词替换算法以及错别字纠错算法中的一项或多项。
35.具体地,在接收到用户输入的文本后,通过相似度算法中的多种算法,分别对该用户输入的文本进行相似度计算。例如,通过bm25算法确定出用户输入的文本与预设语料库中的文本之间的第一相似度。以及,通过最小距离算法,确定出用户输入的文本与预设语料库中的文本之间的第一相似度。以及通过同义词替换算法对用户输入的文本与预设语料库中的文本之间的第一相似度,以及通过错别字纠错算法对用户输入的文本与预设语料库中的文本之间的第一相似度。
36.进一步地,预设语料库中的每个语料,都可以得到多种相似度算法所对应的第一相似度。将每个语料对应的多个第一相似度分别与预设相似度阈值进行比对,以确定出每
个语料大于该预设相似度阈值的第一相似度的数量。若当前语料对应的多个第一相似度均大于该预设相似度阈值,则说明该语料与用户输入的内容相似度较为相似,因此,可以将该语料作为参考语料集合中的语料。使用以上一系列相似度算法,对用户预先定义好的语料库进行初筛召回,确定出语料库中与用户输入的文本较为相似的一部分语料。
37.s102、将用户输入的文本以及参考语料集合输入预设sbert模型,通过预设sbert模型对用户输入的文本进行第一序列向量提取,以及通过预设sbert模型对参考语料集合中的语料进行第二序列向量提取。
38.在本技术的一个实施例中,将用户输入的文本与参考语料集合,分别输入预设sbert模型中的子网络模型。其中,子网络模型为参数共享的多个bert模型。
39.具体地,在将用户输入的文本输入预设sbert模型时,需要根据预先采集的文本训练集对初始sbert模型进行训练,以得到该预设sbert模型。
40.进一步地,本技术实施例中的sbert模型包括两个子网络,这两个子网络均为bert模型,且这两个bert模型共享参数。例如,对比a、b两个句子相似度时,它们分别输入bert网络,得到序列向量,然后通过pooling输出是两组小于128维的表征句子的向量,最后计算二者的相似度。
41.在本技术的一个实施例中,通过sbert模型的transformer层对用户输入的文本进行编码,以将用户输入的文本转换为sbert模型所对应的编码格式。基于预设字符长度与sbert模型,对用户输入的文本进行文本划分,得到用户输入的文本对应的第一序列向量。
42.具体地,输入sbert模型中的内容其格式各不相同,为了对格式进行统一,以便sbert模型对其进行序列向量提取,需要对输入的内容进行编码,使其转换为sbert模型所对应的编码格式。其次,对用户输入的文本进行文本划分,以将用户输入的较长的文本转换为多个短句,以得到用户输入的文本对应的第一序列向量。
43.比如一段文字有1500个字,如果按照句号划分,则有80个句子。那么每一个句子,可以利用bert模型得到句子向量。可以把一个句子中包含的字符的最大长度定义为128,此时,这样一个句子得到的结果的shape是(128,768),那么每一个句子得到了一个shape为(768)的向量,这就是这个句子的embedding。然后一个样本设定有80个句子,如果超过80个句子,则取前80个,如果不到80个句,则填充768维全0向量。最终生成的结果是:(n,80,768)。n代表样本数,80代表句子最大长度,768代表向量维度。
44.在本技术的一个实施例中,通过sbert模型的transformer层对参考语料集合中的语料进行编码,以将参考语料集合中的语料转换为sbert模型所对应的编码格式。基于预设字符长度与sbert模型,对参考语料集合中的语料进行文本划分,得到参考语料集合中的语料对应的第二序列向量。
45.具体地,输入sbert模型中的参考语料集合中的语料其格式可能不相同,为了对格式进行统一,以便sbert模型对其进行序列向量提取,需要对输入的语料内容进行编码,使其转换为sbert模型所对应的编码格式。其次,对参考语料集合内容进行文本划分,以将参考语料集合中较长的文本转换为多个短句,以得到参考语料集合对应的二序列向量。
46.s103、通过预设sbert模型,确定出第一序列向量与多个第二序列向量分别对应的第二相似度,以根据第二相似度确定出与用户输入的文本所对应的文本语义。
47.在本技术的一个实施例中,通过sbert模型确定第一序列向量中的第一数据内容,
以及确定出第二序列向量中的第二数据内容。对第一数据内容分别与多个第二数据内容进行关联度计算,以得到第一序列向量分别与多个第二序列向量之间的第二相似度。
48.具体地,通过sbert模型输出用户输入的文本对应的小于128维的第一序列向量,以及通过通过sbert模型确定确定出参考语料集合中的每个语料对应的小于128维的第二序列向量。通过sbert模型确定第一序列向量与每一个第二序列向量之间的第二相似度。
49.在本技术的一个实施例中,确定出参考语料集合中的语料分别对应的第二相似度。基于第一相似度,以及预设权重值模板,确定出参考语料集合中的语料分别对应的权重值。将权重值与第二相似度进行乘积计算,将乘积最高的第二相似度所对应的语料含义,作为与用户输入的文本相匹配的文本语义。
50.具体地,得到参考语料集合中每个语料分别对应的第二相似度后,为了提高最终得到的文本语义的准确度,本技术实施例将第一相似度与第二相似度进行结合。其过程为,确定出参考语料集合中每个语料分别对应的第一相似度,将该第一相似度与预设权重值模板进行比对,以得到每个第一相似度分别对应的权重值。
51.需要说明的是,预设权重值模板中包括多个不同的第一相似值,以及每个第一相似值分别对应的权重值。其中,第一相似值越高,其对应的权重值越高。
52.进一步地,得到参考语料集合中每个语料分别对应的第二相似度,以及每个语料分别对应的权重值,将每个语料对应的该权重值与该第二相似度进行乘积计算,以对每个语料进行调节,从而根据第一相似度与第二相似度相结合的方式确定出相似度最高的语料。在预设语料库中确定出该相似度最高的语料所对应的文本语义,以将该文本语义作为用户输入的文本所相匹配的文本语义。
53.本技术实施例通过根据参考语料集合中的语料分别对应的权重值,对第二相似度进行权重调节,从而能够将第一相似度与第二相似度进行结合。根据结合后的结果确定出最为相似的语料,进而确定出与用户输入的文本最为匹配的文本语义。
54.图2为本技术实施例提供的一种文本语义匹配设备的结构示意图。如图2所示,文本语义匹配设备,包括:
55.至少一个处理器;以及,
56.与所述至少一个处理器通信连接的存储器;其中,
57.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
58.通过预设相似度组合算法,对用户输入的文本与预设语料库中的文本进行第一相似度计算,以在所述预设语料库中筛选出参考语料集合;其中,所述参考语料集合中的语料所对应的第一相似度大于预设相似度阈值;所述预设语料库包括多个语料以及所述多个语料分别对应有文本语义;
59.将所述用户输入的文本以及所述参考语料集合输入预设sbert模型,通过所述预设sbert模型对所述用户输入的文本进行第一序列向量提取,以及通过所述预设sbert模型对所述参考语料集合中的语料进行第二序列向量提取;
60.通过所述预设sbert模型,确定出所述第一序列向量与多个所述第二序列向量分别对应的第二相似度,以根据所述第二相似度确定出与所述用户输入的文本所对应的文本语义。
61.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
62.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
63.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术的实施例可以有各种更改和变化。凡在本技术实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1