讓問(wèn)答更自然 - 基于拷貝和檢索機(jī)制的自然答案生成系統(tǒng)研究
讓機(jī)器像人類(lèi)一樣擁有智能是研究人員一直以來(lái)的奮斗目標(biāo)。由于智能的概念難以確切定義,圖靈提出了著名的圖靈測(cè)試(Turning Test):如果一臺(tái)機(jī)器能夠與人類(lèi)展開(kāi)對(duì)話而不能被辨別出其機(jī)器身份,那么稱這臺(tái)機(jī)器具有智能。圖靈測(cè)試一直以來(lái)都被作為檢驗(yàn)人工智能的象征。問(wèn)答系統(tǒng)本身就是圖靈測(cè)試的場(chǎng)景,如果我們有了和人一樣的智能問(wèn)答系統(tǒng),那么就相當(dāng)于通過(guò)了圖靈測(cè)試,因此問(wèn)答系統(tǒng)的研究始終受到很大的關(guān)注。
傳統(tǒng)知識(shí)問(wèn)答都是針對(duì)用戶(使用自然語(yǔ)言)提出的問(wèn)句,提供精確的答案實(shí)體,例如:對(duì)于問(wèn)句“泰戈?duì)柕某錾卦谀膬海?rdquo;,返回“加爾各答”。但是,僅僅提供這種孤零零的答案實(shí)體并不是非常友好的交互方式,用戶更希望接受到以自然語(yǔ)言句子表示的完整答案,如“印度詩(shī)人泰戈?duì)柍錾诩訝柛鞔鹗?rdquo;。自然答案可以廣泛應(yīng)用有社區(qū)問(wèn)答、智能客服等知識(shí)服務(wù)領(lǐng)域。知識(shí)問(wèn)答中自然答案的生成在具有非常明確的現(xiàn)實(shí)意義和強(qiáng)烈的應(yīng)用背景。
與返回答案實(shí)體相比,知識(shí)問(wèn)答中返回自然答案有如下優(yōu)勢(shì):
1. 普通用戶更樂(lè)于接受能夠自成一體的答案形式,而不是局部的信息片段。
2. 自然答案能夠?qū)卮饐?wèn)句的過(guò)程提供某種形式的解釋?zhuān)€可以無(wú)形中增加用戶對(duì)系統(tǒng)的接受程度。
3. 自然答案還能夠提供與答案相關(guān)聯(lián)的背景信息(如上述自然答案中的“印度詩(shī)人”)。
4. 完整的自然語(yǔ)言句子可以更好地支撐答案驗(yàn)證、語(yǔ)音合成等后續(xù)任務(wù)。
但是讓知識(shí)問(wèn)答系統(tǒng)生成自然語(yǔ)言形式的答案并不是一件容易的事情。目前,基于深度學(xué)習(xí)的語(yǔ)言生成模型大多基于原始數(shù)據(jù)學(xué)習(xí)數(shù)值計(jì)算的模型,如何在自然答案生成過(guò)程中融入符號(hào)表示的外部知識(shí)庫(kù)是一個(gè)大的挑戰(zhàn)。另外,很多問(wèn)句的回答需要利用知識(shí)庫(kù)中的多個(gè)事實(shí),并且一個(gè)自然答案的不同語(yǔ)義單元(詞語(yǔ)、實(shí)體)可能需要通過(guò)不同途徑獲得, 回答這種需要使用多種模式提取和預(yù)測(cè)語(yǔ)義單元的復(fù)雜問(wèn)句,給自然答案的生成帶來(lái)了更大的挑戰(zhàn)。
為了解決這些問(wèn)題,中科院自動(dòng)化所的何世柱博士、劉操同學(xué)、劉康老師和趙軍老師在今年的 ACL2017 上發(fā)表了論文「Generating Natural Answers by Incorporating Copying and Retrieving Mechanisms in Sequence-to-Sequence Learning」,提出了端到端的問(wèn)答系統(tǒng) COREQA,它基于編碼器-解碼器(Encoder-Decoder)的深度學(xué)習(xí)模型,針對(duì)需要多個(gè)事實(shí)才能回答的復(fù)雜問(wèn)句,引入了拷貝和檢索機(jī)制,從不同來(lái)源,利用拷貝、檢索和預(yù)測(cè)等不同詞匯獲取模式,獲得不同類(lèi)型的詞匯,對(duì)應(yīng)復(fù)雜問(wèn)句中答案詞匯的不同部分,從而生成復(fù)雜問(wèn)句的自然答案。
▲ 圖1:COREQA 框架圖
那么具體是怎么做的呢? 這里以“你知道李連杰來(lái)自哪里嗎?” 這個(gè)問(wèn)題為例來(lái)說(shuō)明:
1. 知識(shí)檢索:首先要先識(shí)別問(wèn)題中的包含的實(shí)體詞。這里我們識(shí)別出的實(shí)體詞是:李連杰。然后根據(jù)實(shí)體詞從知識(shí)庫(kù)(Knowledge Base,KB)中檢索出相關(guān)的三元組(主題,屬性,對(duì)象)。針對(duì)李連杰這個(gè)實(shí)體,我們可以檢索出(李連杰,性別,男),(李連杰,出生地,北京),(李連杰,國(guó)籍,新加坡)等三元組。
2. 編碼(Encoder):為了生成答案,我們需要將問(wèn)題和檢索到的知識(shí)編碼成向量,以便后續(xù)深度生成模型利用。
問(wèn)題編碼:使用了雙向 RNN(Bi-RNN),用兩種方式來(lái)表示問(wèn)題:一種是將兩種方向 RNN 狀態(tài)向量拼在一起,得到向量序列 Mq;另外一種方式是把每個(gè)方向 RNN 的最后一個(gè)向量拿出來(lái)拼在一起,得到向量 q,用來(lái)整體表示問(wèn)題句子。
知識(shí)編碼:使用了記憶網(wǎng)絡(luò)(Memory Network),對(duì)知識(shí)檢索階段得到的知識(shí)三元組分別進(jìn)行編碼。針對(duì)一個(gè)三元組,用三個(gè)向量分別表示各部分,再將它們拼接在一起,變成一個(gè)向量 fi 來(lái)表示這個(gè)三元組,用 Mkb 表示所有三元組向量。
3. 解碼(Decoder):接下來(lái)根據(jù)答案和知識(shí)的編碼向量來(lái)生成自然答案。自然答案雖然是詞序列,但是不同的詞可能需要通過(guò)不同途徑獲得。例如:對(duì)于上述問(wèn)題的答案“李連杰出生在北京,它現(xiàn)在是一個(gè)新加坡公民。”,詞語(yǔ)“李連杰”需要從源問(wèn)句中拷貝得到,實(shí)體詞“北京”,“新加坡”需要從知識(shí)庫(kù)中檢索得到,而其他詞如“出生”、“在”,“現(xiàn)在”等需要通過(guò)模型預(yù)測(cè)得到。因此,這里在標(biāo)準(zhǔn)的序列到序列(Sequence-to-Sequence)模型基礎(chǔ)上,融合了三種詞語(yǔ)獲得模式(包括拷貝、檢索和預(yù)測(cè)),用統(tǒng)一的模型對(duì)其建模,讓各種模式之間相互競(jìng)爭(zhēng)相互影響,最終對(duì)復(fù)雜問(wèn)題生成一個(gè)最好的自然答案。
▲ 圖2:COREQA 解碼示例圖
為了檢驗(yàn)?zāi)P偷男Ч?,論文分別在模擬數(shù)據(jù)集(由 108 個(gè)問(wèn)答模板規(guī)則構(gòu)造的問(wèn)答數(shù)據(jù))和真實(shí)數(shù)據(jù)集(從百度知道獲取的 239,934 個(gè)社區(qū)問(wèn)答數(shù)據(jù))上進(jìn)行了實(shí)驗(yàn),在自動(dòng)評(píng)估和人工評(píng)估上均取得了不錯(cuò)的結(jié)果。
談到以后的工作,何世柱博士表示:“ COREQA 模型目前還是過(guò)于依賴學(xué)習(xí)數(shù)據(jù)。從實(shí)驗(yàn)結(jié)果可以看出,在模擬的人工數(shù)據(jù)上幾乎可以有完美的表現(xiàn),但是在真實(shí)的數(shù)據(jù)上還是差強(qiáng)人意。究其原因還是該模型本質(zhì)是對(duì)原始數(shù)據(jù)的擬合,學(xué)習(xí)一個(gè)輸入問(wèn)題(詞序列)到輸出答案(詞序列)的映射函數(shù),特別是非實(shí)體詞(即,不是拷貝和檢索得到的詞)常常預(yù)測(cè)得不準(zhǔn)確。這是該模型最大的問(wèn)題,我們計(jì)劃加入一些外部的人工知識(shí)對(duì)模型進(jìn)行調(diào)整,對(duì)現(xiàn)有模型進(jìn)行改進(jìn)。另一個(gè)不足是目前只能利用三元組形式表示的知識(shí)庫(kù),并假設(shè)答案實(shí)體就是三元組的 object 部分,其實(shí)該假設(shè)對(duì)很多問(wèn)題并不成立,另一個(gè)可能的改進(jìn)方向就是利用不同表示方式的知識(shí)庫(kù)。另外,該模型也可以應(yīng)用于機(jī)器翻譯等任務(wù),可以讓語(yǔ)言生成模型能外部知識(shí)資源進(jìn)行交互。”
而對(duì)于問(wèn)答系統(tǒng)未來(lái)的發(fā)展,何世柱博士也有一些自己的的看法:“據(jù)我了解,真實(shí)的工程實(shí)踐上,問(wèn)答系統(tǒng)還是使用模板和規(guī)則,很少或者根本不會(huì)用到統(tǒng)計(jì)模型,更別說(shuō)深度學(xué)習(xí)的模型了。而目前在研究界,問(wèn)答系統(tǒng)幾乎全部采用深度學(xué)習(xí)模型,甚至是完全端到端的方法。究其原因,我個(gè)人認(rèn)為問(wèn)答系統(tǒng)是一個(gè)系統(tǒng)工程,而不是一個(gè)純粹的研究任務(wù),目前研究界對(duì)問(wèn)答系統(tǒng)還沒(méi)有一個(gè)統(tǒng)一的范式(不像信息檢索、機(jī)器翻譯、信息抽取等任務(wù)),因此,未來(lái)問(wèn)答系統(tǒng)可能需要總結(jié)出一個(gè)或幾個(gè)通用范式和流程,可以分解為若干子任務(wù),這樣會(huì)更易于推動(dòng)問(wèn)答的研究發(fā)展。另外,問(wèn)答系統(tǒng)效果無(wú)法達(dá)到實(shí)用,其問(wèn)題還沒(méi)有分析清楚,是知識(shí)資源不完備,還是知識(shí)表示的異構(gòu)性,或者是理解自然語(yǔ)言問(wèn)題的挑戰(zhàn)?最后,我認(rèn)為,問(wèn)答系統(tǒng)這類(lèi)需要大量知識(shí)的任務(wù),在數(shù)據(jù)規(guī)模難以大規(guī)模擴(kuò)展的情況下,融合統(tǒng)計(jì)模型和先驗(yàn)知識(shí)(萃取的知識(shí)庫(kù)、語(yǔ)言知識(shí)、常識(shí)等)是可行的發(fā)展方向。”\
論文作者 | 何世柱、劉操、劉康、趙軍(自動(dòng)化所&中科院大學(xué))
特約記者 | 王哲(中國(guó)科學(xué)技術(shù)大學(xué))
歡迎查看論文原文: