9.17. 聊天机器人

9.17.1. NLP应用概览

NLP作为人工智能的核心技术,在机器翻译、聊天机器人、语音识别等领域都有重要的应用。

机器翻译的代表如科大讯飞的翻译机;聊天机器人例如微软小冰、Amazon Alexa;语音识别如各种智能音箱。

9.17.2. 聊天机器人系统框架

一个完整聊天机器人的系统架构主要由唤醒、语言识别、自然语言理解、对话管理、自然语言生成、语音合成等6个部分组成。更多详细见8

../_images/chatbot_flowchart.png

Fig. 9.17.1 聊天机器人的流程闭环7

  • 唤醒wakeup,匹配到唤醒词后进入工作状态。

  • 自动语音识别automatic speech recognition,ASR,负责将原始的语音信号转换成文本信息。

  • 自然语言理解natural language understanding,NLU,负责将识别到的文本信息转换为机器可以理解的语义表示。

  • 对话管理dialogue management,DM,负责基于当前对话的状态判断系统应该采取怎样的动作。 包括对话状态跟踪(Dialog StateTracking, DST)、对话策略(Dialogue Policy)、作为接口与后端/任务模型进行交互、提供语义表达的期望值(expections for interpretation)。 对话状态跟踪(Dialog StateTracking, DST) :根据对话历史,维护当前对话状态,对话状态是对整个对话历史的累积语义表示,一般就是槽值对(slot-value pairs)。 对话策略(Dialogue Policy):根据当前对话状态输出下一步系统动作。6

  1. 有适用于简单应用场景的穷举的方式,类似数据库查表的方式;

  2. 有适用于面向特定任务的对话系统的基于框架的方法;

  3. 有基于强化学习的方式,不断的更新决策策略以最大化reward;

  4. 有基于浅层神经网络和强化学习结合的方法。

  • 自然语言生成natural language generation,NLG,负责将系统动作/系统回复转变成自然语言文本。

  • 语音合成text-to-speech,TTS,负责将自然语言文本转变成语音信号输出给用户。

9.17.3. ASR 10

“输入——编码——解码——输出”

9.17.3.1. 语音输入的预处理模块

对输入的原始语音信号进行处理,滤除掉其中的不重要信息以及背景噪声,并进行语音信号的端点检测(也就是找出语音信号的始末)、语音分帧(可以近似理解为,一段语音就像是一段视频,由许多帧的有序画面构成,可以将语音信号切割为单个的“画面”进行分析)等处理。

9.17.3.2. 特征提取

在去除语音信号中对于语音识别无用的冗余信息后,保留能够反映语音本质特征的信息进行处理,并用一定的形式表示出来。也就是提取出反映语音信号特征的关键特征参数形成特征矢量序列,以便用于后续处理。

9.17.3.3. 声学模型训练

声学模型可以理解为是对声音的建模,能够把语音输入转换成声学表示的输出,准确的说,是给出语音属于某个声学符号的概率。根据训练语音库的特征参数训练出声学模型参数。在识别时可以将待识别的语音的特征参数与声学模型进行匹配,得到识别结果。目前的主流语音识别系统多采用隐马尔可夫模型HMM进行声学模型建模。

9.17.3.4. 语言模型训练

语言模型是用来计算一个句子出现概率的模型,简单地说,就是计算一个句子在语法上是否正确的概率。因为句子的构造往往是规律的,前面出现的词经常预示了后方可能出现的词语。它主要用于决定哪个词序列的可能性更大,或者在出现了几个词的时候预测下一个即将出现的词语。它定义了哪些词能跟在上一个已经识别的词的后面(匹配是一个顺序的处理过程),这样就可以为匹配过程排除一些不可能的单词。

语言建模能够有效的结合汉语语法和语义的知识,描述词之间的内在关系,从而提高识别率,减少搜索范围。对训练文本数据库进行语法、语义分析,经过基于统计模型训练得到语言模型。

9.17.3.5. 语音解码和搜索算法

解码器是指语音技术中的识别过程。针对输入的语音信号,根据己经训练好的HMM声学模型、语言模型及字典建立一个识别网络,根据搜索算法在该网络中寻找最佳的一条路径,这个路径就是能够以最大概率输出该语音信号的词串,这样就确定这个语音样本所包含的文字了。所以,解码操作即指搜索算法,即在解码端通过搜索技术寻找最优词串的方法。

连续语音识别中的搜索,就是寻找一个词模型序列以描述输入语音信号,从而得到词解码序列。搜索所依据的是对公式中的声学模型打分和语言模型打分。在实际使用中,往往要依据经验给语言模型加上一个高权重,并设置一个长词惩罚分数。

9.17.4. 形态

  • 硬件形态:智能音箱8如amazon echo(2014年11月全球第一款)、公子小白、。

  • 软件形态:Apple Siri、微软小冰、微软cortana、IBM watson、Google Now。

  • 平台:谷歌、微软等公司对外提供聊天机器人框架bot framework,以sdk或saas服务的方式像第三方公司或个人开发者提供可以用于构建特定应用和领域的聊天机器人。代表:amazon Alexa(服务amazon lex)、微软luis with bot(认知服务cognitive services)、谷歌api.ai、Facebook wit.ai。

9.17.5. 类别

两类:

9.17.5.1. 闲聊机器人

  1. 基于seq2seq模型的对话系统:根据前一句来生成后一句的回复,对话的回答局限性大,缺少对整个对话的评估,且容易陷入死循环。

  2. 基于DRL的对话系统:利用强化学习对当前生成的各种回复评估,选择reward值最高的句子。评估方式根据应用场景不同,可以设计不同的评估函数。

  3. GAN和RL结合的对话系统:生成器生成对话,判别器评估每种结果的reward,其中各种可能的结果是采用MCTS或者策略梯度的方式。seqGAN3,Neural-Dialogue-Generation5

9.17.5.2. 面向任务的聊天机器人

  1. 基于DQN的对话系统:DM模块采用DQN模型可能结果的reward值。

任务型对话系统以智能为核心的评价体系:http://www.zgcsa.org/uploads/file/20201105192719_469.pdf

任务型对话系统概述9

9.17.6. 项目

基于金融-司法领域(兼有闲聊性质)的聊天机器人:https://github.com/charlesXu86/Chatbot_CN

Accompany AI Chat13

9.17.7. 核心竞争力?

2017年9月底了,对话机器人(各种个人助理、问答系统和智能客服等)领域的情况与16年年底相比,已经有了显著的变化。

与16年业界普遍的基于规则的自然语言解析系统相比,目前AI领域第一二梯队的公司基本都已经拥有了较为成熟且可商业化的基于深度学习的自然语言解析系统。就公司而言,对自然语言解析技术的研究已经到了边际效用递减的程度,可做的虽然还很多,比如更深层次的句法/语义分析、与知识图谱的结合等,但解析技术已经不再构成对话机器人产品的核心竞争力。12

9.17.8. 困境

亚马逊的Alexa还没有找到能让用户玩上20分钟的应用。14

9.17.9. 更多

认真的聊一聊对话系统(任务型、检索式、生成式对话论文与工具串讲) - 夕小瑶的文章 - 知乎 https://zhuanlan.zhihu.com/p/83825070

聊天对话类的Ai未来的产品发展方向是什么? - 知乎 https://www.zhihu.com/question/484027134