今天介绍的论文是阿里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>,其中SSS代表了原来商家输入的商品标题描述词汇;TTT代表了由专家针对SSS优化后的,更精简的商品描述词汇;QQQ描述了具有最高购买转化率的用户搜索词汇(在本文中就是针对某一类商品,该搜索词对应的商品在一个月有10次成功的购买行为)。

下面就来介绍一下这篇paper的模型架构图,如下所示:

相当于把模型看成了两个encoder-decoder任务(这里的encoder和decoder用的都是LSTM),一个是<S,T><S,T><S,T>,另一个是<S,Q><S,Q><S,Q>,同时这两个任务共享encoder部分参数,并且使用了方式相似的attention机制,公式如下所示(由于encoder过程比较简单,这里只展示decoder过程):
P(yn∣x,y<n;θ)=g(yn−1,sn,cn,θ)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​,θ)
sn=f(sn−1,yn−1,cn,θ)s_n=f(s_{n-1},y_{n-1},c_n,\theta)sn​=f(sn−1​,yn−1​,cn​,θ)
cn=∑m=1MA(θ)n,mhmc_n=\sum_{m=1}^MA(\theta)_{n,m} h_mcn​=∑m=1M​A(θ)n,m​hm​ //M是S长度
A(θ)n,m=exp(a(sn−1,hm,θ))∑z=1Mexp(a(sn−1,hz,θ))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=1M​exp(a(sn−1​,hz​,θ))exp(a(sn−1​,hm​,θ))​
a(sn−1,hm,θ)=vTtanh(W1sn−1+W2hm)a(s_{n-1},h_m,\theta)=v^Ttanh(W_1s_{n-1}+W_2h_m)a(sn−1​,hm​,θ)=vTtanh(W1​sn−1​+W2​hm​)

由于在<S,T><S,T><S,T>和<S,Q><S,Q><S,Q>任务中都会在decoder部分生成attention权值分布,令AT∈RN∗MA^T \in R^{N*M}AT∈RN∗M代表了<S,T><S,T><S,T>过程中的attention权值矩阵,AT∈RK∗MA^T \in R^{K*M}AT∈RK∗M代表了<S,Q><S,Q><S,Q>过程中的attention权值矩阵,其中M是S的长度,N是T的长度,K是Q的长度。为了使这两个部分生成的权值分布具有一致性,因此这里又添加了一个条件限制Lagree=D(AT,AQ)L_{agree}=D(A^T,A^Q)Lagree​=D(AT,AQ),由于ATA^TAT和AQA^QAQ都是矩阵,那么首先就要通过max pooling操作把矩阵转化为向量公式如下:
aT=maxj=1NAjTa^T=max_{j=1}^N A_j^TaT=maxj=1N​AjT​,aQ=maxj=1kAjQa^Q=max_{j=1}^k A_j^QaQ=maxj=1k​AjQ​
aT∈RMa^T \in R^MaT∈RM,aQ∈RMa^Q \in R^MaQ∈RM
那么Lagree=KL(aT∣∣aQ)L_{agree}=KL(a^T || a^Q)Lagree​=KL(aT∣∣aQ)

最终整个模型的损失函数如下所示:
L=λ1LT+λ2LQ+(1−λ1−λ2)LagreeL=\lambda_1 L_{T}+\lambda_2 L_{Q}+(1-\lambda_1-\lambda_2)L_{agree}L=λ1​LT​+λ2​LQ​+(1−λ1​−λ2​)Lagree​

最后该模型生成的简化商品的标题描述被真正应用到了淘宝的系统中,使用A/B test的方式验证了其在一周的广告预测中,确实显著地提高了CTR和CVR值,帮助平台增加了经济效益。

