一种基于场景上下文的人机多轮对话模型构建方法与流程

文档序号:14714486发布日期:2018-06-16 01:04阅读:533来源:国知局

本发明涉及计算机人工智能自然语言处理领域,尤其涉及一种基于场景上下文的人机多轮对话模型构建方法。



背景技术:

智能聊天机器人的概念在近年来越来越火热,以语音交互及自然语言理解为核心的聊天机器人,正逐步运用到语音助手、在线咨询、导引、客服、日常聊天等各个服务领域。

然而,现有的市场上的聊天机器人,大部分存在经常答非所问的通病。对于单轮次的问答,聊天机器人可以通过检索、传统语义分析等方法得到一个较为合理的答案;而对于长时间的多轮次问答,聊天机器人往往无法抓住对话过程中的多个话题信息,而这些话题信息作为整个聊天过程中的上下文,对于机器人理解对话有着至关重要的意义。在聊天过程中,如果完全舍弃上下文内容,那么对于大量的问题,聊天机器人将无法正确答复;而如果使用全部的上下文内容,不仅处理起来较为繁杂,而且引入了大量噪声信息,造成应答错乱等现象的发生。因此,如何准确的筛选合适的内容作为上下文信息辅助人机对话系统生成应答,也是一大关键所在。如何牢牢掌握这些对话的上下文信息,并且充分地运用到聊天机器人的应答过程中,是一个亟待解决的问题。



技术实现要素:

本发明的目的是针对已有人机多轮对话技术的不足,提供一种基于场景上下文的人机多轮对话模型构建方法。该方法定义了人机多轮对话系统中的多个关键因素,以及各因素之间的相互作用关系,并且提出了一个规范化的人机对话模型,为人机对话系统的构建起到指导作用。

为达到发明的目的,本发明的构思是:

定义人机多轮对话模型的词语、问答、场景三个重要关键因素。在一个持续时间段内的对话过程中存在着多个场景,即在这个对话过程中会涉及到多个话题内容的切换,因此,对话过程可以划分为多个场景,场景的划分与对话过程中的问答句密切相关。场景是包含多轮对话的聊天过程,因此一个场景由多个问答句组成,它们包含用于描述场景的重要信息。每一个问答句又由有序的词语组合而成,词与词之间的相互关系,是对问答句内容的重要描述。

因此,人机多轮对话模型需要提取三种上下文表示:词语上下文、问答句上下文以及场景上下文,这些上下文信息均由高维的向量表示。获取三种上下文表示的思路是:

获取词语的上下文表示:基于词的含义通常不变的情况下,可以使用现有的模型针对大型语料库来训练词的上下文表示,以一个固定维度向量表示一个词的上下文,方便运算以及获取相似词。

获取问答句的上下文表示:问答句的上下文可以简单地表示为词的上下文的有序组合表示,因此,一种获取问答上下文的方式是将词上下文按顺序连接起来,组成一个长的向量。此外,可以考虑使用与获取词的上下文表示相似的方法,获取一个固定维度的问答上下文向量表示。

获取场景的上下文表示:在一个连续的对话过程中,常常涉及多个话题场景。聊天机器人要牢牢把握多个场景,并且能够在与用户的交互过程中实时的切换。在聊天过程中,一个场景下存在多个问答,同获取问答句的上下文表示类似,获取一个固定维度的场景上下文向量。

根据上述发明构思,本发明采用下述技术方案:

一种基于场景上下文的人机多轮对话模型构建方法,具体步骤如下:

a)定义词语、问答句、场景三种上下文的抽象表示概念;

b)基于上述三种上下文提取的方法,将原始问答库训练为多个场景表示的问答场景知识库;

c)对于输入的问题首先获取其上述三种上下文的抽象表示,再进行场景匹配,提取场景中的问答句上下文序列并结合当前问句上下文,组成新的问答句上下文序列以生成合理应答。

所述步骤a)具体为:在一个时间段内的对话过程中存在多个场景的切换,将对话过程划分为多个场景,每个场景由多个问答句组成,它们包含用于描述场景的重要信息;问答句又由有序的词语组合而成,词与词之间的相互关系,是对问答句内容的重要描述;人机多轮对话模型需要提取三种上下文表示:词语上下文、问答句上下文以及场景上下文,这些上下文信息均由高维的向量表示;词语上下文包含了词语的基本含义以及词与词之间的相似度关系,含义越相似的词语,在上下文向量空间中距离越相近;问答句上下文是词语上下文序列的高层次表示,它隐含了问答句中各词的含义、以及词与词之间的相互作用关系,在问答句上下文向量空间中,含义越相似的问答句,其上下文向量空间中的距离就越相近;场景上下文是对一个场景中的问答句上下文序列的更高层抽象表示,它隐含地表达了一个场景中所有问答句上下文的信息,不同的场景上下文内容不同,其场景上下文的表示也有所差异。

所述步骤b)具体为:原始的问答库只是简单的一问一答形式的文本,基于步骤a)中三种上下文获取的方法,将整个问答库整理为多个场景,获取每一个问答的词向量、句向量,以及每一个场景的场景上下文向量,使整个问答库按场景划分,各场景以场景上下文向量的距离区分,每个场景存在已经训练好的问答句上下文表示,从而构建问答场景知识库。

