一种人机对话方法、装置和系统与流程

文档序号:19635051发布日期:2020-01-07 11:54阅读:437来源:国知局
一种人机对话方法、装置和系统与流程

本发明属于计算机技术领域,尤其涉及一种人机对话方法、装置和系统。



背景技术:

人机对话是计算机的一种工作方式,即计算机操作员或用户与计算机之间通过控制台或终端显示屏幕,以对话方式进行工作。操作员或用户可用命令或命令过程告诉计算机执行某一任务。

在人机对话技术中,最基本的考虑包括两方面,一方面是如何实现操作员或用户输入的便捷性,另一方面是如何提高计算机对接收到的内容的“理解”能力。其中,提高计算机“理解”操作员或用户意图的能力是人机对话技术中的关键。

现有人机对话系统通常采用一问一答或者多轮简单对话的形式,在前后联系较强的复杂对话中难以“理解”用户的意图。



技术实现要素:

本发明实施例的目的在于提供一种人机对话方法,旨在解决现有人机对话系统通常采用一问一答或者多轮简单对话的形式,在前后联系较强的复杂对话中难以“理解”用户的意图的问题。

本发明实施例是这样实现的,一种人机对话方法,所述人机对话方法包括以下步骤:

接收用户的输入信息;

对所述输入信息进行处理以确定所述输入信息对应的意图信息;

根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息;

输出所述回复信息。

本发明实施例的另一目的在于提供一种人机对话装置,所述装置包括:

接收模板块,用于接收用户的输入信息;

意图分析模块,用于对所述输入信息进行处理以确定所述输入信息对应的意图信息;

回复模块,用于根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息;

输出模块,用于向用户输出所述回复信息。

本发明实施例的另一目的在于提供一种人机对话系统,所述系统包括:

如上述任意一个实施例所述的人机对话装置;以及

客户端,所述客户端与所述人机对话装置通信,用于获取用户的输入信息并传输给所述人机对话装置,还用于接收所述人机对话装置发送的回复信息并输出给用户。

本发明实施例提供的一种人机对话方法,通过分析用户的会话意图,并根据分析结果结合预设的知识图谱生成相应的回复信息,从而对用户的会话意图进行进一步确定或者应答,通过这种方式,在多轮对话中也可以始终围绕用户的会话意图进行应答或者进一步确定,可以解决现有人机对话无法准确理解用户意图的问题,提升了用户体验。

附图说明

图1为本发明实施例提供的一种人机对话方法的应用环境图;

图2为本发明实施例提供的一种人机对话方法的流程图;

图3为图2中确定意图信息的具体流程图;

图4为图3中匹配意图信息的具体流程图;

图5为图2中生成回复信息的具体流程图;

图6为图5中生成回复信息以进一步确定意图信息的具体流程图;

图7为图6中确定待澄清词槽的具体流程图;

图8为图5中生成回复信息以应答意图信息的具体流程图;

图9为图8中判断是否需要应答之外还包括的步骤流程图;

图10为本发明实施例提供的一种人机对话装置的结构框图;

图11为图10中意图分析模块的结构框图;

图12为图11中意图匹配单元的结构框图;

图13为图10中回复模块的结构框图;

图14为图13中回复信息生成单元的结构框图;

图15为图14中待澄清词槽确定子单元的结构框图;

图16为图13中应答单元的结构框图;

图17为另一个实施例提供的图13中应答单元的结构框图;

图18为本发明实施例提供的人机对话方法应用于车型查询的流程示意图;

图19为本发明实施例提供的一种计算机设备的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。

图1为本发明实施例提供的人机对话方法的应用环境图,如图1所示,在该应用环境中,包括计算机设备110以及终端120。

本发明实施例提供的人机对话方法以计算机程序的形式运行于计算机设备110上,通过对获取到的用户的输入信息进入分析处理,可以输出与用户输入信息包含的意图对应的回复,该回复既可以用于回应用户的输入信息提出的问题,又可以用于进一步对用户的意图进行澄清。在本发明实施例中,计算机设备110可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是提供云服务器、云数据库、云存储和cdn等基础云计算服务的云服务器。

在本发明实施例中,终端120用于获取用户的输入信息,在本发明实施例中,用户的输入信息可以是文字、语音等形式,优选为文字信息,当采用语音信息时,应当设置必要的转换步骤,以将语音信息转换为可处理的文字信息。另外,需要理解的是,图1所示的实施环境仅仅是本发明众多可能的实施环境中的一种,并不用于限定本发明提供的人机对话方法必然运行于该环境中,例如,用户直接通过计算机设备110进行信息输入同样属于本发明的可选具体实施环境。在本发明实施例中,终端120可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端120以及计算机设备110可以通过网络进行连接,本发明在此不做限制。

如图2所示,为本发明实施例提供的一种人机对话方法的流程图,包括步骤s202~步骤s208:

步骤s202,接收用户的输入信息。

