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