答案生成方法和智能会话系统与流程

文档序号:17642220发布日期:2019-05-11 00:45阅读:184来源:国知局
答案生成方法和智能会话系统与流程

本公开涉及一种答案生成方法和智能会话系统。



背景技术:

问答系统在电商客服等领域具有广泛的应用前景,且易于扩展到信息消费的其他相关领域。用户将问话需求输入问答系统中,要求其输出针对用户的问话需求的合理正确的答案。

现有问答系统中,通常仅根据问句的意图信息确定答案,存在以下问题:问答系统针对同样的意图具有固定的答案,但是由于用户提问方式灵活多变,基于同一意图可以有多种提问方式,这种情况下,虽然意图识别正确,但是答案不能完全符合用户提问的期望。



技术实现要素:

本公开的一个方面提供了一种答案生成方法,应用于智能会话系统中,该智能会话系统能够对接收到的输入信息进行响应并提供反馈信息。上述方法包括:获取输入语句数据,识别表征所述输入语句数据的焦点信息,获取响应于所述输入语句数据的第一应答数据,获取响应于所述焦点信息的第二应答数据,基于所述第一应答数据以及所述第二应答数据生成第三应答数据并输出。

可选地,上述焦点信息用于表征输入语句数据中用户最关注的信息成分。

可选地,上述识别表征所述输入语句数据的焦点信息包括:构建焦点信息规则库;从所述输入语句数据中提取与所述焦点信息规则库中的规则相匹配的一个或多个片段信息,当提取出一个片段信息时,将该片段信息作为表征所述输入语句数据的焦点信息,以及,当提取出多个片段信息时,选取置信度最高的片段信息作为表征所述输入语句数据的焦点信息。

可选地,上述获取响应于所述输入语句数据的第一应答数据包括:识别与所述输入语句数据对应的意图信息,以及,基于所述意图信息获取相应的原始答案数据,将所述原始答案数据作为所述第一应答数据。

可选地,在上述获取响应于所述焦点信息的第二应答数据之前,上述方法还包括:识别所述输入语句数据所属的问句类型。上述获取响应于所述焦点信息的第二应答数据包括:获取与所述问句类型对应的原始应答话术规则,所述原始应答话术规则表征与所述问句类型适配的回答形式;利用所述焦点信息对所述原始应答话术规则进行焦点修正,得到与所述输入语句数据对应的应答话术数据,将所述应答话术数据作为所述第二应答数据。

可选地,上述识别所述输入语句数据所属的问句类型包括:训练问句分类模型,利用所述问句分类模型预测所述输入语句数据所属的问句类型;并且/或者,建立问句分类规则库,根据所述问句分类规则库中的分类规则确定所述输入语句数据所属的问句类型。

可选地,上述基于所述第一应答数据以及所述第二应答数据生成第三应答数据包括:基于预置融合规则,对所述应答话术数据和所述原始答案数据进行融合,得到所述第三应答数据。

可选地,上述对所述应答话术数据和所述原始答案数据进行融合包括:在获得所述原始答案数据之后,根据所述原始答案数据对所述应答话术数据进行明确化处理;将经过明确化处理的所述应答话术数据和所述原始答案数据组合为第三应答数据。

可选地,上述方法还包括:在获得预定数量的与输入语句数据对应的第三应答数据之后,基于所述输入语句数据和所述第三应答数据进行模型训练,其中,以所述输入语句数据的意图信息对应的原始答案、问句类型和焦点信息作为训练数据,以与所述输入语句数据对应的第三应答数据作为所述训练数据的标签,训练得到问句答案修正模型。并且/或者,在识别表征所述输入语句数据的焦点信息之前,对所述输入语句数据进行预处理。

本公开的另一方面提供了一种答案生成装置,应用于智能会话系统中,所述智能会话系统能够对接收到的输入信息进行响应并提供反馈信息,该装置包括:第一获取模块、第一识别模块、第二获取模块、第三获取模块、综合处理模块和输出模块。第一获取模块用于获取输入语句数据。第一识别模块用于识别表征所述输入语句数据的焦点信息。第二获取模块用于获取响应于所述输入语句数据的第一应答数据。第三获取模块用于获取响应于所述焦点信息的第二应答数据。综合处理模块用于基于所述第一应答数据和所述第二应答数据生成第三应答数据。输出模块用于输出所述第三应答数据。