在本发明实施例中,用户的输入信息可以是通过输入设备直接获取,例如通过键盘、鼠标、触控屏等获取,还可以是通过终端获取,再由终端发送到运行本发明实施例所提供的人机对话方法的设备上。在本发明实施例中,用户的输入信息可以文字形式,还可以是语音形式,当采用语音形式时,应当设置相应的转换步骤以将语音信息转换为可处理的文字信息,此为可选的具体实现方式,本发明实施例对此不作具体限定。

步骤s204,对所述输入信息进行处理以确定所述输入信息对应的意图信息。

在本发明实施例中,对输入信息进行处理的方式可以是采用预设的算法对输入信息进入处理,以得到输入信息本身不包括的信息作为意图信息;还可以是通过相应的方法提取输入信息中的某些关键信息作为意图信息。本发明实施例对于意图信息的具体获取方式不作限定。在本发明实施例中,意图信息是用于描述用户的对话目的的信息,例如可以是天气预报查询、航班查询、汽车价格询问、获取某物的操作说明、了解某人的简介等。

步骤s206,根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息。

在本发明实施例中,知识图谱为现有技术提供的一种大型的语义网络,旨在描述客观世界的实体以及它们之间的关系,以实体为节点,以关系为边,实体与实体之间的联系的图形数据。其中,实体指的是具有可区别性且独立存在的某种事物,包括但不限于某人、某城市、某植物、某商品;实体不一定是实物,可以是虚拟的,例如q币、游戏中的装备等。实体与实体之间的关系是现实世界中事物与事物的之间关系的映射,例如从属关系、父子关系、上下位概念等。知识图谱的基本构形式成为<实体1、关系、实体2>,例如<上汽大通、拥有车系、d90>,知识图谱整体由多个实体以及它们之间的关系构成;而对于每一个实体,其形式具体为(实体1、属性1、属性值1),例如(上汽大通、品牌名、大通)。可以理解,每一个实体可以与多个实体存在对应关系,每一个实体可以拥有多个属性,每一个属性也可以拥有多个属性值。

在本发明实施例中,生成回复信息的目的可以是对前一步骤确定的意图信息进行进一步的确定,例如确认上一步骤得出的意图信息是否为用户的真实意图、确定用户意图中的下位概念、对用户意图进行具体化等,以过程实质是通过多轮对话以逐步缩小范围从而更接近用户真实意图的过程;此外,生成回复信息的目的还可以是针对用户的意图信息进行回复,例如经过上一步骤之后可以确定用户的意图信息为“明天北京天气信息”,则可以生成相应的回复信息以告知明天北京的天气状况。

步骤s208,输出所述回复信息。

在本发明实施例中,回复信息的输出可以是通过文字、语音或者图表等形式实现,可以是本地输入,也可以是远程输入,本发明实施例对此不作具体限定。

本发明实施例提供的人机对话方法通过分析用户的会话意图,并根据分析结果结合预设的知识图谱生成相应的回复信息,从而对用户的会话意图进行进一步确定或者应答,通过这种方式,在多轮对话中也可以始终围绕用户的会话意图进行应答或者进一步确定,可以解决现有人机对话无法准确理解用户意图的问题,提升了用户体验。

图3示出了本发明实施例提供的一种人机对话方法的流程图,与图2所示的方案相比,其不同在于,步骤s204具体包括步骤s302~步骤s306:

步骤s302,采用预设的模型对所述输入信息进行处理以确定其中的特征词以及词槽。

在本发明实施例中,作为一种可选的实现方式,确定特征词以及词槽的方式可以是:利用序列标注模型对输入信息进行处理,通过平均感知机算法完成分词、词性标注、实体识别等,处理后可以得到会话的词槽以及特征词。在本发明实施例中,词槽为用户在对话过程的提供的信息包含的相关关键词,例如关于机票预订的一个对话中,人数、出发地、目的地、出发时间、航班号、客舱级别等属于词槽,而与词槽对应的具体信息则为词槽值,例如“预订2张本周五从上海浦东机场飞往香港国际机场的航班”中的“2张”、“本周五”、“上海浦东机场”、“香港国际机场”属于词槽值;特征词是指一组具有相似特征的词,通常被用于约束某个对话的匹配范围,如价格咨询、汽车百科、天气情况关键词,或提供一定限度的泛化能力。在本发明实施例中,词槽、词槽值以及特征词等通过预先定义设定于系统中。

步骤s304,由所述特征词以及所述词槽确定语义向量。

在本发明实施例中,根据词袋模型将词槽、特征词填充到向量空间,并乘以一定的权重比例(例如词槽与特征词权重比例为0.6:1),可以得到相应的主义向量。

步骤s306,根据所述语义向量确定与所述输入信息匹配的意图信息。

在本发明实施例中,系统预设了若干意图信息,每个意图信息包含有各自的词槽以及特征词,意图信息在系统中以向量的形式存在。通过会话中的语义向量可以确定与之匹配的意图信息。这种方式确定意图信息的依据的是会话中的词槽以及特征词,可以提高系统“理解”用户意图的准确性。

