摘要:表格問答是一種針對天然語言問題,根據表格內容給出答案的任務。
表1是一張綜藝節目收視率報表,假如你須要瞭解市場份額在3%以上的綜藝節目,你會選擇採用什麼樣的方法?數據庫
首先,用肉眼去篩選知足條件的數據,是最方便直觀的方法,但顯然也是效率最低的一種方式。咱們能夠採用一些工具,如Excel等,或者你能夠選擇將表格導入數據庫,而後使用數據庫語言來進行高效的檢索。可是,並非全部人都懂SQL語法,甚至不少用戶都沒有接觸過Excel。segmentfault
這些專業工具的使用難度限制了非技術用戶,給數據分析和使用帶來了較高的門檻,因此咱們但願設計一種經過天然語言來對錶格數據進行檢索、計算等操做的系統,因而就有了表格問答。ide
表1:綜藝節目收視率報表工具
表格問答是一種針對天然語言問題,根據表格內容給出答案的任務,它的任務能夠描述爲:輸入一個表格集合T(包含一個或多個表格)和一個天然語言形式的問題Q,輸出正確的答案A。優化
有了表格問答,用戶在查詢這些表格的內容時,能夠直接經過天然語言與表格進行交互,如打字或者語音輸入,而且能夠獲得直接結果,甚至是報表,大大下降數據分析門檻,爲普通用戶帶來高效又天然的數據查詢、分析和計算體驗。搜索引擎
表格問答主要經歷了三個階段:數據庫天然語言接口、NL2SQL以及複雜表格問答系統。spa
表格問答的研究最先能夠追溯到數據庫天然語言接口NLIDB(Natural Language Interfaces to Databases )。翻譯
NLIDB是一種容許用戶經過輸入某種天然語言表示的請求來訪問存儲在數據庫中的信息的系統。國外NLIDB的研究起始於20世紀60年代,80年代最爲活躍,受制於有限的天然語言理解能力,90年代熱度開始衰減。設計
這段時間內出現了不少NLIDB系統:如微軟的English Query,IBM的Language Access,以及BIM的LOQUI等等。中文NLIDB的研究始於20世紀70年代末期,後續也出現了一些中文實驗模型與系統如NChiql,NLCQI,RChiQL,以及WTCDIS等等。這些系統主要是基於規則的方法,關鍵步驟主要是詞法分析、語法分析、語義分析和生成SQL語句。blog
NLIDB是TableQA的前身,但它不是真正意義上的QA,而是一種把天然語言翻譯成數據庫語言的接口。它們徹底依賴於規則與模板,對天然語言的約束較多,語言理解能力差,不具有較強的泛化能力。
表格問答的主流技術之一就是讓天然語言更加準確地轉換成SQL語言,這種方法被稱爲(Natural Language to SQL)NL2SQL。NL2SQL的主要任務就是將用戶的天然語言語句轉化爲計算機能夠理解並執行的規範語義表示,與KBQA相似只不過KBQA的目標邏輯形式是SPARQL。NL2SQL有許多開源數據集,如表2所示,其中最爲普遍使用的數據集,有WikiSQL、Spider等。
表2:NL2SQL數據集彙總
WikiSQL是最經常使用的公開評測數據集之一,它所包含的NL2SQL任務比較簡單,主要是單表單列查詢,能夠進行最大、最小、計數、求和以及平均聚合操做,支持大於、小於和等於的條件比較,僅支持「AND」的條件連接方式。
Spider數據集是目前領域內最困難的數據集之一,訓練集有7000條數據,對應140個數據庫,驗證集有1034條數據,對應20個數據庫,數據庫名不重合。它支持多表多列查詢,包含複雜的子查詢,以及更多的聚合操做、條件操做和排序操做等。
近年來,NL2SQL在中文領域也出現了一些優質的數據集,例如TableQA、DuSQL等。
隨着對話領域的不斷完善和發展,一些表格問答系統逐漸具有了上下文理解能力,表格問答與通常對話機器人的融合不斷深刻,造成了較爲複雜的表格問答系統。這些系統不只可以簡單的單輪問詢,還能實現多輪對話,返回結果也從簡單的結果集合變成了豐富的天然語言形式回答。
圖1:複雜表格問答系統
據Google2015年對互聯網數據的統計,僅英文網頁中包含的表格數目就有數百億,說明表格的數據量十分巨大。不只如此,表格數據高度結構化,不一樣表格之間沒必要遵循統一的本體結構和命名規範,表格的編輯和修改能夠高效進行,具備較強的可編輯性和時效性。這些特色使得表格問答可以在諸多應用場景發揮重要的做用。
表格問答具備兩個重要的研究方向:結合智能交互,支持對結構化數據查詢與問答;優化搜索引擎,智能並高效地檢索結構化文本。結合這兩個研究方向,在如下應用場景中可以發揮重要做用:保費查詢、客戶信息查詢等內部業務數據查詢;覆蓋行情信息、行業研報報表、財務報表等結構化數據;支持酒店信息、火車票與飛機票查詢等出行場景問答;商品銷量、商品詳情、商品篩選與推薦等電商場景;產品信息、活動細則等新零售場景問答;話費查詢、繳費查詢、業務查詢等平常生活問答。
表格問答具備普遍的應用場景,可是在工程實現上也存在不少問題:
表格的識別及規範化表示:表格默認以第一行爲表頭,但在實際挖掘表格中,有三種狀況:以第一行爲表頭,以第一列爲表頭,或者第一行和第一列共同表示表格;挖掘的表格存在信息缺失問題,如表名缺失、表格值不全等;同時,面對多個表格時缺失表間連接關係。
外界知識的利用:有一些常識信息不包含在表格中,如排序操做的方向判斷(列爲「出生日期」,問題爲「年齡最大的員工」)、表格值進制轉換(列爲「人口(億)」,問題爲「人口超5千萬的城市」)等,這些信息須要引入外界知識來協助SQL生成。
融進漸進式對話:對於用戶的歧義表達和模糊表達,須要有「提問-反饋-再提問」的過程,這類問題每每須要經過多輪對話解決,而用戶的問題一般是上下文相關的,所以須要模型具有基於上下文的理解和分析能力。
表格問答具有很高的研究價值和商業價值,不少友商和研究機構都正在致力於表格問答的商業化和研究。與此同時,表格問答也存在不少技術難題和工程難題,在表格問答的研究道路上還有很長的路要走。