本发明涉及计算机,尤其涉及一种服务排序方法及装置、电子设备、存储介质。
背景技术:
1、随着智能人机交互对话技术的发展,智能对话机器人技术逐渐应用到了各个领域,如车载、家居、客服、协同办公等。
2、在智能人机交互中,机器人一般通过语义理解,将用户的对话内容转化为对应的向量,然后计算对话内容对应的向量与问答库中各问题对应的向量的相似度,得到相似度排序,并用相似度最高向量所对应的服务来对用户进行响应。
3、然而,由于对话过程中,用户说话文本往往较短,用语也常常不规范,会给语义理解带来很大困扰,导致语义理解出现偏差,无法准确理解用户意图,从而令服务排序不准确,无法为用户提供所需的服务。此外,由于用来响应用户需求的各服务繁多复杂,例如有些服务具有相似的名称和功能,有些服务的名称相似,功能却相差甚远,还有些服务功能类似,但名称却完全不同,因此容易导致服务辨识错误,使服务排序不准确,难以将用户真正需要的服务筛选出来。
4、针对如何提高服务排序准确率的问题,现有技术尚无有效的解决方案。
技术实现思路
1、有鉴于此,本发明实施例提供一种服务排序方法及装置、电子设备、存储介质,能够有效提高服务排序准确率。
2、第一方面,本发明实施例提供一种服务排序方法,包括:
3、分别获取目标对话语句以及服务数据集;
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、利用所述第一模型以及所述增量样本,对所述第二模型进行增量训练。
31、第二方面,本发明的实施例还提供一种服务排序装置,包括:
32、获取单元,用于分别获取目标对话语句以及服务数据集;
33、确定单元,用于基于第一模型,分别确定所述目标对话语句对应的语句关联向量组以及所述服务数据集中的每个服务对应的服务属性向量组,其中,所述第一模型为利用预设语料库训练得到的模型,所述预设语料库中包括至少一个相似语料组,每个所述相似语料组中各训练语料所对应的向量之间的向量相似度大于第一阈值且小于第二阈值;
34、拼接单元,用于将所述语句关联向量组中的各向量与每个所述服务对应的服务属性向量组中的各向量拼接,得到每个所述服务对应的拼接向量;
35、排序单元,用于将各所述服务对应的拼接向量输入第二模型,根据所述第二模型对各拼接向量的打分,将各所述服务排序。
36、可选的,所述语句关联向量组包括:将所述目标对话语句向量化,得到的语句向量;将所述目标对话语句对应的用户意图向量化,得到的意图向量;以及将所述用户意图对应的意图要素向量化,得到的要素向量。
37、可选的,所述目标对话语句对应的用户意图的数量为一个或多个,所述语句关联向量组的数量为一个或多个,所述语句关联向量组与所述用户意图一一对应。
38、可选的,所述服务属性向量组包括以下至少一项:将服务名称向量化得到的名称向量、将服务生产商向量化得到的厂商向量、将服务描述向量化得到的描述向量、将服务标签向量化得到的标签向量、将服务接口向量化得到的接口向量、将服务参数向量化得到的参数向量。
39、可选的,所述第一模型包括以下任一种:以来自变换器的双向编码器表征为基础的模型、门控循环单元网络模型、长短期记忆网络模型。
40、可选的,还包括服务提供单元,所述服务提供单元包括:
41、备选服务模块,用于将各所述服务对应的拼接向量输入第二模型,根据所述第二模型对各拼接向量的打分,将各所述服务排序之后,根据各所述服务对应的打分分数与最高打分分数之间的分数差值,确定备选服务;
42、目标服务模块,用于响应于所述备选服务的数量为一个,将所述备选服务作为目标服务提供;或者,响应于所述备选服务的数量为至少两个,提供服务选择对话框,以使用户从各所述备选服务中选择一个作为目标服务,提供所述目标服务。
43、可选的,所述备选服务模块包括:
44、第一阈值比较子块,用于响应于所述分数差值小于第三阈值,确定所述服务为所述备选服务,其中,所述第三阈值基于对所述第二模型的训练得到;
45、第二阈值比较子块,用于响应于所述分数差值大于或等于所述第三阈值,确定所述服务不是所述备选服务。
46、可选的,所述装置应用于云端,所述第一模型为以来自变换器的双向编码器表征为基础的模型;所述装置还包括第一建模单元,所述第一建模单元包括:
47、预训练模块,用于在所述基于第一模型,分别确定所述目标对话语句对应的语句关联向量组以及所述服务数据集中的每个服务对应的服务属性向量组之前,获取所述自变换器的双向编码器表征的预训练模型;
48、压缩模块,用于对所述预训练模型进行向量压缩,得到预训练压缩模型;
49、第一模型生成模块,用于利用所述预设语料库对所述预训练压缩模型进行微调,得到所述第一模型。
50、可选的,还包括第二建模单元,所述第二建模单元包括:
51、第二模型初建模块,用于构建第二模型,所述第二模型含有未知的模型参数;
52、第二模型生成模块,用于利用所述第一模型以及标记的样本对所述第二模型进行训练,以确定所述模型参数。
53、可选的,所述装置应用于终端,所述装置还包括增量训练单元,所述增量训练单元包括:
54、日志模块,用于获取终端本地、与人机智能对话相关的日志数据;
55、样本模块,用于对所述日志数据进行预处理,得到增量样本;
56、训练模块,用于利用所述第一模型以及所述增量样本,对所述第二模型进行增量训练。
57、第三方面,本发明的实施例还提供一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行本发明的任一实施例提供的服务排序方法。
58、第四方面,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明的任一实施例提供的服务排序方法。
59、本发明的实施例提供的服务排序方法及装置、电子设备、存储介质,能够分别获取目标对话语句以及服务数据集,基于第一模型,分别确定所述目标对话语句对应的语句关联向量组以及所述服务数据集中的每个服务对应的服务属性向量组,再将所述语句关联向量组中的各向量与每个所述服务对应的服务属性向量组中的各向量拼接,得到每个所述服务对应的拼接向量,将各所述服务对应的拼接向量输入第二模型,根据所述第二模型对各拼接向量的打分,将各所述服务排序。由于所述第一模型为利用预设语料库训练得到的模型,而预设语料库中包括至少一个相似语料组,每个所述相似语料组中各训练语料所对应的向量之间的向量相似度大于第一阈值且小于第二阈值,也即是说,本发明的实施例中,在第一模型训练时强化了对相似又不同的语料的训练,因此使得第一模型能够更有效地掌握这些相似语料之间的共性与个性,通过这些相似语料之间的共性,能使这些相似语料与其他语料被明显区分,通过这些相似语料之间的个性,又能使这些相似语料之间可以彼此区分,这样,第一模型就能将目标对话语句和服务数据中相似却又不同的内容,生成相似而又不同的向量,从而通过向量,对各种目标对话语句和各种服务数据进行详细和有效的区分,在此基础上,利用第二模型对上述向量形成的拼接向量进行打分,就能够更准确地根据分数去衡量目标对话语句与服务数据之间的匹配程度,从而有效提高服务排序的准确率。