Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

丹丰、荐轩、含骁、画帆、三桐、永叔作者

商品标题这么长长长长长,阿里工程师如何解决?

阿里妹导读:商品标题是卖家和买家在电商平台沟通的重要媒介。在淘宝这样的电商app中,用户与推荐、搜索等系统的交互时所接受到的信息,主要由商品标题、图片、价格、销量以及店铺名等信息组成。这些信息直接影响着用户的点击决策。而其中,算法能够主动影响的集中在标题与图片上。本文所述工作,关注于商品标题生成,更具体地来讲,是商品的短标题的生成。

背景

图1. 猜你喜欢推荐结果展示图以及商品详情页截图(目前猜你喜欢同时存在一行以及两行标题情况)。商品原始标题往往过长(平均长度30字左右),在结果页中无法完整显示,只能点击进入商品详情页才能看到商品完整标题。

当前淘系商品(C2C)标题主要由商家撰写,而商家为了SEO,往往会在标题中堆砌大量冗余词汇,甚至许多与商品并不直接相关的词汇,以提高被搜索召回的概率,以及吸引用户点击。这引起两方面的问题:

  1. 这些标题往往过长,以往pc时代这并不是一个严重问题。但现在已经全面进入移动互联网时代,手淘用户也几乎都是移动端用户,这些冗长的商品标题由于屏幕尺寸限制,往往显示不全,只能截断处理,严重影响用户体验。如图1所示,在推荐的展示页中,标题往往显示不全,影响体验。用户若想获取完整标题,还需进一步点击进入商品详情页。

  2. 另一方面,这些原始长标题是为了搜索做的SEO,对于推荐的match阶段,其实并无帮助。甚至,其中许多无关冗余词汇还会起到噪声作用,并且也会对用户的浏览决策起到干扰作用。

因此,使用尽可能短的文本体现商品的核心属性,引起用户的点击和浏览兴趣,提高转化率,是值得深入研究的问题。

问题形式化

商品短标题的生成或者压缩,可以看作一种特殊的文本摘要任务。类似于Alexander Rush等人提出的sentence summarization任务[1,2]。但相比普通的sentence summarization任务,作为特定电商领域且跟用户消费密切相关的一个任务,商品短标题的生成具有一些更显式且严格的限制。此工作中,我们主要将其抽象为两点:

  1. 不能引入无关信息。商品的短标题尽量保留原始标题中的用词,避免引入其他信息。一方面这是因为原始标题中的词语往往都是卖家为了点击率等考虑精挑细选的,已经足够优秀;另一方面,引入其他信息虽然能够带来更多的变化,但也增加了犯错的可能。如为Nike的鞋子标题生成了Adidas关键字,这类事实性的错误在wiki style类的文本摘要中经常发生,已引起研究人员的重视[3],但在新闻之类的摘要中,人们往往还能忍受。对于电商平台来说,这类错误是不能容忍的。

  2. 需要保留商品的关键信息(如,品牌,品类词)。商品的短标题如果丢失了品牌或者品类词,一方面对用户来说非常费解,影响体验;另一方面也容易引起卖家的不满投诉。

这两个约束,在普通的句子摘要任务中,同样也成立,但他们并没有电商领域中如此严格。

针对这些问题,我们基于Pointer Netowrk [4],提出Multi-Source Pointer Network (MS-Pointer)来显式建模这两个约束,生成商品短标题。

首先,对于约束1,我们使用Pointer Network框架将商品短标题摘要建模成一个extractive summarization(抽取式摘要)问题(Pointer Network是一种特殊的Seq2Seq模型结构,具体下一小节介绍)。对于约束2,我们尝试在原有的标题encoder之外,引入关于商品背景知识信息的另一个encoder (knowledge encoder),这个encoder编码了关于商品的品牌以及品类词信息,其作用一方面在于告诉模型商品的品牌和品类词信息,另一方面在于pointer mechanism可以直接从这个encoder中提取商品的品牌等信息。

最终,MS-Pointer可以使用data-driven的方式学习从这多个encoder中提取相应的信息来生成商品的短标题,比如从knowledge encoder中选择品牌信息,而从title encoder中选择丰富的描述信息。

