基于自然语言模型的拟人对话方法、装置及电子设备转让专利

申请号 : CN202311801484.5

文献号 : CN117493529B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张辉

申请人 : 苏州元脑智能科技有限公司

摘要 :

本申请提供一种基于自然语言模型的拟人对话方法、装置及电子设备,涉及计算机技术领域,该方法包括:获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与第一文本信息的技术领域相关的第三文本信息,以及与第一文本信息的话题场景相对应的第四文本信息;将第一文本信息、第二文本信息、第三文本信息、以及第四文本信息进行拼接合并,得到目标文本信息,并将目标文本信息输入自然语言模型,得到与用户当前问题对应的目标回复内容。本申请提供的基于自然语言模型的拟人对话方法及装置,用于提高以自然语言模型LLM驱动的聊天机器人针对专业领域问题的对话生成能力和对话质量,同时,还能使聊天机器人的对话更加拟人化。

权利要求 :

1.一种基于自然语言模型的拟人对话方法,其特征在于,包括:

获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;

将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容;所述将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,包括:基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;

其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。

2.根据权利要求1所述的方法,其特征在于,所述获取对话过程中的第二文本信息,包括:获取对话过程中的历史对话信息;

通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息。

3.根据权利要求2所述的方法,其特征在于,所述通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息,包括:对所述历史对话信息执行预处理操作,得到处理后的历史对话信息;所述预处理操作用于将同一对象的连续多个对话信息合并为一个对话信息;

基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相邻的多个对话轮次的对话信息作为短时记忆对话信息,以及基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相关的多个对话轮次的对话信息作为长时记忆对话信息;

将所述长时记忆对话信息以及所述短时记忆对话信息合并后,得到所述上下文信息;

其中,所述长时记忆对话信息所包含的对话内容为所述短时记忆对话信息所包含的对话内容之前的对话内容。

4.根据权利要求1所述的方法,其特征在于,所述确定与所述用户当前问题的技术领域相关的多个领域知识,包括:将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,并将所述多个结果信息对应的领域知识确定为所述多个领域知识。

5.根据权利要求4所述的方法,其特征在于,所述将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,包括:使用预设转换算法将所述第一文本信息转换为所述第一语义向量,并基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度;

将所述领域知识向量数据库中相似度值满足预设相似度的多个语义向量确定为所述多个结果信息;

其中,所述预设相似度算法包括以下任一项:欧氏距离算法,内积算法。

6.根据权利要求5所述的方法,其特征在于,所述基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度,包括:基于以下公式一计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:(公式一)

其中, 为所述第一语义向量; 为所述领域知

识向量数据库中任一领域知识的语义向量。

7.根据权利要求5所述的方法,其特征在于,所述基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度,包括:基于以下公式二计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:(公式二)

其中, 为所述第一语义向量; 为所述领域知

识向量数据库中任一领域知识的语义向量。

8.根据权利要求1所述的方法,其特征在于,所述确定与所述第一文本信息的话题场景相对应的第四文本信息,包括:将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景;

基于所述第一文本信息对应的话题场景从对话提示模板库中筛选出话题场景与所述第一文本信息对应的话题场景相匹配的目标提示模板;

其中,一个话题场景对应一个对话提示模板。

9.根据权利要求1所述的方法,其特征在于,所述将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,包括:将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并后,得到待处理文本信息;

使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量;

在所述待处理文本信息的第一分词数量大于所述自然语言模型所允许输入的最大分词数量的情况下,计算所述最大分词数量与所述第一分词数量的差值,得到分词数量差;以及基于所述分词数量差从所述目标文本信息的头部向尾部进行文本信息的截断,得到靠近头部的第一子文本信息和靠近尾部的第二子文本信息,并将所述第二文本信息确定为所述目标文本信息。

10.根据权利要求9所述的方法,其特征在于,所述使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量之后,所述方法还包括:在所述待处理文本信息的第一分词数量小于或者等于所述自然语言模型所允许输入的最大分词数量的情况下,将所述待处理文本信息确定为所述目标文本信息。

11.根据权利要求8所述的方法,其特征在于,所述将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景之前,所述方法还包括:获取用户与对话机器人之间的历史对话记录作为待标注训练集,并基于预设场景关键字对所述待标注训练集中的每个样本进行标注,得到标注后的目标训练集;

使用所述目标训练集对预训练模型进行训练,得到所述场景分类模型。

12.一种基于自然语言模型的拟人对话装置,其特征在于,所述装置包括:信息获取模块,用于获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;

信息处理模块,用于将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容;所述信息处理模块,具体用于基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;

其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。

13.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至11任一项所述基于自然语言模型的拟人对话方法的步骤。

14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述基于自然语言模型的拟人对话方法的步骤。

说明书 :

基于自然语言模型的拟人对话方法、装置及电子设备

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种基于自然语言模型的拟人对话方法及装置。

背景技术

