论文导读:TOWARDS END-TO-END SPOKEN LANGUAGE UNDERSTANDING

这篇文章是来自大神Yoshua Benjio的,值得一读,研究对象是只基于语音spoken,而非文字的自然语言理解,链接在这。

0. Abstract

大概说了一下什么是NLU, 然后说他们的end-to-end的学习系统可以很好的分类spoken language。

1. Introduction

SLU(Spoken Language Understanding) 近年来发展好,各大厂商都需要,其主要分为三个任务:Domain classification,Intent Detection(以下简称ID), Slot Filling(以下简称SF)。这个ID和SF都是NLU中常见的任务,Intent就是基于句子级别的检测,Slot是基于token级别的检测。

语音如何转成文字? ASR(Automatic Speech Recognition) 会被用来将语音转成文字。这种流水线式的作业很受欢迎,但缺点是流水线pipeline的每一个环节都基于不同的策略单独优化,比如ASR模块主要用来减少WER(word error rate), 他会给每一个次相等地分配权重,但事实上不是每一个次都是有意义的(像the, a这些就没意思),并且每个词对于ID和SF任务的贡献是不同的。 另一方面NLU是在没有ASR的clean text上训练的,而在evaluation的过程中他要把ASR生成的recognized hypothesis作为输入,ASR中的error,特别是在噪音环境下,会对SLU模型产生不良影响。第二个担忧是人工的ID并不是一字一字进行的,人类会直接一整句话瞬间理解。所以才需要训练一个end-to-end的系统。

然后说end-to-end learning在很多领域都有用到,该论文则通过直接使用log-Mel filterbank feature 从而最大化single turn的intent classification 准确度,本文贡献: 1)他们展示了利用语音特征训练language understanding model的可能性,2)他们展示了evaluate ASR output时模型的表现降级。

另外他们在有噪音污染的data上也做了实验

2. Standard ASR and NLU models

给定一个关于feature的向量序列 X = ( x 1 , x 2 , . . . x T ) X=(x_1, x_2, ...x_T) X=(x1,x2,...xT), 然后ASR讲通过以下的链式法则,会被训练用来找到最有可能的word序列 W ∗ = ( w 1 , . . . w n ) W^* = (w_1,...w_n) W=(w1,...wn)
在这里插入图片描述
所以ASR通常被分为两部分,acoustic model (AM) p ( X ∣ W ) p(X|W) p(XW)和language model (LM) p(W)。
CD-HMM-LSTM通常被用来当AM,其中feature 向量序列会被转成依赖内容的且关于HMM状态的likelihood向量, LM通常是一个statistical 的n-gram模型,然后dict字典和维特比解码会被用来寻找最有可能的word序列,

在这里插入图片描述
Fig2 是标准ASR架构,其中AM是一个多层LSTM, 他会在每一个frame里预测CD-HMM状态的概率。 由于大部分SLU模型要求同时响应,所以一般情况只用到单向的LSTM,而不是双向(但后文意思是他们用了)。他们会用到基于LSTM的句子分类器,其中输入的词会首先和密度表示(dense representation)相嵌,然后LSTM网络用来解码这个序列。

他们发现2层的双向LSTM在encode编码时表现更好,

在这里插入图片描述
Fig 3展示了一个标准NLU模型怎么对domain/intent进行预测的。

NLU相对于ASR而言遭受更小的latency(这里猜测是一些潜在的因素影响),分类只有等到整个序列生成后才会执行。所以用双向的RNN来完成NLU是可能的。

在pipielined 方法中,NLU,ASR都是独立训练的,其中NLU是用人类的语言文本训练,而在evaluation的时候,ASR的输出会被放到NLU模块中。

3. End-to-End Spoken Language Understanding

关于end-to-end的口头语言理解的第一步,两个任务需要被关注,一是speech-to-domain,二是domain-to-intent, 这两个都是序列分类问题,其中输入是 log-Mel filterbank feature 向量。

end-to-end任务和speech recognition很像,区别是end-to-end的输出结构更简单,但是转换更复杂,并且data是有噪音的,而且是non-unimodal的(相似的的句子可能有截然不同的意图intent)。因为这些原因,本文模型收到speech recognition启发,他们用到了encoder-decoder架构,其中作为输入的log-Mel filterbank feature 向量是由多层的bi-GRU(Gated Recurrent Unit)生成的, 一个使用log-Mel filterbank feature 向量的潜在原因是他每10ms产生一次,很适合分类像CD-HMM状态这样的unit,但是在句子级别GRU就不适合了。所以为了减少GRU生成的序列长度,将沿时域对隐藏的激活(hidden activation)进行二次采样(subsample),使得可以在给定的句子中按音节(syllable) 级别提取representation。另一方面,这会大幅度减少训练和预测的时间,使得可以实时地使用GRU进行intent和/或domian 的分类。

给定encoder的输出,MAXpooling 层会被用来将维度压缩到一个固定的维度,随后是一个全连接层前馈层,最后softmax被用来计算intent和domain的后验概率(posterior probability)

4. Experiments

数据集是一些室内VR语音指令,320小时的data,来自1000个玩家,有一部分数据是根据读脚本生成的(照着写好的读),另一部分数据就是随便说的,而不是照着读。每一个句子都有domain label和intent label,最后选取了5个domain和35个独立的intent类别,大概11000个句子,也就是10个小时的数据被用来当evaluation set。

架构方面,encoder是4层bi-GRU,每层带有256个unit ,输出是用strid步长值为2进行了二次采样,从而减少表示的长度,decoder层把encoder的输出和maxpooling放到一起,然后放到1层的前馈网络中(hidden
size 1024),用来生成domain和intent的class,用adam optimizer直到validation set收敛,对每一个前馈层链接都是用batch normalization来加速收敛。

Baseline=RNN (不带sub-sampling的), 输入是one-hot向量,使用了可训练的word embedding。

会用到transcripted text和recognized text来评估。前者可以体现模型的上限,相对应于完美的speech recognition, 而后者(recognized text)是被一个speech recognizer抄录的。

AM(Acoustic model)的核心部分是4层CD-HMM-LSTM, 每层800个memory cell, 用到了交叉熵, 在同一个320h训练集上训练,用来预测6133个clustered 内容相关的状态。

vocab size是80000, LM也是在320h的数据上训练,然后interpolated(内插?) 到另一个在其他训练集上训练的LM上,LM中大概有200万个n-grams。

他们ASR在evaluation set上达到了3.5%的Word error rate。

为了公平,没有任何外部数据被使用。

他们也模拟了真实世界的情况,也就是输入是有噪音的,训练和测试集都被加了recorded
room impulse responses (RIRs) ,具体怎么加的噪音不赘述,加了噪音之后,ASR的word error rate达到了28.6%

5. Results and Discussions

前面提到的5个domians分别是音乐,天气,新闻,运动,(opt-in&opt-out),
在这里插入图片描述
Table1 是domain recognition的结果。

在这里插入图片描述
加了噪音之后的结果见Table2.

最后一些讨论: end-to-end方法好像没有特别明显更好的表现,但他提供了一个研究方向。 用更少的参数,准确度可以下降10%,未来的一个研究方向是把slot filling加入到预测框架中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值