張秋韻,郭 斌,郝少陽,王 豪,於志文,景 瑤
西北工業大學計算機學院,西安 710072
隨著電子商務的快速發展,越來越多的人選擇網上購物,在無法接觸到實體商品的情況下,商品描述對顧客的購買選擇尤為重要。傳統的商品描述方法對商品本身進行推薦,向不同類別用戶推送相同的商品內容,但不同用戶個體對同一商品的關注點也是不同的,故單一的商品描述不能有效地吸引用戶。而高質量的商品描述不僅可以提高用戶點擊率,還可以輔助用戶做出選擇。近年來,個性化商品描述生成開始受到了研究者的廣泛關注,通過對用戶進行畫像,得到用戶對商品的偏好信息,并以此為根據生成符合用戶偏好的個性化商品描述。一方面,個性化商品描述能夠更加準確地提供用戶所需要的商品信息,激發用戶購買興趣;另一方面,其可降低撰寫商品描述的人工成本。
近年來,深度學習在計算機視覺、自然語言處理等諸多領域取得了巨大的成功,使得自動生成個性化商品描述成為了可能。Bengio等人首次將神經網絡語言模型應用于文本生成任務中[1],之后循環神經網絡(recurrent neural networks,RNN)、序列到序列模型(sequence to sequence,Seq2seq)、生成對抗網絡(generative adversarial networks,GAN)等被廣泛應用于文本生成領域。文本生成也從流水線結構發展為端到端的模型結構,端到端模型能夠自動在數據中尋找合適的特征分布,將人類從繁復的數據處理中解放出來。但個性化商品描述生成工作還存在以下兩點挑戰:
(1)缺乏個性化商品描述數據集。現有的商品描述多為單一的文本,單個商品項對應一條描述文本,不存在針對特定用戶的個性化商品描述。
(2)用戶通常關注商品的多個特征,而神經網絡語言模型無法準確生成有關多個商品特征的描述文本。
本研究通過用戶的購物記錄和歷史評論信息學習用戶的個性偏好;通過收集商品內容與評論內容學習商品的賣點特征,針對特定類別商品(如書籍等),通過生成式文本生成、抽取式文本生成以及模板-規則文本生成方法進行融合,生成個性化商品描述。本文貢獻如下:
(1)提出CrowdDepict,一種基于多源群智數據的個性化商品描述內容生成方法。該方法挖掘多平臺商品(豆瓣、京東、CN-DBpedia[2]數據庫)評論以及商品描述,構造基于多源群智數據的個性化商品描述方法。
(2)采用多種文本生成方法,分別生成不同對應商品特征的商品描述文本,避免單一生成式文本生成方法無法學習到商品不同特征的問題。
(3)基于真實數據集驗證了個性化商品描述模型的有效性,可根據用戶偏好自動生成流暢且富有個性化的商品描述,內容體現用戶興趣及主要的產品特征。
在用戶畫像領域,基于用戶行為進行用戶屬性畫像的技術已有大量的工作。Weinsberg等人[3]利用用戶對不同電影的評分來預測用戶的性別。美國加州大學的Bi等人[4]基于用戶的搜索查詢歷史記錄,可以有效和準確地推斷出用戶的特征,如年齡和性別,甚至政治和宗教觀點。美國斯坦福大學的Kosinski等人[5]比較了人類和計算機對目標用戶進行人格判斷的準確性,結果表明計算機能比關系密切的朋友做出更準確和有效的性格判斷。美國賓夕法尼亞大學的Schwartz等人[6]通過收集75 000名志愿者的7億條Facebook信息,提取信息中與人口統計信息屬性相關的單詞、短語和話題,發現用戶使用的語言因其個性、性別和年齡等存在顯著差異。推薦系統通過用戶畫像和用戶歷史行為對用戶進行商品的偏好程度預測,從而將對用戶更有價值或用戶更偏愛的商品及內容優先呈現出來。
生成式文本生成是自然語言生成的技術之一,在各領域都有重要應用。由于RNN神經網絡適合處理序列數據,因而也成為文本生成所使用的主要模型之一。現實生活中自然語言通常是在特定的語境中產生的,例如時間、地點、情感或情緒等,因此文本生成過程中需要考慮特定的語境信息,比如在生成用戶評論的過程中,需要根據用戶的特定屬性生成對應的個性化評論內容。
Tang等人[7]利用RNN神經網絡實現了基于語境的文本生成模型。通過給定的語境信息,如產品的類別、標題以及用戶評價,生成相應的評論內容。Zheng等人[8]提出了一種結合RNN神經網絡對評級、評論及其時間動態進行建模的新方法。使用用戶的電影評級歷史記錄作為更新狀態的輸入。利用一個循環網絡來捕捉用戶和電影狀態的時間演化,并直接用于預測收視率。Lipton等人[9]構建了一個提供用戶/項目組合的系統,以生成用戶對指定產品的評論。他們設計了一個字符級的RNN網絡來生成個性化的產品評論。該模型利用BeerAdvocate.com網站上的大量評論,學習了近千名不同作者的語言風格并生成相應的評論內容。Costa等人[10]提出利用RNN的模型能夠生成接近真實用戶書面評論的句子,并能夠識別拼寫錯誤和特定領域的詞匯。RNN神經網絡存在梯度消失與梯度爆炸問題,無法學習到長距離的信息。為了解決長期依賴的問題,RNN的變種神經網絡LSTM(long short-term memory)和GRU(gated recurrent unit)被提出。Ni等人[11]設計了一個采用LSTM神經網絡的評論生成模型,該模型可以利用用戶和產品的信息以輔助文本生成過程。在模型的編碼階段,有三個編碼器(序列編碼器、屬性編碼器和類別編碼器)進行信息集成。解碼器對編碼信息的處理使該模型偏向于生成最接近目標的文本。
抽取式文本摘要目前已經非常成熟,Nenkova等人[12]使用單詞頻率作為摘要的特征,研究了由詞頻估計的句子重要性的復合函數以及根據上下文調整詞頻權重的方法。Erkan等人[13]提出了一種基于特征向量的中心性模型,稱為LexPageRank。該模型建立了基于余弦相似度的句子連通性矩陣。在深度學習成熟后,神經網絡也被用于抽取式文摘的生成。Svore等人[14]提出了一種基于神經網絡的自動摘要方法,其名稱為NetSum,模型從每個句子中檢索一組特征,以幫助確定其重要性。Cheng等人[15]使用神經網絡提取摘要,分別是單詞和句子級提取文章內容,這項工作的特別之處在于注意力機制的使用。Cao等人[16]使用注意力機制對句子進行加權。加權基礎是要查詢的文檔句子之間的相關性,通過對句子進行排序來提取摘要。Paulus等人[17]介紹了基于Seq2Seq架構的強化學習方法在抽象生成中的應用。Pasunuru等人[18]也使用了強化學習來生成文章的摘要。Facebook[19]使用了基于注意力的神經網絡生成句子摘要。
為了通過生成式、抽取式等文本生成方法端到端生成個性化商品描述,需要有效地學習多源數據的數據特征。不同的商品數據源數據結構不同,且內容主題不同。以書籍商品為例,京東等書籍購買網站評論內容較為單一,多是關于書籍裝幀、物流等的評論內容,而豆瓣讀書等書籍討論網站的評論內容則相對較豐富,多是關于書籍內容、書籍主旨等的評論內容。通過將多源數據進行結合,可以獲取商品的多源描述文本。通過將不同的文本生成方法與多源數據進行結合,可生成更加流暢的、切合主題的商品描述。
本系統的整體結構如圖1所示,個性化商品文本生成系統主要分為多源群智數據獲取模塊,用戶、圖書畫像模塊以及個性化商品描述生成模塊。

