一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多轮问答的方法、装置及设备与流程

2022-05-31 18:14:01 来源:中国专利 TAG:

1.本技术涉及计算机
技术领域
,尤其涉及一种多轮问答的方法、装置及设备。
背景技术
:2.基于表格数据的人机交互系统(tableqa),是将用户输入的自然语言问题转换成对应的结构化查询语言(structuredquerylanguage,简称sql)语句,并在数据库中用于存储表格数据的数据表中找到sql语句对应的结果反馈给用户的功能。由于表格是日常工作和生活中常见的数据存储结构,tableqa系统有很广泛的应用场景,比如数据的查询、统计与筛选等,可以应用于政务、金融、能源等多种应用领域中。实现tableqa系统的关键技术是将自然语言问题转换成对应的sql语句,即text-to-sql语言转换。3.在实际的应用场景中,用户常常是以多轮问答的方式与系统进行交互,历史多轮问答内容中经常存在冗余的内容,本轮对话中可能省略或用其他内容指代历史对话中已经出现过信息。为了让对话系统具备记忆的能力,通常会通过对话状态跟踪(dialogstatetracking,简称dst),来存储对话历史中的一些重要信息,但是dst相关的方法常常很复杂,无法应用于在线的人机交互系统。4.目前的人机交互系统中,通过将本轮对话与历史轮次的历史对话内容全部拼接到一起后输入text-to-sql语言转换模型,引入额外的噪声,转换得到的sql语句不准确,从而导致人机交互系统给出的答复信息质量差、准确性低。技术实现要素:5.本技术提供一种多轮问答的方法、装置及设备,用以解决目前人机交互系统给出的答复信息质量差、准确性低的问题。6.第一方面,本技术提供一种多轮问答的方法,包括:响应于对话请求,若确定本轮对话之前存在至少一轮历史对话,则获取本轮对话信息和所述至少一轮历史对话的历史对话信息;将所述本轮对话信息和所述历史对话信息输入上下文改写模型,利用所述上下文改写模型,确定所述本轮对话信息中待改写对象,所述待改写对象对应的改写操作类型,以及所述历史对话信息中用于改写的关键文本;根据所述本轮对话信息中待改写对象和所述待改写对象对应的改写操作类型,使用所述关键文本,对所述本轮对话信息进行改写,生成候选对话信息;根据所述候选对话信息的质量信息,将其中一个候选对话信息作为本轮对话信息改写后的目标对话信息;获取所述目标对话信息对应的答复信息,并反馈所述答复信息。7.第二方面,本技术提供一种多轮问答的装置,包括:信息获取模块,用于响应于对话请求,若确定本轮对话之前存在至少一轮历史对话,则获取本轮对话信息和所述至少一轮历史对话的历史对话信息;改写预测模块,用于将所述本轮对话信息和所述历史对话信息输入上下文改写模型,利用所述上下文改写模型,确定所述本轮对话信息中待改写对象,所述待改写对象对应的改写操作类型,以及所述历史对话信息中用于改写的关键文本;改写模块,用于根据所述本轮对话信息中待改写对象和所述待改写对象对应的改写操作类型,使用所述关键文本,对所述本轮对话信息进行改写,生成候选对话信息;选择模块,用于根据所述候选对话信息的质量信息,将其中一个候选对话信息作为本轮对话信息改写后的目标对话信息;答复模块,用于获取所述目标对话信息对应的答复信息,并反馈所述答复信息。8.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现上述第一方面所述的方法。9.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述第一方面所述的方法。10.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的方法。11.本技术提供的多轮问答的方法、装置及设备,对于发起的新一轮对话(本轮对话),通过获取本轮对话之前存在至少一轮历史对话的历史对话信息,将本轮对话信息和历史对话信息输入上下文改写模型,利用训练好的上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本;根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息;根据候选对话信息的质量信息,将质量较优的一个候选对话信息作为本轮对话信息改写后的目标对话信息,能够将本轮对话中省略的关键信息补充完整,并将指代信息替换为所指代的完整内容信息,从而将本轮对话信息改写为高质量的表达,解决多轮问答中指定和省略的问题,基于改写后的目标对话信息获取对应的答复信息,提高了答复信息的质量和准确性。附图说明12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。13.图1为本技术提供的一多轮问答内容的示例图;图2为本技术所基于的一示例性的网络架构的示意图;图3为本技术一示例性实施例提供的一种多轮问答的方法流程图;图4为本技术另一示例性实施例提供的多轮问答的方法流程图;图5为本技术一示例性实施例提供的上下文改写模型使用的框架图;图6为一示例性实施例提供的基于上下文改写模型的text-to-sql语言转换的框架图;图7为本技术一示例性实施例提供的多轮问答的装置的结构示意图;图8为本技术一示例实施例提供的电子设备的结构示意图。14.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。具体实施方式15.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。16.首先对本技术所涉及的名词进行解释:数据表:结构化查询语言(sql)数据库中的数据表,用于存储数据,数据存入数据库的对应数据表后,即完成了待存储数据的永久化,此后可以通过访问查询数据库的数据表,来获取数据的数据内容。17.数据元素:也称作数据表的模式,指数据表中的表名、列名、值等信息。18.tableqa:一种基于表格数据(或表格知识)的人机交互系统,其实现将用户输入的自然语言问题转换为sql语句,并在数据库中用于存储表格数据的数据表中找到sql语句对应的结果反馈给用户的功能。如,基于表格数据的问答/对话系统。19.text-to-sql语言转换模型:是tableqa系统的核心技术,一种语言理解(semanticparsing)的方式,用于将人类的自然语言描述的问题(text)转换为计算机可执行的sql语句。利用该模型可以实现人和表格/数据库之间的自由交互,无需用户学习复杂的sql语法。进一步地,依赖该模型可以实现基于表格/数据库的问答/对话系统。20.token:自然语言处理中文本经分词处理(tokenization)后得到的每一个词(或字)。21.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。22.本技术提供的多轮问答的方法,可以应用于多种应用领域中的人机交互系统,例如,基于表格数据(表格知识或者数据库)的问答/对话系统。23.在实际的人机交互系统中,用户常常是以多轮问答的方式与系统进行交互,历史多轮问答内容中经常存在冗余的内容,本轮对话中可能省略或用其他内容指代历史对话中已经出现过信息。24.示例性地,以图1所示的多轮问答内容为例,在该示例中,本轮(第三轮)对话中的“他们”指代基于历史两轮对话的查询到的玩家,也即“身高超过200cm的扑克玩家”,本轮对话完整的问题可以表述为“身高超过200cm的扑克玩家的平均身高是多少”。25.传统的人机交互系统中,会将上述三轮对话内容全部拼接后输入text-to-sql语言转换模型,引入大量额外的噪声,转换得到的sql语句不准确,导致人机交互系统给出的答复信息质量差、准确性低。26.针对上述技术问题,本技术提供一种多轮问答的方法,将本轮对话信息和历史对话信息输入上下文改写模型,利用训练好的上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本;根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息;根据候选对话信息的质量信息,将质量较优的一个候选对话信息作为本轮对话信息改写后的目标对话信息,能够将本轮对话中省略的关键信息补充完整,并将指代信息替换为所指代的完整内容信息,从而将本轮对话信息改写为高质量的表达,解决多轮中指定和省略的问题,基于改写后的目标对话信息获取对应的答复信息,提高了答复信息的质量和准确性。27.示例性地,图2为本技术所基于的一示例性的网络架构的示意图,图2所示网络架构具体可包括服务器以及终端。28.其中,服务器具体可为设置在云端的服务器集群,该服务器上存储有历史对话数据,以及数据库中存储的用于实现人机交互的数据查询的数据,如实现表格问答/对话的表格数据等。该服务器中还存储有上下文改写模型,text-to-sql语言转换模型等相关的模型数据,通过服务器中预设运算逻辑,服务器可实现模型训练、多轮问答的人机交互等多种运算功能。29.终端具体可为具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于智能手机、平板电脑、台式电脑、物联网设备等。30.通过与服务器的通信交互,终端将用户输入的本轮对话信息发送至服务器。服务器获取到用户输入的本轮对话信息之后,如果本轮对话之前还存在本次对话的至少一轮历史对话,则获取至少一轮历史对话的历史对话信息,通过训练好的上下文改写模型,根据历史对话信息对本轮对话信息进行改写,得到改写后的目标对话信息;将目标对话信息输入text-to-sql语言转换模型,将目标对话信息转换为对应的sql语句;根据该sql语句查询数据表得到答复信息,将答复信息反馈给终端。31.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。32.图3为本技术一示例性实施例提供的一种多轮问答的方法流程图。本实施例提供的多轮问答的方法具体可以应用于前述提及的服务器。如图3所示,该方法具体步骤如下:步骤s301、响应于对话请求,若确定本轮对话之前存在至少一轮历史对话,则获取本轮对话信息和至少一轮历史对话的历史对话信息。33.在实际应用中,用户可以在终端上提供的交互页面上输入对话内容,终端会将服务反馈的答复信息通过交互页面展示给用户。用户在终端上输入新一轮的对话内容之后,终端向服务器发送对话请求,该对话请求包含用户输入的本轮对话文本信息,用于请求服务器根据本轮对话文本信息给出答复信息。34.服务器响应于对话请求提取本轮对话文本信息,并基于存储的历史对话数据,确定本轮对话之前是否存在一轮或多轮历史对话。若确定本轮对话之前存在至少一轮历史对话,则获取至少一轮历史对话的历史对话信息。35.示例性地,服务器获取的本轮对话信息可以是本轮对话文本信息对应的分词结果,也即对本轮对话文本分词后得到的token序列。36.示例性地,本实施例中,对于中文文本的分词是将句子转化为单个字(如单个汉字、单个数字、单个字母)的序列。对于英文文本的分词是将句子转化为单个词(英文单词)的序列。37.例如,对于“他们的平均身高是多少”,对该语句进行分词处理后的token序列为{他,们,的,平,均,身,高,是,多,少}。38.例如,对于“有多少玩家的身高超过200cm”,对该语句进行分词处理后的token序列为{有,多,少,玩,家,的,身,高,超,过,2,0,0,c,m}步骤s302、将本轮对话信息和历史对话信息输入上下文改写模型,利用上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本。39.在获取到本轮对话信息和本次交互的一个或多个轮次的历史对话的历史对话信息之后,将本轮对话信息和历史对话信息输入训练好的上下文改写模型,利用该上下文改写模型来判断本轮对话信息中每一位置上的文本信息是保留、替换还是删除,以及需要在哪个位置前插入历史对话中的关键信息,并且从历史对话信息中提取可能要补入本轮对话信息中的关键信息作为关键文本,用于对本轮对话信息进行改写。40.本实施例中,上下文改写模型是预先训练好的神经网络模型,用于根据输入的本轮对话信息和历史对话信息,确定本轮对话信息中每一位置对应的改写位置类别及改写操作类型,以及历史对话信息中每一位置对应的候选位置类别,从而进一步可以确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本。41.其中,待改写对象可以为待插入位置或者待改写文本。42.待插入位置是本轮对话信息中的任一token对应位置,本轮对话信息中每一token对应一个位置。在该待插入位置之前需要插入历史对话中的关键信息。43.本轮对话信息中可以包括一个或者多个待改写文本,一个待改写文本包含本轮对话信息中一个或者多个连续的token。历史对话信息中用于改写的关键文本可以为一个或者多个关键文本,每一关键文本包括历史对话信息中的一个或者多个连续的token。44.示例性地,改写操作类型包括以下至少一种:插入、删除、替换、保持原样。45.待插入位置对应的改写操作类型为插入,待改写文本对应的改写操作类型可以为删除、替换、保持原样中的任一种。46.对于改写操作类型为插入的目标位置,将每一个待插入的目标位置单独处理,可以向该位置插入候选token。47.步骤s303、根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息。48.在确定本轮对话信息中待改写对象和待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本之后,自动实现对本轮对话信息改写,生成改写后的候选对话信息。49.示例性地,本轮对话信息中可以包括一个或者多个待改写文本,历史对话信息中用于改写的关键文本可以为一个或者多个关键文本,可以根据待改写对象对应的改写操作类型,采用枚举的方式给出所有可能的改写方式,生成所有可能的候选对话信息。50.在实际的交互系统中,通常对话内容较简单,本轮对话信息中通常包含一个改写操作类型为替换的待改写文本,或者包含一个待插入位置。51.示例性地,若本轮对话信息中仅包括一个待插入位置,可以对所有关键文本的顺序进行排列组合,枚举所有可能的排列方式,得到对应的组合文本,将每一组合文本插入本轮对话信息中的待插入位置,得到对应的候选对话信息。52.示例性地,若本轮对话信息中仅包括一个待改写文本,且待改写文本的改写操作类型为替换,可以对所有关键文本的顺序进行排列组合,枚举所有可能的排列方式,得到对应的组合文本,用每一组合文本替换本轮对话信息中的待改写文本,得到对应的候选对话信息。53.例如,以图1所示的多轮问答内容为例,利用上下文改写模型可以确定:本轮对话信息中的待改写对象为“他们”,对应的改写操作类型为:替换。历史对话信息中的关键文本包括:“身高超过200cm”和“扑克玩家”。通过枚举的方式至少可以生成如下候选对话信息:“扑克玩家身高超过200cm的平均身高是多少”、“身高超过200cm扑克玩家的平均身高是多少”。54.示例性地,若本轮对话信息中包括多个需要使用关键文本的待改写对象(包括待插入位置、改写操作类型为替换的待改写文本),那么每一待改写对应至少一个关键文本,通过枚举所有可能的改写方式,生成每一种改写方式对应的候选对话信息。55.步骤s304、根据候选对话信息的质量信息,将其中一个候选对话信息作为本轮对话信息改写后的目标对话信息。56.在对本轮对话信息进行改写得到候选对话信息之后,若候选对话信息有多个,可以根据候选对话信息的质量信息进行排序,将质量较优的一个候选对话信息作为本轮对话信息改写后的目标对话信息。57.另外,若候选对话信息只有一个,将该候选对话信息直接作为本轮对话信息改写后的目标对话信息。58.本轮对话信息改写后的目标对话信息,将本轮对话中省略的关键信息补充完整,并将指代信息替换为所指代的完整内容信息,是高质量的表达文本。59.步骤s305、获取目标对话信息对应的答复信息,并反馈答复信息。60.在确定本轮对话信息改写后的目标对话信息之后,基于目标对话信息生成对应的答复信息,能够获取到对用户本轮对话的高质量的答复。服务器将获取到的答复信息反馈给终端。61.本实施例中,对于发起的新一轮对话(本轮对话),获取本轮对话之前存在至少一轮历史对话的历史对话信息,将本轮对话信息和历史对话信息输入上下文改写模型,利用训练好的上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本;根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息;根据候选对话信息的质量信息,将质量较优的一个候选对话信息作为本轮对话信息改写后的目标对话信息,能够将本轮对话中省略的关键信息补充完整,并将指代信息替换为所指代的完整内容信息,从而将本轮对话信息改写为高质量的表达,解决多轮问答中指定和省略的问题,基于改写后的目标对话信息获取对应的答复信息,提高了答复信息的质量和准确性。62.一种可选的实施例中,上下文改写模型用于判断本轮对话信息中每一位置上的文本信息是保留、替换还是删除,以及需要在哪个位置前插入历史对话中的关键信息,并且从历史对话信息中提取可能要补入本轮对话信息中的关键信息作为关键文本,用于对本轮对话信息进行改写。63.具体地,将本轮对话信息和历史对话信息输入上下文改写模型,通过上下文改写模型进行分类处理,得到包含如下信息的分类结果:本轮对话信息中每一位置对应的改写位置类别及改写操作类型,历史对话信息中每一位置对应的候选位置类别,其中,改写位置类别为改写开始位置、改写终止位置、非改写起止位置中的任一种;候选位置类别为候选开始位置、候选终止位置、非候选起止位置中的任一种。64.进一步地,根据分类结果,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中的关键文本。65.参见图4,图4为本技术另一示例性实施例提供的多轮问答的方法流程图。如图4所示,该方法具体步骤如下:步骤s401、响应于对话请求,若确定本轮对话之前存在至少一轮历史对话,则获取本轮对话信息和至少一轮历史对话的历史对话信息。66.在实际应用中,用户可以在终端上提供的交互页面上输入对话内容,终端会将服务反馈的答复信息通过交互页面展示给用户。用户在终端上输入新一轮的对话内容之后,终端向服务器发送对话请求,该对话请求包含用户输入的本轮对话文本信息,用于请求服务器根据本轮对话文本信息给出答复信息。67.服务器响应于对话请求提取本轮对话文本信息,并基于存储的历史对话数据,确定本轮对话之前是否存在一轮或多轮历史对话。若确定本轮对话之前存在至少一轮历史对话,则获取至少一轮历史对话的历史对话信息。68.示例性地,服务器获取的本轮对话信息可以是本轮对话文本信息对应的分词结果,也即对本轮对话文本分词后得到的token序列。69.可选地,该步骤中获取本轮对话文本和至少一轮历史对话的历史对话文本;将本轮对话文本和每一轮历史对话的历史对话文本分别进行分词处理,得到本轮对话文本的token序列和每一轮历史对话的历史对话文本的token序列。70.示例性地,本实施例中,对于中文文本的分词是将句子转化为单个字(如单个汉字、单个数字、单个字母)的序列。对于英文文本的分词是将句子转化为单个词(英文单词)的序列。71.例如,对于“他们的平均身高是多少”,对该语句进行分词处理后的token序列为{他,们,的,平,均,身,高,是,多,少}。72.例如,对于“有多少玩家的身高超过200cm”,对该语句进行分词处理后的token序列为{有,多,少,玩,家,的,身,高,超,过,2,0,0,c,m}通过步骤s402-s404,基于上下文改写模型,确定本轮对话信息中待改写的目标token,目标token对应的改写操作类型,以及历史对话信息中用于改写的候选token。73.步骤s402、将本轮对话信息和历史对话信息输入上下文改写模型,通过上下文改写模型进行分类处理,得到包含如下信息的分类结果:本轮对话信息中每一位置对应的改写位置类别及改写操作类型,历史对话信息中每一位置对应的候选位置类别。74.其中,改写位置类别为改写开始位置、改写终止位置、非改写起止位置中的任一种。75.候选位置类别为候选开始位置、候选终止位置、非候选起止位置中的任一种。76.本实施例中,上下文改写模型是预先训练好的神经网络模型,用于根据输入的本轮对话信息和历史对话信息,判断本轮对话信息中每一位置上的文本信息是保留、替换还是删除,以及需要在哪个位置前插入历史对话中的关键信息,并且从历史对话信息中提取可能要补入本轮对话信息中的关键信息作为关键文本,用于对本轮对话信息进行改写,从而确定本轮对话信息中每一位置对应的改写位置类别及改写操作类型,以及历史对话信息中每一位置对应的候选位置类别。77.可选地,上下文改写模型可以包括骨干网络和分类器,其中骨干网络为transformer模型,具体可以是bart或t5等。分类器包括如下三个分类器:位置预测分类器、指代预测分类器和替换预测分类器。将本轮对话信息和历史对话信息输入上下文改写模型的骨干网络进行处理,将处理结果输入三个分类器中进行分类处理,得到分类结果。78.其中,位置预测分类器用于确定本轮对话信息中每一位置对应的改写位置类别,指代预测分类器用于确定本轮对话信息中每一位置对应的改写操作类型。基于这两个分类器的分类结果,能够判断本轮对话信息中每一位置上的文本信息是保留、替换、删除、还是在该位置前插入其他文本信息。79.替换预测分类器用于确定历史对话信息中每一位置对应的候选位置类别,根据该分类器的分类结果可以实现从历史对话信息中提取可能要补入本轮对话信息中的关键信息作为关键文本。80.示例性地,上下文改写模型中的分类器可以采用多层感知机(multilayerperceptron,简称mlp)实现。81.示例性地,如图5所示,上下文改写模型可以在transformer基础上增加三个mlp,每一mlp作为一个分类器,用于确定对应的分类结果。基于图1所示的多轮问答内容,如图5所示,将本轮对话和两轮历史对话的对话信息输入transformer,transformer的处理结果输入三个分类器分别输出如图5所示的分类结果。82.本实施例中,上下文改写模型是基于训练集训练好的模型。83.示例性地,在进行模型训练之前,首先获取大量的历史数据样本,包括:本轮对话样本、至少一轮历史对话样本和对本轮对话信息改写后的目标对话样本。通过对本轮对话样本、至少一轮历史对话样本和目标对话样本进行解析,可以确定本轮对话样本中每一位置对应的改写位置类别及改写操作类型,以及历史对话样本中每一位置对应的候选位置类别,得到标注数据。另外,也可以通过人工标注的方式获取标注数据。84.训练集包括多条训练数据,每一条训练数据包括本轮对话样本,至少一轮历史对话样本,及标注数据(包括本轮对话样本中每一位置对应的改写位置类别及改写操作类型,以及历史对话样本中每一位置对应的候选位置类别)。85.在进行模型训练时,将本轮对话样本和至少一轮历史对话样本输入上下文改写模型,得到上下文改写模型的分类结果,根据上下文改写模型的分类结果与标注数据计算损失,并根据损失优化上下文改写模型的模型参数。经过多轮迭代训练至模型收敛时,确定训练好的上下文改写模型。86.可选地,进行模型训练时,可以基于上下文改写模型在测试集上的预测结果,确定改写后的目标对话信息。使用改写后的目标对话信息的困惑度(或句子概率)来衡量上下文改写模型的优劣,困惑度越低(或句子概率越高)说明上下文改写模型越好,能够使得利用训练好的上下文改写模型确定的改写后的目标对话信息的质量更高更流畅。87.步骤s403、根据分类结果,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中的关键文本。88.其中,待改写对象为待插入位置或待改写文本。改写操作类型包括:插入、删除、替换和保持原样。待插入位置对应的改写操作类型为插入。89.在得到分类结果之后,根据分类结果中每一改写开始位置与对应的改写终止位置,确定一个待改写对象。90.根据每一待改写对象所在位置的改写操作类型,确定待改写对象的改写操作类型。91.示例性地,分类结果中改写开始位置和改写终止位置是成对出现的,一个改写开始位置与其后第一个出现的改写终止位置对应。成对出现的改写开始位置和改写终止位置确定一个待改写对象,该待改写对象包括改写开始位置、改写终止位置、以及这两者之间的位置所有这些位置上的文本。成对出现的改写开始位置和改写终止位置,以及这两者之间的位置的改写操作类型均一致,也即是对应的待改写对象的改写操作类型。92.示例性地,若改写开始位置和改写终止位置重合,则确定待改写对象对应一个位置。若该位置的改写操作类型为替换、删除、保持原样中的任一种,则该待改写对象为待改写文本,该待改写文本对应的操作类型与该位置的改写操作类型一致。若该位置的改写操作类型为插入,则该待改写对象为待插入位置,该待插入位置对应的操作类型为插入。后续在该待插入位置前面(或后面)插入关键文本。93.例如,根据如图5中所示的分类结果:本轮对话信息中的改写起始位置为0,改写终止位置为1,确定待改写对象为位置0-1上的文本“他们”,待改写操作类型为替换。94.该步骤中,根据分类结果中每一候选开始位置与对应的候选终止位置确定一个关键文本。95.示例性地,分类结果中候选开始位置和候选终止位置是成对出现的,一个候选开始位置与其后第一个出现的候选终止位置对应。成对出现的候选开始位置和候选终止位置确定一个关键文本,该关键文本包括候选开始位置、候选终止位置、以及这两者之间的位置所有这些位置上的文本。96.例如,根据如图5中所示的分类结果,可以确定轮次一的历史对话信息中的候选起始位置为6,候选终止位置为9,确定关键文本为位置[6-9]上的文本“扑克玩家”;轮次二的历史对话信息中的候选起始位置为6,候选终止位置为14,确定关键文本为位置[6-14]上的文本“身高超过200cm”。[0097]步骤s404、根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息。[0098]在确定本轮对话信息中待改写对象和待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本之后,自动实现对本轮对话信息改写,生成改写后的候选对话信息。[0099]具体地,若本轮对话信息中存在待插入位置,则将至少一个关键文本插入待插入位置。需要说明的是,待插入位置指示的是在该待插入位置的前面(或者后面)插入关键文本。[0100]若本轮对话信息中存在第一待改写文本,第一待改写文本的改写操作类型为替换,则使用至少一个关键文本替换第一待改写文本。[0101]若本轮对话信息中存在第二待改写文本,第二待改写文本的改写操作类型为删除,则删除本轮对话信息中的第二待改写文本。[0102]在实际的交互系统中,通常对话内容较简单,本轮对话信息中通常包含一个改写操作类型为替换的待改写文本,或者包含一个待插入位置。[0103]示例性地,若本轮对话信息中仅包括一个待插入位置,可以对所有关键文本的顺序进行排列组合,枚举所有可能的排列方式,得到对应的组合文本,将每一组合文本插入本轮对话信息中的待插入位置,得到对应的候选对话信息。[0104]示例性地,若本轮对话信息中仅包括一个待改写文本,且待改写文本的改写操作类型为替换,可以对所有关键文本的顺序进行排列组合,枚举所有可能的排列方式,得到对应的组合文本,用每一组合文本替换本轮对话信息中的待改写文本,得到对应的候选对话信息。[0105]示例性地,若本轮对话信息中包括多个需要使用关键文本的待改写对象(包括待插入位置、改写操作类型为替换的待改写文本),那么每一待改写对应至少一个关键文本,通过枚举所有可能的改写方式,生成每一种改写方式对应的候选对话信息。[0106]例如,以图5所示分类结果为例,所确定的本轮对话信息中的待改写文本为位置0-1上的文本“他们”,待改写操作类型为替换;历史对话信息中的关键文本包括:轮次一中位置[6-9]上的文本“扑克玩家”,轮次二中位置[6-14]上的文本“身高超过200cm”。通过枚举的方式至少可以生成如下候选对话信息:“扑克玩家身高超过200cm的平均身高是多少”、“身高超过200cm扑克玩家的平均身高是多少”。[0107]步骤s405、根据候选对话信息的质量信息,将其中一个候选对话信息作为本轮对话信息改写后的目标对话信息。[0108]在对本轮对话信息进行改写得到候选对话信息之后,若候选对话信息有多个,可以根据候选对话信息的质量信息进行排序,将质量较优的一个候选对话信息作为本轮对话信息改写后的目标对话信息。[0109]可选地,获取每一候选对话信息的句子概率,将句子概率最高的候选对话信息作为目标对话信息。[0110]示例性地,可以基于n元语法模型计算每一候选对话信息的句子概率,或者可以采用现有的任意一种计算句子概率的方式实现,此处不做具体限定。[0111]可选地,获取每一候选对话信息的困惑度,将困惑度最低的候选对话信息作为目标对话信息。[0112]其中,一个句子w的困惑度可以通过如下方式确定:其中,表示句子w的困惑度,n表示句子w中包含的token的数量,为句子w中包含的n个token,表示句子w的句子概率。[0113]可选地,对于得到的目标对话信息,可以进行增加连接词等修正处理,使得改写后的目标对话信息的质量更高、更流畅。[0114]例如,假设目标对话信息为“身高超过200cm扑克玩家的平均身高是多少”,其中,“身高超过200cm”和“扑克玩家”为两个关键文本,在两个关键文本中间增加连接词“的”,得到修正后的“身高超过200cm的扑克玩家的平均身高是多少”。[0115]在应用于基于表格数据的问答/或对话场景时,在得到本轮对话信息改写后的目标对话信息之后,通过步骤s406-s408获取目标对话信息对应的答复信息,并反馈答复信息。[0116]步骤s406、将目标对话信息输入语言转换模型进行转换处理,将目标对话信息转换为对应的sql语句。[0117]在应用于基于表格数据的问答/或对话场景时,将目标对话信息输入语言转换模型进行转换处理,得到目标对话信息对应的sql语句。[0118]参见图6,图6为一示例性实施例提供的基于上下文改写模型的text-to-sql语言转换的框架图,如图6所示,基于图1所示的多轮问答内容,将本轮对话信息和轮次一和轮次二的两轮历史对话信息输入上下文改写模型,利用上下文改写模型确定本轮对话信息改写后的问题(也即目标对话信息):“身高超过200cm的扑克玩家的平均身高是多少”,将该问题和表格数据的模式信息输入text-to-sql模型,将该问题转换为对应的sql语句。[0119]步骤s407、运行sql语句,以查询存储有表格数据的数据表得到查询结果,根据查询结果确定答复信息,并反馈答复信息。[0120]服务器通过运行目标对话信息对应的sql语句,从存储有表格数据的数据表查询得到查询结果。[0121]进一步地,服务器可以将查询结果作为问题的答复信息发送给终端,以使终端输出答复信息,以供用户查看。[0122]可选地,服务器还可以基于查询结果,根据预先设置的答复话术生成答复信息,并将生成的答复信息反馈给终端,以使终端输出答复信息,以供用户查看。[0123]可选地,服务器还可以将查询结果反馈给终端,以使终端预先设置的答复话术生成答复信息,并输出答复信息,以供用户查看。[0124]本实施例通过将本轮对话信息和历史对话信息输入上下文改写模型,通过上下文改写模型进行分类处理,得到本轮对话信息中每一位置对应的改写位置类别及改写操作类型,历史对话信息中每一位置对应的候选位置类别;根据每一改写开始位置与对应的改写终止位置,确定一个待改写对象;根据每一待改写对象所在位置的改写操作类型,确定待改写对象的改写操作类型;根据每一候选开始位置与对应的候选终止位置确定一个关键文本;根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息,能够将本轮对话中省略的关键信息补充完整,并将指代信息替换为所指代的完整内容信息,从而将本轮对话信息改写为高质量的表达,解决多轮问答中指定和省略的问题,在应用于基于表格数据的问答/对话场景时,基于改写后的目标对话信息获取对应的答复信息,提高了答复信息的质量和准确性。[0125]图7为本技术一示例性实施例提供的多轮问答的装置的结构示意图。本技术实施例提供的多轮问答的装置可以执行多轮问答的方法实施例提供的处理流程。如图7所示,多轮问答的装置70包括:信息获取模块701,改写预测模块702,改写模块703,选择模块704和答复模块705。[0126]具体地,信息获取模块701,用于响应于对话请求,若确定本轮对话之前存在至少一轮历史对话,则获取本轮对话信息和至少一轮历史对话的历史对话信息。[0127]改写预测模块702,用于将本轮对话信息和历史对话信息输入上下文改写模型,利用上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本。[0128]改写模块703,用于根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息。[0129]选择模块704,用于根据候选对话信息的质量信息,将其中一个候选对话信息作为本轮对话信息改写后的目标对话信息。[0130]答复模块705,用于获取目标对话信息对应的答复信息,并反馈答复信息。[0131]可选地,改写预测模块在应用于将本轮对话信息和历史对话信息输入上下文改写模型,利用上下文改写模型,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中用于改写的关键文本时,具体用于:将本轮对话信息和历史对话信息输入上下文改写模型,通过上下文改写模型进行分类处理,得到包含如下信息的分类结果:本轮对话信息中每一位置对应的改写位置类别及改写操作类型,历史对话信息中每一位置对应的候选位置类别,其中,改写位置类别为改写开始位置、改写终止位置、非改写起止位置中的任一种;候选位置类别为候选开始位置、候选终止位置、非候选起止位置中的任一种。根据分类结果,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中的关键文本。[0132]可选地,改写预测模块在应用于根据分类结果,确定本轮对话信息中待改写对象,待改写对象对应的改写操作类型,以及历史对话信息中的关键文本时,具体用于:根据分类结果中每一改写开始位置与对应的改写终止位置,确定一个待改写对象;根据每一待改写对象所在位置的改写操作类型,确定待改写对象的改写操作类型;根据分类结果中每一候选开始位置与对应的候选终止位置确定一个关键文本。[0133]可选地,待改写对象为待插入位置或待改写文本,改写操作类型包括:插入、删除、替换和保持原样,待插入位置对应的改写操作类型为插入。改写模块在应用于根据本轮对话信息中待改写对象和待改写对象对应的改写操作类型,使用关键文本,对本轮对话信息进行改写,生成候选对话信息时,具体用于:若本轮对话信息中存在待插入位置,则将至少一个关键文本插入待插入位置;若本轮对话信息中存在第一待改写文本,第一待改写文本的改写操作类型为替换,则使用至少一个关键文本替换第一待改写文本;若本轮对话信息中存在第二待改写文本,第二待改写文本的改写操作类型为删除,则删除本轮对话信息中的第二待改写文本。[0134]可选地,选择模块具体用于:获取每一候选对话信息的句子概率,将句子概率最高的候选对话信息作为目标对话信息;或者,获取每一候选对话信息的困惑度,将困惑度最低的候选对话信息作为目标对话信息。[0135]可选地,答复模块具体用于:将目标对话信息输入语言转换模型进行转换处理,将目标对话信息转换为对应的sql语句;根据sql语句查询存储有表格数据的数据表,得到查询结果;根据查询结果确定答复信息。[0136]本技术实施例提供的装置可以具体用于执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。[0137]图8为本技术一示例实施例提供的电子设备的结构示意图。如图8所示,该电子设备80包括:处理器801,以及与处理器801通信连接的存储器802,存储器802存储计算机执行指令。[0138]其中,处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。该电子设备可以为上述提及的服务器。[0139]本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。[0140]本技术实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。[0141]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。[0142]应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献