可选地,上述焦点信息用于表征所述输入语句数据中用户最关注的信息成分。

可选地,第一识别模块包括:构建子模块、提取子模块和第一确定子模块。构建子模块用于构建焦点信息规则库。提取子模块用于从所述输入语句数据中提取与所述焦点信息规则库中的规则相匹配的一个或多个片段信息。第一确定子模块用于当提取出一个片段信息时,将该片段信息作为表征所述输入语句数据的焦点信息;当提取出多个片段信息时,选取置信度最高的片段信息作为表征所述输入语句数据的焦点信息。

可选地,第二获取模块包括:识别子模块和第二确定子模块。识别子模块用于识别与所述输入语句数据对应的意图信息。第二确定子模块用于基于所述意图信息获取相应的原始答案数据,将所述原始答案数据作为所述第一应答数据。

可选地,上述装置还包括第二识别模块,用于在第三获取模块获取响应于所述焦点信息的第二应答数据之前,识别所述输入语句数据所属的问句类型。第三获取模块包括获取子模块和修正子模块。获取子模块用于获取与所述问句类型对应的原始应答话术规则,所述原始应答话术规则表征与所述问句类型适配的回答形式。修正子模块用于利用所述焦点信息对所述原始应答话术规则进行焦点修正,得到与所述输入语句数据对应的应答话术数据,将所述应答话术数据作为所述第二应答数据。

可选地,第二识别模块具体用于训练问句分类模型,利用所述问句分类模型预测所述输入语句数据所属的问句类型;并且/或者,建立问句分类规则库,根据所述问句分类规则库中的分类规则确定所述输入语句数据所属的问句类型。

可选地,综合处理模块具体用于基于预置融合规则,对所述应答话术数据和所述原始答案数据进行融合,得到所述第三应答数据。

可选地,综合处理模块包括处理子模块和融合子模块。处理子模块用于在获得所述原始答案数据之后,根据所述原始答案数据对所述应答话术数据进行明确化处理。融合子模块用于将经过明确化处理的所述应答话术数据和所述原始答案数据组合为第三应答数据。

可选地,上述装置还包括模型训练模块,用于在获得预定数量的与输入语句数据对应的第三应答数据之后,基于所述输入语句数据和所述第三应答数据进行模型训练,其中,以所述输入语句数据的意图信息对应的原始答案、问句类型和焦点信息作为训练数据,以与所述输入语句数据对应的第三应答数据作为所述训练数据的标签,训练得到问句答案修正模型。并且/或者,上述装置还包括预处理模块,用于在第一识别模块识别表征所述输入语句数据的焦点信息之前,对所述输入语句数据进行预处理。

本公开的另一方面提供了一种智能会话系统,所述智能会话系统能够对接收到的输入信息进行响应并提供反馈信息,所述智能会话系统包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时用于实现如上所述的方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开的实施例的答案生成方法和智能会话系统的应用场景;

图2示意性示出了根据本公开的实施例的答案生成方法的流程图;

图3示意性示出了根据本公开的实施例的答案生成过程的示意图;

图4示意性示出了根据本公开的实施例的答案生成装置的框图;

图5示意性示出了根据本公开的另一实施例的答案生成装置的框图;以及

图6示意性示出了根据本公开的实施例的智能会话系统的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

本公开的实施例提供了一种答案生成方法以及能够应用该方法的智能会话系统。该方法包括输入获取阶段、识别处理阶段和答案输出阶段。输入获取阶段获取表征用户输入的语句的输入语句数据,然后进入识别处理阶段。在识别处理阶段,识别表征所述输入语句数据的焦点信息,获取响应于输入语句数据的第一应答数据和响应于焦点信息的第二应答数据,再基于第一应答数据以及第二应答数据生成第三应答数据。答案输出阶段输出第三应答数据。