Fig.1 System structure diagram圖1 系統結構圖
群智數據獲取模塊:此模塊收集個性化商品描述所需的兩部分數據:(1)用戶及商品數據,用于對用戶與商品進行畫像;(2)商品評論內容,用于生成個性化商品描述。
用戶、圖書畫像模塊:此模塊對用戶及圖書進行畫像,得到相應的用戶標簽及圖書標簽。對獲取到的用戶數據進行統計分析,得到用戶偏好標簽。對獲取的圖書數據進行分析,得到圖書商品描述點標簽。
個性化商品描述生成模塊:此模塊對獲取的用戶標簽以及圖書標簽進行匹配,針對不同的偏好標簽生成對應的商品個性化描述。通過對商品評論等文本進行預處理,分別使用生成式、抽取式以及模板-規則文本生成方法生成個性化商品描述內容。
3.3.1 多源群智描述文本獲取
由于各種書籍購買以及評論網站上缺少個性化書籍商品描述文本,需使用其他類型的文本進行替代。本文根據書籍商品的不同特征,在多個不同的數據來源上獲取個性化描述文本替代語料。
(1)豆瓣書評。豆瓣書籍評論中包含用戶對書籍內容和風格的評價,以及對書籍主旨的思考,有很強的書籍風格特征,故可以作為書籍商品描述目標文本。
(2)京東書評。京東是一個大型的網上交易平臺,從京東評論中可以獲取到每條評論數據的評價星級、評價內容、商品屬性等相關信息。而其中關于書籍商品的評論多是有關裝幀、物流等方面的,可以作為書籍裝幀的商品描述目標文本。
(3)CN-DBpedia數據庫。來源于復旦大學GDM實驗室中文知識圖譜CN-DBpedia,其中包含900萬的百科實體數據以及6 600萬的三元組關系。該數據可以用于根據作者關鍵詞查詢作者的獲獎情況等信息,作為書籍商品描述的作者的商品描述目標文本。
3.3.2 用戶、圖書畫像數據獲取
(1)用戶數據收集
用戶畫像可以通過分析用戶的相關數據得到用戶標簽。豆瓣讀書中的書評一般篇幅較長,內容與作者、體裁等相關性較大且評論質量較高。可以從豆瓣讀書中獲取到的用戶數據為用戶所有讀過的書的書名、作者、裝幀、出版社和豆瓣標簽信息,以及每本書中所有用戶的評論信息和相應的評分。通過對以上信息進行統計整合得到用戶畫像內容。
(2)圖書畫像手機
從豆瓣圖書數據集中可以獲取到的圖書信息很豐富,包括作者、出版社、譯者、裝幀類別、豆瓣用戶短評/長評等,通過以上信息進行圖書畫像。
此模塊采用定量的用戶畫像方法,通過對采集得到的數據進行統計分析,得到用戶的偏好。其中用戶評分為五星的數據作為該用戶喜歡的書籍。對于用戶喜歡的作者、出版社、裝幀形式、題材進行統計分析得到用戶偏好畫像。表1展示了用戶畫像規則。

