本文研究的是对话系统中的SLU任务,论文重点关注于对话中不同出现时间的上下文信息,即考虑对话时间的影响,同时增加了说话者的身份特征。NAACL2019
Introduction
在对话的场景下去考虑SLU任务,上下文信息的重要性是变化的,以图1为例,当识别"We have Sungei Buloh which is on the Northwest of Singapore."
这句话时,最重要的历史信息应该是"What are the places that I can have some memorable experiences there?"
,而非前一句"Right"
。因此,手工设定的time-delay function是无法表达出这种复杂性。
目前大部分研究time-aware的SLU模型使用人工设定的单一time-delay function或者多个线性组合,这类手动设定的函数不够灵活。本文提出了一种可以自动学习time-delay tendency的方法,同时还引入了当前说话者的身份信息。
Proposed Model
Decay-Function-Free Time-Aware Attention
作者使用一个距离矩阵描述当前utterance与所有历史utterance之间的相关性,记为$D\in R^{dim \times|D|}$,其中第t个历史utterance对应的距离向量为$d_{t}$,这个矩阵是随模型训练而自动更新的。得到距离向量后,作者使用注意力机制计算$t_{th}$历史utterance的重要性:
$$
\alpha_{t}=w_{a t t}^{T} \sigma\left(h_{T}+d_{t}+b_{a t t}\right)
$$
其中$b_{att}$是可训练的偏差参数。得到注意力分数后,有两种加权求和的变体:
- role-level:只考虑所有相同说话者的历史utterances
- sentence-level:同时考虑所有说话者的历史utterances
Decay-Function-Free Content-and-Time-Aware Attention
在上个模型的基础上,同时考虑时间和上下文内容的影响:
$$
\beta_{t}=w_{a t t}^{T} \sigma\left(h_{T}+u_{t}+b_{a t t}\right)
$$
然后已相同的方式加权求和:
- role-level:只考虑所有相同说话者的历史utterances
- sentence-level:同时考虑所有说话者的历史utterances
最终,将time-aware和content-aware的信息拼接起来:
$$
s^{h i s t}=s_{\text {time}}^{\text {hist}} \oplus s_{\text {cont}}^{\text {hist}}
$$
Speaker Indicator
Speaker Indicator是一个可训练参数$s^{cur}\in R^{dim}$,用来表征说话者的身份,因此,Eq1和Eq7分别变为:
$$
\alpha_{t}=w_{a t t}^{T} \sigma\left(h_{T}+d_{t}+s^{c u r}+b_{a t t}\right)\\
\beta_{t}=w_{a t t}^{T} \sigma\left(h_{T}+u_{t}+s^{c u r}+b_{a t t}\right)
$$
Prediction
作者使用另一个BiLSTM进行预测,t时刻的输入为:
$$
v_{t}=w_{t} \oplus s^{h i s t}
$$
Experiments
Conclusion
本文研究的是对话系统中的SLU任务,论文重点关注于对话中不同出现时间的上下文信息,即考虑不同位置的历史utterance的影响,提出了decay-function-free time-aware attention models;同时增加了说话者的身份特征。