阅读笔记-基于用户搜索日志的商品标题压缩


原文链接

数据集

  • S:淘宝女装所有商品标题,剔除标题长度小于10的,因为大多标题都小于10.

  • T:达人平台改写后的标题

  • Q:搜索query的选择:过去一个月内,有10次成交的商品的query

模型

第一个任务:生成输出

输入句子长度为 M M M,输出句子长度为 N N N,损失函数如下:
m a t h argmax ⁡ y ∈ Y s ( x , y ) = argmax ⁡ m i ∈ [ 1 , M ] s ( x , x [ m 1 , ⋯   , m N ] ) math \underset{y \in \mathcal{Y}}{\operatorname{argmax}} s(x, y)=\underset{m_{i} \in[1, M]}{\operatorname{argmax}} s\left(x, x_{\left[m_{1}, \cdots, m_{N}\right]}\right) mathyYargmaxs(x,y)=mi[1,M]argmaxs(x,x[m1,,mN])
其中, s ( x , y ) s(x,y) s(x,y)表示的是一次标题压缩的得分, s ( x , y ) = l o g ( y ∣ x ; θ ) s(x,y)=log(y|x;\theta) s(x,y)=log(yx;θ).所以目标函数可以被重新写成
m a t h log ⁡ p ( y ∣ x ; θ ) = ∑ n = 1 N log ⁡ P ( y n ∣ x , y < n ; θ ) math \log p(y | x ; \theta)=\sum_{n=1}^{N} \log P\left(y_{n} | x, y_{<n} ; \theta\right) mathlogp(yx;θ)=n=1NlogP(ynx,y<n;θ)
即给定输入x,输出N个词,的概率最大、$\theta就是模型学习得到的参数。

考虑到RNN及LSTM的不足,引入了attention机制。与原来的注意力机制不同的是,这里我们不在将整个输入句子编码到固定长度的向量,而是在解码的每一次generation时,对部分输入做attention。所以上式被改写为:

m a t h P ( y n ∣ x , y < n ; θ ) = g ( y n − 1 , s n , c n , θ ) math P\left(y_{n} | x, y_{<n} ; \theta\right)=g\left(y_{n-1}, s_{n}, c_{n}, \theta\right) mathP(ynx,y<n;θ)=g(yn1,sn,cn,θ)
其中$g(·)$是一个非线性函数。$s_{n}$是第n个目标输出词的隐状态值,用下式来进行计算
m a t h s n = f ( s n − 1 , y n − 1 , c n , θ ) math s_{n}=f\left(s_{n-1}, y_{n-1}, c_{n}, \theta\right) mathsn=f(sn1,yn1,cn,θ)
其中 c n c_{n} cn c o n t e x t context context向量,计算方式如下
m a t h c n = ∑ m = 1 M A ( θ ) n , m h m math c_{n}=\sum_{m=1}^{M} A(\theta)_{n, m} h_{m} mathcn=m=1MA(θ)n,mhm

其中 A ( θ ) A(\theta) A(θ)就是attention矩阵, A ( θ ) n , m A(\theta)_{n,m} A(θ)n,m表示的是输入句子的第 m m m个词,对输出句子第 n n n个词的贡献度,计算方式如下

A ( θ ) n , m = exp ⁡ ( a ( s n − 1 , h m , θ ) ) ∑ m ′ = 1 M exp ⁡ ( a ( s n − 1 , h m ′ , θ ) ) A(\theta)_{n, m}=\frac{\exp \left(a\left(s_{n-1}, h_{m}, \theta\right)\right)}{\sum_{m^{\prime}=1}^{M} \exp \left(a\left(s_{n-1}, h_{m^{\prime}}, \theta\right)\right)} A(θ)n,m=m=1Mexp(a(sn1,hm,θ))exp(a(sn1,hm,θ))

针对一个元素 a n m a^{m}_{n} anm,就是
m a t h a n m = v T tanh ⁡ ( W 1 s n − 1 + W 2 h m ) math a_{n}^{m}=v^{T} \tanh \left(W_{1} s_{n-1}+W_{2} h_{m}\right) mathanm=vTtanh(W1sn1+W2hm)
其中 v v v W 1 W_{1} W1 W 2 W_{2} W2都是模型学到的参数。

Point network模型

传统的seq2seq模型不能用于标题压缩任务,因为输出是从输入中选出来的词组成的。使用Pointer Network的话,不会隐状态 h m h_{m} hm混淆进去,而直接使用 a n m a^{m}_{n} anm作为输入的pointer

第二个任务是生成搜索query

可以看做是一个NMT的过程,将商家的语言映射到用户搜索的语音。
原始标题和用户搜索,对构建注意力矩阵很重要。

将两个任务合并

agreement-based learning。两个网络

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值