Table 1 User portrait rules表1 用戶畫像規則
圖書畫像則是根據圖書數據獲取到的圖書信息來實現的。從京東網站中可以獲取到圖書的作者、裝幀、書籍題材和出版社信息,從豆瓣讀書中可以獲取到圖書的內容相關的信息,將其共同作為圖書標簽進行圖書畫像。

Table 2 Redundant data on commodity trading platforms表2 商品交易平臺冗余數據
(1)內容冗余度處理
商品交易平臺中的書籍商品評論通常包含大量冗余信息,如表2所示。通過計算文本之間的余弦相似度去除冗余數據。余弦相似度,又稱為余弦相似性,是通過計算兩個向量的夾角余弦值來評估它們的相似度。通過計算評論數據集中同種類型評論中不同評論之間的余弦相似度,將相似度較高的冗余評論進行刪除,每種類型評論如裝幀評論只保留具有代表性的評論內容。
(2)中文詞嵌入
中文句子的單詞之間不像英文單詞之間有天然的空格分隔符,因此需要首先進行分詞操作才可以進行接下來的數據處理過程。jieba分詞(結巴分詞)是一個Python的中文分詞組件,可以將中文進行分詞,將句子分割成單詞序列。利用Word2vec工具對分詞后的數據進行詞嵌入處理,得到句子序列中每個詞語的向量表示,作為模型的輸入。
圖2為個性化商品描述生成模型。首先將用戶畫像和圖書畫像得到的用戶偏好和書籍標簽進行匹配后得到用戶個性化偏好標簽。個性化商品描述生成模型通過利用個性化偏好標簽的不同關鍵詞,分別采用生成式、抽取式和模板-規則生成方法生成對應的描述文本,最后將不同關鍵詞生成的對應商品描述文本拼接得到最終商品描述內容。
4.3.1 Encoder-Decoder生成商品描述文本模塊
該模塊生成有關書籍裝幀的商品描述文本和有關書籍題材的商品描述文本。在文本生成領域,Sequence to Sequence架構多用于處理序列到序列的文本轉換問題。Sequence可以理解為一個文本序列,在給定輸入后,希望得到與之對應的另一個輸出文本序列(如翻譯后的、語義上對應的),這個任務稱為Seq2Seq。
本文采用編解碼結構實現Sequence to Sequence架構。其中,encoder編碼器將source sequence源序列(x1,x2,…,xn-1,xn)轉化為一個固定長度的中間語義向量context vector(c),decoder解碼器將context vector轉化為target sequence目標序列(y1,y2,…,ym-1,ym)。在Encoder-Decoder架構中,encoder相當于信息壓縮,而decoder相當于信息還原。通常encoder使用RNN或者LSTM神經網絡,對文本序列進行信息的整合壓縮得到語義向量,再通過另外一個RNN或者LSTM網絡進行解碼得到目標序列。
由于裝幀文本數據重復性過高,訓練文本相似度大,抽取式文本生成方法不能得到很好的效果。書籍題材文本數據是用戶對書籍內容的心得,或對書籍人物行為的評價,沒有真正的主題,因此通過抽取和壓縮無法生成很好的介紹書籍題材的文本。基于Encoder-Decoder框架的生成式文本方法可以解決序列到序列的轉換映射。生成的文本更加多樣性,可以學習到用戶評價書籍裝幀的語言風格,也可以學習到書籍題材對應的文本,因此選擇生成式文本生成方法來生成書籍裝幀和題材的個性化商品描述文本。
用戶偏好關鍵詞生成個性化文本是一個關鍵詞到文本序列的轉換問題,即通過word2vec得到關鍵詞的詞向量后,將詞向量輸入encoder編碼中,得到context vector,進行decoder解碼得到對應的商品描述文本。

