基于GAN的个性化短标题生成在1688平台的实践应用

原文链接:https://developer.aliyun.com/article/770631

基于GAN的个性化短标题生成在1688平台的实践应用

        在电商情境下,卖家为了吸引买家兴趣,也为了提高商品被搜索引擎检索命中的概率,通常趋向于写过于冗长的商品标题。如何从过于冗长的标题中抽取关键信息作为短标题展示在手机端,同时结合不同用户的兴趣及用户特征,展示不同的短标题,是我们研究的核心。过去,1688导购场景中的短标题文案由卖家填写或仅通过简单的统计方法实现,基于此,我们运用算法的手段构建深度学习模型,并在1688平台的多个场景里尝试并落地了个性化短标题生成的技术,丰富了场景的营销内容,在场景中取得了不错的效果。</span>

一、背景介绍

我们团队从去年的工作中,积累了风格化文案生成算法的内容生成方案。之后,我们创新的提出使用Generative Adversarial Network的生成技术,结合用户特征进行个性化短标题的生成,同时提高稀疏数据集下模型的鲁棒性。目前成果已被DLP-KDD2020会议录用,论文题目是“Selling Products by Machine: a User-Sensitive Adversarial Training method for Short Title Generation in Mobile E-Commerce”。

过去的相关研究主要从商品的内容出发,而缺少对用户行为的挖掘,从而忽视了买家的需求。我们提出了“个性化指针生成对抗网络(PPGAN)”,生成用户感知的个性化短标题。此外,在数据集上,电商用户行为数据中用户的低点击率使得我们的数据集非常稀疏,本文模型引入一种无监督的信息理论策略,能够从用户未点击数据中识别出高质量的短标题训练模型。

e13780340421439e8d58cdf48b2a80d8.png

二、模型结构

55b4d9b383ac485b85968bf3286aa620.png

PPGAN模型网络整体包含三个模块,1.电商词嵌入,2.个性化短标题生成器G,3.两种不同的判别器D:真假判别器和CTR判别器。这三个模块共同组成我们的个性化短标题生成模型框架。

1.电商词嵌入

我们使用AliNLP的电商NER工具对商品标题和用户特征进行识别,提取“颜色”、“风格”、“品类”等实体类型特征。例如,在商品标题“包邮Nike品牌的红色运动裤”中,“包邮”标记为“市场服务”,“Nike”标记为“品牌”,“红色”标记为“颜色”,“运动裤”标记为“品类”。对于每个单词,我们将其单词向量和NER向量拼接,共同作为模型的词向量输入。

对于商品标题序列,每个单词被表示成:

023496e12070461f877deda341105795.png

对于用户特征序列,每个单词被表示成:

0405ae1ca74d42ac9c6986a0d4cee83a.png

通过加入单词的NER信息,模型更能够学习到每个单词的重要性,将重要的单词保留在短标题中。

2. 个性化短标题生成器

对于短标题生成器来说,输入信息为商品标题和用户特征,通过one-step Pointer Networks模型从原标题中抽取式的生成短标题,与传统的多步指针网络相比,一步指针网络在解码阶段一步解码,避免了多步解码的重复性抽取问题。

用户特征的构建:我们基于用户在平台的点击记录运用统计方法计算用户特征,具体来说,对于用户点击过的商品item_t,收集点击itemt之前点击过的10个商品数据,通过词频统计取TOP10的单词作为用户特征U=(u_1, u_2, ... , u_10)。

如图所示,在用户特征构建后,将用户特征向量序列输入GRU网络中,计算得到用户表征。

83ffa4dd0ad141a19904cadc6323d30f.png

为了融合用户和被点击的商品的特征,我们将用户表征与商品词向量进行拼接,再输入GRU编码器进行编码。

c05239f96caf4f6a8465cb964a91829e.png

c13c64a9f081428999a5987b8c43e92b.png

在解码部分,通过基于注意力机制的一步解码和softmax层,输出在原输入序列上的概率分布,取概率TopK的单词作为生成的短标题。

dcc5023f422b40dab8ae65a9f9c48f04.png

b53d7d0c6d394f39994ae135a3a89373.png

3. 判别器