本发明实施例提供的人机对话方法,通过获取输入信息中的词槽以及特征词从而确定相应的意图信息,可以使系统更准确地获取用户的真实意图,减少用户意图澄清的次数,提高了用户体验。

图4示出了本发明实施例提供的一种人机对话方法的流程图,与图3所示的方案相比,其不同在于,步骤s306具体包括步骤s402~步骤s406:

步骤s402,计算所述语义向量与预设样本向量的相似度;

在本发明实施例中,系统中的预设意图信息以样本向量的形式存在,每个样本向量对应一个意图信息。

步骤s404,若所述相似度大于或者等于预设的阀值,则将相似度最高的样本向量对应的预设意图信息作为与所述输入信息匹配的意图信息;

在本发明实施例中,语义向量与样本向量的相似度达到预设的阀值时,可以认为样本向量代表的意图信息为用户的真实会话意图。

步骤s406,若所述相似度小于预设的阀值,则根据所述特征词以及所述词槽采用分类算法确定与所述输入信息匹配的意图信息。

在本发明实施例中,当相似度小于预设的阀值或者出现多个样本向量的相似度均达到预设的阀值时,无法判断与输入信息对对应的意图信息,此时可以通过分类算法确定与输入信息对应的意图信息。需要理解的是,通过这种方式确定出的意图信息仅仅是系统暂时确定的意图信息,并不作为用户输入信息的最终意图信息。通过这种方式确定的意图信息需要与用户进行下一轮会话从而获取更多的相关词槽或者特征词从而对意图信息进行进一步确定。

本发明实施例提供的人机对话方法提供了两种不同的方式用于确定与用户输入信息对应的意图信息,可以提高确定出的意图信息与用户真实意图的匹配程度,不同于现有技术提供的对话方法,反复地要求用户选定有限项目以输入对应的回复,本发明提供的对话方法可以在多轮对话中使用户的真实意图逐渐被系统理解,从而最终输出相应的回复。

图5示出了本发明实施例提供的一种人机对话方法的流程图,与图2所示的方案相比,其不同在于,步骤s206具体包括步骤s502~步骤s506:

步骤s502,根据所述意图信息的确定方式判断是否需要对所述意图信息进行进一步确定。

在本发明实施例中,具体地,若意图信息是通过相似度计算确定时,则可以认为该意图信息为用户的真实意图;若意图信息不是通过相似度计算的方式确定的,则该意图信息为系统假定的意图信息,需要在后续会话中进一步地进行确定,以澄清用户的真实意图。

步骤s504,若是,则根据所述输入信息、所述意图信息以及预设的知识图谱调用相应的澄清模板生成所述回复信息,以进一步确定所述意图信息。

在本发明实施例中,当需要对意图信息进行进一步确定时,通过输入信息、意图信息与预设的知识图谱确定需要用户澄清的内容,并调用相应的澄清模板生成回复信息,从而进一步确定意图信息。需要理解的是,在本发明实施例中,澄清模板是用于生成澄清回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的提问或者回复语句。

步骤s506,否则根据所述输入信息、所述意图信息以及预设的知识图谱调用相应的应答模板生成所述回复信息,以应答所述意图信息。

在本发明实施例中,当不需要对意图信息进行进一步确定时,通过输入信息、意图信息与预设的知识图谱确定需要回复的内容,调用相应的回复模板生成回复信息。需要理解的是,在本发明实施例中,回复模板是用于生成应答回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的回复语句。

在本发明实施例中,可以理解的是,回复信息的生成根据输入信息、意图信息以及知识图谱确定的,具体可以是:根据意图信息确定与用户意图相关的知识图谱中的实体,根据输入信息确定该实体的相关属性,相关属性的属性值以生成回复信息。需要理解的是,确定的是实体可以是一个也可以是多个,可以直接确定,也可以通过确定一个实体,获取与其关联的其它实体的方式间接确定;用户的最终意图可以是实体本身,可以是实体的属性,还可以是实体属性的值,当然,还可以是三者任意数量的组合。

本发明实施例提供的人机对话方法根据意图信息的确定方式确定生成何种回复信息,以进一步确定用户的意图或者对用户进行回复,本发明的方法考虑了用户意图可能不明确的问题,可以在会话中引导用户澄清意图,实际上起到引导会话进行的功能。

图6示出了本发明实施例提供的一种人机对话方法的流程图,与图5所示的方案相比,其不同在于,步骤s504具体包括步骤s602~步骤s604:

步骤s602,根据所述输入信息、所述意图信息以及预设的知识图谱包含的词槽确定待澄清词槽;

在本发明实施例中,具体过程可以是:根据所述意图信息确定知识图谱中的相关实体以及需要澄清的实体属性,用户在澄清词槽时,系统对所述输入信息进行词法分析,判别本次输入与哪些实体属性有关,如果有关则填槽,如果无关,则确定未澄清的词槽,要求用户重新澄清。可以理解,在本发明实施例中,词槽对应实体的属性,词槽值对应实体的属性值。