图1示意性示出了根据本公开的实施例的答案生成方法和智能会话系统的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,该应用场景可以包括终端设备101,网络102和服务器/服务器集群103。网络102用以在终端设备101和服务器/服务器集群103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101通过网络102与服务器/服务器集群103交互,以输入问题并接收答案。终端设备101可以是具有输入输出功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器/服务器集群103可以是提供各种服务的服务器或服务器集群,后台管理服务器或服务器集群可以对接收到的用户输入问题等数据进行分析等处理,并将相应的答案反馈给终端设备。

需要说明的是,本公开实施例所提供的答案生成方法一般可以由服务器/服务器集群103执行。相应地,本公开实施例所提供的答案生成装置一般可以设置于服务器/服务器集群103中。本公开实施例所提供的答案生成方法也可以由不同于服务器/服务器集群103且能够与终端设备101、和/或、服务器/服务器集群103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的答案生成装置也可以设置于不同于服务器/服务器集群103且能够与终端设备101、和/或、服务器/服务器集群103通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器/服务器集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器/服务器集群。

图2示意性示出了根据本公开的实施例的答案生成方法的流程图。该方法应用于智能会话系统中,该智能会话系统能够对接收到的输入信息进行响应并提供反馈信息。

如图2所示,该方法包括操作s201~s206。

在操作s201,获取输入语句数据。

其中,所述输入语句数据用于表征用户输入的信息。

在操作s202,识别表征所述输入语句数据的焦点信息。

其中,表征输入语句数据的焦点(focus)信息体现了输入语句数据的关注点。

在操作s203,获取响应于所述输入语句数据的第一应答数据。

在操作s204,获取响应于所述焦点信息的第二应答数据。

在操作s205,基于所述第一应答数据和所述第二应答数据生成第三应答数据。

在操作s206,输出所述第三应答数据。

可见,图2所示的方法在获取到输入语句数据后,一方面响应于该输入语句数据获得第一应答数据,另一方面响应于表征该输入语句数据的焦点信息获得第二应答数据,再基于第一应答数据和第二应答数据生成第三应答数据。由于焦点信息体现了输入语句数据的关注点,与输入语句数据的具体表达形式有关,结合焦点数据能够得到适配于输入语句数据的具体关注点的第三应答数据,避免出现输入语句数据不同但对应于同一固定答案的问题,尽可能地对用户的具体输入进行直接应答,实现更为智能的会话过程,满足用户需求。

在本公开的实施例中,焦点信息用于表征输入语句数据中用户最关注的信息成分,是输入语句数据中意义最突出的信息成分,是发送该输入语句数据的发送方希望接收方格外注意的部分,也是对用户想要获得的应答的提示和参考。通常可以利用各种方式来标记和表达焦点信息。例如,中文可以用“是”来标记焦点信息,比较两个输入语句数据“小王是明天出差”和“是小王明天出差”,虽然发出这两个输入语句数据的发送方的目的相同,均为告知小王明天出差这一事件,但前者的焦点信息是“明天”,强调的是时间,而后者的焦点信息是“小王”,强调的是人物。可以看出,输入语句数据的微小变化可使得焦点信息完全不同,图2所示的答案生成方法结合输入语句数据的焦点信息得到针对输入语句数据的第三应答数据,使得第三应答数据更细粒度地与输入语句数据的具体关注点相适配,针对用户在相同意图下的个性化提问生成高度符合用户关注的、符合用户用语习惯的、更加流畅、自然的应答。

将图2所示的方法与现有技术进行比较,现有技术所生成的答案不能完全符合用户提问的期望,例如:输入语句数据为用户输入的问题。用户输入的问题1为:“canicancelmyorder?”(“我可以取消订单吗?”),用户输入的问题2为:“howtocancelmyorder?”(“怎样取消订单?”)。