判别器D是一个以生成器G的输出分布Pg和真实短标题分布Pr为输入的二元分类器,用来判别是商家手写真实短标题还是机器生成的伪短标题。我们将真实短标题的输入分布定义如下,其中T为原始长标题,S=(s_1, s_2, ... , s_m)为真实短标题,m是短标题的长度。

e93a5d39f8144fb4989ef5210abf0dd8.png

同时,为了让判别器不那么容易的判别出真伪短标题,我们给真伪短标题的分布加入服从高斯分布的噪音,使训练过程更加稳定。

bd2af0fcf434432fbaa56436ec6a3eee.png

将这两个标题分布与商品词向量点乘得到“短标题”的向量表示,在拼接用户特征后分别输入判别器D进行判别。
判别器D网络采用常用的卷积神经网络,包括真假判别器和CTR判别器两种。真假判别器用来使生成器生成的短标题更接近用户点击的真实短标题;此外,考虑到数据集的稀疏性,用户点击样本量相对于未点击样本量较少,因此我们希望引入CTR判别器,从大量的用户未点击样本中识别高质量的短标题训练模型。

4. 对抗训练损失与模型训练过程

生成器G尽力为目标用户生成接近真实的短标题分布,判别器D尽力最大化真伪短标题分布之间的距离,从而做出正确判别。算法流程如下图所示:

998d9f918e754f3cbe5645e6355ac88d.png

  • 首先使用大量长短标题pair对预训练生成器G,快速更新我们的生成器。由于没有足够的用户点击数据覆盖所用商品,我们在预训练阶段仅使用商品标题特征,而不考虑用户特征。我们使用L2损失函数作为预训练生成器G时的损失:

    1a8f76cec38947cea569da8350feedbb.png

  • 正式训练阶段1,输入数据为用户点击的商品数据[T+, U+, S+],生成器G和真假判别器D的损失函数如下:

    39234649d2374de79c82ae3eea6183af.png

    9b4eef3e422941bc8ed20fab9a47a9ea.png

  • 正式训练阶段2,输入数据为用户未点击的商品数据[T-, U-]。事实上,用户未点击的短标题并不仅仅由于短标题质量不好,也可能是用户对商品本身不感兴趣。因此,我们考虑通过对抗的方式识别出用户未点击但质量好的短标题。我们借鉴了现有的工作,最大化正负例之间的信息边界,在判别器损失中加入正负两个类别之间的加性条件熵M_D(x)。CTR判别器的损失函数如下:

    748af142d8264e2a865f236c5e6f16a9.png

    a080749b04fa49cf9130f888cc3cf9d0.png

三、实验结果与线上效果

1. 样本数据和训练

我们的训练样本来自1688平台商家手写的短标题以及现有短标题场景中用户的行为数据,可以将数据集表示成,其中O为商品原始长标题,S表示手写短标题,U为用户特征序列,L为用户对商品的标签(1表示点击,0表示未点击),样例如下图所示。我们的用户点击样本量为64万,用户未点击样本量为695万,因此数据集较为稀疏。此外,数据样本上,经过了一定的数据清理工作,因为本身训练样本数据的质量会严重影响最终生成短标题的质量,我们的处理主要包括脏语料的剔除、异常字符的过滤、原始标题长度限制等,同时利用AliNLP进行用户和商品特征的命名实体识别工作。

数据样例如下:

c4ae05ee62294fefb2b14359cd4a3f71.png

2. 个性化短标题生成样例

与对比方法相比,我们的模型PPGAN能够根据不同的用户特征,从原始长标题中抽取特定用户感兴趣的信息生成个性化的短标题。表中短标题的生成长度设定为5,根据不同的产品和场景需求,我们能够生成不同长度的个性化短标题,从而让生成的短标题更贴合业务需求。

PPGAN实验生成样例如下图所示:

48be636c155844d784ec28dbff491de9.png

3. 1688落地效果

目前个性化短标题已落地到1688平台的多个场景中,包括伙拼、天天特卖、厂货集采等。我们在榜单的“发现好货”进行AB测试,结果上实时个性化短标题比截断长标题点击率绝对值高出2.3个点左右,比统计短标题高出1.7个点左右。并且在2019年的920大促中,全量上线到大促会场中,承接住1100+QPS的调用量,为1688导购场景全面赋能,目前已沉淀为场景侧技术工具,供运营使用。

