首页 / 专利库 / 人工智能 / 人工智能 / 自然语言处理 / 一种基于自然语言处理和知识图谱的对话方法

一种基于自然语言处理和知识图谱的对话方法

阅读:77发布:2020-05-08

专利汇可以提供一种基于自然语言处理和知识图谱的对话方法专利检索,专利查询,专利分析的服务。并且本 发明 公开一种基于 自然语言处理 和知识图谱的对话方法,判断是否是必要话轮,若是,则通过系统与用户、所绑定的知识图谱交互来处理该必要话轮,利用所绑定的知识图谱解决具体的业务处理问题;否则,则由系统与知识图谱交互来处理非必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作。本发明通过绑定知识图谱,并区分必要话轮与非必要话轮,利用绑定知识图谱的处理该必要话轮具体的业务处理问题,或是处理不必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作,解决了传统任务型对话的 聊天 系统技术在每轮对话及结果处理中缺乏业务处理能 力 的问题。,下面是一种基于自然语言处理和知识图谱的对话方法专利的具体信息内容。

1.一种基于自然语言处理和知识图谱的对话方法,其特征在于,包括步骤:
判断是否是必要话轮,若是,则通过系统与用户、所绑定的知识图谱交互来处理该必要话轮,利用所绑定的知识图谱解决具体的业务处理问题;否则,则由系统与知识图谱交互来处理非必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作。
2.根据权利要求1所述基于自然语言处理和知识图谱的对话方法,其特征在于,其中,在通过系统与用户、知识图谱交互来处理该必要话轮时,首先由系统与用户交互来处理,在系统与用户交互后无法完成对话时,则由系统与知识图谱交互来处理该必要话轮。
3.根据权利要求1所述基于自然语言处理和知识图谱的对话方法,其特征在于,对话中,若用户在当前场景中对话时想调用新的场景,则通过嵌套来完成,嵌套,包括当前场景嵌套新的场景,当前场景嵌套以前历史中的场景。
4.根据权利要求3所述基于自然语言处理和知识图谱的对话方法,其特征在于,对话中,在接收到用户当在当前场景发送的信息后,通过意图识别模型识别,并根据识别结果进入到新的场景,在新的场景内完成相应的对话后返回到所述当前场景进一步处理。
5.根据权利要求3所述基于自然语言处理和知识图谱的对话方法,其特征在于,对话中,若所在场景内的某个话轮不存在,系统则在以前的对话历史中查询是否存在当前的话轮,若存在,则跳转到该话轮中并将该话轮执行的场景置为当前场景,在该话轮执行完后,再回到先前的话轮。
6.根据权利要求5所述基于自然语言处理和知识图谱的对话方法,其特征在于,系统则在以前的对话历史中查询是否存在当前的话轮可是通过知识图谱实现。

说明书全文

一种基于自然语言处理和知识图谱的对话方法

技术领域

[0001] 本发明涉及智能问答技术领域,特别是涉及一种基于自然语言处理和知识图谱的对话方法。

背景技术

[0002] 闲聊型对话中的对话管理(Dialogue Management,DM)就是对上下文进行序列建模、对候选回复进行评分、排序和筛选等,以便于自然语言生成(Natural Language Generation,NLG)阶段生成更好的回复;智能问答系统的任务型对话中的对话管理(Dialogue Management,DM)就是在NLU(领域分类和意图识别、槽填充)的基础上,进行对话状态的追踪(Dialogue State Tracking,DST)以及对话策略的学习(Dialogue Policy Learning,DPL),以便于DPL阶段策略的学习以及NLG阶段澄清需求、引导用户、询问、确认、对话结束语等。DST是根据当前的意图(intention)、槽值对(slot-value pairs)、以及之前的意图来追踪当前的状态,简而言之,就是当前处理的上下文。DPL就是根据当前的状态(state) 决定下一步的动作。任务型对话可为短对话(Short Conversation)也可为长对话 (Long Conversation),短对话指的是一问一答式的单轮(single turn),长对话指的是你来我往的多轮(multi-turn),对于任务型对话而言,长对话更为常见。
[0003] 传统任务型对话一般流程如图1所示,现有传统任务型对话的聊天系统技术的缺点是在每轮对话及结果处理中缺乏业务处理能