步骤s604,根据所述待澄清词槽调用相应的澄清模板生成所述回复信息,以获取所述待澄清词槽的槽值从而进一步确定所述意图信息。

在本发明实施例中,需要理解的是,在本发明实施例中,澄清模板是用于生成澄清回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的提问或者回复语句。实际上,作为可选方案,上述步骤的目的除了获取待澄清的槽值外还可以是用于获取缺失的词槽,即知识图谱中与意图信息输出的实体或者实体属性,目的在于在知识图谱中准确地定位用意的意图,以输入用户需要的信息。

本发明实施例提供的人机对话方法通过确定待澄清词槽的方式对用户进行回复以获取所需的词槽或者词槽值,这种方法是基于意图信息已经暂定或者确定的情况下进行的,区别于现有技术中直接根据用户的输入信息进行回复或者提问的方式,由于系统已经预估了用户可能的意图,使得澄清回复更具有针对性,能够更快地获取到所需的词槽或者词槽值。

图7示出了本发明实施例提供的一种人机对话方法的流程图,与图6所示的方案相比,其不同在于,步骤s602具体包括步骤s702~步骤s706:

步骤s702,根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱确定未澄清词槽。

在本发明实施例中,具体过程可以是:根据所述意图信息确定知识图谱中的相关实体以及需要澄清的实体属性,用户在澄清词槽时,系统对所述输入信息进行词法分析,判别本次输入与哪些实体属性有关,如果有关则填槽,如果无关,则确定未澄清的词槽,要求用户重新澄清。可以理解,在本发明实施例中,词槽对应实体的属性,词槽值对应实体的属性值。

步骤s704,若所述未澄清词槽为系统词槽,则获取系统词槽的槽值。

在本发明实施例中,未澄清的词槽可能是系统词槽,系统词槽的槽值保存于系统中,可以直接读取。当判断未澄清词槽属于系统词槽时,直接读取所需的槽值即可,而无需用户澄清。

在本发明实施例中,作为一种优选实施方式,对于系统词槽,还可以进一步判断其槽值是否唯一,当槽值唯一时直接获取该槽值,若不唯一则需要用户进一步澄清,以确定与用户真实意图对应的槽值。

步骤s706,若所述未澄清词槽非系统词槽,则对照所述知识图谱将未澄清词槽作为所述待澄清词槽。

在本发明实施例中,对于非系统词槽,系统中未保存相应的槽值,或者其槽值是不定的,需要用户提供,此时可以通过澄清模板生成相应的回复信息以获取等澄清的词槽值。

本发明实施例提供的人机对话方法,通过判断未澄清词槽是否为系统词槽的方式可以减少用户澄清的次数,提高用户得到准确回复的速度,提升用户体验。

图8示出了本发明实施例提供的一种人机对话方法的流程图,与图5所示的方案相比,其不同在于,步骤s506具体包括步骤s802~步骤s804:

步骤s802,根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱判断是否需要应答。

在本发明实施例中,在此之前还可以包括对输入信息以及意图信息进行分析,从而确定是否存在需要澄清的词槽的步骤,当存在需要澄清的词槽时则按图7所示的步骤处理,以获取相应的词槽或者词槽值。当不存在需要澄清的词槽时,则判断是否需要进行应答。

步骤s804,若需要应答则调用相应的应答模板生成所述回复信息,以应答所述意图信息。

在本发明实施例中,应答的生成是通过调用应答模板实现的,需要理解的是,在本发明实施例中,应答模板是用于生成应答回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的回复语句,通过将需要回复的信息填入回复模板中即可以生成相应的回复信息。

本发明实施例提供的人机对话方法通过调用应答模板针对用户的意图信息进行应答,实际上是规范了应答的形式,一方面便于用户的更快地获取关键信息,另一方面可以提高应答的速度,提高用户的体验。

图9示出了本发明实施例提供的一种人机对话方法的流程图,与图8所示的方案相比,其不同在于,步骤s802之外还包括步骤s902~步骤s906:

步骤s902,根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱分别判断是否需要引导、是否需要切回。

在本发明实施例中,引导是指系统在为用户提供应答之后,提供其它一些用户可能感兴趣的意图供用户选择(例如用户做了车辆询价(意图)之后,如果该店正好有相应的促销活动,就可以提示用户本店正在搞活动,可以进入促销(意图)了解详情),引导主要是用户提供更多可能感兴趣的选择内容,吸引用户了解更多相关内容。

在本发明实施例中,切回是指继续之前中断的意图,例如:用户预约试驾,提供了车型但还没有提供试驾时间,用户转而提问店内的活动信息,此时,之前的预约试驾意图被挂起,当前会话正在进行中的意图变成促销咨询;当回答完促销情况后,系统发现该用户之前预约试驾的会话被挂起,向用户发起询问是否继续试驾预约;用户确认继续后,将预约试驾的意图重新激活,要求用户澄清试驾时间。