线上效果如下:

55c86be6b8374efdbd5600cc85d4a5e3.png

四、参考文献

[1] Martin Arjovsky, Soumith Chintala, and Leon Bottou. 2017. Wasserstein Generative Adversarial Networks. In ICML. 214–223.
[2] Oriol Vinyals, Meire Fortunato, and Navdeep Jaitly. 2015. Pointer networks. In NIPS. 2692–2700.
[3] Tao Zhang, Jin Zhang, Chengfu Huo, and Weijun Ren. 2019. Automatic Generation of Pattern-controlled Product Description in E-commerce. In WWW. 2355–2365.
[4] Jiatao Gu, Zhengdong Lu, Hang Li, and Victor O K Li. 2016. Incorporating copying mechanism in sequence-to-sequence learning. In ACL. 1631–1640.
[5] Yue Deng, Yilin Shen, and Hongxia Jin. 2017. Disguise Adversarial Networks for Click-through Rate Prediction. In IJCAI. 1589–1595.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 16. 最接近的三数之和(固定左端+滑动窗口)

1. 题目 给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数&#xff0c;使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。 例如&#xff0c;给定数组 nums [-1&#xff0c;2&#xff0c;1&#xff0c;-4], 和 …

领域应用 | 2020 年中国知识图谱行业分析报告

本文转载自公众号&#xff1a;艾瑞咨询。 核心摘要&#xff1a;人工智能本质是解决生产力升级的问题&#xff0c;人类生产力可以归类为知识生产力和劳动生产力&#xff0c;人工智能走入产业后&#xff0c;可以分为感知智能、认知智能和行为智能&#xff0c;后两者更与生产力相…

Category 特性在 iOS 组件化中的应用与管控

背景 iOS Category功能简介 Category 是 Objective-C 2.0之后添加的语言特性。 Category 就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下&#xff0c;动态地给这个类添加一些方法。在 Objective-C&#xff08;iOS 的开发语言&#xff0c;下文用 OC 代替&…

OpenAI亲谈:我们眼中的GPT-3、大规模语言模型的局限性与出路在哪

编译 | 陈彩娴、青暮编辑 | 陈大鑫近日&#xff0c;OpenAI政策研究主管Miles Brundage在推特上分享了一篇新论文&#xff0c;论文内容是对一个GPT-3研讨会的总结。2020年10月14日&#xff0c;来自OpenAI、斯坦福大学HAI研究所等机构的研究人员召集在一起&#xff0c;讨论围绕GP…

Android官方开发文档Training系列课程中文版:OpenGL绘图之响应触摸事件

原文地址&#xff1a;http://android.xsoftlab.net/training/graphics/opengl/touch.html 使图形按照程序设计的轨迹旋转对OpenGL来说还是不能发挥出它应有的实力。但要是能使用户可以直接控制图形的旋转&#xff0c;这才是OpenGL的真正目的。它真正的关键所在就是使程序可以交…

LeetCode 26. 删除排序数组中的重复项

1. 题目 给定一个排序数组&#xff0c;你需要在原地删除重复出现的元素&#xff0c;使得每个元素只出现一次&#xff0c;返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 来源&#xff1a;力扣&…

论文浅尝 | Data Intelligence - 多篇语义资源论文

本文转载自公众号&#xff1a;DI数据智能 。 编者按&#xff1a;Data Intelligence最新发表一组语义资源论文&#xff0c;包括世界著名语义网技术专家荷兰阿姆斯特丹自由大学计算机科学系Frank van Harmelen教授团队的Constructing and Cleaning Identity Graphs in the LOD C…

人物志 | 美团首席科学家夏华夏:不断突破边界的程序人生

“成长没有什么秘笈&#xff0c;就是坚持不断地一点点突破自己的边界就好。” 这是美团首席科学家、无人配送部总经理夏华夏在刚刚过去的“1024 程序员节”时送给技术同行的一句话。 这也是夏华夏自己的人生写照&#xff1a;从没摸过计算机的山东高考状元到清华计算机系的学霸&…

我的《Android官方开发文档Training系列课程中文版》的中期翻译计划

