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

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

一、背景介绍

我们团队从去年的工作中,积累了风格化文案生成算法的内容生成方案。之后,我们创新的提出使用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.

386ecdcbf98a403db932936d3adcd472.png

延伸阅读《阿里巴巴B2B电商算法实战》 点我购买
推荐语:本书是阿里巴巴CBU技术部(1688.com)深耕B2B电商15年的经验总结。阿里巴巴B2B在战略形态上经历了信息平台、交易平台和营销平台的升级迭代,本书聚焦营销平台商业形态背后的算法和技术能力,试图从技术和商业互为驱动的视角阐述技术如何赋能业务,并结合阿里巴巴集团在基础设域和算法创新上的沉淀,打造出智能B2B商业操作系统。
目录
相关文章
|
11月前
|
存储 人工智能 自然语言处理
AI经营|多Agent择优生成商品标题
商品标题中关键词的好坏是商品能否被主搜检索到的关键因素,使用大模型自动优化标题成为【AI经营】中的核心能力之一,本文讲述大模型如何帮助商家优化商品素材,提升商品竞争力。
1222 62
AI经营|多Agent择优生成商品标题
|
6月前
|
XML JSON API
深入研究:1688 商品详情 API 详解
1688商品详情API助力电商数据分析与决策!通过该接口,开发者可基于商品ID快速获取1688平台上商品的标题、价格、规格、图片等多维信息。企业能优化商品策略,提升竞争力。使用前需注册开发者账号、创建应用并申请权限,调用时传入必要参数(如app_key和商品ID),返回JSON/XML格式数据,涵盖商品基本信息、描述、图片及商家资料等内容。
|
7月前
|
数据采集 数据可视化 机器人
FastGPT 社区版快速部署指南
FastGPT 是一款基于大语言模型的智能知识库系统,具备开箱即用、可视化编排和多场景适配(客服机器人、知识检索等)的核心能力。通过阿里云计算巢,用户可在 2-3 分钟内完成快速部署,实现复杂问答逻辑设计与高效数据处理。
|
机器学习/深度学习 自然语言处理 搜索推荐
承上启下:基于全域漏斗分析的主搜深度统一粗排
两阶段排序(粗排-精排)一开始是因系统性能问题提出的排序框架,因此长期以来粗排的定位一直是精排的退化版本,业内的粗排的优化方向也是持续逼近精排。我们提出以全域成交的hitrate为目标的全新指标,重新审视了召回、粗排和精排的关系,指出了全新的优化方向
94142 3
|
机器学习/深度学习 自然语言处理 算法
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
[大语言模型-工程实践] 手把手教你-基于BERT模型提取商品标题关键词及优化改进
|
11月前
|
JSON 缓存 API
1688 商品详情数据接口(1688.item_get)
1688商品详情数据接口(1688.item_get)由阿里巴巴提供,旨在帮助开发者获取1688网站上的商品详细信息。开发者需先注册并创建应用获取API凭证,随后申请调用权限。接口通过必填与可选参数组合使用,如app_key、timestamp、fields等,以JSON格式返回商品详情,包括ID、名称、价格、库存等信息。
|
数据可视化 数据挖掘 定位技术
Python+Kepler.gl轻松制作时间轮播地图
Python+Kepler.gl轻松制作时间轮播地图
171 1
|
机器学习/深度学习 编解码 物联网
Adobe新研究0.11秒从草图生成图像
Adobe Research和卡内基梅隆大学的研究团队开发了一项新技术,能在0.11秒内将创意草图转化为高质图像,突破了传统图像合成技术的速度和数据需求限制。采用单步图像翻译方法,结合对抗性学习,适应性调整网络以快速适应新控制信号。实验显示, CycleGAN-Turbo和pix2pix-Turbo模型在图像转换任务中表现优越,但仍有控制强度、负提示和高分辨率合成的局限。
236 2
Adobe新研究0.11秒从草图生成图像
|
自然语言处理 PyTorch 算法框架/工具
Transformers 4.37 中文文档(十八)(4)
Transformers 4.37 中文文档(十八)
244 0
|
存储 C++ Python
LabVIEW使用Python MathWorks® MATLAB®软件和C/C++
LabVIEW使用Python MathWorks® MATLAB®软件和C/C++
231 0