如何搭建一个智能对话机器人?

注:该文章来源——《智能对话机器人开发实战》

本篇文章会系统性的介绍智能对话机器人的构成组件,通过本篇文章的阅读,可以让你对智能对话机器人的体系结构有初步认识,了解智能对话机器人回答问题的工作原理。

概述

 

首先我们来看智能对话机器人体系结构的构成,从与机器交互的完整流程角度来给大家做一个系统性的概述。

 

 

当人通过声音信号把自己表达的内容以声音的方式来传递给机器的时候,机器人接收声音的过程涉及到了语音识别技术。

 

这个语音识别在这个里面其实是一个综合体,它既包括语音采集,也包括把声音信号转成文字信号。

 

其次,当我们把声音信号转换成文本信号后,要做的一件事情就是语义理解,因为你要让机器理解你,那么首先要让机器知道你说的是什么内容。机器在理解你说内容的过程中,依赖于中文分词、词性标注、实体意图识别、语义分析。那这部分内容就涉及到了语义理解技术。

 

在机器理解人所说的内容后,会把对应的内容交给对话管理平台来进行处理。那么对话管理平台涉及到的内容是什么呢?包括对话状态的跟踪同时也包括对话的策略模型。

 

对话状态跟踪负责两件事情,第一是负责对对话状态进行跟踪,第二是对“对话活动”进行决策。当完成了对话状态跟踪和对话活动的决策后,会生成对应的答案。那么这种答案往往很多时候有两种情况,一种情况是多答案的情况,另外一个是对多处理模式的选择。

 

当我在表达一句话的时候,如果机器在备选答案里面找到了多个回答,即出现了第一种情况,多答案情况。这个时候就会涉及到决策模型,这个决策模型就是智能对话的策略模块。这个时候策略模块包括通用决策模型和领域决策模型。

 

通用决策模型可以理解为适合所有领域的决策分析模块,领域模型对应特定领域,比如教育、医疗,房产。这一部分是对话管理的组件。

 

以上是可以在备选答案里面找到答案的情况,那么当机器人在备选答案里找不到答案时,会如何处理呢?

 

这里涉及到两个问题,第一个是优先级,第二个是补位。

 

优先级指的是当机器对用户话术进行语义理解之后,如果找到答案的过程存在多种方案,应考虑优先选取的策略是什么。另外一个是当在预置的语料库中找不到答案时,可选的补位的方式是什么。在这里,通常意义上来讲会选择知识图谱,搜索引擎和百科类问答等平台作为补位的一种方式。

 

在对话管理的过程中,寻找到了对应的内容,接下来要涉及到话术合成问题,这个时候对应的是语音合成,指的是我们需要把对应的内容重新合成为声音信号,反馈给最初发出指令的人。

 

所以系统性的来讲,整个智能对话机器人的体系结构包括智能语音部分、语义理解、对话管理和辅助语料库这四大部分内容。

 

智能语音部分

 

针对智能语音部分,主要包括两部分内容,语音识别以及语音合成。

 

 

在这里,语音识别负责的一个职责就是把声音信号翻译成文字。“把声音信号翻译成文字”既是语音识别的定义,同时也是语音识别的职能。语音识别往往会涉及到孤立词识别、连续词语识别、大词表连续语音识别。语音合成往往会涉及到的内容包括语言处理、声学处理、韵律处理以及情感处理。

 

在语音合成中,我们目前遇到的比较明显的问题是语音合成很难达到真正拟人化的一个水平,机器发出的声音比较机械化,让人听起来很奇怪。机器发出声音较为机械化,主要问题在于对情感、语速、韵律的控制较难。

 

自然语言处理部分

 

自然语言处理部分, 涵盖两大块内容,一部分是语义理解,另一部分是语言生成。

 

语义理解涉及到的内容包括中文分词、序列标注、实体识别、意图识别等内容。正是基于以上内容,我们才可以把人的一句话翻译成机器可以理解的一部分内容。

 

针对语言生成,这部分面临的主要问题是预定义的模板的建设,包括提前准备好的问答语料库、知识图谱。拿知识图谱来说,它的构建需要非常强大的资本和人力的支撑,才能够构建起一个完整的知识图谱体系。到现在为止还没有一套这样的知识图谱体系。再有是针对问答语料库,也需要很大的人力资源才能做成。

 

通常意义上,大家都在讲的深度学习,包括seq2seq这种生成模式的模型,它产生的效果其实一直都不怎么理想,所以在解决语言生成方面遇到的问题时,预定义的一对一模板是第一选择,提前构建好语料库是第二选择,基于知识图谱的问答体系是第三选择,基于深度学习的生成模式,是最后一种选择。

 

以上是智能对话机器人中与自然语言处理相关的组件问题。

 

对话管理

 

对话管理包括两部分内容,一是对话状态模型构建过程,另一个是对话策略模型构建过程。

 

对话状态模型可分为三类:

 

 

第一类是对话表示模型,是指上一句话和下一句话之间,以及连续的多句话之间如何通过数学模型进行表达出来;

 

第二类是对话推理模型,是指基于对话的输入,如何最终生成对话输出的模型;

 

第三类是对话学习模型,重点在于如何提升对话的能力和水平。

 

 

关于对话的策略模型,它涉及到通用对话策略以及特定领域的对话策略,包含以下两部分内容,第一部分内容是用户输入话术及语料库选择的策略;第二部分是当对话产生多个答案时,选择优选答案的策略。这是对话的策略模型。

 

语料库资源

 

通常意义上讲,当我们讲智能对话机器人的时候,它所涉及到的语料库资源包括预制模板,针对一个完整的问句,会有完整的与之呼应的答案,这个称为预制模板,这部分应用到客服系统中,比如说查询电话号码。

 

另外一个就是问答语料,就是聊天式机器人AIML会有预制问题和对应答案。这是问答语料库。

  

 

再有一部分是涉及到知识图谱,这个里面涉及到的内容包括用户输入一句话,通过解析里面的实体与实体对象,然后通过推理的模式在知识图谱里面去寻找与之匹配符的内容。

 

然后第四个语料库资源就在于生成模型,通常意义上来讲seq2seq这种生成方式,当然这个方式依赖于大量的语料库,而语料资源的匮乏会导致训练模型本身存在很大质量问题,效果很差。

 

在以上四种情况下,如果能够产生问题答案,就会让机器来回答问题。但是,当我们没有办法基于以上四种场景找到具体答案时,我们可以选择使用百科问答以及搜索引擎,这个对应的就是一个补位策略。

 

以上是智能对话机器人的一个简要体系结构介绍,如果同学们想要更加细致地了解智能对话机器人的相关内容,可以点击进入云智学院官网,进行学习。

注:该文章来源——《智能对话机器人开发实战》

共4条回复 最后由dn5599666 回复于2020-01-15 12:08