问题1和问题2的意图信息均为“cancelorder”(“取消订单”),现有技术基于该意图信息选择固定答案:“youmaybeabletocanceltheorderifyoucontactusatxxx-xxx-xxxwithinanhourafterplacingit.”(“如果您在下单后一小时内拨打xxx-xxx-xxx联系我们,您可以取消订单。”)。可以看出,问题1和问题2的意图信息虽然相同,但用户的关注点不同,现有技术以同一答案进行回答没有正面直接回复用户的提问,需要用户进行推理才能得到自己的答案,用户体验不佳。而依据本公开实施例的方案,结合焦点信息生成第三应答数据,由于问题1和问题2的焦点信息不同,使得针对问题1的第三应答数据和针对问题2的第三应答数据不同。

在本公开的一个实施例中,操作s202识别表征所述输入语句数据的焦点信息包括:构建焦点信息规则库,从输入语句数据中提取与所述焦点信息规则库中的规则相匹配的一个或多个片段信息,当提取出一个片段信息时,将该片段信息作为表征所述输入语句数据的焦点信息,当提取出多个片段信息时,选取置信度最高的片段信息作为表征所述输入语句数据的焦点信息。

其中,可以基于语言学中焦点信息的标记规则和表达方式来构建焦点信息规则库。基于该焦点信息规则库,当输入语句数据对应于疑问句时,从该输入语句数据中提取与带有疑问词的短语对应的片段信息作为焦点信息,当输入语句数据对应于陈述句时,从该输入语句数据中提取与名词、动词、名词性短语、和/或动词性短语对应的片段信息作为焦点信息。当提取出多个片段信息时,将提取出的多个片段信息作为多个候选焦点信息,计算多个候选焦点信息的置信度并进行排序,选取置信度最高的候选焦点信息作为表征输入语句数据的焦点信息。

具体地,计算候选焦点信息的置信度并进行排序的算法可以包括词频-逆文件频率(tf-idf)算法和/或文本排序(textrank)算法。

当单独使用tf-idf算法时,先根据预先定义的焦点空间,匹配出候选焦点信息。然后对输入语句数据进行分词(该过程需要保证每个候选焦点信息被分为一个词),计算每个候选焦点信息相对于输入语句数据的词频(tf)。再通过大量线下语料计算每个候选焦点信息的逆文档频率(idf),利用tf-idf算法计算每个候选焦点信息的第一评分。根据各候选焦点信息的第一评分对多个候选焦点信息进行排序,选取第一评分最高的候选焦点信息作为焦点信息。

当单独使用textrank算法时,利用textrank算法计算每个候选焦点信息的第二评分。根据各候选焦点信息的第二评分对多个候选焦点信息进行排序,选取第二评分最高的候选焦点信息作为焦点信息。

当结合使用tf-idf算法和textrank算法时,对于每个候选焦点信息,对该候选焦点信息的第一评分和第二评分进行加权求和,得到该候选焦点信息的综合评分。根据各候选焦点信息的综合评分对多个候选焦点信息进行排序,选取综合评分最高的候选焦点信息作为焦点信息。

在本公开的一个实施例中,操作s203获取响应于所述输入语句数据的第一应答数据包括:识别与输入语句数据对应的意图信息,基于所述意图信息获取相应的原始答案数据,将所述原始答案数据作为第一应答数据。

其中,与输入语句数据对应的意图(intent)信息是发送该输入语句数据的发送者通过该输入语句数据表达出的想要执行的操作或想要完成的任务。具有相同意图信息的输入语句数据可以有多种表达形式,而基于相同意图信息所获取到的原始答案数据是一致的,该原始答案数据旨在对输入语句数据所表达出的想要执行的操作或想要完成的任务进行响应,而并不关注输入语句数据的具体表达形式。如对于意图信息“cancelorder”(“取消订单”),相应的原始答案数据为:“youmaybeabletocanceltheorderifyoucontactusatxxx-xxx-xxxwithinanhourafterplacingit.”(“如果您在下单后一小时内拨打xxx-xxx-xxx联系我们,您可以取消订单。”)。

依据本实施例的方案,基于意图信息得到的第一应答数据与输入语句数据整体所面对的操作或任务相关,基于焦点信息得到的第二应答数据与输入语句数据具体的关注点相关,结合二者可以得到既能达到用户目的又适配于用户的表达形式的针对输入语句数据的精细化定制的第三应答数据。

