圖 2 智能問答系統(tǒng)
在某種意義上,現(xiàn)在已經(jīng)存在這種系統(tǒng)的原型,例如,互聯(lián)網(wǎng)搜索引擎就可以看作是其簡化版。但是要真正構(gòu)建人類的智能信息助手,還有許多難關(guān)要攻克,有許多課題要解決。
知識(shí)問答的本質(zhì)問題是:(1)語義分析,即將輸入的自然語言的表示映射到內(nèi)部的語義表示;(2)知識(shí)表示,即將輸入的信息知識(shí)轉(zhuǎn)換為內(nèi)部的語義表示。最大的挑戰(zhàn)來自語言的多義性和多樣性,以及知識(shí)的模糊性。
語言具有多義性(ambiguity),也就是說一個(gè)表達(dá)可以表示不同的意思。下面是語言學(xué)家查爾斯·菲爾默(Charles Fillmore)給出的例子。英語單詞 climb,其基本語義是四肢用力沿著一條軌跡向上移動(dòng),表示「向上爬」的意思。所以如果用 climb 造句,大家一般會(huì)給出這樣的句子「The boy climbed the tree」(男孩爬上了樹)。但是 climb 一詞的語義會(huì)向不同方向擴(kuò)展,可以說「Prices are climbing day by day」(物價(jià)每日飆升),這里 climb 就沒有了四肢用力移動(dòng)的意思。也可以說「He climbed out of a sleeping bag」(他從睡袋中爬出),這里 climb 就沒有了向上移動(dòng)的意思。語言的詞匯都具有如下性質(zhì):有一個(gè)核心的語義,對應(yīng)一些典型說法,可以由一些特征表示。但部分特征可以缺失,形成新的語義,產(chǎn)生新的說法。語言中,除了詞匯的多義性,還有句法的多義性。
同時(shí)語言也具有多樣性(variability),也就是說多個(gè)表達(dá)可以表示同一個(gè)意思。比如,「地球和太陽的距離」,「地球離太陽有多遠(yuǎn)?」,「太陽和地球相隔有多少公里?」等,都是同義表達(dá)。
人們的知識(shí),特別是常識(shí),具有模糊性(fuzziness)。下面是人工智能研究的先驅(qū)者特里·維諾格拉特(Terry Winograd)給出的例子。英文中,bachelor 是指未婚成年男性,即單身的意思。看似是一個(gè)明確的概念,但是當(dāng)我們判斷現(xiàn)實(shí)中的具體情況時(shí),就會(huì)發(fā)現(xiàn)我們對這個(gè)概念的認(rèn)識(shí)是模糊的,比如,未婚父親是否是 bachelor?假結(jié)婚的男子是否是 bachelor?過著花花公子生活的高中生是否是 bachelor?大家并沒有一致的意見。
神經(jīng)符號處理
近年,深度學(xué)習(xí)給自然語言處理帶來了巨大變化,使機(jī)器翻譯、對話等任務(wù)的性能有了大幅度的提升,成為領(lǐng)域的核心技術(shù)。但是另一方面,深度學(xué)習(xí)用于自然語言處理的局限也顯現(xiàn)出來。面向未來,深度學(xué)習(xí)(神經(jīng)處理)與傳統(tǒng)符號處理的結(jié)合應(yīng)該成為一個(gè)重要發(fā)展方向,神經(jīng)符號處理(neural symbolic processing)的新范式被越來越多的人所接受,其研究也取得初步進(jìn)展。
圖 3 基于神經(jīng)符號處理的智能問答系統(tǒng)
深度學(xué)習(xí)用實(shí)數(shù)向量來表示語言,包括單詞、句子、文章,向量表示又稱為神經(jīng)表示(neural representation)。神經(jīng)表示的優(yōu)點(diǎn)在于其穩(wěn)健性,可以更好地應(yīng)對語言的多義性和多樣性,以及語言數(shù)據(jù)中的噪音。另一方面,傳統(tǒng)的符號表示(symbolic representation)的優(yōu)點(diǎn)在于其可讀性和可操作性。語言是基于符號的,計(jì)算機(jī)擅長的是符號處理,用符號表示語言處理的結(jié)果是自然的選擇。神經(jīng)符號處理旨在同時(shí)使用神經(jīng)表示與符號表示來描述語言的語義,發(fā)揮兩者的優(yōu)勢,更好地進(jìn)行自然語言處理。
基于神經(jīng)符號處理的智能問答系統(tǒng)也是由語言處理模塊、短期記憶、長期記憶、中央處理模塊組成,如圖 3 所示。語言處理模塊又由編碼器和解碼器組成。編碼器將自然語言問題轉(zhuǎn)換為內(nèi)部的語義表示,存放在短期記憶中,包括符號表示和神經(jīng)表示。中央處理模塊通過問題的語義表示,從長期記憶中找出相關(guān)的信息和知識(shí)。長期記憶中的信息和知識(shí)也是基于符號表示和神經(jīng)表示的。找到相關(guān)的答案后,解碼器把答案的語義表示轉(zhuǎn)換為自然語言答案。
最新進(jìn)展
實(shí)現(xiàn)問答系統(tǒng)有三種方法,分別是基于分析的、檢索的、生成的方法。通常是單輪對話,也可以是多輪對話。這里考慮單輪的基于分析的問答系統(tǒng)。