Fig.2 Personalized product description generation model圖2 個性化商品描述生成模型
直接使用Encoder-Decoder結構,會將輸入序列編碼為一個固定長度的向量,而輸出解碼階段的初始信息局限于該定長向量。在輸入序列較長時,定長向量無法存儲充足的信息,模型性能較差。圖3展示的Attention機制打破了Encoder-Decoder框架在編解碼時依賴于中間語義向量,通過保留encoder階段的每個中間輸出結果,然后對這些結果進行選擇性學習并且應用在模型輸出decoder階段。通過引入Attention機制,模型打破了只能利用encoder階段最終時刻固定長度隱向量的限制,使得模型可以在解碼階段的每個時刻都集中在對當前時刻目標單詞更加重要的輸入信息上,模型效果得到極大提升。

Fig.3 Generating text generation model with Attention圖3 加入Attention的生成式文本生成模型
本文采用加入Attention機制的Encoder-Decoder結構,如圖3。
書籍題材關鍵詞對應的訓練文本為豆瓣書籍評論。對豆瓣書籍評論數據集中每句話分詞后,在所有評論集合中提出有關這本書內容風格的評論作為書籍題材最終生成的語料庫。書籍裝幀關鍵詞對應的訓練文本為京東書籍購買評論。對京東購買評論數據集中的每句話分詞,提取有關裝幀的評論作為書籍裝幀生成的語料庫。
4.3.2 模板生成商品描述文本模塊
模板,指的是包含變量和常量的一種填充框架,需要定義模板結構、模板中每個變量的取值范圍以及模板調用規則。根據輸入內容對模板進行填充,可以產生相應的自然語言文本。
本文設置句子和短語雙層模板,在句子層面使用句子模板,在句子構件層面使用短語模板。句子、短語層面模板如表3所示。
4.3.3 抽取式生成商品描述文本模塊
本文使用TextRank[20]等抽取式方法來提取文本中的重要信息,Textrank算法根據句子的詞之間的共現關系構造圖,將文本的每個句子作為節點。如果兩個句子之間有相似性,則對兩個句子對應的節點之間連邊,通過圖排序算法可以做到對一段文本進行主題綜合。例如對原標題為“亞馬遜依然行進在快車道:一邊瘋狂投資,一邊創造高額利潤”的一個1 000字左右的新聞,抽取式抽取的標題為“周四公布的強勁財報有望讓亞馬遜超過蘋果,成為首家市值突破1萬億美元的公司”。用Textrank等抽取算法對相關作者的語料庫進行抽取綜合,輸入通過作者姓名在數據庫得到的作者相關信息,輸出作者關鍵詞對應的描述文本。流程圖如圖4所示。