步骤s904,若需要引导则调用相应的引导模板以及引导意图信息从而生成引导信息以输出给用户。

在本发明实施例中,引导信息的生成是通过调用引导模板实现的,需要理解的是,在本发明实施例中,引导模板是用于生成引导信息的模板,可以是格式模板、内容模板,其中包含了一些标准化的引导语句,通过将需要引导的信息填入引导模板中即可以生成相应的引导信息。

步骤s906,若需要切回则调用相应的切回模板以及切回意图信息从而生成切回信息以输出给用户。

在本发明实施例中,切回信息的生成是通过调用切回模板实现的,需要理解的是,在本发明实施例中,切回模板是用于生成切回信息的模板,可以是格式模板、内容模板,其中包含了一些标准化的切回语句,通过将需要切回的信息填入切回模板中即可以生成相应的切回信息。

在本发明实施例中,需要理解是的,在一次回复中,应答、引导与切回可以同时进行,也可以按照判断的结果仅执行其中的某一项回复。

本发明实施例提供的人机对话方法可以针对用户的输入信息进行应答、引导或者切回回复,既可以对用户的输入信息进行应答,同时还可以引导用户进一步提供相关的信息以澄清会话意图,具有辅助以及引导会话的功能,既可以提高系统对用户意图的理解能力,同时也有助于提高用户的体验。

在本发明中,需要理解的是,上述任意一个实施例提供的人机对话方法仅仅是指某一轮具体对话中的执行的步骤,而在整个对话过程中,各步骤可以重复执行多次,直至澄清用户的真实意图,并最终为用户提供相应的应答。参考图18所示,为本发明提供的人机对话方法应用于车型查找的流程图,图示的过程进行了多轮对话,每一轮对话可以用于澄清一个级别的查找目录。对于用户而言,用户的输入信息可以是,第一轮对话输入品牌,第二轮对话输入车系,第三轮对话输入车型,经过三轮会话系统可以查找出相应的结果并输入,例如可以是该车型的价格、尺寸、颜色等信息。需要理解的是,以上仅仅上对对话过程的一种解释,实际中,用户输入的品牌、车系、车型等信息可以在一次对话中一次性输入,并且上述信息的输入顺序可以任意选择。对于具体的对话过程,本发明实施例对此不做具体限定。

如图10所示,为本发明实施例提供的一种人机对话装置的结构图,包括:

接收模板块101,用于接收用户的输入信息。

在本发明实施例中,用户的输入信息可以是通过输入设备直接获取,例如通过键盘、鼠标、触控屏等获取,还可以是通过终端获取,再由终端发送到运行本发明实施例所提供的人机对话装置的设备上。在本发明实施例中,用户的输入信息可以文字形式,还可以是语音形式,当采用语音形式时,应当设置相应的转换步骤以将语音信息转换为可处理的文字信息,此为可选的具体实现方式,本发明实施例对此不作具体限定。

意图分析模块102,用于对所述输入信息进行处理以确定所述输入信息对应的意图信息。

在本发明实施例中,对输入信息进行处理的方式可以是采用预设的算法对输入信息进入处理,以得到输入信息本身不包括的信息作为意图信息;还可以是通过相应的装置提取输入信息中的某些关键信息作为意图信息。本发明实施例对于意图信息的具体获取方式不作限定。在本发明实施例中,意图信息是用于描述用户的对话目的的信息,例如可以是天气预报查询、航班查询、汽车价格询问、获取某物的操作说明、了解某人的简介等。

回复模块103,用于根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息。

在本发明实施例中,知识图谱为现有技术提供的一种大型的语义网络,旨在描述客观世界的实体以及它们之间的关系,以实体为节点,以关系为边,实体与实体之间的联系的图形数据。其中,实体指的是具有可区别性且独立存在的某种事物,包括但不限于某人、某城市、某植物、某商品;实体不一定是实物,可以是虚拟的,例如q币、游戏中的装备等。实体与实体之间的关系是现实世界中事物与事物的之间关系的映射,例如从属关系、父子关系、上下位概念等。知识图谱的基本构形式成为<实体1、关系、实体2>,例如<上汽大通、拥有车系、d90>,知识图谱整体由多个实体以及它们之间的关系构成;而对于每一个实体,其形式具体为(实体1、属性1、属性值1),例如(上汽大通、品牌名、大通)。可以理解,每一个实体可以与多个实体存在对应关系,每一个实体可以拥有多个属性,每一个属性也可以拥有多个属性值。

在本发明实施例中,生成回复信息的目的可以是对前一步骤确定的意图信息进行进一步的确定,例如确认上一步骤得出的意图信息是否为用户的真实意图、确定用户意图中的下位概念、对用户意图进行具体化等,以过程实质是通过多轮对话以逐步缩小范围从而更接近用户真实意图的过程;此外,生成回复信息的目的还可以是针对用户的意图信息进行回复,例如经过上一步骤之后可以确定用户的意图信息为“明天北京天气信息”,则可以生成相应的回复信息以告知明天北京的天气状况。