在本公开的一个实施例中,在操作s204获取响应于所述焦点信息的第二应答数据之前,图2所示的方法还包括:识别输入语句数据所属的问句类型。在此基础上,操作s204获取响应于所述焦点信息的第二应答数据包括以下操作。

首先,获取与所述问句类型对应的原始应答话术(script)规则。

其中,输入语句数据所属的问句类型可以包括以下一种或多种:选择疑问句、一般疑问句、反问疑问句、问价格的句子、问时间的句子、问尺寸的句子、问型号的句子、问快递的句子、问地点的句子等等。与问句类型对应的原始应答话术规则表征与相应问句类型适配的回答形式。

例如,输入语句数据“isthephoneinmyorderblackorred?”(“我订单里的手机是黑色还是红色?”)属于选择疑问句,与该选择疑问句对应的原始应答话术规则为“‘isblack’or‘isred’”(“‘是黑色’或‘是红色’”),说明与选择疑问句适配的回答形式是回答被选择的项目之一。输入语句数据“ismyordercancelled?”(“我的订单取消了吗?”)属于一般疑问句,与该一般疑问句对应的原始应答话术规则为“‘yes’or‘no’”(“‘是’或‘否’”),说明与一般疑问句适配的回答形式是回答是或否。

接着,在获取与所述问句类型对应的原始应答话术规则之后,利用所述焦点信息对所述原始应答话术规则进行焦点修正,得到与所述输入语句数据对应的应答话术数据,将所述应答话术数据作为所述第二应答数据。

沿用上文中的例子,对于输入语句数据“isthephoneinmyorderblackorred?”(“我订单里的手机是黑色还是红色?”),识别表征该输入语句数据的焦点信息为“thephone”(“手机”),识别该输入语句数据所属的问句类型为选择疑问句。在获得与该选择疑问句对应的原始应答话术规则为“‘isblack’or‘isred’”(“‘是黑色’或‘是红色’”)后,利用焦点信息对该原始应答话术规则进行焦点修正,得到与该输入语句数据对应的应答话术数据为:“‘thephoneisblack’or‘thephoneisred’”(“‘手机是黑色’或‘手机是红色’”)。

可以看出,经过对与问句类型对应的原始应答话术规则的焦点修正,在回答形式依然适配于问句类型的前提下,在应答话术数据中体现出用户的关注点,在解答用户的输入语句数据中的疑问的同时满足用户的心理需求。

具体地,上述识别输入语句数据所属的问句类型包括:训练问句分类模型,利用所述问句分类模型预测所述输入语句数据所属的问句类型。并且/或者,建立问句分类规则库,根据所述问句分类规则库中的分类规则确定所述输入语句数据所属的问句类型。

在本公开的一个实施例中,操作s205基于第一应答数据以及第二应答数据生成第三应答数据包括:基于预置融合规则,对所述应答话术数据和所述原始答案数据进行融合,得到所述第三应答数据。

其中,上述对应答话术数据和原始答案数据进行融合可以包括:将应答话术数据与原始答案数据组合为第三应答数据。或者,根据原始答案数据对应答话术数据进行明确化处理,将经过明确化处理的应答话术数据和原始答案数据组合为第三应答数据。

例如,对于输入语句数据“isthephoneinmyorderblackorred?”(“我订单里的手机是黑色还是红色?”),相应的原始答案数据为:“redii”(“2号红色”),相应的应答话术数据为:“‘thephoneisblack’or‘thephoneisred’”(“‘手机是黑色’或‘手机是红色’”)。在获得原始答案数据后获知手机是红色,因此根据该原始答案数据对应答话术数据明确化处理为“thephoneisred”(“手机是红色”)。再将明确化处理后的应答话术数据和原始答案数据进行融合得到第三应答数据“thephoneisred,redii.”(“手机是红色,2号红色。”)。