Table 3 Sentence and phrase level template表3 句子、短語層面模板

Fig.4 Abstract text generation model圖4 抽取式文本生成模型
實驗分析了512名豆瓣用戶,其中包括77 801條用戶信息,平均每人152條書籍評論信息。收集到的評論數據中包括京東141 000條,豆瓣44 310條書籍評論信息。
在數據采集階段,采集到用戶所有讀過的書的信息,但是直接對用戶所有讀過的書進行統計用戶畫像并不準確,因為用戶會給讀過的書打分為2分、3分或者4分,這些分數對應的評論如表4所示。

Table 4 User reviews with star ratings表4 用戶評論與星級
可以看出,三星的評論已經明顯顯示出用戶的不滿意,四星的圖書評語也展示了用戶對圖書的部分建議。對單個用戶書評星級五星占比進行分析,得到圖5。

Fig.5 Five stars ratio of user book reviews圖5 用戶書評星級五星占比
可以得到,所有512名用戶中,有390人對已讀書的五星級評分數占總評分數的40%到50%。說明用戶的書評中有50%左右的書籍評分為5星以下。因此對用戶的書評進行預處理,取出評論為五星的書評,對應的書籍是用戶喜歡的。
對豆瓣數據去掉冗余后可以統計出豆瓣某用戶User_x的標簽頻數統計,表5展示了User_x統計頻數,可以發現用戶User_x對小說、中國等標簽的書籍更感興趣。

Table 5 Douban label statistical frequency of User_x表5 用戶User_x 豆瓣標簽統計頻數
由以上信息,表6展示了得到的用戶User_x的標簽,該用戶喜歡古龍作者,偏好推理、武俠等題材的書籍。
對用戶信息整理得到的結果如圖6所示,可看出,豆瓣讀書喜歡小說的用戶占大多數,喜歡中國文學和外國文學的比重相近。但是前五的標簽過于籠統,統計出更加確切的書籍題材的占比如圖7所示。可以看到,科幻、愛情、武俠等主題是用戶感興趣的主題。因此實驗主要針對科幻主題。

Table 6 Labels of User_x表6 用戶User_x 的標簽

Fig.6 Statistical graph of user preferences圖6 用戶偏好統計圖

Fig.7 Statistical graph of user preferences on topics圖7 用戶書籍題材偏好統計圖
對用戶的書籍裝幀進行統計,得到圖8,在512名用戶中有162名用戶讀過的書中超過50%的比例為精裝書籍,有31名用戶的喜好圖書中超過70%為精裝。說明用戶對書籍的裝幀有不同的偏好,說明書籍的個性化商品描述文本中考慮書籍裝幀特征是合理的。

Fig.8 User hardcover books ratio圖8 用戶精裝書籍占比
5.2.1 裝幀和題材內容生成實驗結果
在Encoder-Decoder結構中,采用LSTM單元進行模型的構建。encoder使用循環神經網絡進行屬性編碼,decoder使用兩層循環神經網絡進行解碼,每層神經網絡賦值50個LSTM單元。模型在訓練時輸入關鍵詞,目標文本為關鍵詞對應的語料庫。
(1)書籍題材描述文本生成實驗中,將所有數據進行預處理操作后得到的科幻題材對應的訓練數據如表7。可以看出,題材關鍵詞的語料庫中含有關于劉慈欣對中國科幻貢獻、書籍想象豐富等方面積極的評論。“想象力滿分”“細節豐富”等詞語很適合于廣告,題材關鍵詞的商品描述文本生成式生成結果如表8所示,對比實驗為不加Attention機制的生成式文本生成模型。得到的文本多為主題切合科幻和劉慈欣的積極性文本,文本短小流暢,適合于商品描述文本。

Table 7 Science fiction corpus表7 科幻題材語料
(2)書籍裝幀描述文本生成實驗中,文本生成式生成結果如表9所示,生成的文本主題都切合裝幀,并且情緒積極,適合于有關裝幀的商品描述文本。

Table 8 Comparison of experimental results of book topics表8 書籍題材實驗結果對比

Table 9 Comparison of experimental results of book binding表9 書籍裝幀實驗結果對比
BLEU(bilingual evaluation understudy)是一種機器翻譯的評價指標,用于分析機器翻譯的結果譯文和目標譯文中n元組共同出現的程度,由IBM于2002年提出[21]。ROUGE(recall-oriented understudy for gisting evaluation)在2003年由Lin等人[22]提出,ROUGE采用召回率作為結果文本和目標文本的相似度指標。本文使用BLEU指標和ROUGE指標評估內容的準確度和流暢度,將不加Attention的Encoder-Decoder機制作為baseline,與加Attention機制的生成式文本生成結果對比如表10。

Table 10 Comparison of experimental results of various indicators表10 各項指標實驗結果對比
可以看到基礎的Seq2Seq模型和加入Attention的Seq2Seq模型對于裝幀關鍵詞的描述文本效果優于科幻關鍵詞描述文本,因為裝幀關鍵詞對應的語料庫是從京東評論中提取,主題一致都是關于裝幀,并且結構單一,文本較短,故學習效果好。科幻關鍵詞對應的語料庫是從豆瓣評論中提取,文本較長并且詞匯較為豐富,故學習效果略差。而從科幻關鍵詞的兩個模型對比中可以看出,加入Attention的模型效果更好,生成的文本更加流暢。并且從表8可以看出,基礎Seq2Seq模型生成的文本主題不一定關于科幻,加入Attention機制后,可以更好地學習與科幻有關的內容。
5.2.2 模板生成實驗結果
運用混合模板生成的穩定性很高,得到出版社文本結果如表11所示,可以直接生成出版社描述文本。

Table 11 Experimental results of book publishing house表11 書籍出版社實驗結果
圖9展示了用戶點擊《三體》圖書個性化商品描述文本整體流程。
在用戶點擊圖書之前,通過用戶畫像得到用戶標簽“裝幀,精裝;出版社,人民文學出版社;書籍題材,科幻、武俠、愛情;作者,劉慈欣、金庸、老舍”。商品畫像得到《三體》書籍產品標簽“裝幀,精裝;出版社,三聯文學出版社;書籍題材,科幻;作者,劉慈欣”。
用戶點擊商品后,通過用戶標簽與產品標簽匹配可以得到個性化用戶偏好標簽,通過對應商品屬性生成最終商品描述“雨果獎最佳長篇小說獎劉慈欣;書裝幀簡約,美觀大方;劉慈欣的科幻作品總是超越它的風格;中國科幻的巔峰”。
CrowdDepict可針對不同的用戶特點,自適應地匹配商品賣點與用戶屬性,生成個性化商品描述,提升用戶的購買率,降低撰寫商品描述的人工成本。但個性化廣告數據集的缺失,妨礙了此類任務的進一步發展。
本文主要探索了生成式文本生成、抽取式文本生成以及模板-規則文本生成,通過多元數據融合,替代個性化廣告數據集。通過不同網站的評論數據可學到商品不同側面的描述文本,本文將書籍畫像分為出版社、作者、裝幀、圖書題材四個側面,并進行商品描述內容的生成。
實驗結果表明,在沒有個性化數據集的情況下,CrowdDepict依然產生了符合用戶偏好的商品描述,且語言流暢連貫,具有較強的商品主題結合度。本文仍存在以下問題:一是生成式文本生成模型結構較為簡單,對屬性融合直接采用了編碼形式,可能導致屬性信息的損失;二是直接將用戶評論作為商品描述文本的目標文本,導致神經網絡生成描述較為口語化,使得商品描述表達方式不夠客觀。
在未來的研究過程中,需要考慮屬性融合的其他方法,加入更新的預訓練模型如Bert、GPT(generative pre-training)等,增加從商品評論中學習有關屬性的內容,減少學習用戶的口語化表達部分,使得生成的文本更加客觀,或使用語言風格遷移的方式,增強語言的說明性風格,以及使用更大的商品描述數據集。

Fig.9 Personalized book product description圖9 個性化圖書商品描述展示