今天介绍的论文是阿里IDST在2018年AAAI上发表的paper《A Multi-task Learning Approach for Improving Product Title Compression with User Search Log Data》。
其应用背景是,现在越来越多的用户开始习惯于使用手机、PAD等移动端进行网购行为,而这些移动端产品相比于传统的PC端来讲,其屏幕尺寸更小,对于同一个商品来说其相关信息的展示空间也会越小,特别是对于商品的标题信息来说,如何使用最少的词语(一般来说是10个词语以内)反应商品最本质的信息,从而尽最大可能的吸引用户的眼球成了移动端电商最值得考虑的问题。
目前来讲,淘宝上很多商品的标题都是由卖家自己根据经验描述填写的,虽然能够比较准确、全面地反应商品的信息,但是往往比较长(超过10个词),很难在一行之内全部展示出来,这类问题往往在移动端上会更加的显著,如何对商家填写的商品描述词进行合理地压缩成了本文解决的第一个问题;
同时由于这些描述词都是从商家的角度来看待商品,有时候和用户的看法角度并不是完全地一致,这样当用户填入搜索词进行搜索的时候,很可能最相关的商品因为标题描述词的原因并不能完美的显示出来,所以如何综合考虑淘宝所有用户使用的搜索词从而优化标题描述词汇成了本文解决的第二个问题。
为了能够合理地简化商品的标题描述语,并使简化后的描述词更能够合理地反应用户输入的搜索词信息,本文使用了一种基于encoder-decoder架构的multi-task权值共享网络。在真正介绍网络的具体结构之前,我先来介绍一下本文的dataset是如何构造的,因为这篇paper用到的数据集比较特殊,是一个三元组 < S , T , Q > <S,T,Q> <S,T,Q>,其中 S S S代表了原来商家输入的商品标题描述词汇; T T T代表了由专家针对 S S S优化后的,更精简的商品描述词汇; Q Q Q描述了具有最高购买转化率的用户搜索词汇(在本文中就是针对某一类商品,该搜索词对应的商品在一个月有10次成功的购买行为)。
下面就来介绍一下这篇paper的模型架构图,如下所示:
相当于把模型看成了两个encoder-decoder任务(这里的encoder和decoder用的都是LSTM),一个是
<
S
,
T
>
<S,T>
<S,T>,另一个是
<
S
,
Q
>
<S,Q>
<S,Q>,同时这两个任务共享encoder部分参数,并且使用了方式相似的attention机制,公式如下所示(由于encoder过程比较简单,这里只展示decoder过程):
P
(
y
n
∣
x
,
y
<
n
;
θ
)
=
g
(
y
n
−
1
,
s
n
,
c
n
,
θ
)
P(y_n | x,y_{<n};\theta)=g(y_{n-1},s_n,c_n,\theta)
P(yn∣x,y<n;θ)=g(yn−1,sn,cn,θ)
s
n
=
f
(
s
n
−
1
,
y
n
−
1
,
c
n
,
θ
)
s_n=f(s_{n-1},y_{n-1},c_n,\theta)
sn=f(sn−1,yn−1,cn,θ)
c
n
=
∑
m
=
1
M
A
(
θ
)
n
,
m
h
m
c_n=\sum_{m=1}^MA(\theta)_{n,m} h_m
cn=∑m=1MA(θ)n,mhm //M是S长度
A
(
θ
)
n
,
m
=
e
x
p
(
a
(
s
n
−
1
,
h
m
,
θ
)
)
∑
z
=
1
M
e
x
p
(
a
(
s
n
−
1
,
h
z
,
θ
)
)
A(\theta)_{n,m} = \frac{exp(a(s_{n-1},h_m,\theta))}{\sum_{z=1}^Mexp(a(s_{n-1}, h_z,\theta))}
A(θ)n,m=∑z=1Mexp(a(sn−1,hz,θ))exp(a(sn−1,hm,θ))
a
(
s
n
−
1
,
h
m
,
θ
)
=
v
T
t
a
n
h
(
W
1
s
n
−
1
+
W
2
h
m
)
a(s_{n-1},h_m,\theta)=v^Ttanh(W_1s_{n-1}+W_2h_m)
a(sn−1,hm,θ)=vTtanh(W1sn−1+W2hm)
由于在
<
S
,
T
>
<S,T>
<S,T>和
<
S
,
Q
>
<S,Q>
<S,Q>任务中都会在decoder部分生成attention权值分布,令
A
T
∈
R
N
∗
M
A^T \in R^{N*M}
AT∈RN∗M代表了
<
S
,
T
>
<S,T>
<S,T>过程中的attention权值矩阵,
A
T
∈
R
K
∗
M
A^T \in R^{K*M}
AT∈RK∗M代表了
<
S
,
Q
>
<S,Q>
<S,Q>过程中的attention权值矩阵,其中M是S的长度,N是T的长度,K是Q的长度。为了使这两个部分生成的权值分布具有一致性,因此这里又添加了一个条件限制
L
a
g
r
e
e
=
D
(
A
T
,
A
Q
)
L_{agree}=D(A^T,A^Q)
Lagree=D(AT,AQ),由于
A
T
A^T
AT和
A
Q
A^Q
AQ都是矩阵,那么首先就要通过max pooling操作把矩阵转化为向量公式如下:
a
T
=
m
a
x
j
=
1
N
A
j
T
a^T=max_{j=1}^N A_j^T
aT=maxj=1NAjT,
a
Q
=
m
a
x
j
=
1
k
A
j
Q
a^Q=max_{j=1}^k A_j^Q
aQ=maxj=1kAjQ
a
T
∈
R
M
a^T \in R^M
aT∈RM,
a
Q
∈
R
M
a^Q \in R^M
aQ∈RM
那么
L
a
g
r
e
e
=
K
L
(
a
T
∣
∣
a
Q
)
L_{agree}=KL(a^T || a^Q)
Lagree=KL(aT∣∣aQ)
最终整个模型的损失函数如下所示:
L
=
λ
1
L
T
+
λ
2
L
Q
+
(
1
−
λ
1
−
λ
2
)
L
a
g
r
e
e
L=\lambda_1 L_{T}+\lambda_2 L_{Q}+(1-\lambda_1-\lambda_2)L_{agree}
L=λ1LT+λ2LQ+(1−λ1−λ2)Lagree
最后该模型生成的简化商品的标题描述被真正应用到了淘宝的系统中,使用A/B test的方式验证了其在一周的广告预测中,确实显著地提高了CTR和CVR值,帮助平台增加了经济效益。