这里需要说明两个问题。

  1. 对于抽取式摘要,基于删除的方法(Deletion Based)一样可以使用。比如Filippova等人[5]便基于seq2seq提出了在decode端输出原始title每个词保留与否的label,这是一个特殊的seq2seq模型,与普通的seq2seq模型decoder输入是summarization不同,这个模型的decoder的输入还是原始标题,输出并不是生成词,而是输入词保留与否二分类的label。然而,为了让摘要结果更加通顺易读,摘要中经常存在word reordering现象[6],Deletion Based方法并不能很好地处理这问题。在我们收集的训练数据中,就发现有超过50%的数据有word reordering现象。

  2. 另一个问题在于title中品牌、品类词信息的处理使用。显然,我们可以引入NER模型,构建一个end2end的模型,从title中自动识别商品的品牌和品类词等信息,来完成这个任务。但是,首先NER模块本身就尤其精度限制,会有错误累积问题,且需要额外的entity标注数据。另外,许多标题中存在多个品牌,多个品类词,这种情况下,正确识别错商品自身的品牌和品类词信息,对NER模块来说是个更大的挑战。而商品的品牌和品类信息,可以轻易地从数据库中商品meta信息中获取,直接给模型输入这些背景知识,显然是更加简单直接的选择。

模型

Pointer Network

Pointer Network框架图

与普通的seq2seq从一个预先定义好的vocabulary中选择词语生成摘要不同,pointer network使用attention机制,从encoder中选择词语来生成摘要。如图2所示,在decode的每一步t,使用decoder的隐状态dtdt去attention encoder的隐状态[h1,…,hi,…,hn][h1,…,hi,…,hn],然而以此attention的权重作为分布,去选择对应位置上的词来生成摘要。

相比传统的seq2seq,Pointer Network能够更好地处理NLP中常遇到的OOV问题。这是因为它能够动态地从输入中选择单词,而不是从一个预定义好的vocabulary中选择,这使得它可以生成vocabulary中没有的单词。这对于商品短标题生成是一个非常好的特性,因为商品标题中存在大量的型号类的词语,都可能未出现在训练语料中。当然最重要的是,Pointer Network提供了一种extractive地摘要生成建模思路。短标题中所有的单词都是从输入的原始标题中获取的,这样可以大大降低普通seq2seq的abstractive摘要那样出错的概率。但是Pointer Network并没有机制保障decoder保留原标题中的品牌与品类信息,而这对电商平台而言是至关重要的。

Multi-Sources Pointer Network

使用两个encoder的Multi-Sources Pointer Network框架图

最显著的区别在于,MS-Pointer可以从多个encoders中选择单词。在decode的每一步t,首先计算一个soft gating weight λ,这个概率权衡着decoder从两个encoder中选择单词的概率。最终生成单词的概率为两个encoder上的attention分布的加权和。这里为了简单处理,使用了sigmoid函数,根据decoder当前输入、状态以及encoder的状态来计算选择不同encoder的概率。更一般地,可以使用softmax函数来建模大于两个encoder的情况。这里λ所起的作用类似于一个分类器,如根据当前状态,去选择是否从background knowledge encoder中选择品牌信息。

最终,模型的loss可定义为为:

实验效果

数据集构造

对于本文的模型,我们除了常见的训练seq2seq模型需要的输入输出seq pair 样本,还需要商品的品牌、品类背景知识信息。对于品牌等信息,可以容易地从odps数据库中获取。对于商品原始标题与短标题对,我们从手淘有好货栏目中收集了这样的数据。有好货是手淘首页一个推荐场景,其中包含了大量达人生产的优质内容数据。这其中,就包含了商品的短标题。如下图所示,有好货中推荐结果的展示页面包含了达人所写的商品短标题。

但是这些短标题并不适合所有都拿来训练模型。其中一部分标题类似于创意文案,已经与商品本书关联较弱,属于噪声数据需要去掉;另一部分虽然也是商品短标题,但是由达人重新延伸重写了,这可以认为是abstractive的短标题,也需要去除,原因见上文说明,因我们的模型是一个extractive模型;还有一些虽然是extractive的短标题,但是存在品牌缺失类的情况,也需要清除。所以,最终我们严格使用extractive,短标题长度(10个字,推荐页一行能显示的长度),以及必须保留品牌信息,来过滤了有好货的训练数据。在第一期论文研究阶段,共收集了超过40w训练数据,统计信息见下表:

后期,我们扩充了数据源,包括有好货以及从其他信息源手机的数据,最终构成了一个超过500万样本的训练语料。

数据处理

在此工作中,我们尽量减少了对于数据的预处理操作:

  • 大部分标点符号均做了保留。许多品牌,型号等信息包含标点,如Coca-Cola, J.crew.

  • 凡是出现在品牌等关键信息中的数字,都保留。这是因为许多品牌、型号中会带有数据,如 7 for all mankind, 360,PS4等。数字在NLP中是比较难处理的一类问题,首先数字是无穷的,难以学习可靠的表示,且生成时候很容易会生成一个新的错误的数字出来。因此凡是每次短标题中出现过的数字,都被过滤掉了。当然还有很多50ml、100%这样的处理细节,这里不做过细描述(前面的两个case,在此工作中不做切分,作为一个整体处理)。

  • 不分词,按字处理。seq2seq很多时候性能已经足够强,可以学出如何组合出合适的词语,这样也可以规避分词错误引起的问题。另外,词的长度不定,也难以控制生成的短标题长度。

数据按照80%,10%,10%,以类目层次地随机划分为训练集、验证集以及测试集。

Baseline & 模型设置

这个工作中,简单起见,我们使用了基于LSTM的encoder和decoder,模型以及优化超参数设置如下:

baseline包括:

  • Truncation (Trunc.) 阿里、Amazon.com以及eBay等网站线上所使用的方案,直接截断,保留前n个词。

  • TextRank [7] 一种类似于pagerank的关键词提取算法,可以用于生成摘要。

  • Seq2Seq-Del [5] 如上文介绍,基于seq2seq的deletion based的抽取式摘要算法。

  • LSTM-Del 与Seq2Seq-Del的不同在于直接在encoder的输出预测单词保留与否。

  • Pointer network (Ptr-Net) [4] 见模型部分介绍。

  • Ptr-Concat 将background knowledge与title拼接后,使用Ptr-Net。

  • Vanilla sequence-to-sequence (Seq2Seq-Gen) 传统的seq2seq普通,abstractive的方法。

  • Pointer-Generator(Ptr-Gen) Ptr-Net与Seq2Seq-Gen的结合。

评价标准

跟大多数文本生成任务一样,文本摘要评测一直是一个困难的任务,常见评测方法包括人工评测和自动评测。对于自动评测方法,我们使用了BLUE、ROUGE和METEOR三个指标。我们使用nlg-eval包计算 BLEU [8]和METEOR [10];pythonrouge计算ROUGE F1 [9]。此外,我们也人工评测了模型生成的短标题的质量。

自动评测

可以发现直接截断和TextRank的结果最差,因为这两个方法都没有考虑标题中单词的语义信息。同时,基于seq2seq框架的模型均取得了很高的得分,这说明seq2seq这个框架强大的拟合能力,在这个简单任务上优异性能。相比abstractive模型,extractive模型在各项指标上表现的更加优异。相比Ptr-Net和Ptr-Concat,MS-Pointer在各项指标上均有明显提升。

品牌保留实验

如前文所述,对于电商领域的商品短标题生成,品牌、品类词这类关键信息的保留是一个至关重要的指标。但由于品类词是一个比较笼统的概念,很多时候类似于类目,他在商品的标题中未必原封不动地出现,所以难以自动地评价。所幸,我们可以很容易地自动化测试模型是否完整地保留下了商品的品牌信息。错误率结果如下表:

容易看出MS-Pointer显著优于其他模型,在测试集上的错误率降低到了接近千分之一。这里online数据集指的是从线上随机采样的140166个商品标题。值得说明的是在线上的online数据集中存在大量训练语料中没有出现过的品牌,当输入标题中存在多个oov单词时,模型难以从这些相同的oov embedding中选择出正确的词。针对这个问题,我们尝试在这些oov赋以不同的embedding加以区分,在此情况下online数据集上的错误率可以降低到0.56%.

人工评测

此外,我们随机采样了300条短标题进行了人工评测,主要考虑了四个维度, 核心产品词识别准确率Accuracy(0/1),品类词完整性Comm. (0/1),可读性 Readability(1~5)以及信息完整性 Info.(1~5),结果如下:

人工评测结果同样说明了MS-Pointer方法相对其他方法的优势,并且可以发现与人工写的短标题得分非常相近。

线上实验

除了前文的离线实验,我们同样进行了线上实验对比。两个分桶的差异只有结果展示标题不同:一个分桶是线上原油方案截断的两行标题;另一个是模型产生的8~10个字的短标题。因此展示标题的不同,直接影响用户点击与否,因此这里选用CTR作为实验指标。试验持续了一周时间,结果如下图:

这里统计的是分桶内部,pv>20以上商品的平均CTR。可以发现,使用生成的短标题可以明显提升。更进一步地分析发现,不同类目下商品的CTR变化非常不一样。如电子产品类商品的CTR提升甚至可以达到10%;而女性用户更加关注的类目如女装、化妆品类目CTR提升则较小。这是因为女性用户在浏览这些类目的推荐结果时,对于修饰形容词汇(如衣服的款式、材质,化妆品的功效等)会比较关注,而10个字以内的短标题毕竟有损,往往难以包含所有这些信息。而电子产品这些类目,往往品牌型号加上品类词就已足够包含所有信息,过多的冗余信息反而带来干扰。这也说明个性化的短标题生成以及如何引入CTR指标,是一个值得探索的方向。当然更加复杂的knowledge的引入,也是一个值得探索的方向。

Reference:

[1] Alexander M. Rush, Sumit Chopra, and Jason Weston. 2015. A Neural Attention Model for Abstractive Sentence Summarization. In Proceedings of EMNLP. Association for Computational Linguistics, Lisbon, Portugal, 379–389.

[2] Sumit Chopra, Michael Auli, and Alexander M. Rush. 2016. Abstractive Sentence Summarization with Attentive Recurrent Neural Networks. In Proceedings of NAACL. Association for Computational Linguistics, San Diego, California, 93– 98.

[3] Abigail See, Peter J. Liu, and Christopher D. Manning. 2017. Get To The Point: Summarization with Pointer-Generator Networks. In Proceedings of ACL. Association for Computational Linguistics, Vancouver, Canada, 1073–1083.

[4] Oriol Vinyals, Meire Fortunato, and Navdeep Jaitly. 2015. Pointer Networks. In Proceedings of NIPS, C. Cortes, N. D. Lawrence, D. D. Lee, M. Sugiyama, and R. Garnett (Eds.). Curran Associates, Inc., 2692–2700.

[5] Katja Filippova, Enrique Alfonseca, Carlos A. Colmenares, Lukasz Kaiser, and Oriol Vinyals. 2015. Sentence Compression by Deletion with LSTMs. In Proceedings of EMNLP. Association for Computational Linguistics, Lisbon, Portugal, 360–368.

[6] Hongyan Jing. 2002. Using Hidden Markov Modeling to Decompose Human-written Summaries. Comput. Linguist. 28, 4 (Dec. 2002), 527–543.

[7] Rada Mihalcea and Paul Tarau. 2004. TextRank: Bringing Order into Texts. In Proceedings of EMNLP 2004. Association for Computational Linguistics, Barcelona, Spain, 404–411.

[8] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. Bleu: a Method for Automatic Evaluation of Machine Translation. In Proceedings of ACL. Association for Computational Linguistics, Philadelphia, Pennsylvania, USA, 311–318. https://doi.org/10.3115/1073083.1073135

[9] Chin-Yew Lin. 2004. ROUGE: A Package for Automatic Evaluation of Summaries. In Text Summarization Branches Out: Proceedings of the ACL-04 Workshop.

[10] Satanjeev Banerjee and Alon Lavie. 2005. METEOR: An Automatic Metricfor MT Evaluation with Improved Correlation with Human Judgments. In Proceedings of the ACL Workshop on Intrinsic and Extrinsic Evaluation Measures for Machine Translation and/or Summarization. Association for Computational Linguistics, Michigan, 65–72.

阿里技术
阿里技术

分享阿里巴巴的技术创新、实战案例、经验总结,内容同步于微信公众号“阿里技术”。