依据本实施例的方案,在基于输入语句数据的原始答案数据和应答话术数据生成第三应答数据时,当应答话术数据唯一时,可以直接将原始答案数据和应答话术数据进行融合,当应答话术数据不唯一时,可以根据原始答案数据对应答话术数据进行明确化处理,再将二者进行融合,以向用户输出结果唯一、明确、能够解答用户问题且符合用户会话习惯的应答。

在本公开的一个实施例中,图2所示的方法还包括:在获得预定数量的与输入语句数据对应的第三应答数据之后,基于所述输入语句数据和所述第三应答数据进行模型训练,训练得到问句答案修正模型。其中,以所述输入语句数据的意图信息对应的原始答案、问句类型和焦点信息作为训练数据,以与所述输入语句数据对应的第三应答数据作为所述训练数据的标签。也就是说,在获得足够多的输入语句数据和与输入语句数据对应的第三应答数据后,可以基于所述输入语句数据和所述第三应答数据训练得到问句答案修正模型。然后,当获取到未知答案的输入语句数据时,可以将该输入语句数据的意图信息对应的原始答案、问句类型和焦点信息输入问句答案修正模型,利用该问句答案修正模型预测与该输入语句数据对应的第三应答数据。

在本公开的一个实施例中,图2所示的方法还包括:在操作s202识别表征所述输入语句数据的焦点信息之前,对输入语句数据进行预处理,如去除输入语句数据中的噪声、冗余等。

下面参考图3,结合具体实施例对图2所示的方法进行说明:

图3示意性示出了根据本公开的实施例的答案生成过程的示意图。

如图3所示,该答案生成过程开始后,获取输入语句数据,本例中输入语句数据为用户输入的问题。

先对该问题分别进行焦点信息识别、问句类型识别和意图信息提取。

在焦点信息识别阶段,从问题中识别出焦点信息,焦点信息表达了用户的关注点,是从问题中抽取出的对于答案的指导信息。可以通过分析焦点信息来确定用户想要得到的答案。可以通过句法分析、关键短语抽取得到焦点信息,对于特殊疑问句一般选择带有疑问词的短语作为焦点信息,对于陈述句可采用句法分析,提取出名词、动词、名词性短语或动词性词语作为候选焦点信息。对候选焦点信息进行置信度评价,选择置信度最高的词或者短语作为本句的焦点信息。

例如,问题“howtocancelmyorder?”(“如何取消我的订单”)的焦点信息为“howto”(“如何”),问题“howmuchismyphone?”(“我的手机多少钱”)的焦点信息为“howmuch”(“多少钱”),问题“iwanttocancelmyorder.”(“我想取消订单”)的焦点信息为“cancelmyorder”(“取消订单”)。

在问句类型识别阶段,对问题所属的问句句式类型进行分类。通过对问句分类能够定位和分析到用户想要获取的信息是什么,同时从问句句型可以判断推出答案形式。建立问句类型分类体系,挖掘问句中的句式句型信息。问句分类体系的建立结合常见句型,并根据业务需要整理出特殊的业务分类作为整个分类体系。分类方法采取支持向量机(svm)、基于卷积神经网络的文本分类(textcnn)等分类模型,同时分析语料特点建立规则库用于辅助识别问句类型。应用相同的句型句式的问句对应的回答的句型句式是类似的,根据问句句型从话术知识库中查询对应的回答话术。

由于特殊疑问句涵盖比较宽泛,在本方法中根据具体业务体系对特殊疑问句进行了细分。句型类别举例:选择疑问句、一般疑问句、反问疑问句、问价格、问尺寸、问型号、问快递、问到达时间、问地点等。

例如,问题“isthephoneinmyorderblackorred?”(“我订单里的手机是黑色还是红色?”)属于选择疑问句,问题“ismyordercancelled?”(“我的订单取消了吗?”)属于一般疑问句,问题“howmuchismyphone?”(“我的手机多少钱?”)属于问价格,问题“what’sthesizeofthescreen?”(“屏幕的尺寸是多少?”)属于问尺寸,问题“whenwillireceivemypackage?”(“我什么时候收到包裹?”)属于问时间。

