天天看點

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

阿裡妹導讀:工作那麼忙,怎麼給女朋友買包?是翻看包包的詳情頁,再從商品評論中去找資訊嗎?為了幫助類似的同學節省時間,阿裡工程師們提出快速回答生成模型RAGE。你問它答,這個“百事通”能從整體結構,評論的抽取和表示及融合四個方面綜合解決生成模型響應速率及生成品質的問題,進而提高生成的回答的真實性及有效性。從此,如何給女友“買包”,不再是難題。

本篇内容參考論文《Review-Driven Answer Generation for Product-Related Qestions in E-Commerce》論文作者為:武漢大學李晨亮、陳詩倩,阿裡巴巴計峰、周偉、陳海青。

引言

随着網際網路技術的普及,電子商務産業得到了蓬勃的發展,使用者的購買行為逐漸由線下轉移到線上,然而線上購物帶來便利的同時,弊端也逐漸顯現。使用者在做購買決定之前,通常希望擷取更多的商品詳情與使用感受等資訊,然而,當網頁浏覽與點選代替了面對面的交易,使用者無法獲得直覺的判斷,僅能通過翻閱商品詳情頁及已購買使用者的評論擷取有效資訊。使用者需浏覽及過濾大量的評論資訊才能獲得商品的綜合評價,這無疑增加了線上購物的時間成本,降低了使用者的購物體驗。

為了解決線上環境資訊擷取管道閉塞且耗時的問題,各大電商平台,例如,淘寶、亞馬遜,相繼提供社群問答(CQA)的服務。雖然社群問答在一定程度上緩解了部分使用者浏覽及過濾評論資訊的時間成本,然而,等待已購買使用者回答問題的過程同樣是低效耗時且低召回的。是以,為了進一步節省使用者購物時間,各大電商平台開始探索通過智能問答系統,自動、及時且真實的回答使用者提出的商品相關性問題,幫助使用者擷取所需的資訊。雖然現有的智能問答系統經過了幾十年的發展,已經相對成熟,然而依然無法在電商領域廣泛應用,其原因在于:

1.檢索式問答系統過分依賴于問答庫,而電商領域中問題形式千變萬化,構造完整的問答庫相對困難且耗時。

2.現有的生成式問答系統的工作均以循環神經網絡及其變種形式為基礎。循環神經網絡因其時序特性而無法并行處理,導緻效率較低。

3.目前生成式問答系統外部資訊的引入主要依賴于結構化的知識庫或者是關鍵詞及主題模型,而在電商領域中,商品知識庫的構造是一項消耗時間及人力成本的工作。

是以針對電商領域問答系統的需求現狀及現有工作中存在的不足,我們創新性的提出了利用非結構評論資訊引導回答生成的思想,同時提出了一種基于多層門控卷積神經網絡的快速回答生成模型RAGE。該模型分别從整體結構,評論的抽取、表示及融合四個方面綜合解決生成模型響應速率及生成品質的問題,進而提高生成的回答的真實性及有效性。

2 模型

模型整體結構如圖1:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

2.1基礎結構

2.1.1問題編碼器

考慮到循環神經網絡存在的種種不足,我們選擇采用門控卷積神經網絡作為問題編碼器對問題序列進行編碼。然而,卷積神經網絡因其權值共享的特性,導緻其對位置資訊不敏感。為解決門控卷積神經網絡位置資訊丢失的問題,我們在輸入矩陣中引入位置向量,以保證卷積過程中模型對于位置資訊的敏感性。同時,我們将詞性資訊(POS tag)引入輸入矩陣,詞性資訊中所包含的句法和詞法資訊能夠更好的幫助門控卷積神經網絡了解詞間關系和文本語義。

給定分詞後的問題序列

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,依照公式2-1所示,結合同維詞向量w,位置向量t,詞性向量p,得到每個詞的表示向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,其中Q為問題長度,N為向量次元。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-1)

而後我們通過堆疊多層的門控卷積神經網絡來擴大其感受野,高層次的門控卷積神經網絡可以通過低層次的門控卷積神經網絡提取的特征模組化距離中心詞較遠的上下文。同時,為了避免因為網絡層數加深而産生梯度消失問題,本文利用殘差學習網絡(ResidualConnection),将l層輸入與l層的輸出結合作為l+1層的輸入,以保證在反向傳播的過程中梯度能穩定的在層級間傳播。基于多層門控卷積神經網絡的問題編碼過程如公式2-2所示:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-2)