[0002] 随着大语言模型(Large Language Model,LLM)技术的发展,以大语言模型LLM驱动的新型聊天机器人(Chatbot)迅速发展。与传统的对话机器人相比,其对话更加自然和连贯、且更符合人类的思维方式和表达习惯,同时,其智能化水平更高,更加擅长理解和回答各种类型的问题。
[0003] 然而,相关技术中以大语言模型LLM驱动的聊天机器人,面向的主要是偏向于闲聊和开放域知识问答的场景,这是由于大语言模型LLM的预训练数据大部分来自于互联网,专业领域知识不足,存在不理解领域知识和听不懂专业术语的现象。同时,也存在缺乏特定应用场景下的对话策略,如求职面试、客户服务等场景,大语言模型LLM也不具备特定场景下的对话策略能力,容易出现对话不合理、不拟人的现象。

发明内容

[0004] 本申请的目的是提供一种基于自然语言模型的拟人对话方法及装置,用于提高以自然语言模型驱动的聊天机器人针对专业领域问题的对话生成能力和对话质量,同时,还能使聊天机器人的对话更加拟人化。
[0005] 本申请提供一种基于自然语言模型的拟人对话方法,包括:
[0006] 获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息 ;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0007] 可选地,所述获取对话过程中的第二文本信息,包括:获取对话过程中的历史对话信息;通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息。
[0008] 可选地,所述通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息,包括:对所述历史对话信息执行预处理操作,得到处理后的历史对话信息;所述预处理操作用于将同一对象的连续多个对话信息合并为一个对话信息;基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相邻的多个对话轮次的对话信息作为短时记忆对话信息,以及基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相关的多个对话轮次的对话信息作为长时记忆对话信息;将所述长时记忆对话信息以及所述短时记忆对话信息合并后,得到所述上下文信息;其中,所述长时记忆对话信息所包含的对话内容为所述短时记忆对话信息所包含的对话内容之前的对话内容。
[0009] 可选地,所述确定与所述用户当前问题的技术领域相关的多个领域知识,包括:将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,并将所述多个结果信息对应的领域知识确定为所述多个领域知识。
[0010] 可选地,所述将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,包括:使用预设转换算法将所述第一文本信息转换为所述第一语义向量,并基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度;将所述领域知识向量数据库中相似度值满足预设相似度的多个语义向量确定为所述多个结果信息;其中,所述预设相似度算法包括以下任一项:欧氏距离算法,内积算法。
[0011] 可选地,所述基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度,包括:基于以下公式一计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0012] (公式一)
[0013] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0014] 可选地,所述基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度,包括:基于以下公式二计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0015] (公式二)
[0016] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0017] 可选地,所述确定与所述第一文本信息的话题场景相对应的第四文本信息,包括:将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景;基于所述第一文本信息对应的话题场景从对话提示模板库中筛选出话题场景与所述第一文本信息对应的话题场景相匹配的目标提示模板;其中,一个话题场景对应一个对话提示模板。
[0018] 可选地,所述将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,包括:将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并后,得到待处理文本信息;使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量;在所述待处理文本信息的第一分词数量大于所述自然语言模型所允许输入的最大分词数量的情况下,计算所述最大分词数量与所述第一分词数量的差值,得到分词数量差;以及基于所述分词数量差从所述目标文本信息的头部向尾部进行文本信息的截断,得到靠近头部的第一子文本信息和靠近尾部的第二子文本信息,并将所述第二文本信息确定为所述目标文本信息。
[0019] 可选地,所述使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量之后,所述方法还包括:在所述待处理文本信息的第一分词数量小于或者等于所述自然语言模型所允许输入的最大分词数量的情况下,将所述待处理文本信息确定为所述目标文本信息。
[0020] 可选地,所述将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,包括:基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。
[0021] 可选地,所述将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景之前,所述方法还包括:获取用户与对话机器人之间的历史对话记录作为待标注训练集,并基于预设场景关键字对所述待标注训练集中的每个样本进行标注,得到标注后的目标训练集;使用所述目标训练集对预训练模型进行训练,得到所述场景分类模型。
[0022] 本申请还提供一种基于自然语言模型的拟人对话装置,包括:
[0023] 信息获取模块,用于获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;信息处理模块,用于将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0024] 可选地,所述信息获取模块,具体用于获取对话过程中的历史对话信息;所述信息获取模块,具体还用于通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息。
[0025] 可选地,所述信息获取模块,具体用于对所述历史对话信息执行预处理操作,得到处理后的历史对话信息;所述预处理操作用于将同一对象的连续多个对话信息合并为一个对话信息;所述信息获取模块,具体还用于基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相邻的多个对话轮次的对话信息作为短时记忆对话信息,以及基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相关的多个对话轮次的对话信息作为长时记忆对话信息;述信息获取模块,具体还用于将所述长时记忆对话信息以及所述短时记忆对话信息合并后,得到所述上下文信息;其中,所述长时记忆对话信息所包含的对话内容为所述短时记忆对话信息所包含的对话内容之前的对话内容。
[0026] 可选地,所述信息获取模块,具体用于将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,并将所述多个结果信息对应的领域知识确定为所述多个领域知识。
[0027] 可选地,所述信息获取模块,具体用于使用预设转换算法将所述第一文本信息转换为所述第一语义向量,并基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度;所述信息获取模块,具体还用于将所述领域知识向量数据库中相似度值满足预设相似度的多个语义向量确定为所述多个结果信息;其中,所述预设相似度算法包括以下任一项:欧氏距离算法,内积算法。
[0028] 可选地,所述信息获取模块,具体用于基于以下公式一计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0029] (公式一)
[0030] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0031] 可选地,所述信息获取模块,具体用于基于以下公式二计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0032] (公式二)
[0033] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0034] 可选地,所述信息获取模块,具体用于将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景;所述信息获取模块,具体还用于基于所述第一文本信息对应的话题场景从对话提示模板库中筛选出话题场景与所述第一文本信息对应的话题场景相匹配的目标提示模板;其中,一个话题场景对应一个对话提示模板。
[0035] 可选地,所述数据处理模块,具体用于将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并后,得到待处理文本信息;所述数据处理模块,具体还用于使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量;所述数据处理模块,具体还用于在所述待处理文本信息的第一分词数量大于所述自然语言模型所允许输入的最大分词数量的情况下,计算所述最大分词数量与所述第一分词数量的差值,得到分词数量差;以及基于所述分词数量差从所述目标文本信息的头部向尾部进行文本信息的截断,得到靠近头部的第一子文本信息和靠近尾部的第二子文本信息,并将所述第二文本信息确定为所述目标文本信息。
[0036] 可选地,所述数据处理模块,具体还用于在所述待处理文本信息的第一分词数量小于或者等于所述自然语言模型所允许输入的最大分词数量的情况下,将所述待处理文本信息确定为所述目标文本信息。
[0037] 可选地,所述数据处理模块,具体用于基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。
[0038] 可选地,所述装置还包括:训练模块;所述获取模块,还用于获取用户与对话机器人之间的历史对话记录作为待标注训练集,并基于预设场景关键字对所述待标注训练集中的每个样本进行标注,得到标注后的目标训练集;所述训练模块,用于使用所述目标训练集对预训练模型进行训练,得到所述场景分类模型。
[0039] 本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述基于自然语言模型的拟人对话方法的步骤。
[0040] 本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于自然语言模型的拟人对话方法的步骤。
[0041] 本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于自然语言模型的拟人对话方法的步骤。
[0042] 本申请提供的基于自然语言模型的拟人对话方法及装置,首先,获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:上下文信息;所述第三文本包括:多个领域知识;所述第四文本信息包括:对话提示模板;之后,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;最后,将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。如此,可以提高以自然语言模型LLM驱动的聊天机器人针对专业领域问题的对话生成能力和对话质量,同时,还能使聊天机器人的对话更加拟人化。

附图说明

[0043] 为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之一;
[0045] 图2是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之二;
[0046] 图3是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之三;
[0047] 图4是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之四;
[0048] 图5是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之五;
[0049] 图6是本申请提供的基于自然语言模型的拟人对话方法的流程示意图之六;
[0050] 图7是本申请提供的基于自然语言模型的拟人对话装置的结构示意图;
[0051] 图8是本申请提供的电子设备的结构示意图。

具体实施方式

[0052] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053] 本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0054] 以下针对本申请实施例中所涉及的专业术语进行描述:
[0055] 大语言模型LLM:是一种人工智能模型,可以理解和生成人类语言。大语言模型LLM在大量的文本数据上进行训练,可以执行多种任务,如文本总结、翻译、情感分析等。大语言模型LLM的特点是规模庞大,包含数十亿的参数,帮助它们学习语言数据中的复杂模式。大语言模型LLM通常基于深度学习架构,如转换器,这有助于它们在各种自然语言处理任务上取得令人印象深刻的表现。
[0056] 客户服务对企业至关重要,保持良好的客户服务可以增加客户忠诚度和满意度,从而提高业务成功率并增加收入。客户服务机器人相比于人工坐席,可以7×24小时提供稳定的对话服务,可以降低企业的运营成本,在企业中有广泛的应用前景,但基于传统自然语言处理(Natural Language Processing,NLP)的智能客服机器人(Intelligent Customer Service Robot ,ICSR)需要人工建设多种知识库,成本高;面临适应性较低、处理能力不足及无法智能学习等问题,这些问题导致机器人对话质量差等问题,限制了机器人在提供优质客户服务方面的应用。
[0057] 相关技术中,主要集中在基于行业领域数据微调基础通用模型(Foundation Model,FM),得到垂直领域的大语言模型LLM,或者采用搜索等手段引入领域知识的Prompt Engineering方法,优化提示词来引导大语言模型LLM的输出。但仅仅采用上述两种方式,只能部分解决大语言模型LLM与行业领域适配的问题,并未能解决特定场景下合适的对话策略的问题,如客户服务场景。比如“客户购买了一台服务器,目前在安装过程中出现了硬盘不识别的问题”,客户向聊天机器人充当的ICSR进行咨询,客户和聊天机器人之间进行对话,聊天机器人需要向真人一样,引导客户去定位问题的原因,并且根据具体的原因给出针对性的方案,从而解决客户面临的问题。
[0058] 具体示例如下所示,首先为真人客服与客户之间的对话:
[0059] 客服:你好,工号1104,很高兴为您服务。用户:喂,你好,就是我刚刚打过电话了,就是说我现在装那个服务器啊,他现在就是说不认硬盘。客服:看不到硬盘是吧。用户:对,是不是缺少那个RAID驱动啊。客服:有可能,你做RAID吗?用户:做了,我看上面写的应该是RAID1。客服:怎么做的RAID?客服:或者看见的那个时候有什么快捷键的提示。用户:呃,有个CTRL加A还是加啥,就是这个配置他应该是那个集成的嘛,集成的那个主板。客服:CTRL加A一般不是集成的。用户:他是加啥呀,反正是在启动界面的时候能看的。客服:对,你注意看一下,你再重启一下看一看,去看一下什么型号的。用户:然后去我们官网找一个这个RAID卡的驱动。客服:加载一下就行。
[0060] 其次,是聊天机器人与客户之间的对话:
[0061] 聊天机器人:你好,我是小源,很高兴为您服务。用户:喂,你好,就是我刚刚打过电话了,就是说我现在装那个服务器啊,他现在就是说看不到硬盘。聊天机器人:您好,能请问您是使用什么型号的服务器及硬盘?另外,您是否尝试过重新插拔硬盘、更换其他硬盘,或者检查一下硬盘是否正确插入服务器的位置上?用户:出厂就安装好了,应该不是没插好。是不是缺少那个RAID驱动啊。聊天机器人:是的,您的服务器上可能缺少对应的RAID驱动程序,您可以下载并安装适用于您的服务器型号的RAID驱动程序。如果您不确定适用于您的服务器型号的驱动程序,请提供具体的服务器型号和操作系统版本,以便我们为您提供更详细的指导和建议。用户:我看上面写的应该是RAID1。聊天机器人:如果您要配置RAID1,则需要安装您所使用的服务器型号所提供的适用于RAID1的驱动程序和RAID管理工具。请确认您的服务器中已经安装了至少两块硬盘,并且经过物理连接后被系统检测到。接下来,您需要进入服务器RAID管理器来进行RAID配置,具体操作视不同服务器品牌和型号而有所差异,您可以查阅相应的服务器技术手册或在线文档以获得更详细的指导。
[0062] 根据上述对话可知,但现有的技术下,基于大语言模型LLM驱动的ICSR会根据用户问题,进行教科书式的长篇段落回答,并不是拟人对话的风格,也无法真正解决客户的问题。
[0063] 针对以大语言模型LLM驱动的聊天机器人存在的上述技术问题,在相关技术中,通常采用增加联网搜索、外接插件等方法,来补足大语言模型LLM落地具体行业场景下的领域知识欠缺的问题,从而提高对话的准确性,但是对于特定应用场景下的对话策略研究较少,难以达到拟人对话的水平。
[0064] 基于此,本申请实施例提供了一种基于自然语言模型的拟人对话方法,能够提高客户服务场景下高质量对话的生成能力,方便企业快速部署自己的基于自然语言模型的拟人对话系统。
[0065] 下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的基于自然语言模型的拟人对话方法进行详细地说明。
[0066] 如图1所示,本申请实施例提供的一种基于自然语言模型的拟人对话方法,该方法可以包括下述步骤101和步骤102:
[0067] 步骤101、获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息。
[0068] 其中,所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板。
[0069] 示例性地,上述第一文本信息为包括用户当前问题的文本信息,该第一文本信息为用户在与聊天机器人的对话过程中输入的最新的问题。上述第二文本信息为基于历史对话得到的当前用户问题的上下文信息。
[0070] 示例性地,上述第三文本信息中的多个领域知识,为基于用户当前问题在领域知识库中进行语义检索后得到的与当前用户问题最相关的多个领域知识。
[0071] 举例说明,如图2所示,为本申请实施例所涉及的基于自然语言模型的拟人对话方法的流程示意图。首先,需要获取用户当前问题(query)以及对话历史中当前用户问题的上下文信息,并基于该用户当前问题进行语义检索,检索到最相关的K条领域知识。同时,还需要基于用户当前问题进行场景分类,并根据分类标签匹配到对应的场景对话提示Promt模板。之后,便可以将得到的上述信息拼接合并。
[0072] 具体地,上述步骤101中,获取对话过程中的第二文本信息的步骤,还可以包括以下步骤101a和步骤101b:
[0073] 捕捉101a、获取对话过程中的历史对话信息。
[0074] 步骤101b、通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息。
[0075] 示例性地,可以通过长短时记忆机制从历史对话信息中筛选出最近的n轮对话,以及n轮对话之前,与当前用户问题最相关的m轮对话,并将筛选出的n轮对话和m轮对话合并为上下文信息。
[0076] 具体地,上述步骤101b,还可以包括以下步骤101b1至步骤101b3:
[0077] 步骤101b1、对所述历史对话信息执行预处理操作,得到处理后的历史对话信息。
[0078] 其中,所述预处理操作用于将同一对象的连续多个对话信息合并为一个对话信息。
[0079] 步骤101b2、基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相邻的多个对话轮次的对话信息作为短时记忆对话信息,以及基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相关的多个对话轮次的对话信息作为长时记忆对话信息。
[0080] 步骤101b3、将所述长时记忆对话信息以及所述短时记忆对话信息合并后,得到所述上下文信息。
[0081] 其中,所述长时记忆对话信息所包含的对话内容为所述短时记忆对话信息所包含的对话内容之前的对话内容。
[0082] 举例说明,如图3所示,基于历史对话,获取到当前query的上下文信息,并采用长短时记忆机制,将最临近n轮的对话作为短时记忆,列入上下文信息,而n轮之前对话只有语义最相关的m轮对话内容作为长时记忆,列入上下文信息。一般n取1 3,m取1 3。一问一答称~ ~为1轮,其中多个连续问合并为1问,多个连续答复合并为一个答复。如,当前用户问题是第
10轮,则第9轮、第8轮对话为短时记忆,与第10轮语义最相关的是第3轮对话,则第3轮为长时记忆,那么上下文信息为第3、8、9轮。
[0083] 具体地,上述步骤101中确定与所述用户当前问题的技术领域相关的多个领域知识的步骤,还可以包括以下步骤101c:
[0084] 步骤101c、将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,并将所述多个结果信息对应的领域知识确定为所述多个领域知识。
[0085] 示例性地,上述多个领域知识可以为领域知识库中与用户当前问题最相关的多个领域知识。该领域知识库为离线提前建设好的向量数据库,内容包括行业领域知识、企业产品知识以及历史对话经验等。
[0086] 具体地,上述步骤101c,还可以包括以下步骤101c1和步骤101c2:
[0087] 步骤101c1、使用预设转换算法将所述第一文本信息转换为所述第一语义向量,并基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度。
[0088] 示例性地,上述预设转换算法可以为text2vec算法,常用的text2vec算法包括:text2vec‑large‑chinese、ernie‑3.0‑base‑zh等。
[0089] 步骤101c2、将所述领域知识向量数据库中相似度值满足预设相似度的多个语义向量确定为所述多个结果信息。
[0090] 其中,所述预设相似度算法包括以下任一项:欧氏距离算法,内积算法。
[0091] 示例性地,在得到用户当前问题对应的第一语义向量之后,便可以基于该第一语义向量从领域知识向量数据库中筛选出与第一语义向量相似度满足预设相似度的多个语义向量,进而得到与用户当前问题最相关的多个结果信息。
[0092] 举例说明,如图4所示,首先用text2vec算法将query文本转换为语义向量,之后在向量数据库中进行检索,计算最相关的K个结果,K是整数,一般取1 5。向量数据库都支持相~似性检索,其相似性也支持不同的度量指标,如向量数据库Faiss,支持L2(欧式距离)和内积两种方式进行相似度度量,当两个向量都经过归一化处理,内积计算结果就是余弦相似度。当然,也可以采用基于当前query的文本关键词进行互联网搜索,过程是一致的,但很多企业基于数据安全的需要,不会进行联网,所以本申请实施例中的领域知识向量数据库,并未集成互联网搜索的功能。
[0093] 具体地,针对采用欧氏距离计算相似度的方案,上述步骤101c1,还可以包括以下步骤101c11:
[0094] 步骤101c11、基于以下公式一计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0095] (公式一)
[0096] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0097] 具体地,针对采用内积计算相似度的方案,上述步骤101c1,还可以包括以下步骤101c12:
[0098] 步骤101c12、基于以下公式二计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0099] (公式二)
[0100] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0101] 具体地,上述步骤101中,确定与所述第一文本信息的话题场景相对应的第四文本信息的步骤,还可以包括以下步骤101d1和步骤101d2:
[0102] 步骤101d1、将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景。
[0103] 步骤101d2、基于所述第一文本信息对应的话题场景从对话提示模板库中筛选出话题场景与所述第一文本信息对应的话题场景相匹配的目标提示模板。
[0104] 其中,一个话题场景对应一个对话提示模板。
[0105] 示例性地,本申请实施例中的对话提示模板的信息类型为文本信息。
[0106] 举例说明,如图5所示,首先是基于用户query进行细分场景分类,获取到细分场景的类别标签,再根据类别标签,去匹配对应的场景Prompt模版。每个场景对应的Prompt模版为预先设定好的,每个细分场景对应1个Prompt模版(如,分类为“硬盘不识别”场景,则选择“硬盘不识别”场景对应的Prompt模版。其中,细分场景分类标签库为预先设定好的,是企业客户服务场景下确定的细分场景,可能有几十、几百或者几千个。
[0107] 具体地,上述步骤101d1之前,本申请实施例提供的基于自然语言模型的拟人对话方法,还可以包括以下步骤201和步骤202:
[0108] 步骤201、获取用户与对话机器人之间的历史对话记录作为待标注训练集,并基于预设场景关键字对所述待标注训练集中的每个样本进行标注,得到标注后的目标训练集。
[0109] 步骤202、使用所述目标训练集对预训练模型进行训练,得到所述场景分类模型。
[0110] 示例性地,本申请实施例中的场景分类模型为基于Bert模型进行精调训练后得到的,训练数据来源于以往人工客户与客户的真实历史对话,基于场景关键词匹配进行自动标注,然后人工进行校验。
[0111] 步骤102、将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0112] 示例性地,将上下文信息、多个领域知识、对话提示模版、用户当前问题进行拼接合并,作为自然语言模型的输入,自然语言模型输出结果为当前会话轮次的对话回复,对话回复如果文本较长包含多个句子,则可按句子进行多次返回。
[0113] 具体地,上述步骤102,可以包括以下步骤102a1至步骤102a3:
[0114] 步骤102a1、将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并后,得到待处理文本信息。
[0115] 步骤102a2、使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量。
[0116] 步骤102a3、在所述待处理文本信息的第一分词数量大于所述自然语言模型所允许输入的最大分词数量的情况下,计算所述最大分词数量与所述第一分词数量的差值,得到分词数量差;以及基于所述分词数量差从所述目标文本信息的头部向尾部进行文本信息的截断,得到靠近头部的第一子文本信息和靠近尾部的第二子文本信息,并将所述第二文本信息确定为所述目标文本信息。
[0117] 示例性地,在上述步骤102a之后,上述步骤102,还可以包括以下步骤102a4:
[0118] 步骤102a4、在所述待处理文本信息的第一分词数量小于或者等于所述自然语言模型所允许输入的最大分词数量的情况下,将所述待处理文本信息确定为所述目标文本信息。
[0119] 举例说明,如图6所示,将四种类型的内容文本,分别为上下文信息、多个相关领域知识、prompt模版、当用户前问题进行合并,如果超出自然语言模型支持的输入上线,则从前面进行文本截断,只保留文本后面的部分。如将四种类型的文本合并为文本intext,而intext分词后为3000 tokens,而LLM支持的输入为2048 tokens,则只保留intext中第953~第3000个token作为LLM的输入。文本分词可以采用jieba分词算法。本申请实施例中可以使用源1.0模型作为自然语言模型,源1.0模型是一个生成式的预训练语言模型,有两种不同的参数规模(13B、245.7B),本申请实施例中可以选择使用130亿参数的模型。
[0120] 需要说明的是,本申请实施例中以大语言模型LLM作为自然语言模型的示例对本申请实施例提供的基于自然语言模型的拟人对话方法进行描述。
[0121] 需要说明的是,源1.0模型是一种基于Transformer网络的大语言模型,拥有2457亿个参数,可以理解和生成中文语言,以进行多种自然语言处理的任务。源1.0模型的结构由编码器(Encoder)和解码器(Decoder)两部分组成,每部分由多个相同的层堆叠而成,每层包含一个自注意力(Self‑Attention)子层和一个前馈神经网络(Feed Forward Neural Network)子层。自注意力机制可以让模型考虑到输入或输出序列中所有元素的上下文关系,从而更好地理解和生成语言。源1.0模型的编码器部分有96层,解码器部分有48层,每层的隐藏层维度为12288,每个自注意力头的维度为96,每层的自注意力头数为128。
[0122] 可选地,在本申请实施例中,由于不同的文本拼接顺序得到的自然语言模型的输出结果不完全相同,因此,可以为每一种拼接顺序生成的结果进行用户满意度评分,并使用对话提示模板以及多个领域知识来进行标记。
[0123] 具体地,上述步骤102,还可以包括以下步骤102b:
[0124] 步骤102b、基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息。
[0125] 其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。
[0126] 以下针对本申请实施例提供的基于自然语言模型的拟人对话方法的具体应用场景进行举例说明:
[0127] 1、用户自身带着遇到的问题进行咨询,会输入query。如query为“我现在装那个服务器啊,现在出现的问题是看不到硬盘。”根据这条query,进行语义搜索,k设为2,则会从领域知识库中搜索到最相关的两条领域知识。得到的最相关的两个领域知识如下:
[0128] Top1:服务器的raid阵列状态正常,才能识别到硬盘。
[0129] Top2:硬盘类型有2.5/3.5英寸SAS/SATA/NVMe硬盘。硬盘故障报警指示灯,常亮红色:硬盘出现故障,常亮蓝色:硬盘定位,常亮粉色:配合RAID Rebuilding。
[0130] 2、对该query进行分类,细分场景标签为“硬盘不识别”,该标签对应的prompt模版为:“硬盘不识别”场景prompt模版:作为一个IT企业服务器产品的售后工程师客服,当回答客户“硬盘不识别”问题时,你应该首先询问用户是否配置了raid,如果没有配置则引导用户进行raid配置。你应该时刻保持礼貌的语气,简短、明确、通俗的语言。
[0131] 3、在获取用户历史对话的上下文信息后,将四种类型的文本进行拼接合并,拼接后的内容如下,其长度小于模型支持的最大token数,直接可以作为LLM的输入,如下图。LLM会有生成的结果,如果结果文本内容较长且包含多句,可分割为多个结果以此输出,本轮对话结束,等待用户问题,进入下一轮对话。具体示例如下所示:
[0132] 用户:我现在装那个服务器啊,现在出现的问题是看不到硬盘。
[0133] 聊天机器人输入:领域知识:服务器的raid阵列状态正常,才能识别到硬盘。硬盘类型有2.5/3.5英寸SAS/SATA/NVMe硬盘。硬盘故障报警指示灯,常亮红色:硬盘出现故障,常亮蓝色:硬盘定位,常亮粉色:配合RAID Rebuilding。场景:硬盘不识别,对话策略:作为一名IT企业服务器产品的售后工程师客服,当回答客户“硬盘不识别”问题时,你应该首先询问用户是否配置了raid,如果没有配置则引导用户进行raid配置。你应该时刻保持礼貌的语气,简短、明确、通俗的语言。用户问题:我现在装那个服务器啊,现在出现的问题是看不到硬盘。
[0134] 聊天机器人输出:请问你是否已经进行了RAID配置呢?
[0135] 用户:做了,我看上面写的应该是RAID1。
[0136] 聊天机器人输入:上下文信息:用户:我现在装那个服务器啊,现在出现的问题是看不到硬盘。客服:请问你是否已经进行了RAID配置呢?领域知识:RAID是Redundant Array of Independent Disks(独立磁盘冗余阵列)的缩写,是一种数据存储技术,可将多个硬盘组合成一个逻辑磁盘阵列,提供更快速、更可靠、更安全的数据访问和保护机制。领域知识:RAID 1是一种磁盘阵列级别,它也被称为“磁盘镜像”或“磁盘副本”,它从至少两个硬盘中创建一个完全相同的磁盘镜像。当RAID 1在一个硬盘上写入数据时,它会在另一个硬盘上同时写入相同的数据,这使得数据对硬盘的损坏具有很高的容忍度,因为磁盘上出现故障时,数据仍然可以从其他镜像硬盘中获取。在开启服务器时按下配置RAID的快捷键进入RAID的配置工具,可以进行不同RAID级别的配置。场景:RAID配置,对话策略:作为一名IT企业服务器产品的售后工程师客服,当回答客户“RAID配置”问题时,你应该首先询问用户是用什么样的快捷键进行的配置,以明确用户是否进行了正确配置。你应该时刻保持礼貌的语气,简短、明确、通俗的语言。用户问题:做了,我看上面写的应该是RAID1。
[0137] 聊天机器人输出:好的,我想了解你是怎么做的RAID,配置的时候有什么快捷键的提示。
[0138] 示例性地,本申请实施例提供的基于自然语言模型的拟人对话方法,能够实现客户服务场景下,自然语言模型输出拟人的对话结果,可以有助于自然语言模型真正在行业场景中落地,承担企业客户服务系统中的ICSR角色,有效提高ICSR智能化水平。
[0139] 示例性地,本申请实施例提供的基于自然语言模型的拟人对话方法,集成了语义检索企业知识库的能力,可以有效解决自然语言模型行业领域知识欠缺的问题,同时不需要进行大规模的微调训练,是一种更加经济的方法,有助于降低企业使用自然语言模型的门槛和便捷度。
[0140] 示例性地,本申请实施例提供的基于自然语言模型的拟人对话方法,基于长短时记忆的理论将历史对话信息形成上下文信息,可以有效解决多伦对话中的遗忘问题,实现长短时记忆功能,提升多轮对话的准确度。
[0141] 示例性地,本申请实施例提供的基于自然语言模型的拟人对话方法,通过标准化的框架集成领域知识、上下文和场景下的对话策略,从而实现基于自然语言模型落地客服服务场景,实现拟人的对话效果,提高ICSR智能化水平。
[0142] 本申请实施例提供的基于自然语言模型的拟人对话方法,获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:上下文信息;所述第三文本包括:多个领域知识;所述第四文本信息包括:对话提示模板;之后,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;最后,将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。如此,可以提高以自然语言模型驱动的聊天机器人针对专业领域问题的对话生成能力和对话质量,同时,还能使聊天机器人的对话更加拟人化。
[0143] 需要说明的是,本申请实施例提供的基于自然语言模型的拟人对话方法,执行主体可以为基于自然语言模型的拟人对话装置,或者该基于自然语言模型的拟人对话装置中的用于执行基于自然语言模型的拟人对话方法的控制模块。本申请实施例中以基于自然语言模型的拟人对话装置执行基于自然语言模型的拟人对话方法为例,说明本申请实施例提供的基于自然语言模型的拟人对话装置。
[0144] 需要说明的是,本申请实施例中,上述各个方法附图所示的。基于自然语言模型的拟人对话方法均是以结合本申请实施例中的一个附图为例示例性的说明的。具体实现时,上述各个方法附图所示的基于自然语言模型的拟人对话方法还可以结合上述实施例中示意的其它可以结合的任意附图实现,此处不再赘述。
[0145] 下面对本申请提供的基于自然语言模型的拟人对话装置进行描述,下文描述的与上文描述的基于自然语言模型的拟人对话方法可相互对应参照。
[0146] 图7为本申请实施例提供的基于自然语言模型的拟人对话装置的结构示意图,如图7所示,具体包括:
[0147] 信息获取模块701,用于获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;信息处理模块,用于将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0148] 可选地,所述信息获取模块701,具体用于获取对话过程中的历史对话信息;所述信息获取模块701,具体还用于通过长短时记忆机制从所述历史对话信息中筛选出多个轮次的对话信息,并将所述多个轮次的对话信息确定为所述上下文信息。
[0149] 可选地,所述信息获取模块701,具体用于对所述历史对话信息执行预处理操作,得到处理后的历史对话信息;所述预处理操作用于将同一对象的连续多个对话信息合并为一个对话信息;所述信息获取模块701,具体还用于基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相邻的多个对话轮次的对话信息作为短时记忆对话信息,以及基于所述用户当前问题,从所述处理后的历史对话信息中筛选出与所述用户当前问题相关的多个对话轮次的对话信息作为长时记忆对话信息;所述信息获取模块701,具体还用于将所述长时记忆对话信息以及所述短时记忆对话信息合并后,得到所述上下文信息;其中,所述长时记忆对话信息所包含的对话内容为所述短时记忆对话信息所包含的对话内容之前的对话内容。
[0150] 可选地,所述信息获取模块701,具体用于将所述第一文本信息转换为第一语义向量,并基于所述第一语义向量从所述领域知识向量数据库中筛选出与所述第一语义向量相匹配的多个结果信息,并将所述多个结果信息对应的领域知识确定为所述多个领域知识。
[0151] 可选地,所述信息获取模块701,具体用于使用预设转换算法将所述第一文本信息转换为所述第一语义向量,并基于预设相似度算法计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度;所述信息获取模块701,具体还用于将所述领域知识向量数据库中相似度值满足预设相似度的多个语义向量确定为所述多个结果信息;其中,所述预设相似度算法包括以下任一项:欧氏距离算法,内积算法。
[0152] 可选地,所述信息获取模块701,具体用于基于以下公式一计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0153] (公式一)
[0154] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0155] 可选地,所述信息获取模块701,具体用于基于以下公式二计算所述第一语义向量与所述领域知识向量数据库中各个领域知识的语义向量的相似度:
[0156] (公式二)
[0157] 其中, 为所述第一语义向量; 为所述领域知识向量数据库中任一领域知识的语义向量。
[0158] 可选地,所述信息获取模块701,具体用于将所述第一文本信息输入至场景分类模型中,确定所述第一文本信息对应的话题场景;所述信息获取模块701,具体还用于基于所述第一文本信息对应的话题场景从对话提示模板库中筛选出话题场景与所述第一文本信息对应的话题场景相匹配的目标提示模板;其中,一个话题场景对应一个对话提示模板。
[0159] 可选地,所述数据处理模块702,具体用于将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并后,得到待处理文本信息;所述数据处理模块702,具体还用于使用预设分词算法对所述待处理文本信息执行文本分词操作,并计算分词后所述待处理文本信息对应的第一分词数量;所述数据处理模块702,具体还用于在所述待处理文本信息的第一分词数量大于所述自然语言模型所允许输入的最大分词数量的情况下,计算所述最大分词数量与所述第一分词数量的差值,得到分词数量差;以及基于所述分词数量差从所述目标文本信息的头部向尾部进行文本信息的截断,得到靠近头部的第一子文本信息和靠近尾部的第二子文本信息,并将所述第二文本信息确定为所述目标文本信息。
[0160] 可选地,所述数据处理模块702,具体还用于在所述待处理文本信息的第一分词数量小于或者等于所述自然语言模型所允许输入的最大分词数量的情况下,将所述待处理文本信息确定为所述目标文本信息。
[0161] 可选地,所述数据处理模块702,具体用于基于与所述多个领域知识以及所述第四文本信息所包含的对话提示模板相匹配的目标拼接顺序,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;其中,基于不同的拼接顺序得到的目标文本信息,对应的所述自然语言模型的输出结果不完全相同;所述目标拼接顺序为多个拼接顺序对应的所述自然语言模型的输出结果中,用户满意度评分最高的拼接顺序;所述多个拼接顺序为所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息所对应的拼接顺序。
[0162] 可选地,所述装置还包括:训练模块;所述获取模块,还用于获取用户与对话机器人之间的历史对话记录作为待标注训练集,并基于预设场景关键字对所述待标注训练集中的每个样本进行标注,得到标注后的目标训练集;所述训练模块,用于使用所述目标训练集对预训练模型进行训练,得到所述场景分类模型。
[0163] 本申请提供的基于自然语言模型的拟人对话装置,获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:上下文信息;所述第三文本包括:多个领域知识;所述第四文本信息包括:对话提示模板;之后,将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息;最后,将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。如此,可以提高以自然语言模型LLM驱动的聊天机器人针对专业领域问题的对话生成能力和对话质量,同时,还能使聊天机器人的对话更加拟人化。
[0164] 图8示例了一种电子设备的实体结构示意图,如图8所示,该电子设备可以包括:处理器(processor)810、通信接口(Communications Interface)820、存储器(memory)830和通信总线840,其中,处理器810,通信接口820,存储器830通过通信总线840完成相互间的通信。处理器810可以调用存储器830中的逻辑指令,以执行基于自然语言模型的拟人对话方法,该方法包括:获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息 ;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0165] 此外,上述的存储器830中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166] 另一方面,本申请还提供一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于自然语言模型的拟人对话方法,该方法包括:获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息 ;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0167] 又一方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于自然语言模型的拟人对话方法,该方法包括:获取对话过程中的第一文本信息以及对话过程中的第二文本信息,并确定与所述第一文本信息的技术领域相关的第三文本信息,以及与所述第一文本信息的话题场景相对应的第四文本信息 ;所述第一文本信息包括:用户当前问题;所述第二文本信息包括:所述用户当前问题的上下文信息;所述第三文本信息包括:多个领域知识;所述第四文本信息包括:对话提示模板;将所述第一文本信息、所述第二文本信息、所述第三文本信息、以及所述第四文本信息进行拼接合并,得到目标文本信息,并将所述目标文本信息输入自然语言模型,得到与所述用户当前问题对应的目标回复内容。
[0168] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0169] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0170] 最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。