在意图信息提取阶段,提取问题中表达的用户意图,用户意图是指用户在与智能会话系统交互过程中想真正想要做的事情、想要得到的信息。识别出用户意图之后根据用户意图推出相应的答案。例如,问题问题“howtocancelmyorder?”(“如何取消我的订单”)的意图信息为“cancelorder”(“取消订单”)。在本方案中将意图信息提取过程当做分类任务来处理,预先定义好多个意图类别,通过卷积神经网络(cnn)、支持向量机(svm)等分类模型来实现。

然后,一方面进行话术提取和修正,该过程根据焦点信息和问句类型从话术库中推理检索出相应的修正后的话术。具体地,基于问句类型从话术库中提取相应的原始应答话术规则,根据焦点信息对该原始应答话术规则进行修正,得到应答话术数据,图3中显示为修正后的话术,对应于图2中的第二应答数据。另一方面进行答案库检索,基于意图信息从答案库中检索相应的原始答案数据,图3中显示为原始答案,对应于图2中的第一应答数据。

接着,基于融合规则库,对修正后的话术和原始答案进行答案融合操作,得到最终答案,该最终答案对应于图2中的第三应答数据。

至此整个答案生成过程结束,上述过程用到了三种知识库:话术库、答案库和融合规则库。话术库中的话术可以包括问题类型和用户焦点对应的话术,答案库中存有针对不同意图编辑好的答案,融合规则库中存有话术和答案融合的各种规则。

在一个具体的例子中,用户输入的问题为:“ifoundichosethewrongcolorofmyphone,canicancelmyorder?”(“我发现选错了手机颜色,我可以取消我的订单吗?”)。对于该问题,先进行预处理,预处理包括分词、去停用词等。对预处理过的问句进行焦点信息识别,本句中焦点信息为“cancelmyorder”(“取消我的订单”)。对预处理过的问句进行问句类型识别:对应于“‘yes’or‘no’”(“‘是’或‘否’”)话术的一般疑问句。对预处理过的问句进行意图信息提取,得到意图信息为“cancelorder”(“取消订单”),并根据意图信息查询答案库得到原始答案数据:“youmaybeabletocanceltheorderifyoucontactusatxxx-xxx-xxxwithinanhourafterplacingit.”(“如果您在下单后一小时内拨打xxx-xxx-xxx联系我们,您可以取消订单。”)。将焦点信息和问句类别信息进行话术推理,得到修正后的话术:“yesyoucan.”(“是的您可以。”)。将原始答案数据和修正后的话术进行答案融合,通过答案生成规则或者生成模型得到最终答案:“yesyoucan.youmaybeabletocanceltheorderifyoucontactusatxxx-xxx-xxxwithinanhourafterplacingit.”(“是的您可以。如果您在下单后一小时内拨打xxx-xxx-xxx联系我们,您可以取消订单。”)。将该最终答案向用户输出。

本公开实施例提供的答案生成方案不仅向用户输出想让用户知道的信息,还从用户的角度考虑用户对答案的期望。充分挖掘并利用了用户输入的问题中的问句类型和焦点信息。这些信息使得生成的答案的表达形式更加流畅、自然,在句型和内容上更加符合用户的提问。针对各种个性化的提问,都可以给出用户期望的回答,减少用户思考时间,从而使得整个问答过程流畅自然。其中,问句类别识别结合了常见句式句型,并且针对实际业务增加了业务相关问句类型,使得问句分类更加符合实际业务,并且在答案生成过程中结合先验知识库和深度神经网络模型共同生成答案,满足回答的准确性和多样性。

图4示意性示出了根据本公开的实施例的答案生成装置的框图。该答案生成装置400应用于智能会话系统中,所述智能会话系统能够对接收到的输入信息进行响应并提供反馈信息。

如图4所示,答案生成装置400包括:第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450和输出模块460。

第一获取模块410用于获取输入语句数据。

第一识别模块420用于识别表征所述输入语句数据的焦点信息。

第二获取模块430用于获取响应于所述输入语句数据的第一应答数据。