输出模块104,用于输出所述回复信息。

在本发明实施例中,回复信息的输出可以是通过文字、语音或者图表等形式实现,可以是本地输入,也可以是远程输入,本发明实施例对此不作具体限定。

本发明实施例提供的人机对话装置通过分析用户的会话意图,并根据分析结果结合预设的知识图谱生成相应的回复信息,从而对用户的会话意图进行进一步确定或者应答,通过这种方式,在多轮对话中也可以始终围绕用户的会话意图进行应答或者进一步确定,可以解决现有人机对话无法准确理解用户意图的问题,提升了用户体验。

图11示出了本发明实施例提供的一种人机对话装置的结构框图,与图10所示的方案相比,其不同在于,意图分析模块102具体包括:

分词处理单元111,用于采用预设的模型对所述输入信息进行处理以确定其中的特征词以及词槽。

在本发明实施例中,作为一种可选的实现方式,确定特征词以及词槽的方式可以是:利用序列标注模型对输入信息进行处理,通过平均感知机算法完成分词、词性标注、实体识别等,处理后可以得到会话的词槽以及特征词。在本发明实施例中,词槽为用户在对话过程的提供的信息包含的相关关键词,例如关于机票预订的一个对话中,人数、出发地、目的地、出发时间、航班号、客舱级别等属于词槽,而与词槽对应的具体信息则为词槽值,例如“预订2张本周五从上海浦东机场飞往香港国际机场的航班”中的“2张”、“本周五”、“上海浦东机场”、“香港国际机场”属于词槽值;特征词是指一组具有相似特征的词,通常被用于约束某个对话的匹配范围,如价格咨询、汽车百科、天气情况关键词,或提供一定限度的泛化能力。在本发明实施例中,词槽、词槽值以及特征词等通过预先定义设定于系统中。

语义向量单元112,用于由所述特征词以及所述词槽确定语义向量。

在本发明实施例中,根据词袋模型将词槽、特征词填充到向量空间,并乘以一定的权重比例(例如词槽与特征词权重比例为0.6:1),可以得到相应的主义向量。

意图匹配单元113,用于根据所述语义向量确定与所述输入信息匹配的意图信息。

在本发明实施例中,系统预设了若干意图信息,每个意图信息包含有各自的词槽以及特征词,意图信息在系统中以向量的形式存在。通过会话中的语义向量可以确定与之匹配的意图信息。这种方式确定意图信息的依据的是会话中的词槽以及特征词,可以提高系统“理解”用户意图的准确性。

本发明实施例提供的人机对话装置,通过获取输入信息中的词槽以及特征词从而确定相应的意图信息,可以使系统更准确地获取用户的真实意图,减少用户意图澄清的次数,提高了用户体验。

图12示出了本发明实施例提供的一种人机对话装置的流程图,与图11所示的方案相比,其不同在于,意图匹配单元113具体包括:

相似度计算单元121,用于计算所述语义向量与预设样本向量的相似度;

在本发明实施例中,系统中的预设意图信息以样本向量的形式存在,每个样本向量对应一个意图信息。

阀值判断单元122,用于若所述相似度大于或者等于预设的阀值,则将相似度最高的样本向量对应的预设意图信息作为与所述输入信息匹配的意图信息;

在本发明实施例中,语义向量与样本向量的相似度达到预设的阀值时,可以认为样本向量代表的意图信息为用户的真实会话意图。

分类计算单元123,用于若所述相似度小于预设的阀值,则根据所述特征词以及所述词槽采用分类算法确定与所述输入信息匹配的意图信息。

在本发明实施例中,当相似度小于预设的阀值或者出现多个样本向量的相似度均达到预设的阀值时,无法判断与输入信息对对应的意图信息,此时可以通过分类算法确定与输入信息对应的意图信息。需要理解的是,通过这种方式确定出的意图信息仅仅是系统暂时确定的意图信息,并不作为用户输入信息的最终意图信息。通过这种方式确定的意图信息需要与用户进行下一轮会话从而获取更多的相关词槽或者特征词从而对意图信息进行进一步确定。

本发明实施例提供的人机对话装置提供了两种不同的方式用于确定与用户输入信息对应的意图信息,可以提高确定出的意图信息与用户真实意图的匹配程度,不同于现有技术提供的对话装置,反复地要求用户选定有限项目以输入对应的回复,本发明提供的对话装置可以在多轮对话中使用户的真实意图逐渐被系统理解,从而最终输出相应的回复。

图13示出了本发明实施例提供的一种人机对话装置的结构图,与图10所示的方案相比,其不同在于,回复模块103具体包括:

第一判断单元131,用于根据所述意图信息的确定方式判断是否需要对所述意图信息进行进一步确定。