专栏二维码
工程Seq2Seq信息抽取模型数据库LSTMNLPEncoder-Decoder数据处理自动摘要
5
相关数据
Amazon机构

亚马逊(英语:Amazon.com Inc.,NASDAQ:AMZN)是一家总部位于美国西雅图的跨国电子商务企业,业务起始于线上书店,不久之后商品走向多元化。目前是全球最大的互联网线上零售商之一,也是美国《财富》杂志2016年评选的全球最大500家公司的排行榜中的第44名。

https://www.amazon.com/
相关技术
阿比盖尔·西人物

斯坦福大学计算机系博士,导师是Chris Manning。研究兴趣:使用深度学习技术进行自然语言生成。具体来说,研究改善自然语言生成在开放环境中的可控性、可解释性和连贯性。

克里斯托弗·曼宁人物

现任斯坦福大学教授、斯坦福自然语言处理组负责人。Christopher Manning是自然语言处理领域著名学者,是国际计算机学会(ACM)、国际人工智协会(AAAI)、国际计算语言学会(ACL)等国际权威学术组织的会士,曾获ACL、EMNLP、COLING、CHI等国际顶会最佳论文奖,著有《统计自然语言处理基础》、《信息检索导论》等自然语言处理著名教材。

奥里奥尔·温亚尔斯人物

Oriol Vinyals是DeepMind的研究科学家,主要研究深度学习,博士毕业于加州大学伯克利分校。

Peter J. Liu人物

谷歌软件工程师,主要进行深度学习研究,包括离散序列模型和文本生成。

杰森·韦斯顿人物

Facebook的研究科学家。在伦敦大学Royal Holloway和新泽西州Red Bank的AT&T Research获得机器学习博士学位(顾问:Alex Gammerman,Volodya Vovk和Vladimir Vapnik) 。从2000年到2002年,担任纽约Biowulf技术公司的研究员。 从2002年到2003年,担任德国图宾根马克斯普朗克生物控制论研究所的研究科学家。 从2003年到2009年,担任普林斯顿NEC实验室美国的研究人员。 从2009年到2014年,担任纽约谷歌的研究科学家。 在机器学习,NLP,语音,视觉和生物信息学领域发表多篇论文,包括ICML和ECML的最佳论文奖。 在谷歌,作为YouTube团队的一员,该团队赢得了美国国家电视艺术与科学学院艾美奖,用于视频发现个性化推荐引擎的技术和工程奖。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

注意模型技术

注意模型是采用了注意力机制的机器学习模型,注意力机制是在编码器-解码器结构下用于神经机器翻译(NMT)的一种结构,它已经非常快速地扩展到了其它相关任务,例如图像描述和文本摘要等。直观而言,注意力机制通过允许解码器在多个向量中关注它所需要的信息,从而使编码器避免了将输入嵌入为定长向量,因此能保留更多的信息。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

分桶技术

将一个特征(通常是连续特征)转换成多个二元特征(称为桶或箱),通常是根据值区间进行转换。例如,您可以将温度区间分割为离散分箱,而不是将温度表示成单个连续的浮点特征。假设温度数据可精确到小数点后一位,则可以将介于 0.0 到 15.0 度之间的所有温度都归入一个分箱,将介于 15.1 到 30.0 度之间的所有温度归入第二个分箱,并将介于 30.1 到 50.0 度之间的所有温度归入第三个分箱。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

序列到序列技术

长短期记忆网络技术

长短期记忆(Long Short-Term Memory) 是具有长期记忆能力的一种时间递归神经网络(Recurrent Neural Network)。 其网络结构含有一个或多个具有可遗忘和记忆功能的单元组成。它在1997年被提出用于解决传统RNN(Recurrent Neural Network) 的随时间反向传播中权重消失的问题(vanishing gradient problem over backpropagation-through-time),重要组成部分包括Forget Gate, Input Gate, 和 Output Gate, 分别负责决定当前输入是否被采纳,是否被长期记忆以及决定在记忆中的输入是否在当前被输出。Gated Recurrent Unit 是 LSTM 众多版本中典型的一个。因为它具有记忆性的功能,LSTM经常被用在具有时间序列特性的数据和场景中。

暂无评论
暂无评论~