乐趣区

关于机器人:想了解任务型对话机器人我们先从自然语言理解聊起

摘要: 本文中次要介绍对话零碎中的自然语言了解模块(NLU),NLU 是对话零碎中十分重要的一个模块,次要包含用意辨认和槽位填充。

一、引言

随着挪动互联网和智能终端的疾速倒退,工作型对话机器人的利用越来越宽泛。任何一款成熟的对话机器人产品都离不开工作型对话零碎。目前,对于工作型对话零碎工业界支流的做法都是采纳一套较为固定的 pipline 形式实现。具体的流程图如下:

整个 pipline 由三大模块组成:自然语言了解(NLU);对话治理(DM);自然语言生成(NLG)。当初越来越多的产品还融入了知识库,次要是在对话治理模块引入。在这里自然语言了解、对话治理、自然语言生成都属于自然语言解决技术。在语音会话时,会在输出和输入端加上语音辨认(ASR)和语音合成(TTS)。自然语言了解(NLU):次要作用是对用户输出的句子或者语音辨认的后果进行解决,提取用户的对话用意以及用户所传递的信息。

对话治理(DM): 对话治理分为两个子模块,对话状态追踪(DST)和对话策略学习(DPL),其次要作用是依据 NLU 的后果来更新零碎的状态,并生成相应的零碎动作。

自然语言生成(NLG): 将 DM 输入的零碎动作文本化,用文本的模式将零碎的动作表达出来。

以上每个模块在学术界都对应着一个钻研畛域,本文中次要介绍对话零碎中的自然语言了解模块(NLU),NLU 是对话零碎中十分重要的一个模块,次要包含用意辨认和槽位填充。上面将介绍用意辨认和槽位填充的概念以及近几年用于用意辨认和槽位填充的支流办法。

二、用意辨认和槽位填充概念

(1)用意辨认

用意辨认,顾名思义就是判断用户要做什么,比方一个用户向机器人问了一个问题,于是机器人就须要判断这个用户他问的是天气、是游览还是问某部电影的信息呢?说到底用意辨认就是一个文本分类的问题。既然对应文本分类,那么首先就须要将明确有哪几类用意,也就是说咱们须要事后定义好用意的类别而后能力思考用意辨认的问题。那么如何定义用意类别呢,它不像情感分类工作那样,不论什么场景,都能划分成踊跃、消极和中立情感三分类;咱们讲用意分类是须要将其置于特定的场景中来思考的,不同利用场景就有不同的用意分类。比方在美团 APP 上,它把用户的搜寻用意分为订外卖、订酒店、订游览门票、订电影票、订机票等类别。

(2)槽位填充

了解一段文字的一种办法是标记出对句子有意义的词或记号。在自然语言解决畛域,这个问题被称为语义槽填充问题。

在对话零碎中,槽填充过程个别指从用户一句话中抽取出要害信息,将用户隐式的用意转化为显式的指令从而让计算机了解。语义槽个别用来示意用户的需要,如出发地、达到地、登程工夫等信息,作为用意辨认的关键字,是进行下一步对话的提示信息。

在对话零碎中,填槽的意义有两个,一个是作为条件分支进行多轮对话,还有一个是作为信息补全更明确的表白出用户的用意。换言之,填槽不仅是补全用户用意的形式,而且前序槽位的填写还会起到领导后续信息补全走向的作用。

三、用意辨认和槽位填充办法

对于用意辨认和槽值填充既能够作为两个独自的工作解决,也能够联结解决。因为两个工作之间的存在较大的相关性(用意和槽值之间有相关性),因而联结建模的成果个别会更好。接下来咱们将介绍一些相干的论文办法。

论文 1:A Joint Model of Intent Determination and Slot Filling for Spoken Language Understanding

(1)概述

该文章为针对 SLU(Spoken Language Understanding) 的用意 - 槽填充联结模型,文章的杰出之处在于提供了一个同时在文本分类和文本标记两个 nlp 根本工作中都获得卓越问题的基于 RNNs 的联结模型。循环神经网络(RNNs),在文本分类工作中被证实可获得较好的后果。因为用意辨认和槽填充有相当的分割,所以论文作者提出一个适宜于两种工作的联结模型。

在文中,作者采纳了 RNNs 的改进版门控循环神经网络(GRU),GRU 具备随着时序学习每个词(token)的表征的个性,通过这个个性能够预测每个插槽,同时,一个 max-pooling 层能够捕获句子的全局特色从而实现用意辨认。GRU 捕捉到的每个 token 的特色和 max-pooling 层捕获的句子全局特色是被两个工作所共享的,譬如,如果一句话的用意是找到一个航班,那么他更有可能有登程以及目标城市,反之亦然。试验证实了联结模型比离开的每个模型成果都要更好一些。文章选用了 United loss function 作为策略,试验后果证实了该篇论文在两个工作中都获得了 state-of-the-art 的后果。

(2)模型构造

(3)定义损失

(4)模型后果

试验后果展现如下,第二列是每个办法应用的特色,其中,W,N 和 S 别离代表单词、命名实体和语义特色,在 CQUD 数据集中,W 代表每一个中文字特色示意。能够看到 CRF 的后果比 SVM 好,表明 CRF 更加适宜序列标注工作。另外,RNN 战胜了 CRF,因为 RNN 能够捕获长依赖关系。而 R -CRF 模型联合了 RNN 和 CRF 模型的长处,能够模仿标签转移和失去整个序列的全局的长处。对于填槽工作来说,sentence simplification 是最好的方法,它应用了依存剖析来提取句中关键词。RecNN 应用 dl 提取的语义信息,然而他的成果比 sentence simplification 更差,作者认为可能的起因是语料的规模不够大。总的来说,论文在 ID 和 SF 畛域别离晋升了 1.59% 和 1.24% 的准确率。

联结模型和离开的模型的比照:

论文 2:Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling

(1)概述

这篇文章次要介绍了应用 Attention-Based RNN 模型辨认用意和槽填充(slot filling)。用意辨认通常应用分类的办法将句子分为相应的用意品种。槽填充则能够看做是序列标注问题,即对于给定的句子中的每个词别离打上相应的标签。例如句子“first/class/fares/from/boston/to/denver.”, 每个词对应的标签为”B-class_type/I-class_type/O/O/B-fromloc/B-toloc”。槽填充既能够用 RNN 模型也能够用 encoder-dedoder 模型解决。即源输出是句子序列,指标输入则是标注序列,同时用意辨认也能够用 encoder-dedoder 模型解决。即源输出是句子序列,指标输入则是用意品种。然而对与槽填充来说,句子与相应的标签是一 一对应的,也就是说有“explicit alignment”。作者提出了两种模型,一种是将“alignment information”退出到 encoder-dedoder 模型中,另一种就是将“alignment information”和”attention“退出到 RNN 模型中来解决槽填充和用意辨认问题。

(2)联结模型

联结用意辨认和槽位填充的基于注意力的 RNN 模型如下图所示:

在用于序列标记的双向 RNN 中,每个工夫步的暗藏状态都携带整个序列的信息,然而信息可能会随着向前和向后流传而逐步失落。因而,在进行时槽位预测时,咱们不仅心愿在每个步骤中仅应用对齐的暗藏状态,还心愿查看是否应用上下文向量为咱们提供了任何其余反对信息,尤其是那些须要长期依赖的信息未被暗藏状态齐全捕捉。

在模型中,双向 RNN(BiRNN)沿正向和反向读取源序列。文章中 RNN 采纳了长短时记忆网络(LSTM)。插槽标签依赖关系在前向 RNN 中建模。相似于上述编码器 - 解码器体系结构中的编码器模块,每个步骤的暗藏状态是前向状态和后向状态的串联。每个暗藏状态都蕴含整个输出单词序列的信息,并重点关注单词四周的局部。而后将此暗藏状态与上下文向量组合以产生标签散布,其中上下文向量计算为 RNN 暗藏状态的加权平均值。

对于用意辨认和槽填充的联结建模,文中采纳双向 RNN 的暗藏状态来生成用意类散布。不退出注意力机制时,先对暗藏状态向量最大池化,而后输出到逻辑回归中来进行用意分类。退出注意力机制时,则获得暗藏状态向量加权平均值。

值得注意的是,与利用显式对齐输出的基于注意力的编码器 / 解码器模型相比,基于注意力的 RNN 模型具备更高的计算效率。在模型训练期间,编码器 - 解码器插槽填充模型两次读取输出序列,而基于注意力的 RNN 模型只读取一次输出序列。

(3)试验后果

表 1 显示了提出模型的槽填充 F1 分数。表 2 将槽填充模型性能与先前报告的后果进行了比拟。

表 3 显示了文章提出的用意模型和先前办法之间的用意分类错误率。

表 4 显示了与先前报告的后果相比,在用意检测和槽填充方面的联结训练模型性能。

进一步验证联结训练模型的性能,文章将提出的模型利用于其余 ATIS 数据集,并通过 10 倍穿插验证对它们进行评估。编码器 - 解码器和基于注意力的 RNN 办法均获得了可喜的后果。

【参考】

[1] Zhang X, Wang H. A joint model of intent determination and slot filling for spoken language understanding[C]//IJCAI. 2016, 16: 2993-2999.

[2] Liu, B., & Lane, I. (2016). Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling. Interspeech.

[3] https://www.jianshu.com/p/cec…

[4] https://zhuanlan.zhihu.com/p/…

本文分享自华为云社区《工作型对话机器人之自然语言了解(一)》,原文作者:小蜜蜂~。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版