在本发明实施例中,具体地,若意图信息是通过相似度计算确定时,则可以认为该意图信息为用户的真实意图;若意图信息不是通过相似度计算的方式确定的,则该意图信息为系统假定的意图信息,需要在后续会话中进一步地进行确定,以澄清用户的真实意图。

回复信息生成单元132,用于若是,则根据所述输入信息、所述意图信息以及预设的知识图谱调用相应的澄清模板生成所述回复信息,以进一步确定所述意图信息。

在本发明实施例中,当需要对意图信息进行进一步确定时,通过输入信息、意图信息与预设的知识图谱确定需要用户澄清的内容,并调用相应的澄清模板生成回复信息,从而进一步确定意图信息。需要理解的是,在本发明实施例中,澄清模板是用于生成澄清回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的提问或者回复语句。

应答单元133,用于否则根据所述输入信息、所述意图信息以及预设的知识图谱调用相应的应答模板生成所述回复信息,以应答所述意图信息。

在本发明实施例中,当不需要对意图信息进行进一步确定时,通过输入信息、意图信息与预设的知识图谱确定需要回复的内容,调用相应的回复模板生成回复信息。需要理解的是,在本发明实施例中,回复模板是用于生成应答回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的回复语句。

在本发明实施例中,可以理解的是,回复信息的生成根据输入信息、意图信息以及知识图谱确定的,具体可以是:根据意图信息确定与用户意图相关的知识图谱中的实体,根据输入信息确定该实体的相关属性,相关属性的属性值以生成回复信息。需要理解的是,确定的是实体可以是一个也可以是多个,可以直接确定,也可以通过确定一个实体,获取与其关联的其它实体的方式间接确定;用户的最终意图可以是实体本身,可以是实体的属性,还可以是实体属性的值,当然,还可以是三者任意数量的组合。

本发明实施例提供的人机对话装置根据意图信息的确定方式确定生成何种回复信息,以进一步确定用户的意图或者对用户进行回复,本发明的装置考虑了用户意图可能不明确的问题,可以在会话中引导用户澄清意图,实际上起到引导会话进行的功能。

图14示出了本发明实施例提供的一种人机对话装置的流程图,与图13所示的方案相比,其不同在于,回复信息生成单元132具体包括:

待澄清词槽确定子单元141,用于根据所述输入信息、所述意图信息以及预设的知识图谱包含的词槽确定待澄清词槽;

在本发明实施例中,具体过程可以是:根据所述意图信息确定知识图谱中的相关实体以及需要澄清的实体属性,用户在澄清词槽时,系统对所述输入信息进行词法分析,判别本次输入与哪些实体属性有关,如果有关则填槽,如果无关,则确定未澄清的词槽,要求用户重新澄清。可以理解,在本发明实施例中,词槽对应实体的属性,词槽值对应实体的属性值。

回复信息生成子单元142,用于根据所述待澄清词槽调用相应的澄清模板生成所述回复信息,以获取所述待澄清词槽的槽值从而进一步确定所述意图信息。

在本发明实施例中,需要理解的是,在本发明实施例中,澄清模板是用于生成澄清回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的提问或者回复语句。实际上,作为可选方案,上述步骤的目的除了获取待澄清的槽值外还可以是用于获取缺失的词槽,即知识图谱中与意图信息输出的实体或者实体属性,目的在于在知识图谱中准确地定位用意的意图,以输入用户需要的信息。

本发明实施例提供的人机对话装置通过确定待澄清词槽的方式对用户进行回复以获取所需的词槽或者词槽值,这种装置是基于意图信息已经暂定或者确定的情况下进行的,区别于现有技术中直接根据用户的输入信息进行回复或者提问的方式,由于系统已经预估了用户可能的意图,使得澄清回复更具有针对性,能够更快地获取到所需的词槽或者词槽值。

图15示出了本发明实施例提供的一种人机对话装置的流程图,与图14所示的方案相比,其不同在于,待澄清词槽确定子单元141具体包括:

未澄清词槽确定子单元151,用于根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱确定未澄清词槽。

在本发明实施例中,具体过程可以是:根据所述意图信息确定知识图谱中的相关实体以及需要澄清的实体属性,用户在澄清词槽时,系统对所述输入信息进行词法分析,判别本次输入与哪些实体属性有关,如果有关则填槽,如果无关,则确定未澄清的词槽,要求用户重新澄清。可以理解,在本发明实施例中,词槽对应实体的属性,词槽值对应实体的属性值。

槽值获取子单元152,用于若所述未澄清词槽为系统词槽,则获取系统词槽的槽值。

在本发明实施例中,未澄清的词槽可能是系统词槽,系统词槽的槽值保存于系统中,可以直接读取。当判断未澄清词槽属于系统词槽时,直接读取所需的槽值即可,而无需用户澄清。

在本发明实施例中,作为一种优选实施方式,对于系统词槽,还可以进一步判断其槽值是否唯一,当槽值唯一时直接获取该槽值,若不唯一则需要用户进一步澄清,以确定与用户真实意图对应的槽值。

