论文and代码 阅读笔记

1.<<Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling>
----------------------------------------------------------------------

本文介绍基于Attention-Based RNN和 Encoder-decoder 模型的意图识别(intent detection)与槽填充(slot filling),常应用在对话系统的NLU(Nature Language Understand)模块,本文模型特点是将意图识别和槽填充组合在一个模型中来同时实现。所谓意图识别可以看做分类问题,来理解一句话所讲的内容是属于哪个类别,槽填充可以看做序列标注问题,他要求是精确对齐的(alignment is explicit)。列如,对一句话 'what's the lowest round trip fare from dallas to atlanta',他的意图是在讲'airfare'(如果意图分类有:airfare,flight),对应的槽填充结果是:'O O B-cost_relative B-round_trip I-round_trip O O B-fromloc.city_name O B-toloc.city_name',其中'O'表示槽.论文中的例子如下:

1.Encoder-Decoder Model with Aligned Inputs

使用Encoder-Decoder加Attention模型联合意图识别和槽填充两个任务,在Encoder一方,使用双向LSTM模型,

Decoder采用单向LSTM模型。文中讨论了如下三种模式,

当做intent分类是,只将Encoder的最后一个state喂给分类器!

(a)不使用对齐输入(with no aligned inputs )

就是指每个状态的Decoder的输入只有

(b)使用对齐输入(with aligned inputs)

(c)使用对齐输入(aligned inputs)和Attention模型

 输入序列是X(x1,x2,x3,x4),在某个解码时刻i,此刻解码状态是Si,通过Encoder得到隐层对齐向量Hi(h1,h2,h3,h4),求得此时刻Attention模型的语境向量(context vector)Ci,上一时刻产生的标签是Yi-1,则有Si = f(Si-1,Yi-1,Hi,Ci)。这里Context Vector的计算是讲隐层状态Hi做为一个前向神经网络的输入,然后将神经网络的输出送入到Softmax函数求出离散概率值,在跟Hi相乘得到Ci。公式如下,函数g()就是一个前向神经网络。

    


2.Attention-Based RNN模型

这是文中提出的直接使用双向LSTM模型+Attention模型的方案,如下图:

当采用Attention模型时:

我们直接使用隐层状态H来做意图分类。

当不采用Attention模型时:

我们在隐层状态上加一层mean-pooling,然后再加逻辑回归来做意图分类。

相比较上文提到的Encoder-Decoder Model with Aligned Inputs方法,Attention-Based RNN方法具有更高效的特点,因为在训练过程中,方法一需要读输入两次,二方法二只需要读一次。















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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值