发明内容

[0004] 本发明的目的是针对现有技术中存在的技术缺陷,而提供一种基于自然语言处理和知识图谱的对话方法,通过引入知识图谱和对话的嵌套来解决现有聊天系统技术的缺点,利用知识图谱与系统交互,来近似解决不必要部分话轮的交互问题。
[0005] 为实现本发明的目的所采用的技术方案是:
[0006] 一种基于自然语言处理和知识图谱的对话方法,包括步骤:
[0007] 判断是否是必要话轮,若是,则通过系统与用户、所绑定的知识图谱交互来处理该必要话轮,利用所绑定的知识图谱解决具体的业务处理问题;否则,则由系统与知识图谱交互来处理非必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作。
[0008] 其中,在通过系统与用户、知识图谱交互来处理该必要话轮时,首先由系统与用户交互来处理,在系统与用户交互后无法完成对话时,则由系统与知识图谱交互来处理该必要话轮。
[0009] 其中,对话中,若用户在当前场景中对话时想调用新的场景,则通过嵌套来完成;嵌套,包括当前场景嵌套新的场景,当前场景嵌套以前历史中的场景。
[0010] 其中,对话中,在接收到用户当在当前场景发送的信息后,通过意图识别模型识别,并根据识别结果进入到新的场景,在新的场景内完成相应的对话后返回到所述当前场景进一步处理。
[0011] 其中,对话中,若所在场景内的某个话轮不存在,系统则在以前的对话历史中查询是否存在当前的话轮,若存在,则跳转到该话轮中并将该话轮执行的场景置为当前场景,在该话轮执行完后,再回到先前的话轮。
[0012] 其中,系统则在以前的对话历史中查询是否存在当前的话轮可是通过知识图谱实现。
[0013] 本发明通过绑定知识图谱,并区分必要话轮与非必要话轮,利用绑定知识图谱的处理该必要话轮具体的业务处理问题,或是处理不必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作,解决了传统任务型对话的聊天系统技术在每轮对话及结果处理中缺乏业务处理能力的问题。附图说明
[0014] 图1是传统任务型对话的处理流程图
[0015] 图2是本发明的任务型对话的处理流程图;
[0016] 图3是对话策略学习中用有限状态自动机进行规则设计的第一种设计方案;
[0017] 图4是对话策略学习中用有限状态自动机进行规则设计的第二种设计方案;
[0018] 图5是本发明任务型对话对话策略学习中处理必要、非必要话轮的示意图;
[0019] 图6是本发明任务型对话对话策略学习中处理必要、非必要话轮的实施例的示意图。

具体实施方式