式中為

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

問題編碼器的層數,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為l層的卷積核,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為中心詞i及其上下文經過第l層門控卷積神經網絡編碼輸出的狀态。

經過層層編碼後,最高層次的編碼狀态

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

中包含了豐富的資訊,而最原始的中心詞i本身的資訊也相對被弱化了,因而我們借鑒殘差網絡的思想,按照公式2-3所示,将中心詞i原始的表示向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

與其對應的最高層次的編碼狀态相結合,得到中心詞i的編碼向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-3)

将問題中的每個詞作為中心詞進行多層卷積操作,最終得到問題編碼向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

2.1.2 基礎解碼器

給定已生成的回答序列

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,解碼器的作用是對已生成的回答序列𝐚進行編碼,得到j時刻的狀态向量,結合問題編碼向量解碼出第j個詞。與問題編碼器一樣,我們将解碼器的基本子產品也替換為多層門控卷積神經網絡。解碼器的輸入部分僅為待生成詞的前向序列,例如,目前待生成的詞為第j個詞,即此時編碼器處于第 j 時刻,目前時刻的輸入為j-1時刻生成的詞

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,輸入序列為

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,其中為解碼開始符。輸入序列中的每個詞用詞向量,詞性向量,位置向量進行表示,即可得到j時刻的輸入序清單示

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

編碼的過程與問題編碼過程類似,不同的地方在于,卷積核的感受野被限制為上文而非上下文,因為回答生成的過程中,j時刻的生成詞由第j時刻的狀态向量決定,而就生成過程而言,下一時刻的狀态對于目前時刻是未知的,是以j時刻的狀态向量中不應該帶有下文的資訊,如公式2-4,2-5所示:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-4)

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-5)

式中目前時刻為j時刻,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為目前時刻的輸入,即j-1時刻的生成詞,為l層的卷積核,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為中心詞j及其上下文經過第l層門控卷積神經網絡編碼後輸出的狀态,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為第l層的映射矩陣,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為l層于j時刻的狀态向量。

而後,通過注意力機制将問題中所包含的與目前生成詞相關的資訊引入生成狀态,使得最終生成的回答貼合問題核心語義。考慮到多層門控卷積神經網絡的層次結構,在這裡采用層次型注意力機制,即回答生成器中每一層l得到的狀态向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

均與問題編碼向量Z計算注意力權重分布,最終得到與目前l層j時刻生成狀态相關的權重問題編碼向量

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,其中與目前生成狀态相關的資訊将被賦予較大的權重,具體過程如公式2-6,2-7所示:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-6)

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-7)

式中表示點乘,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

表示第l層中,j時刻的生成狀态

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

與問題中第i個詞的編碼向量計算的注意力權重,越大表示j時刻的生成狀态與問題第i個詞表達的資訊越相關。

而後,将l層j時刻的生成狀态依照公式2-8進行更新,作為l+1層的輸入。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-8)

最後,回答生成器根據最高層j時刻的生成狀态來确定詞表生成機率的分布,如公式2-9所示,其中

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為詞表映射矩陣,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為回答生成器的層數。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-9)

2.2 評論的抽取、表示及融合

2.2.1 評論的抽取

我們采用Word Mover’s Distance(WMD來衡量文本間的語義關系進行評論片段的抽取。對于給定問答對,首先拼接問答對中的問題與答案,而後對該問答對以及問題對應商品的所有評論片段集合R中的一個評論片段r進行分詞并去除停用詞,将兩者分别表示為詞袋,再分别計算每個詞的詞頻。

WMD利用詞向量間的歐式距離來表示詞間的轉移開銷,問答對中的第i個詞到評論片段中第j個詞的轉移開銷表示為

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

。得到詞間轉移開銷即可得到文本間的轉移開銷。假設,問答對p中的每個詞i允許轉移到評論片段r中的任意詞j,WMD中用每個詞的詞頻來表示詞在文本中的占比,用矩陣

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

表示詞間轉移比率,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

表示p中的第i詞中有“多少”轉移到r中的第j個詞,每個詞的轉移總和及接收總和不能超過其在文本中的占比,即,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

最終用問答對和評論片段間的最小轉移開銷表示兩者間的距離,如公式2-10所示:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-10)