从2016年的3月份开始到现在&#xff0c;对于Android文档的翻译已经进行了两个月的时间。虽然数量还不及总篇数的一半&#xff0c;但是经过一番整理&#xff0c;发现翻译的文章还不少&#xff0c;目前为止已经有56篇了。这个过程也陆陆续续的坚持了下来。现在回头看刚开始翻译的…

论文浅尝 | 低资源文本风格迁移数据集

来源&#xff1a;AAAI2020论文链接&#xff1a;https://www.msra.cn/wp-content/uploads/2020/01/A-Dataset-for-Low-Resource-Stylized-Sequence-to-Sequence-Generation.pdf概述&#xff1a;低资源样式化的序列到序列&#xff08;S2S&#xff09;生成是高需求的。但由于数据集…

Android官方开发文档Training系列课程中文版:动画视图之转场框架介绍

原文地址&#xff1a;http://android.xsoftlab.net/training/transitions/index.html 引言 Activity所呈现的UI经常会由用户的输入或者其它事件而发生变化。比如&#xff0c;一个含有输入框的Activity&#xff0c;在用户输入要查找的关键字之后&#xff0c;这个输入框就会隐藏…

机器学习竞赛中,为什么GBDT往往比深度学习更有效?

在过去的几年里&#xff0c;大多数的推荐算法都是基于深度学习&#xff08;DL&#xff09;方法。遵循我们领域的一般研究实践&#xff0c;这些工作证明了新的DL方法在离线实验中优于其他不基于深度学习的模型。然而&#xff0c;在与推荐相关的机器学习竞赛中&#xff08;如与年…

2020年算法工程师技术路线图

原文链接&#xff1a;https://cloud.tencent.com/developer/article/1689082 重磅干货&#xff0c;第一时间送达作者丨字节知乎来源丨https://zhuanlan.zhihu.com/p/192633890极市导读算法工程师如何获得技术方面的成长&#xff1f;本文从工程基础、算法基础、算法工程交叉、工…

浅谈大型互联网企业入侵检测及防护策略

前言 如何知道自己所在的企业是否被入侵了&#xff1f;是没人来“黑”&#xff0c;还是因自身感知能力不足&#xff0c;暂时还无法发现&#xff1f;其实&#xff0c;入侵检测是每一个大型互联网企业都要面对的严峻挑战。价值越高的公司&#xff0c;面临入侵的威胁也越大&#x…

征稿 | Big Data Research 专刊(影响因子 2.95)

征稿截止&#xff1a;2020年06月15日近年来&#xff0c;学术界和工业界领域都相继构建和发布了越来越多的大规模知识图谱&#xff0c;如DBpedia、YAGO、Freebase、Wikidata、Google knowledge Graph、Microsoft Satori、Facebook Entity Graph等。事实上&#xff0c;来自不同领…

不要再问Python了!

很多小伙伴问如何学习Python&#xff0c;哪里可以找到实战的Python项目&#xff0c;有没有爬虫案例等等。今天给大家分享一份我整理的Python大全学习资料&#xff08;文末有获取方式&#xff09;。话不多说&#xff0c;直接上干货。首先&#xff0c;全部资料目录压缩简单看下里…

CAT 3.0 开源发布,支持多语言客户端及多项性能提升

项目背景 CAT&#xff08;Central Application Tracking&#xff09;&#xff0c;是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、…

论文浅尝 - TACL2020 | TYDI QA:Google 发表一个多语言的问答语料库

论文笔记整理&#xff1a;吴林娟&#xff0c;天津大学硕士。链接&#xff1a;https://arxiv.org/ftp/arxiv/papers/2003/2003.05002.pdf动机具有挑战性、值得信赖的评估数据可以促进多语言模型的发展&#xff0c;为了鼓励对多语言问答技术的研究&#xff0c;作者提出了数据集Ty…

读博总结的总结:读博的那些事儿

文 | 胡津铭知乎本文已获作者授权&#xff0c;禁止二次转载我时常给同学们推荐各种我看过的优质读博总结与建议文章&#xff0c;今天有了些空&#xff0c;整理一下我看过的优质文章。排名不分先后&#xff0c;想到啥写啥。先推荐英文的资源好了&#xff0c;因为我最推荐的一篇文…

LeetCode 55. 跳跃游戏(贪心)

1. 题目 给定一个非负整数数组&#xff0c;你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1:输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 示例…