待澄清词槽确定子单元153,用于若所述未澄清词槽非系统词槽,则对照所述知识图谱将未澄清词槽作为所述待澄清词槽。

在本发明实施例中,对于非系统词槽,系统中未保存相应的槽值,或者其槽值是不定的,需要用户提供,此时可以通过澄清模板生成相应的回复信息以获取等澄清的词槽值。

本发明实施例提供的人机对话装置,通过判断未澄清词槽是否为系统词槽的方式可以减少用户澄清的次数,提高用户得到准确回复的速度,提升用户体验。

图16示出了本发明实施例提供的一种人机对话装置的流程图,与图13所示的方案相比,其不同在于,应答单元133具体包括:

第二判断单元161,用于根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱判断是否需要应答。

在本发明实施例中,在此之前还可以包括对输入信息以及意图信息进行分析,从而确定是否存在需要澄清的词槽的步骤,当存在需要澄清的词槽时则按图7所示的步骤处理,以获取相应的词槽或者词槽值。当不存在需要澄清的词槽时,则判断是否需要进行应答。

应答信息生成子单元162,用于若需要应答则调用相应的应答模板生成所述回复信息,以应答所述意图信息。

在本发明实施例中,应答的生成是通过调用应答模板实现的,需要理解的是,在本发明实施例中,应答模板是用于生成应答回复的模板,可以是格式模板、内容模板,其中包含了一些标准化的回复语句,通过将需要回复的信息填入回复模板中即可以生成相应的回复信息。

本发明实施例提供的人机对话装置通过调用应答模板针对用户的意图信息进行应答,实际上是规范了应答的形式,一方面便于用户的更快地获取关键信息,另一方面可以提高应答的速度,提高用户的体验。

图17示出了本发明实施例提供的一种人机对话装置的流程图,与图16所示的方案相比,其不同在于,应答单元133还包括:

第三判断单元171,用于根据所述意图信息以及所述输入信息包含的词槽对照预设的知识图谱分别判断是否需要引导、是否需要切回。

在本发明实施例中,引导是指系统在为用户提供应答之后,提供其它一些用户可能感兴趣的意图供用户选择(例如用户做了车辆询价(意图)之后,如果该店正好有相应的促销活动,就可以提示用户本店正在搞活动,可以进入促销(意图)了解详情),引导主要是用户提供更多可能感兴趣的选择内容,吸引用户了解更多相关内容。

在本发明实施例中,切回是指继续之前中断的意图,例如:用户预约试驾,提供了车型但还没有提供试驾时间,用户转而提问店内的活动信息,此时,之前的预约试驾意图被挂起,当前会话正在进行中的意图变成促销咨询;当回答完促销情况后,系统发现该用户之前预约试驾的会话被挂起,向用户发起询问是否继续试驾预约;用户确认继续后,将预约试驾的意图重新激活,要求用户澄清试驾时间。

引导子单元172,用于若需要引导则调用相应的引导模板以及引导意图信息从而生成引导信息以输出给用户。

在本发明实施例中,引导信息的生成是通过调用引导模板实现的,需要理解的是,在本发明实施例中,引导模板是用于生成引导信息的模板,可以是格式模板、内容模板,其中包含了一些标准化的引导语句,通过将需要引导的信息填入引导模板中即可以生成相应的引导信息。

切回子单元173,用于若需要切回则调用相应的切回模板以及切回意图信息从而生成切回信息以输出给用户。

在本发明实施例中,切回信息的生成是通过调用切回模板实现的,需要理解的是,在本发明实施例中,切回模板是用于生成切回信息的模板,可以是格式模板、内容模板,其中包含了一些标准化的切回语句,通过将需要切回的信息填入切回模板中即可以生成相应的切回信息。

在本发明实施例中,需要解决是的,在一次回复中,应答、引导与切回可以同时进行,也可以按照判断的结果仅执行其中的某一项回复。

本发明实施例提供的人机对话装置可以针对用户的输入信息进行应答、引导或者切回回复,既可以对用户的输入信息进行应答,同时还可以引导用户进一步提供相关的信息以澄清会话意图,具有辅助以及引导会话的功能,既可以提高系统对用户意图的理解能力,同时也有助于提高用户的体验。

图19示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的计算机设备服务器110。如图19所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明实施例提供的人机对话方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明实施例提供的人机对话方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图19中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的本发明实施例提供的人机对话装置可以实现为一种计算机程序的形式,计算机程序可在如图19所示的计算机设备上运行。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

步骤s202,接收用户的输入信息;

步骤s204,对所述输入信息进行处理以确定所述输入信息对应的意图信息;

步骤s206,根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息;

步骤s208,输出所述回复信息。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:

步骤s202,接收用户的输入信息;

步骤s204,对所述输入信息进行处理以确定所述输入信息对应的意图信息;

步骤s206,根据所述输入信息、所述意图信息以及预设的知识图谱生成回复信息,以进一步确定或者应答所述意图信息;

步骤s208,输出所述回复信息。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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