工程师如何给女友买包?问问阿里“百事通”
簡介: 工作那么忙,怎么給女朋友買包?是翻看包包的詳情頁,再從商品評論中去找信息嗎?為了幫助類似的同學節省時間,阿里工程師們提出快速回答生成模型RAGE。你問它答,這個“百事通”能從整體結構,評論的抽取和表示及融合四個方面綜合解決生成模型響應速率及生成質量的問題,進而提高生成的回答的真實性及有效性。從此,如何給女友“買包”,不再是難題。
本篇內容參考論文《Review-Driven Answer Generation for Product-Related Qestions in E-Commerce》論文作者為:武漢大學李晨亮、陳詩倩,阿里巴巴計峰、周偉、陳海青
?
引言
隨著互聯網技術的普及,電子商務產業得到了蓬勃的發展,用戶的購買行為逐漸由線下轉移到線上,然而線上購物帶來便利的同時,弊端也逐漸顯現。用戶在做購買決定之前,通常希望獲取更多的商品詳情與使用感受等信息,然而,當網頁瀏覽與點擊代替了面對面的交易,用戶無法獲得直觀的判斷,僅能通過翻閱商品詳情頁及已購買用戶的評論獲取有效信息。用戶需瀏覽及過濾大量的評論信息才能獲得商品的綜合評價,這無疑增加了線上購物的時間成本,降低了用戶的購物體驗。
為了解決線上環境信息獲取渠道閉塞且耗時的問題,各大電商平臺,例如,淘寶、亞馬遜,相繼提供社區問答(CQA)的服務。雖然社區問答在一定程度上緩解了部分用戶瀏覽及過濾評論信息的時間成本,然而,等待已購買用戶回答問題的過程同樣是低效耗時且低召回的。因此,為了進一步節省用戶購物時間,各大電商平臺開始探索通過智能問答系統,自動、及時且真實的回答用戶提出的商品相關性問題,幫助用戶獲取所需的信息。雖然現有的智能問答系統經過了幾十年的發展,已經相對成熟,然而依然無法在電商領域廣泛應用,其原因在于:
因此針對電商領域問答系統的需求現狀及現有工作中存在的不足,我們創新性的提出了利用非結構評論信息引導回答生成的思想,同時提出了一種基于多層門控卷積神經網絡的快速回答生成模型RAGE。該模型分別從整體結構,評論的抽取、表示及融合四個方面綜合解決生成模型響應速率及生成質量的問題,進而提高生成的回答的真實性及有效性。
?
2 模型
模型整體結構如圖1:
?
圖1
2.1基礎結構
- 2.1.1問題編碼器
考慮到循環神經網絡存在的種種不足,我們選擇采用門控卷積神經網絡作為問題編碼器對問題序列進行編碼。然而,卷積神經網絡因其權值共享的特性,導致其對位置信息不敏感。為解決門控卷積神經網絡位置信息丟失的問題,我們在輸入矩陣中引入位置向量,以保證卷積過程中模型對于位置信息的敏感性。同時,我們將詞性信息(POS tag)引入輸入矩陣,詞性信息中所包含的句法和詞法信息能夠更好的幫助門控卷積神經網絡理解詞間關系和文本語義。
?
- 2.1.2 基礎解碼器
?
?
?
2.2 評論的抽取、表示及融合
- 2.2.1 評論的抽取
?
- 2.2.2評論片段的表示
?
- 2.2.3 評論的融合
為了使每一層的生成狀態均對外部信息保持敏感,在回答生成器中我們同樣采用了層次注意力機制。另外,我們認為問答任務中外部信息的選擇過程不僅僅由當前的生成狀態決定,還應與問題的語義密切相關。因此,在RAGE中我們利用與當前生成狀態相關的加權問題編碼向量與帶權詞典計算注意力權重,其原因在于加權問題編碼向量中不僅僅含有當前生成狀態的信息,同時包含了問題的語義信息,能夠準確的對外部信息進行選擇。其具體過程如公式2-14,2-15所示,最終得到與l層j時刻生成狀態相關的評論信息編碼向量。
?
式中表示第l層中,j時刻的問題編碼向量與帶權詞典中中第i個詞的表示向量計算的注意力權重。
為了避免信息的冗余,在每一層中本文通過門控機制選擇性的利用問題編碼信息和評論信息對生成狀態進行更新,得到最終的生成狀態。因而,將公式2-8改為公式2-16。
?
式中為門控權值向量,由l層的j時刻生成詞生成狀態,當前生成狀態相關的加權問題編碼向量,當前生成狀態相關的評論信息編碼經過函數()映射而得,具體程如公式2-17所示。
?
式中為兩層矩陣映射及Sigmoid非線性變換。
?
3 實驗
3.1對比模型
1)Seq2seqwith Attention(Bahdanau 2016)
2)TA-Seq2seq(Xing2017)
3)ConvSeq2seq(Gehring2017)
4)ConvSeq2seq-RV:在ConvSeq2seq的基礎上,每次生成時動態的限制生成的詞必須出現在其對應的相關評論片段中
5)RAGE/POS:RAGE去除POS信息
3.2數據集
我們使用了兩個淘寶平臺中真實的“問大家”數據集對模型的生成效率及質量進行測評,兩個數據集分別為“手機”相關數據集及“大家電”相關數據集。其中“手機”數據集相對較小,僅涉及4457個商品,而“大家電”數據集相對較大且離散,包含冰箱、洗衣機等多個子類目下的47979個商品。
為了測試RAGE模型的泛化能力,本文從手機數據集中隨機挑選出6個品牌的商品相關性問題及其對應商品的評論作為測試集,其余商品的問答對和評論作為訓練集。同樣的,隨機挑選出“大家電”數據集下的兩個子類目,取其問題及評論作為測試集,其余商品問答對和評論構成訓練集。
最終得到的數據集統計信息如表4-1所示。表中表示問答對的數量,表示問題的詞平均長度,表示標準回答的詞平均長度,表示抽取的平均評論片段數目。
?
對于測試集,我們僅保留其問題部分,該問題對應的標準回答僅用于衡量模型的生成效果不應參與訓練及生成過程。抽取評論片段的過程中,我們首先利用Word Mover’s Distance在訓練集中尋找其最相似的問題,取該問題的答案與測試集中的問題構成問答對。
3.3 評價指標
客觀評價指標我們采用詞平均相似度(Embedding BaseSimilarity;ES)及句中離散度(Distinct)來衡量。主觀評價方面,我們規定了如下的打分標準:+3:如果生成的回答既通順又與問題密切相關,同時包含有效信息且該有效信息與標準回答及用戶評論相符,則該回答為3分。+2:如果生成的回答包含與標準回答及用戶評論相符的有效信息,但是含有部分的語法錯誤,比如重復生成、句式紊亂等,則該回答為2分。+1:如果生成回答僅能夠用于回答問題,但是不包含有效的信息,比如“我是給別人買的,我不知道”,“可以,可以”等無意義的回答,則該回答為1分。0:如果生成的回答毫無意義或者包含太多的語法錯誤以至于難以理解,則該回答為0分。而后邀請兩位評價者對模型的生成回答進行評價,并利用kappa值衡量評價者間的評價一致性。
3.4 實驗結果及分析
我們對各模型進行了客觀指標的評價,,并得到了如表4-2的結果。通過對兩個指標的觀察我們發現,“大家電”數據集的詞平均相似度整體低于“手機”數據集,其原因可能是由于“大家電”數據集類目復雜,句式較為離散,模型不易學習其問答間的轉換關系。另外“大家電”數據集中RAGE/POS的句中離散度高于RAGE模型,通過結合主觀評價指標的綜合分析,我們認為其可能的原因是RAGE/POS生成了部分不相關的詞,導致其句中離散度較高。同時我們觀察到,TA-Seq2seq和ConvSeq2seq-RV以及RAGE/POS、RAGE的句中離散度和詞平均相關性在兩個數據集上均高于Seq2seqA和ConvSeq2seq,佐證了本文“引入外部信息有利于生成包含有效信息以及貼合問題語義的回答”的觀點。
?
主觀評價的部分,我們通過對表4-3,4-4中的結果進行分析,得到如下結論。第一,雖然RAGE生成的回答與標準回答在各方面都存在一定差距,但是相比于現有的回答生成工作,RAGE在通順性以及包含有效信息程度等方面都有顯著的提升。第二,我們可以觀察到,RAGE/POS和RAGE在2分的結果上有明顯差距,說明詞性信息的引入確實有助于提高回答生成的通順性。
?
?
考慮到電商領域實時響應的需求,我們在基礎模型的搭建過程中,將以往工作中常用的循環神經網絡替換為多層門控卷積神經網絡,為證明其效率,我們在單卡 Tesla K40 GPU環境下對比了各個模型的訓練及測試效率,其結果如表4-5中所示,可以觀察到,基于循環神經網絡的Seq2seqA和TA-Seq2seq模型,訓練及測試的耗時明顯高于基于多層卷積神經網絡的其他模型。
?
表4-6 Case Study:
?
最后我們做了Case Study。于表4-6中列出其標準回答,評論抽取過程中Word Mover’s Distance最小的評論片段MSR,以及各個模型的生成結果。通過表中案例可以觀察到,對于問題1,2,4這類簡單的問題,各個模型生成的回答都相對貼合問題語義。Seq2seqA以及ConvSeq2seq這兩個模型由于沒有引入外部信息,其生成的回答明顯不具備任何有效信息,是所有問題都適用的安全性回答。RAGE得利于其對評論片段的抗噪表示以及融合方式,生成的回答相比于其他模型更加準確、通順、符合語法且包含豐富的有效信息。
問題3,5,6與問題1,2,4相比較為復雜,其包含了兩個子問題,“制冷效果怎么樣?”“制熱呢?”從表4-6中羅列的結果可知,大部分模型,包括標準回答均只回答了一個子問題,只有RAGE對兩個子問題都做出了回答。
?
4 總結
通過對實驗結果進行主觀、客觀及模型效率的分析,我們認為,RAGE在電商領域的問答任務中有較好的表現,相比于現有的其他工作,RAGE能夠更加快速的生成具有通順性,貼合問題語義且包含豐富信息的回答。
?
總結
以上是生活随笔為你收集整理的工程师如何给女友买包?问问阿里“百事通”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从零开始入门 K8s:深入剖析 Linu
- 下一篇: 阿里技术 2019 年度热文 Top10