A Persona-Based Neural Conversation Model
这篇文章用来解决conversation model中的speaker consistency的问题。比方说,问chatbot“where does jone live?”& “where does sam live?”chatbot可能因为u.s.出现频率最高,而对所有这类问题的回答都是U.S. 而不去考虑人物的身份。
作者提出了两种模型,Speaker Model 和 Speaker-Addressee Model。
Speaker Model比较简单。
选取LSTM为Seq2Seq模型的基本单元,LSTM主要的公式如下:
[it ft ot lt]=⎡⎣⎢⎢⎢δδδtanh⎤⎦⎥⎥⎥W⋅[ht−1est]
[
i
t
f
t
o
t
l
t
]
=
[
δ
δ
δ
t
a
n
h
]
W
⋅
[
h
t
−
1
e
t
s
]
作者给增加了一个向量,可以看做是把
est
e
t
s
变成了
[est,vi]
[
e
t
s
,
v
i
]
,如下所示:
[it ft ot lt]=⎡⎣⎢⎢⎢δδδtanh⎤⎦⎥⎥⎥W⋅⎡⎣⎢ht−1estvi⎤⎦⎥
[
i
t
f
t
o
t
l
t
]
=
[
δ
δ
δ
t
a
n
h
]
W
⋅
[
h
t
−
1
e
t
s
v
i
]
其中,
vi
v
i
是user-level的representation,狭义上可当做是Speaker的向量,作者在Encoder的每一步都引入这样一个代表说话者身份的向量,来达到speaker consistency。
Speaker-Addressee Model
这个模型不单单考虑当前说话者的身份,考虑到了说话的双方的身份即Speaker和Addressee。
[it ft ot lt]=⎡⎣⎢⎢⎢δδδtanh⎤⎦⎥⎥⎥W⋅⎡⎣⎢ht−1estVi,j⎤⎦⎥
[
i
t
f
t
o
t
l
t
]
=
[
δ
δ
δ
t
a
n
h
]
W
⋅
[
h
t
−
1
e
t
s
V
i
,
j
]
其中
Vi,j=tanh(W1⋅vi+W2⋅v2)
V
i
,
j
=
t
a
n
h
(
W
1
⋅
v
i
+
W
2
⋅
v
2
)
vi,v2
v
i
,
v
2
代表说话的双方。
文章的Decoding and Reranking这一部分其实描述的就是作者另一篇文章中提到的MMI-bidi方法(我的另一篇博客写了作者这一篇文章的学习笔记)。
作者使用的数据集是
Twitter Persona Dataset
Twitter Sordoni Dataset
Television Series Transcripts
三个
实验部分,我不太感兴趣。就不写了。
本文完