利用用户搜索词生成商品标题信息——阿里巴巴IDST相关推荐

  1. 京东搜索页爬虫商品店铺信息

    京东搜索页爬虫商品店铺信息 1.写好整个爬虫框架 2.用requests库获取网页源代码 3.正则表达式获取需要的相关信息 4.把获取的信息写入excel中并保存到电脑 完整代码 工作需要需获取京东商 ...

  2. 搜索引擎对用户搜索词如何处理,怎么判断用户搜索词的结果?

    搜索引擎接收到用户输入的搜索词后,需要对搜索词做一些处理,才能进入排名过程. 搜索词处理包括以下几方面: (1)中文分词.与页面索引时一样,搜索词也必须进行中文分词,将查询字符串转换为以词为基础的关键 ...

  3. python通过关键字搜索淘宝商品详细信息

    # coding=utf-8 import urllib.request import re from urllib.request import urlopen, urlretrieve#打开网页, ...

  4. 搜索引擎——用户搜索意图的理解及其难点解析,本质是利用机器学习用户的意图分类...

    用户搜索意图的理解及其难点解析 搜索引擎涉及的技术非常的繁复,既有工程架构方面的,又有算法策略方面的.综合来讲,一个搜索引擎的技术构建主要包含三大部分: 对 query 的理解 对内容(文档)的理解 ...

  5. 优优聚电商:商品标题优化的注意事项

    标题是很多人头疼的问题,尤其是优化技巧和不能碰的禁忌方面.很多人不知道.所以,下面就带领大家了解一下这些禁忌是什么.以及它制作商品标题的方式,如果这个弱势商家可以借鉴的话. 如何做好商品标题? 1.不 ...

  6. 【Python例】利用 python 进行用户画像词云图的生成 --- wordcloud

    [Python例]利用 python 进行用户画像词云图的生成 - wordcloud 本文主要用于记录,并使用 python 脚本进行用户画像的词云图的生成. 前言 对于词云图来说,是一个用户画像数 ...

  7. php识别名片,用户信息名片怎么利用PHP实现自动生成

    用户信息名片怎么利用PHP实现自动生成 发布时间:2020-12-10 14:29:56 来源:亿速云 阅读:70 作者:Leah 本篇文章为大家展示了用户信息名片怎么利用PHP实现自动生成,内容简明 ...

  8. NLP自然语言处理实例——实现机器自动生成商品的推荐标题和推荐语

    NLP自然语言处理实例--实现机器自动生成商品的推荐标题和推荐语 一.案例目的及实现 二.环境配置 1.安装库时遇到的问题 三.数据预处理 1.移除特殊符号 2.去除停用词 3.文本分词jiaba 四 ...

  9. 搜索2.0:利用用户点击记录改善搜索结果

    /*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/ 搜索2.0:利用用户点击记录改善搜索结果 Author:张俊林 timestamp:2007年7月 现在是WEB2.0时代了 ...

最新文章

  1. 人脸识别引擎SeetaFaceEngine中Detection模块使用的测试代码
  2. 堆,栈,内存泄露,内存溢出介绍
  3. ajax 在新选卡打开,JavaScript在新窗口中打开,而不是选项卡
  4. The whole Fiori application is wrapped in a big shell xml view
  5. Python验证码简单实现(数字和大写字母组成的4位验证码)
  6. 函数setState是React的未来
  7. html5 canvas移动位置,HTML5 Canvas 移动
  8. angularjs-控制form及radio,checkbox,select
  9. Python中单引号,双引号,三个单引号,外双单引号内双引号,外双引号内单引号的区别...
  10. leetcode 【 Sort Colors 】python 实现
  11. jQuery事件委派与移除
  12. element tree不刷新视图_安卓从入门到进阶第五章(视图查看)
  13. SG3525芯片简介
  14. bzoj1597: [Usaco2008 Mar]土地购买
  15. 思维方式-《成功与运气》书中的精髓:成功到底是靠天赋、努力,还是运气?
  16. C#ObjectArx Cad添加图层
  17. layui 表单模板
  18. EOS源码分析(5)账号
  19. 不看OCJP考题你永远不知道自己的JAVA基础有多差(一)
  20. 人工智能Java SDK:中文翻译为英文

热门文章

  1. [福利]终结者5:创世纪(韩版中字)高清720P下载地址
  2. 大厂架构经验之谈:支付系统高可用架构设计实战,可用性高达99.999!
  3. 福禄克FLUKE DSX2-8000CH 与DSX2-5000CH 铜缆检测参数:回波损耗
  4. 综合模拟试题计算机指南,2018年全国硕士研究生入学统一考试计算机科学与技术学科联考计算机学科专业基础综合历年真题及模拟试题详解...
  5. R语言绘图——Graphics包
  6. SUTD OJ 数据结构实验之查找二:平衡二叉树
  7. 【雕爷学编程】Arduino动手做(70)---土壤湿度传感器
  8. Blender中实现一个Mobius环
  9. 使用 Hangouts Chat 以异步消息形式发送提醒和通知…
  10. 屏幕色彩与分辨率区别,PPI的概念,IPS屏与TFT屏