讓機器問你「好問題」,其實沒有那麼難丨解讀ACL2018最佳論文
來自專欄 DeepTech深科技12 人贊了文章
詢問是溝通的基礎。我們日常生交流中少不了詢問,機器要高效地協助人類完成各種工作也需要通過詢問來了解具體需求。
圖 | 通過詢問填補信息鴻溝:StackExchange上的求助帖。發帖者在設置環境變數時遇到了問題,幫助的人詢問其系統版本號後,發帖者修改帖子添加了缺失的信息。(圖源:http://askubuntu.com)
詢問的一個基本目標就是填補信息鴻溝,特別是那些詢問遺漏信息的澄清性問題。清晰精準地提問可以提高溝通效率,加快問題解決的速度。那麼怎樣的問題才是一個好問題呢?從一個角度來看,我們可以說,那些潛在答案更有用的問題是好問題。以上圖為例,StackExchange上有人發帖求助環境變數設置問題,但卻沒有提供系統版本相關信息。在這種情況下,我們可以用不同的方式提問:
a.你的Ubuntu系統版本號是什麼?
b.你的無線網卡是什麼牌子的?
c.你是否在x86 64架構上運行Ubuntu 14.10內核4.4.0-59-generic?
在此處,b顯然不是一個好問題,因為它的潛在答案不會給我們提供任何有用的信息。c也不是一個好問題,因為它太具體狹隘了,回答大概會是「是的」或者「我不知道」。a最為恰當,如上圖所示,發帖者的確通過修改帖子作出了回應。
你可能覺得判斷哪個是好的問題十分簡單,可教會機器做這件事卻不是那麼簡單,但卻非常富有意義。試想,如果發帖者在求助時,計算機自動列出一份清單,提醒他可能需要包含的信息,那麼就可以免去他人詢問和發帖者二次修改的過程,加快問題的解決進程。再比如,機器協助人類工作時,如果可以更精準地提出問題,工作的效率也將隨之提升。為了賦予計算機這種提問的能力,來自馬里蘭大學伯克利分校和微軟研究院的研究人員建立了數據集和神經網路模型對這一問題進行探索。介紹這項工作的論文近日被自然語言處理頂會ACL(Annual Meeting of the Association for Computational Linguistics)評選為最佳論文。
研究者首先針對這一問題建立了數據集。他們選擇StackExchange作為數據來源,這是一系列關於Ubuntu操作系統、latex 等話題的在線問答網站,每個網站專註於不同的領域。研究者選擇askubuntu, Unix和superuser 三個領域的問答建立起約包含7萬7千個帖子的數據集。每條數據由一個三元組組成:(post,question,answer),其中包含原貼,澄清性問題以及該問題的答案(即發帖者針對該問題修改帖子所增加的信息或專門針對該問題的回應)。
圖| 數據集詳情(圖源:arxiv)
在該數據集上,研究者將選擇最好的澄清性問題化為對一系列相關問題的排序問題,即對一系列問題進行排序,以此選出最佳澄清性問題。該模型的靈感來自於EVPI(Expected Value of Perfect Information ,完整信息期望值)理論。這個指標描述的是,針對一個隨機事件,擁有其完全信息時的最大期望值。也就是說,對於每一個問題q有一系列可能的回答,每個回答提供的信息的有用程度不同的。這一系列回答帶來的收益的期望值就是該問題的EVPI。研究者正是利用神經網路模型分別建模針對每一個問題的得到各個回答的可能性以及這些回答的效用,通過對模型的聯合訓練找到回答帶來的收益最高的問題,也就是最佳澄清性問題。
圖 | 測試過程 3.1:對於給定的帖子p,首先通過Lucene檢索與之最相似的10個帖子。利用針對這10個帖子的問題和答案組成候選集。3.2:通過神經網路對問題每個答案出現的概率建模。 3.3:計算各個答案的效用(圖源:arxiv)
針對給定的帖子,模型首先建立問題和答案的候選集。想想我們人類是如何提問題的呢?我們常常會參考其他人提出的相似問題。研究者也模仿這一行為,利用Lucene搜索與給定的帖子最相近的10個帖子,利用其下的提問和提取的答案建立候選集。Lucene是Apache一款可擴展的信息檢索工具,它利用TF-IDF(term frequency-inverse document frequency ,詞頻-逆文本頻率指數)來尋找相似話題的文本。
接下來模型針對每一個問題進行具體分析,得出該問題被各種可能答案回答的概率。首先根據問題和貼子生成各個答案的表徵向量,然後去計算候選集中各個答案之間的距離,再以此計算出該答案出現的概率。最後,通過EVPI計算各種答案可以帶來的收益,就可以得到每個問題收益值的期望,以此排序選出最佳的澄清性問題了。
圖| 答案表徵向量的生成:一個問題有多種問法,因此在生成答案的表徵向量時,不僅要與原答案相似,也要和與這個問題類似的其他問題的答案相似(圖源:arxiv)
研究者最初希望利用數據集中已有數據對模型效果進行評估。首先針對每一個帖子p,通過模型對問題候選集中的提問進行排序。由於該帖的原有提問也在候選集中,因此把原提問排到更高位置的概率就可以作為模型效果的衡量標準。然而這種方法有兩個問題:(1)數據集中有雜訊,原貼的問題中可能有一些無用的問題。比如「你是認真在提問嗎?」,這樣的問題顯然不應該排在前面。數據分析中發現,數據集中有約9%的無用問題。(2)候選集中其他答案都是與原貼相關的的帖子下的提問,這其中很可能存在比原貼下問題更好的問題。
為了建立更合理的評估方式,研究者招募了10位在基於Unix的操作系統方面頗有經驗的專家對問題進行標註,選出最佳問題(B:best)和可行的問題(V:valid),所有最佳問題也同時標註為可行問題。
針對這些標註的分析結果也十分有趣。研究者利用Cohen』s Kappa對結果進行一致性檢驗,「best」標註結果的一致性非常低,僅0.15。可見人類的語言變化萬千,人們對最佳提問方式本身也有著不小的分歧。不過,當研究者將限制放寬,衡量「best」和「valid」兩個標籤時的,一致性達到了0.87。
根據這些標註結果,72%的情況下至少有一個標註者將原答案標註為「best」,僅20%的情況下有兩位以上標註者同時標註為「best」。不過在88%的情況下至少有一人將其標註為「valid」,這也支持了研究人員關於數據集中雜訊的統計結果。
最終,研究者從數據集上選擇出500個樣本對模型效果進行評估。
圖 | 實驗結果。Random:對候選問題集中的十個問題隨機排序;Bag-of-ngrams :利用詞袋模型對帖子、問題和答案建模,根據預測出正向標籤的可能性大小進行排序;Community QA:SemEval2017 Community Question-Answering (CQA) 子任務冠軍模型;Neural:利用LSTM對帖子、問題和答案進行建模,再通過一個10層的神經網路進行預測。該模型與EVPI主要的區別在於損失函數。;EVPI:本論文提出的模型(圖源:arxiv)
從實驗結果中可以看出,EVPI模型在各個維度上均取得了最好的效果,在問題生成領域極具前景的模型。而這項工作中對於標註結果分析再次展示了自然語言領域的難點:人類的語言具有多樣性和模糊性。提問的方式是多種多樣的,即使是人類自己對某一特定領域的最佳的提問方式也存在巨大分歧,想讓機器找到答案更非易事。但是即使不能找到最佳,可以找到那些可行的,優秀的提問方式也是極具價值的。
推薦閱讀:
※法學學位論文寫作漫談
※論文:小兒上呼吸道感染的診斷和合理治療進展分析---中大網校臨床醫學論文網
※你選擇的文獻的水平,決定了你的論文質量!