[0020] 以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0021] 本发明基于自然语言处理和知识图谱的对话方法,包括以下话轮处理步骤:
[0022] 判断是否是必要话轮,若是,则通过系统与用户、所绑定的知识图谱交互来处理该必要话轮,利用所绑定的知识图谱解决具体的业务处理问题;否则,则由系统与知识图谱交互来处理非必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作。
[0023] 本发明中,为实现判断是否是必要话轮,在系统中进行如下数据结构以及存储设计。
[0024] 系统中数据的结构,按照意图或场景进行分类,包括场景名字、意图名字、参数列表、应答模板。参数列表包括参数名、是否必要、提示语。应答模板用于响应用户问题;参数列表用于与从序列标注中抽取的槽位进行比较,确定对话话轮。具体形式如,对于“运输货物”这个场景,“您的货物将从{{parameters[" 从"]}}运到{{parameters["到"]}}”。这里的“从”、“到”就是参数,提示语分别为“您的始发地是哪里?”、“您的目的地是哪里?”。意图名为“运输货物。将上述四个字段存入数据库中,备以后查询分析。
[0025] 又如“预约转人工”的场景,应答模板为“您预留的电话号码是 {{parameters["电话号码"]}},咨询的业务是{{parameters["业务"]}},稍后将有客服人员主动联系您,请保持电话的畅通。”这里的“电话号码”,“业务”就是参数,分别设置为必要,提示语分别为“请您留下电话号码?”,“请留下您要咨询的问题?”意图名为“预约转人工”。将上述字段存入数据库中,供以后查询分析。
[0026] 其中,系统数据集分为意图识别的数据集和序列标注的数据集两种数据集。
[0027] 下面结合图2所示的本发明的任务型对话的处理流程图,本发明详细说明如下:
[0028] 对话交互中,接收到用户输入的问题,首先进入到自然语言处理步骤,自然语言处理(即场景分析),是将用户输入的自然语言映射为用户的意图和相应的槽位、槽值。因此自然语言处理的输入是用户对话语句,输出是解析后得到的用户动作,用户动作包括意图和槽位,主要技术是意图识别和槽位识别及填充。意图和槽位共同构成“用户动作”,因为机器是无法直接理解自然语言的,所以用户动作的作用便是将自然语言映射为机器能够理解的结构化语义表示。
[0029] 上述自然语言处理中的意图识别可由分类算法完成,但不局限于该算法。槽位,也就是意图的参数,一个意图可有若干个或着零个参数,槽位识别可以由但不局限于序列标注完成。
[0030] 示例:
[0031] 用户输入示例:“今天北京的天气怎么样”
[0032] 用户意图定义:询问天气
[0033] 槽位定义:
[0034] 槽位一:时间
[0035] 槽位二:地点
[0036] 在上述示例中,针对“询问天气”意图定义了两个必要的槽位,它们分别是“时间”和“地点”。时间的值是“今天”,地点的值是“北京”。
[0037] 上述的自然语言处理的步骤完成后,进入到对话状态跟踪(DST)的步骤,其中,对话状态跟踪(DST)的输入是用户动作和以前的对话状态,输出是对话状态跟踪判定的当前对话状态。
[0038] 对话状态的表示(DST-State Representation)通常包括以下三部分。
[0039] (1)当前槽位的填充情况。
[0040] (2)本轮对话过程中的用户动作。
[0041] (3)对话历史。
[0042] 对话状态跟踪(DST)的步骤之后是对话策略学习(DPL)的步骤,对话策略学习(DPL)的输入是对话状态跟踪(DST)的输出,通过预设的对话策略,选择某动作作为输出。比如用户输入,今天北京天气怎么样?对应的策略就是一次性识别所有槽位,即时间的槽位,其槽值是今天,地点的槽位,其槽值为北京。其次也可采用话轮的策略,比如:用户的输入:查询天气。系统提问:请问查询那天的?用户回答:今天的,其槽位就是时间,槽值就是今天;
系统再问:请问查询哪里的?用户回答:北京的,则其槽位是地点,槽值是北京。
[0043] 用有限状态自动机来进行规则设计,有两种不同方案:第一种,以点表示数据,以边表示操作;第二种,以点表示操作,以边表示数据。这两种方案各有优缺点,在具体实现时可以根据实际情况进行选择。
[0044] 方案一,如图3所示,这里的点表示槽位状态,边表示系统动作。每一个对话状态S表示槽位的填充状态,槽位的状态转移由系统动作引起。槽位均为空时,状态为“空”,表示为(0,0);只有时间槽位被填充时状态为(1,0),全部被填充时表示为(1,1),只有地点被填充时表示为(0,1)。本例中共有槽位2 个,22个不同的状态。
[0045] 当系统动作发出“询问地点”的动作后,状态将转向“S2”,如果成功填充,则转向下一个状态,如果不成功,将发起“再次询问”的动作。直至识别到状态“(1,1)”。
[0046] 这种方式、弊端非常明显:随着槽位数量的增加,对话状态的数量也会急剧增加。具体来说,在上述方案中,对话状态的总数由槽位的个数决定,如果槽位有k个,那么对话状态的数量为2k个。尝试改进这一弊端的研究有很多,如Young S等人提出的隐藏信息状态模型(Hidden Information State,HIS) 和Thomson B等人提出的基于贝叶斯更新的对话状态管理模型(Bayesian Update of Dialogue State,BUDS)等等。
[0047] 方案二,如图4所示,上图以点表示系统动作,以边表示槽位状态。在这种情况下,有限状态自动机中每一个对话状态S,表示的是一种系统动作,本例中系统动作共有三种,分别是,询问时间、询问地点、回答。状态的变化是由槽位的状态变化引起的。
[0048] 对比上述两种方案,第二种有限状态自动机以系统动作为核心,设计更简单,更易于工程实现。第一种有限状态自动机以槽位状态为核心,枚举所有槽位情况,更适合数据驱动的机器学习方式。
[0049] 系统动作的定义通常包括问询、确认、回答等三种。问询是系统要解决槽位缺失的问题,确认是系统要解决容错性问题,回答是系统的最终回复。由于对话的框架不可能包含具体的业务逻辑,所以本发明在确认,回答两个阶段利用知识图谱对业务进行是否确认,如何回答,用于解决对话所遇到的实际业务。
[0050] 对于不确定话轮,即不必要的话轮,系统无法预知的话轮,本发明将不必要的话轮部分系统与用户的交互转变成系统与知识图谱的交互,一般而论,用户将不再参与。对于必要的话轮,要是业务需要就采取绑定知识图谱方法来解决,由知识图谱来指导性的解决。知识图谱,即本体,用来描述真实世界中存在的各种实体间的关系,用三元组可表示为(实体,关系,实体),(实体,属性,值)等两种关系。
[0051] 以上本发明所提出的话轮处理技术,可以使用方案一来完成;也可将上述两种有限状态自动机结合起来,以方案二中点表示操作,边表示数据的有限状态自动机为基础融入方案一中的点表示数据,边表示操作,以此为方案但不局限于此。这里使用结合方案来演示,如图5所示。
[0052] 举个买火车票例子,如图6所示,假设有时间、始发站、终点站这些必要属性,其它必要属性同理,这些必要属性都可通过与用户交互,来让用户一一回答,同时对于一些业务上的问题,比如因为系统维护,系统服务暂停问题,就可通过绑定知识图谱的方法解决,这样可保证对话框架的整洁,利用知识图谱的“知识”的能力,将其问题转到响应的业务处理服务中去。
[0053] 对于用户要是说“我要最快的火车票”,这个问题就是不必要的话轮了,既然用户提出来,就用知识图谱来解决这个问题,具体就是用知识图谱来分析推理查询出是否火车票有这个属性。也就是说本发明在不必要话轮部分来用知识图谱来代替人与系统交互。
[0054] 通过上述的话轮处理后,系统会进行入到自然语言生成的步骤,其中,自然语言生成是对话的最后一步,是系统对用户的回答,即生成答案。
[0055] 进一步,本发明中,在系统与用户对话中,如果用户在本场景中对话时想调用新的场景,通过嵌套完成。如,进行人工咨询对话时,用户要查询天气,系统通过“查询天气场景”完成的。用户需要发送“查询天气”消息,系统会通过调用意图识别模型识别,进入“查询天气场景”,在查询天气场景内完成相应的对话后返回人工咨询场景,人工咨询场景会做进一步处理。另外多层的嵌套也是这个道理。
[0056] 对话中,场景内的某个话轮不存在,允许系统在以前的对话历史中查询是否存在当前的话轮(可以通过知识图谱实现),若存在,则跳转到这个话轮中并将这个话轮执行的场景置为当前场景,在这个话轮执行完后,再回到先前的话轮。对于多个的嵌套以此类推。
[0057] 可以看出,本发明通过绑定知识图谱,并区分必要话轮与非必要话轮,利用绑定知识图谱的处理该必要话轮具体的业务处理问题,或是处理不必要话轮,通过知识图谱的逻辑模拟用户的逻辑来进行问询操作,解决了传统任务型对话的聊天系统技术在每轮对话及结果处理中缺乏业务处理能力的问题。
[0058] 以上所述仅是本发明的优选实施方式,应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