WSDM 2020 | RMRN:社区问答中的深度关联推理模型
?PaperWeekly 原創(chuàng) ·?作者|HTLiu
學(xué)校|天津大學(xué)
研究方向|推薦系統(tǒng)
論文標(biāo)題:Recurrent Memory Reasoning Network for Expert Finding in Community Question Answering
論文來源:WSDM 2020
論文鏈接:http://jkx.fudan.edu.cn/~qzhang/paper/wsdm500-fuA.pdf
問題簡介
本文擬解決的問題為社區(qū)問答(Community Question Answering),或者叫 Expert Finding。雖然名字中帶有 QA,但是跟 NLP 中的問答系統(tǒng)不一樣,CQA 是在一些問答社區(qū)網(wǎng)站上比如 Stackoverflow、知乎等上面,把用戶提出的問題推薦給潛在熟悉該問題的回答者(answerer),從而能夠使得用戶快速地獲得更專業(yè)的答案。
拿知乎舉個例子,如下圖:
知乎會給用戶推薦一些相關(guān)問題去回答,逛知乎的同學(xué)應(yīng)該很了解。因此 CQA 問題本質(zhì)上就是一個 question 與 answerer 的匹配問題,為問題尋找回答者。
挑戰(zhàn)與動機
之前大多數(shù) CQA 的工作均基于文本內(nèi)容相關(guān)性,即將問題與回答者回答過的歷史問題集合進行相似度進行簡單匹配,但是這樣的方法存在一個弊端,即當(dāng)一個回答者的回答過的問題與提問的問題沒有直接顯式聯(lián)系,卻包含隱式相關(guān)性,那么當(dāng)前已有的模型就無法做出很好的推薦。
比如下圖中 Yahoo! Answer 的例子:
提問者的問題是關(guān)于如何寫一篇學(xué)術(shù)論文,下面的一個候選用戶并沒有直接回答過類似寫論文的問題。然而從該用戶的歷史回答問題集合中可以看出該用戶其實在撰寫學(xué)術(shù)論文方面還是有足夠的專業(yè)知識的,因此是有能力回答該問題的。
因此已有的 CQA 的工作僅僅從單純文本的表層相似度匹配上來看,很難將該問題推送給上面的用戶,這里面需要模型有一定的 Reasoning 能力,能夠挖掘問題與用戶歷史記錄之間的深度關(guān)聯(lián)。
方法
為了解決上面的挑戰(zhàn),本文受到 MAC(Memory, Attention, Control)門控機制的啟發(fā), 設(shè)計了一種推理記憶單元 RMC(Reasoning Memory Cells)來從建模問題文本,進而與候選用戶的歷史回答進行多方面推理,能夠挖掘問題與用戶的深度聯(lián)系。
首先給出 CQA 的形式化表示:
提問的問題 q,即:包含多個單詞的句子 ,其中 是問題的長度。
候選用戶的歷史回答記錄集合 ,其中每個回答也是一個包含多個單詞的句子:。
根據(jù)問題 q 和候選用戶的歷史回答記錄 H,判斷該用戶是否適合回答當(dāng)前問題。
整體流程如下:
使用 BiGRU 建模 question 文本 Q 以及用戶的歷史回答問題的文本集 H,其中 word embedding 部分還是結(jié)合了 subword-level 和 character-level 的 emebdding。
利用 RMC(Reasoning Memory Cell)來計算 Q 與 H 的各種交互,選出 H 中與 Q 更相關(guān)的部分
控制單元(Control Unit):這部分主要是挖掘 question 的不同方面,用來與回答者的問題集合在讀入單元與寫入單元中進行交互。
讀入單元(Read Unit):主要是提取 H 的相關(guān)信息,這里使用 Gumbel-softmax 對集合進行了離散化,獲得 one-hot 向量,能夠 point 重要的相關(guān)回答。
寫入單元(Write Unit):更新 memory,可以理解為交互層(問題與用戶回答的問題集合中重要的部分)。
預(yù)測模塊:作為二分類問題, 根據(jù)學(xué)到的問題表示以及用戶候選集合表示進行 01 預(yù)測,類似 CTR。
下面具體展開介紹,原文框架圖如下:
3.1 編碼層
word embedding:對 q 與 H 中的所有的詞,均使用多粒度的 word embedding 技術(shù)來緩解 OOV 的問題,畢竟社區(qū)問答語料口語化比較嚴(yán)重。將每個詞的word-level, subword-level和character-level進行 concatenate 作為 word 最終的特征表示:,其中 subword 使用 BPE 進行編碼,character-level 直接使用 ELMo 的預(yù)訓(xùn)練詞向量。
使用 Bi-GRU 對問題 q 進行編碼:,其中 ,需要說明的這里面的 是一維向量,表示問題中第 i 個詞的特征,,其中 d 為 BiGRU 的輸出維度。
使用 Bi-GRU 對候選用戶的問題集合H進行編碼:
其中 表示第 j 條回答記錄的表示,這里需要注意的是,此處做了 pooling 操作,保留的是 sentence-level 的特征,因此 是一個向量,而不是詞特征矩陣,因此 , 為候選用戶的歷史回答問題數(shù)目。
后續(xù)的 RMCs 的輸入就是 與 ,學(xué)習(xí)二者的交互。
3.2 RMCs推理記憶單元
類似 RNN/GRU/LSTM 等,包含基本 cell,然后進行多步循環(huán)。其中每個基本單元 RMC 包含三個 unit,分別是 control unit,read unit 與 write unit,三個變量分別是控制向量 ,記憶向量 ,以及狀態(tài)輸出向量 。
3.2.1 Control Unit
從圖中可以看出來,輸入是 Q 和上一時刻的控制向量 ,使用多個 MLP 層,選出 Q 中當(dāng)前重要的詞,進一步更新下一時刻的控制向量 (這部分的符號的下標(biāo)均指的是第時刻,或者迭代)。
首先將 Q 中最后一個詞的隱狀態(tài)向量 作為句子的初始表示,之后通過一個 MLP 層進行線性轉(zhuǎn)化,然后串聯(lián) :
后面開始計算詞分布:
其中 表示向量與矩陣的列進行 element-wise product,得到一個新的矩陣。, 表示問題中 個詞的權(quán)重系數(shù), 最后與 Q 中對應(yīng)詞的特征加權(quán)求和,得到第 時刻的控制向量 。
其實本質(zhì)上就是一個 Attention 的過程,其中 是查詢向量,計算 Q 中詞的 important weight 分布,只是文中計算方法相對復(fù)雜一些,按說可以直接用 dot-product 能達到類似效果,這樣 中就可以捕獲到當(dāng)前時刻應(yīng)該關(guān)注問題中哪些詞。
3.2.2 Read Unit
這部分主要是來衡量候選用戶的歷史記錄中, 哪些記錄與當(dāng)前問題更加相關(guān),其實類似從 H 中 retrieve 有用的信息。輸入就是根據(jù)控制向量 ,上一時刻的記憶向量 與歷史記錄集合 。
首先使用 MLP 計算 H 與 和 的交互特征矩陣:
得到的 與 均是與 H 同維度的矩陣,之后在使用 Attention 機制,來計算 H 中歷史回答的 weight,直接使用 MLP 的計算方法:,其中 ,因此最終得到候選用戶的歷史回答問題記錄的 score:。
這里需要注意的是后面并沒有使用 softmax 來 score 求歸一化后的 weight,而是使用Gumbel-softmax來得到 one-hot 的離散化的 weight。這樣做的目的是為了能夠找出在當(dāng)前時刻,某一個歷史記錄與當(dāng)前問題最相關(guān),直接將該歷史記錄拿出來進行后續(xù)計算。
但是一次 Gumbel-softmax 只能 point 一個相關(guān)的歷史記錄,因此一般情況,都會執(zhí)行多次 Gumbel-Softmax(應(yīng)該是多組計算 weight 的 MLP 參數(shù)),這樣可以得到多個歷史記錄,如下:
其中,k 表示執(zhí)行次數(shù), 表示在當(dāng)前 i 時刻, 第 j 次 Gumbel-softmax 所挑出的那個歷史記錄的表示向量。這里類似 self-attention 中的 multi-head。
之后再利用一個 Attention 機制,利用 和 作為 query vectors, 來對這 k 個選出的歷史記錄做一個 re-weight 如下:
這樣得到的向量 包含了在當(dāng)前控制向量與記憶向量參與下,候選用戶的歷史記錄信息最相關(guān)的部分,為了將前面時刻的信息包含進來,這里又做了一種類似殘差的操作,經(jīng)過 p 個 step 之后,最后的信息將所有的 r 聚合起來:。這里的 就可以作為候選用戶的表示了。
3.2.3 Write Unit
這部分自然就是更新記憶向量 了,利用 各自幾個 MLP 進行融合,最后利用一個簡單的 gate 門控,來判斷保留多少舊信息,和新加入多少新信息: ?。
這樣整個 RMC 就完成了一次更新。很多細節(jié)的內(nèi)容,不過回頭看,本質(zhì)上,control unit 與 read unit 就是兩個 Attention 模塊,其中 control unit 的 attention 為了選出當(dāng)前應(yīng)該關(guān)注問題中的哪些詞,read unit 中的 attention 則是為了找出候選用戶的歷史記錄中哪些與問題更相關(guān)。
而 memory 則代表一種全局信息,可以連接 和 。這是本文計算 Attention 的方法比較復(fù)雜,使用了非常多的 MLP。
3.3 預(yù)測模塊
這部分額就是預(yù)測候選用戶是否會回答這個問題,作為二分類問題,最后的特征向量,包含memory信息 ,問題向量 和RMC的輸出用戶向量 ,直接將所有step的r取平均作為最終的候選用戶的特征。
繼續(xù)使用 MLP 計算預(yù)測 logits:。模型使用 cross-entropy 來訓(xùn)練。
實驗
本文使用兩個 CQA 數(shù)據(jù)集如下:
在 CQA 中模型可以給出一個候選用戶 list,因此實驗使用 S@N(Successfule@N)也就是 recall@N 作為評價指標(biāo),即預(yù)測出的 TopN 中出現(xiàn)了 best answerer 即可。
首先看與 baselines 的對比實驗結(jié)果,前面提到文中使用了多種的 word embedding,因此根據(jù)使用的 Embedding 類型,設(shè)置了四種模型,其中基本模型為 RMRN,表示僅僅使用了 word embedding。
從實驗結(jié)果可以看出來:
標(biāo)準(zhǔn)的 RMRN 在一些數(shù)據(jù)集上無法取得最優(yōu)結(jié)果,或者與 baseline 差距非常小。
加上多粒度的 word embedding 的 RMRN+sub/ELMo/Enhanced 效果就明顯提高, 這個說明了模型的基本輸入很重要,原因應(yīng)該是在 CQA 語料中,非常多的口語化用語或者專業(yè)用語,導(dǎo)致 OOV 現(xiàn)象嚴(yán)重。另一方面也說明模型本身效果或許不是十分優(yōu)越。
另外一個有意思的消融實驗結(jié)果如下:
主要對 control unit, read unit?和 write unit 以及 predict 部分進行了 ablation study
從實驗中可以看出:
每個模塊對模型的性能都有一定影響。
對模型影響最大的還是預(yù)測層使用特征,三類特征都對模型有用。
read unit 中的 Gumbel-softmax 的作用也很明顯,換成 softmax attention 效果下降較多。
總結(jié)
這篇文章使用的 RMC 模塊能夠在一定程度上刻畫問題與候選用戶的深度聯(lián)系。RMC 的每個 Step 中,control unit 可以學(xué)習(xí)到問題中的一個詞重要性分布,read unit 可以根據(jù)當(dāng)前的詞重要分布,學(xué)習(xí)(Reasoning)出候選用戶的哪些歷史回答更相關(guān)。write unit 更新全局信息。
這樣多個 step 進行 recurrent,模型就可以學(xué)到更多的關(guān)聯(lián)信息。本文的模型描述非常詳細,完全可以根據(jù)模型復(fù)現(xiàn)。
此外,本文使用多粒度的詞特征,緩解 OOV 的問題,實驗證明效果得到了顯著提升。不過稍顯不足的是,作為核心的 RMC 帶來的效果提升并沒有那么明顯,另一方面就是缺少 Case Study,來直觀的表明 RMC 的幾個地方,是否匹配到了真正相關(guān)的詞和歷史記錄,不同 step 是否有遞進的 reasoning 能力。
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)習(xí)心得或技術(shù)干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標(biāo)準(zhǔn):
? 稿件確系個人原創(chuàng)作品,來稿需注明作者個人信息(姓名+學(xué)校/工作單位+學(xué)歷/職位+研究方向)?
? 如果文章并非首發(fā),請在投稿時提醒并附上所有已發(fā)布鏈接?
? PaperWeekly 默認每篇文章都是首發(fā),均會添加“原創(chuàng)”標(biāo)志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發(fā)送?
? 請留下即時聯(lián)系方式(微信或手機),以便我們在編輯發(fā)布時和作者溝通
????
現(xiàn)在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關(guān)注」訂閱我們的專欄吧
關(guān)于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的WSDM 2020 | RMRN:社区问答中的深度关联推理模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 货币基金和理财区别
- 下一篇: 乘联分会崔东树:2024 年 1-9 月