所述步骤c)具体为:人机对话系统中存在两个场景库,一个是在整个对话过程中逐步产生的对话场景库,另一个是问答库中固定的场景库;对于新的输入,首先提取其三种上下文表示,然后从对话场景库中匹配最佳场景,若无法匹配到最佳场景,再从问答库中匹配场景;匹配完毕后,系统抽取出该场景下的所有的问答句上下文序列,结合当前问句上下文组成新的问答句上下文序列以生成合理应答。

本发明与已有技术相比较,具有如下显而易见的突出实质性特点和显著的技术进步:

本发明提出一种结合三种上下文表示的人机多轮对话模型,根据该对话模型,对于新的输入,分析其最可能场景,取场景的问答序列作为上下文,辅助当前的问句生成合理的答案,这种方法不仅将人机对话模型规范化,而且能够从对话中筛选出最合适场景的上下文内容,避免不相干内容对应答造成的影响。

该方法充分考虑对话过程中上下文的对于当前聊天内容的重要作用,特别强调场景划分在对话系统中的重要意义,旨在让系统根据上下文信息,对于用户的问题能够生成更加精准的答复,增强聊天机器人的用户体验。

附图说明

图1是本发明方法的总流程图。

具体实施方式

本发明的具体实施例结合附图描述如下:

如图1所示,一种基于场景上下文的人机多轮对话模型构建方法,具体步骤如下:

a)定义词语、问答句、场景三种上下文的抽象表示概念;

b)基于上述三种上下文提取的方法,将原始问答库训练为多个场景表示的问答场景知识库;

c)对于输入的问题首先获取其上述三种上下文的抽象表示,再进行场景匹配,提取场景中的问答句上下文序列并结合当前问句上下文,组成新的问答句上下文序列以生成合理应答。

其中,词语、问答句、场景三种上下文的提取方法是:

使用现有模型获取词的上下文表示:使用现有的模型针对大型语料库来训练词的上下文表示,以一个固定维度向量表示一个词的上下文,方便运算以及获取相似词。例如,Google开发的Word2Vec模型是一种快速地将语料库中的词映射到高维向量空间中的方法,它能够准确地抓住词的上下文特征,有效地将相似的词语聚集在向量空间中相近的位置。

获取问答句的上下文表示:问答句是由多个词语有序的组成的。问答句的上下文可以简单地表示为词的上下文的有序组合表示,因此,一种获取问答上下文的方式是将词上下文按顺序连接起来,组成一个长的向量,然而这个长的向量存在两个主要的弊端:一是高维度的向量在运算过程中耗费大量时间;二是不同问答句长度的不固定导致在运算时向量的长度无法达到统一。基于这些原因,可以考虑使用与获取词的上下文表示相似的方法,获取一个固定维度的问答上下文向量表示,借助现有的一些深度神经网络技术,如循环神经网络、句子向量等,可以达到要求。

获取场景的上下文表示:在一个连续的对话过程中,常常涉及多个话题场景。以一个下午茶的场景为例,对话的双方不仅仅会谈到与下午茶有关的内容(如咖啡的口感、面包的香味等等),还有可能会谈到一下其他的内容(如近几日的天气、见闻,对一本书的感悟等等),在这个例子中,下午茶可能是贯穿始终的主要场景,同时天气、见闻、书籍等又是涉及的次要场景。因此,聊天机器人要牢牢把握多个场景,并且能够在与用户的交互过程中实时的切换。在聊天过程中,一个场景下存在多个问答,与获取问答句的上下文表示类似,使用将问答上下文按顺序连接成一个长的向量的方式获取场景的上下文,同样会碰到与获取问答句的上下文中的两个弊端,更为合理方式的是获取一个固定维度的场景上下文向量,获取该场景上下文向量的方法与上述提到的获取问答上下文向量方法类似。

基于以上三种上下文获取的方法,将问答库训练为场景知识库:人机对话系统的主要知识存储在问答库中,原始的问答库只是简单的一问一答形式的文本。基于以上三种上下文获取的方法,对整个问答库进行整理为多个场景,获取每一个问答的词向量、句向量,以及每一个场景的场景上下文向量,构建问答场景知识库,方便系统事实的读取。

结合三种上下文表示,对于新的用户输入进行判断以生成应答:本发明需要把握的重点是三种上下文表示的重要意义,每一种上下文均包含了该类文本的重要上下文信息,在同一类中,越相似的上下文其向量在空间中表示的点的距离越相近。人机对话系统中存在两个场景库,一个是在整个聊天过程中逐步产生的对话场景库,它保存有当前正在对话的一些话题,类似于人脑的暂时记忆;另一个是问答库中固定的场景库,它用于在聊天场景库无法匹配合适场景时,从问答场景库中进行匹配,类似于人脑的长期记忆。这个过程类似于人脑的处理过程,当一个人说话时,人脑首先从暂时的记忆缓存区中提取内容,若提取不到,则再去从长期记忆中提取。当匹配到最佳场景时,系统抽取出该场景下的所有的问答上下文序列,结合当前问句上下文组成新的问答上下文序列以生成新的问答。对于生成问答的方式可以有多种,可以基于问答序列进行检索,还可以使用语言模型自动生成问答的方法。

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