1. 程式人生 > >自動問答技術簡介

自動問答技術簡介

轉載自:http://baidutech.blog.51cto.com/4114344/1033633/

原文時間:2012-10-22 14:24:40

瀏覽:1081次  出處資訊

引言

    無論是蘋果公司iPhone上火熱的應用Siri,還是去年2月在美國電視競答節目Jeopardy中打敗人類冠軍的Watson,都與“自動問答”直接相關。什麼是自動問答,自動問答產品能帶來什麼好處,百度有什麼樣的自動問答產品,本文將用通俗的語言為您一一道來。

圖 1 Siri(左)和Watson(右)

    自動問答是自然語言處理領域的一個重要方向,旨在讓使用者直接用自然語言提問並獲得答案。例如,使用者詢問“百度大廈在哪兒?”,問答系統回答“北京市海淀區上地十街10號”。

    從使用者的角度看,自動問答是一種簡單且簡潔的資訊獲取方法。使用者直接用自然語言與問答系統互動,而無需考慮使用什麼樣的關鍵詞組合表示自己的意圖,所以簡單;問答系統直接返回問題的答案,使用者無需從冗長的相關文件中自己尋找答案內容,所以簡潔。

傳統的自動問答技術

    傳統的自動問答系統包括三個主要部分:問題分析、資訊檢索和答案抽取。結構關係如下:

圖 2 傳統的自動問答系統的組成部分

    問題分析的目的是分析問題的語義型別,確定使用者提問的意圖,即使用者是詢問時間、地點還是詢問實體、實體屬性或者其他,並提取問題中的關鍵詞。例如,使用者詢問“劉德華的生日”,經過問題分析後,確定使用者是詢問人物的某個屬性,並提取該問題的兩個關鍵詞“劉德華”和“生日”。另外,因為文件中的潛在答案與問題的關鍵詞不一定完全一致,想找“西紅柿炒雞蛋”,文字中只出現“番茄炒雞蛋”,為了獲得更高的召回率,還需要對關鍵詞進行擴充套件。

    資訊檢索是根據問題分析得到的關鍵詞及其擴充套件形式從線上或者離線的文件庫中檢索相關文件。例如,將問題的關鍵詞提交線上的搜尋引擎,獲取返回結果中排序最前的若干相關文件。

    答案抽取是從檢索得到的相關文件中抽取答案。根據問題型別的不同,答案形式也不盡相同,可能是一個詞語、一個句子,也可能是一個段落或者更長的文字串。以抽取句子作為答案為例,按照一定的策略(如計算問句與候選答案的相似度)計算句子的權重,根據權重大小對句子進行排序得到候選答案列表,並根據問題型別或者其他選取策略篩選獲得最終答案。

百度的自動問答產品

    百度的自動問答產品由百度自然語言處理部、知識搜尋部等部門的工程師聯合開發。目前系統已應用於

百度知道。使用者在檢索框輸入問題後點擊下方的“我要提問”,就得到自動問答的結果啦。

圖 3 百度自動問答產品入口

    且看自動問答系統如何回答“姚明的身高是多少”和“水煮牛肉的做法”,回答靠譜吧?

圖 4 自動問答系統的回答例項

圖 5 自動問答系統的回答例項

百度自動問答的組成部分

    百度的自動問答系統是如何答出上面的問題呢?下面就看一下從使用者輸入問題,到自動問答給出答案,這中間都發生了什麼。

    百度的自動問答系統包括問題分析、答案抽取這兩個主要模組。使用者的問題依次經過這兩個模組的處理。俗話說,巧婦難為無無米之炊,這兩個模組不是自動問答系統的全部,背後還有一個巨大的知識庫作為支撐,可以更準確更迅速的獲取答案。技術框架如下:

圖 6百度自動問答系統的組成部分

    問題分析模組對使用者的提問進行分析,確定問題的語義型別,預測答案的型別,例如答案是回答人物、時間、地點或者還是回答人物的年齡、商品的價格等;判斷使用者的提問是否為確定性問題,對於有明確具體答案的確定性問題,分析問題的結構並直接定位使用者的所求。

    答案抽取模組從知識庫中檢索問題的答案並返回給使用者。對於確定性問題,根據問題的要點直接檢索Ontology並返回答案;對於非確定性問題或者未找到答案的確定性問題,通過檢索優質問答資源獲取答案,即計算使用者的提問與優質問答資源中的問題的相似度,獲取相同問題或同義問題,直接返回滿足提問的答案。

    可以看出,影響自動問答的準確率主要有兩個方面,一是知識庫的容量是否足夠大,儲存的資源是否準確可靠;二是非確定性問題或者未找到答案的確定性問題,檢索結果是否與原問題一致。

    通過多重策略可以保證知識庫資源的準確。首先,選擇可靠的知識站點和其他web站點進行知識挖掘;第二,利用冗餘資訊對挖掘得到的資源進行驗證;第三,利用多種策略對挖掘結果進行過濾。另外,定期和不定期地對知識庫的內容進行更新,增加新的資源並濾除其中雜質。正所謂,“問渠那得清如許,為有源頭活水來”。

    保證檢索結果與使用者的提問相一致依賴於一個祕密武器,“語義相似度計算”,這裡不再贅述,有興趣的且聽下回分解。

百度自動問答的特點

    與傳統的自動問答技術相比,百度的自動問答系統具有如下特點:

    1)       快速響應

    因為百度自動問答系統有巨大的知識庫作為支援,對於滿足條件的問題可以直接從知識庫中獲取答案,節省了資訊檢索和答案抽取的時間。

    2)       較高準確率

    傳統的自動問答從文件庫中動態抽取答案,準確率方面難以滿足使用者需求。百度自動問答系統的知識庫的內容經過多重驗證並且持續更新,因此自動問答的結果能夠準確地回答使用者的提問,提高了使用者的體驗。

    3)       開放的回答領域

    依賴於知識庫中開放領域的問答資源,百度的自動問答系統可以回答的問題領域也是開放的,面向使用者的各種需求。可以是學習型的“三個火字念什麼”,也可以是生活型的“宮爆雞丁的做法”,甚至可以是無聊型的“講個笑話吧”。

    4)       質量不斷提升

    知識庫中的資源的數量在持續增加,質量也在不斷提升。知識庫的更新方式包括定期手動新增資源以及實時自動挖掘資源,用更合適的問答資源替換現有的部分。因此,問答的準確率和召回率會逐步遞增。

結語

    自動問答作為一種快速方便地獲取資訊的技術,在資訊爆炸的今天,將會發揮越來越大的作用,為人們提供更多的便捷。有什麼想知道的,“百度自動問答”一下吧。

by Zou Hongjian, Hu Dawei, Fang Gaolin