其中限制條件為:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

後續我們利用門檻值對計算WMD後的評論片段集合進行過濾得到與問答對p對應的問題相關評論片段集合

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

。為整個訓練集中的所有問題對應的前10條評論片段集合的Word Mover’s Distance的均值。

2.2.2評論片段的表示

給定相關評論片段集合

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,首先将其去除停用詞表示為詞袋,利用公式2-11分别計算詞袋中每個詞的權重

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結
工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-11)

式中

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

表示計算

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

中有多少條評論中包含單詞,

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

中包含評論片段的數量,表示單詞

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

和評論片段 s 中所有單詞在詞向量基礎上計算的餘弦相似度,傳回餘弦相似度的最大值。一個單詞若具有較高的片段頻率并且和其餘片段中的詞密切相關。而後對權重進行最大歸一化,結合詞向量得到帶權詞典,如公式2-12,2-13所示,式中為逐維相乘操作。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-12)

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-13)

結合詞向量得到帶權詞典

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

,如公式2-12,2-13所示,式中為逐維相乘操作。

2.2.3 評論的融合

為了使每一層的生成狀态均對外部資訊保持敏感,在回答生成器中我們同樣采用了層次注意力機制。另外,我們認為問答任務中外部資訊的選擇過程不僅僅由目前的生成狀态決定,還應與問題的語義密切相關。是以,在RAGE中我們利用與目前生成狀态相關的權重問題編碼向量與帶權詞典計算注意力權重,其原因在于權重問題編碼向量中不僅僅含有目前生成狀态的資訊,同時包含了問題的語義資訊,能夠準确的對外部資訊進行選擇。其具體過程如公式2-14,2-15所示,最終得到與l層j時刻生成狀态相關的評論資訊編碼向量。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-14)

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-15)

式中表示第l層中,j時刻的問題編碼向量與帶權詞典中中第i個詞的表示向量計算的注意力權重。

為了避免資訊的備援,在每一層中本文通過門控機制選擇性的利用問題編碼資訊和評論資訊對生成狀态進行更新,得到最終的生成狀态。因而,将公式2-8改為公式2-16。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-16)

式中為門控權值向量,由l層的j時刻生成詞生成狀态,目前生成狀态相關的權重問題編碼向量,目前生成狀态相關的評論資訊編碼經過函數()映射而得,具體程如公式2-17所示。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

(2-17)

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

為兩層矩陣映射及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所示。表中表示問答對的數量,表示問題的詞平均長度,表示标準回答的詞平均長度,表示抽取的平均評論片段數目。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

對于測試集,我們僅保留其問題部分,該問題對應的标準回答僅用于衡量模型的生成效果不應參與訓練及生成過程。抽取評論片段的過程中,我們首先利用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,佐證了本文“引入外部資訊有利于生成包含有效資訊以及貼合問題語義的回答”的觀點。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

主觀評價的部分,我們通過對表4-3,4-4中的結果進行分析,得到如下結論。第一,雖然RAGE生成的回答與标準回答在各方面都存在一定差距,但是相比于現有的回答生成工作,RAGE在通順性以及包含有效資訊程度等方面都有顯著的提升。第二,我們可以觀察到,RAGE/POS和RAGE在2分的結果上有明顯差距,說明詞性資訊的引入确實有助于提高回答生成的通順性。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結
工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

考慮到電商領域實時響應的需求,我們在基礎模型的搭建過程中,将以往工作中常用的循環神經網絡替換為多層門控卷積神經網絡,為證明其效率,我們在單卡 Tesla K40 GPU環境下對比了各個模型的訓練及測試效率,其結果如表4-5中所示,可以觀察到,基于循環神經網絡的Seq2seqA和TA-Seq2seq模型,訓練及測試的耗時明顯高于基于多層卷積神經網絡的其他模型。

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

表4-6 Case Study:

工程師如何給女友買包?問問阿裡“百事通”引言 2 模型3 實驗4 總結

最後我們做了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能夠更加快速的生成具有通順性,貼合問題語義且包含豐富資訊的回答。

原文釋出時間為: 2019-07-8

本文作者: 阿裡小蜜&武大

本文來自雲栖社群合作夥伴“

阿裡技術

”,了解相關資訊可以關注“

”。

繼續閱讀