第三获取模块440用于获取响应于所述焦点信息的第二应答数据。

综合处理模块450用于基于所述第一应答数据和所述第二应答数据生成第三应答数据。

输出模块460用于输出所述第三应答数据。

在本公开的实施例中,上述焦点信息用于表征所述输入语句数据中用户最关注的信息成分。

图5示意性示出了根据本公开的另一实施例的答案生成装置的框图。如图5所示,答案生成装置500包括:第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450和输出模块460。

在本公开的一个实施例中,第一识别模块420包括:构建子模块421、提取子模块422和第一确定子模块423。

构建子模块421用于构建焦点信息规则库。提取子模块422用于从所述输入语句数据中提取与所述焦点信息规则库中的规则相匹配的一个或多个片段信息。第一确定子模块423用于当提取出一个片段信息时,将该片段信息作为表征所述输入语句数据的焦点信息;当提取出多个片段信息时,选取置信度最高的片段信息作为表征所述输入语句数据的焦点信息。

在本公开的一个实施例中,第二获取模块430包括:识别子模块431和第二确定子模块432。识别子模块431用于识别与所述输入语句数据对应的意图信息。第二确定子模块432用于基于所述意图信息获取相应的原始答案数据,将所述原始答案数据作为所述第一应答数据。

进一步地,作为一个可选的实施例,答案生成装置500还包括第二识别模块470。

第二识别模块470用于在第三获取模块440获取响应于所述焦点信息的第二应答数据之前,识别所述输入语句数据所属的问句类型。

在此基础上,第三获取模块440包括获取子模块441和修正子模块442。

获取子模块441用于获取与所述问句类型对应的原始应答话术规则,所述原始应答话术规则表征与所述问句类型适配的回答形式。修正子模块442用于利用所述焦点信息对所述原始应答话术规则进行焦点修正,得到与所述输入语句数据对应的应答话术数据,将所述应答话术数据作为所述第二应答数据。

具体地,第二识别模块470用于训练问句分类模型,利用所述问句分类模型预测所述输入语句数据所属的问句类型;并且/或者,建立问句分类规则库,根据所述问句分类规则库中的分类规则确定所述输入语句数据所属的问句类型。

在本公开的一个实施例中,综合处理模块450具体用于基于预置融合规则,对所述应答话术数据和所述原始答案数据进行融合,得到所述第三应答数据。

具体地,综合处理模块450包括处理子模块451和融合子模块452。

处理子模块451用于根据所述原始答案数据对所述应答话术数据进行明确化处理。融合子模块452用于将经过明确化处理的所述应答话术数据和所述原始答案数据组合为第三应答数据。

在本公开的一个实施例中,答案生成装置500还包括模型训练模块480,用于在获得预定数量的与输入语句数据对应的第三应答数据之后,基于所述输入语句数据和所述第三应答数据进行模型训练,其中,以所述输入语句数据的意图信息对应的原始答案、问句类型和焦点信息作为训练数据,以与所述输入语句数据对应的第三应答数据作为所述训练数据的标签,训练得到问句答案修正模型。

在本公开的一个实施例中,答案生成装置500还包括预处理模块490,用于在第一识别模块420识别表征所述输入语句数据的焦点信息之前,对所述输入语句数据进行预处理。

需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450、输出模块460、第二识别模块470、模型训练模块480和预处理模块490中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450、输出模块460、第二识别模块470、模型训练模块480和预处理模块490中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450、输出模块460、第二识别模块470、模型训练模块480和预处理模块490中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

图6示意性示出了根据本公开的实施例的适于实现上文描述的方法的智能会话系统的框图。图6示出的智能会话系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,智能会话系统600包括处理器610和计算机可读存储介质620。该智能会话系统600可以执行根据本公开实施例的方法。

具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。

计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。

计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括621a、模块621b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。

根据本发明的实施例,第一获取模块410、第一识别模块420、第二获取模块430、第三获取模块440、综合处理模块450、输出模块460、第二识别模块470、模型训练模块480和预处理模块490中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上文所述的答案生成方法。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1