3
雷鋒網按:本文作者,雷鋒網獨家首發(fā)文章。
科研界和工業(yè)界的關系往往是,科研界負責生產原材料,工業(yè)界負責把原材料進行加工料理,最終給用戶端上一盤饕餮盛宴。正如20年前,谷歌利用PageRank這個原材料,做出了現(xiàn)在世界上最貴的一道菜,谷歌搜索引擎。
在上個月的CNCC2016演講中,搜狗CEO王小川提出,輸入法的未來方向是自動問答。這句話告訴我們搜狗廚房已經準備好做菜自動問答了,那么讓我們看看自動問答這道菜的原材料如何,如果原材料不好想必導致巧婦難為無米之炊。自動問答粗略的進行劃分,可以劃分為:
基于文本的抽取式問答技術,和基于知識庫的生成式問答技術。
首先,我們看一看基于文本的抽取式問答。
此類技術在學術界又有著幾個分支:社區(qū)問答(CQA),網頁問答(WebQA),文本問答(TextQA),閱讀理解(Machine Comprehension)。對應的工業(yè)界應用有百度知道(社區(qū)問答),搜索引擎直接回復(WebQA)。
此技術通俗點說就是讓機器學會篩選,用戶給定一個問題,機器通過各種各樣的算法從自己的語料庫中選一個答案回來。
類似于機器是一個超級圖書管理員,知道自己的庫里面有啥書,用戶一問就從自己的圖書館里面查詢有沒有相關的;但是這個管理員推理能力不強,如果用戶的描述不大清晰,或者網上沒有,那這次查詢就失敗。
首先我們來看兩個例子,分別是百度知道(CQA),谷歌的搜索推薦(TextQA或者是WebQA)。
谷歌中如果在英文市場下搜索英文(經測試中文并不支持),很多問題谷歌將自動給出答案,并把詳細的步驟列出。
下面,我們拿CQA進行舉例(其他的基于文本抽取的問答技術均大同小異,均是依靠各式各樣的文本相似度計算技術),文本相似度計算一直是計算機人工智能領域研究的重點問題,主要有三大類相關技術。
語言模型:語言模型依靠數(shù)兩個文本重疊詞語個數(shù)來判斷相似度。
對于文本a中的任意一個詞w,計算w在不在文本b中出現(xiàn),如果出現(xiàn)就給個高分,不出現(xiàn)就給個很低的分(到底多低要看這個詞在整個語料庫中的重要程度),最后把文本a所有詞的得分累計起來就是最后a與b的相似度。
翻譯模型:翻譯模型為了解決a文本和b文本中意思接近但不是同一個詞語的問題,例如“中文”和漢語。
首先利用翻譯模型將兩段來自同一語言的文本(往往是社區(qū)問答的問題和答案)進行詞對齊訓練,之后就可以得到詞到詞的轉移概率。有了這個表,再計算某個詞是否在另一段文本中出現(xiàn)就并不是非黑即白的事情了,還要考慮近義詞的轉移概率。()
3. 深度學習模型:深度模型研究問答匹配技術如雨后春筍般涌現(xiàn),而且已經證明比傳統(tǒng)方法有效(Jeff Dean在WSDM2016講谷歌的搜索算法特征貢獻的前三名均是基于深度學習的)。
具體的有,谷歌論文中基本的CNN應用,Socher提出的基于Tensor匹配,華為所提出的一系列二維匹配模型。
那么我們首先看一看此類問答的技術到底能做到什么程度,WSDM是信息檢索和數(shù)據(jù)挖掘的大會,在今年年初WSDM上,微軟亞洲研究院自然語言處理組公開過一個百度知道的社區(qū)問答數(shù)據(jù)集,此數(shù)據(jù)集已經過人工標注,標注返回的問題是否滿足用戶的查詢,數(shù)據(jù)集可供下載,均為百度知道上常見問題,用0和1標注兩個問題是否相關。
經過當時作者的實驗,如果我們只把排名最高的拿出來判斷對不對,基于語言模型的可以讓準確率達到68%,基于翻譯模型的可以到達70%,基于詞向量的方法可以達到73.8%。由于技術還在發(fā)展,可以想象基于一些復雜深度學習技術的模型可以達到將近80%的準確率。
那么百分之八十意味著什么呢?
常見問題肯定做得好,不常見的無能為力。
例如上圖,xp靠什么建立wifi,光靠字符匹配大部分正確的相似問題已經被撈回來了,所以一旦這類問題向機器提問,機器一定能做得很好,圖書管理員合格。然而底下的問題,勞務派遣靠什么掙錢就不一樣了,問題比較奇葩,候選的問題中相關的就少,唯一正確的還是福建一個公司勞務派遣如何掙錢,這樣機器這個圖書管理員就搞不定了。圖書館里沒一樣的書,而唯一相似的還需要一些推理。
這就是現(xiàn)在基于文本抽取的自動問答現(xiàn)狀,常見問題可以搞定,不常見的無能為力。
于是,我們可以預想以后的輸入法如果用自動問答作為入口,結果一定是他可以從一定程度幫助我,但是難度大的問題,仍然不行。
基于知識庫的問答技術,往往通過一個已有的知識庫(例如維基百科,F(xiàn)reeBase等)回答用戶的問題,其中主要利用語義解析器將問題的主謂賓等成分抽取出,最終推理出對應的答案。這項技術算是一個新興的領域,自從知識圖譜概念火熱起來才漸漸被人們重視。
用一句話概括現(xiàn)狀是是:
特別簡單的才可以,稍微轉個彎就懸了。
基于知識庫的問答往往有兩條路——
一條路是斯坦福學派的CCG Parser,一種特殊的語義分析器來理解自然語言問題;
另一條,近年來大火的深度學習。
各種各樣的深度學習模型在近幾年的學術界大殺四方,讓基于知識庫的問答技術有了質的飛躍。典型的文章有去年ACL獲獎論文,來自MSR的Semantic Parsing via Staged Query Graph Generation: Question Answering with Knowledge Base
然而縱使重武器應用到了這個領域,仍然效果不是很理想。例如,WebQuestion是一個基于知識庫的問答統(tǒng)一評測的數(shù)據(jù)集。
其中的典型問題有:
what does jamaican people speak?
what did james k polk do before he was president?
what is the oregon ducks 2012 football schedule?
我們人看這些問題感覺特別簡單,稍微經過一些推理就可以回答,然而非常讓人尷尬的是,在這份數(shù)據(jù)集上,最好的模型只有50%多的準確率,即利用知識庫只能準確回答一半網絡上的問題。更何況這是學術論文,模型都是精調且不考慮效果的情況下。
并且基于知識庫的問答技術一個比較大的局限是,他非常依賴其他相關自然語言處理技術,例如實體鏈接(即如何區(qū)分蘋果指水果還是公司),知識庫質量(如果知識庫都錯了,或者沒有,更回答不了)。所以知識庫的問答技術在系統(tǒng)實現(xiàn)上要比文本抽取式難一些,且耗費更大人力。
基于文本抽取的問答技術現(xiàn)在扛起了大部分問答系統(tǒng),絕對是可以工業(yè)界使用的,相信搜狗的輸入法如果好好做會達到并不低于百度知道的效果。然而基于知識庫的問答技術仍然是學術界的玩具,仍然需要一個又一個技術突破。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。