1. 程式人生 > 其它 >基於GAN的個性化短標題生成在1688平臺的實踐應用

基於GAN的個性化短標題生成在1688平臺的實踐應用

技術標籤:ppython自然語言處理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.