黃沛杰,黃 強(qiáng),吳秀鵬,吳桂盛,郭慶文,陳楠挺,陳楚萍
(華南農(nóng)業(yè)大學(xué) 信息學(xué)院,廣東 廣州 510642)
問(wèn)題理解是口語(yǔ)對(duì)話(huà)系統(tǒng)中的一個(gè)關(guān)鍵步驟,它的目標(biāo)是讓計(jì)算機(jī)自動(dòng)分析和理解人們用自然語(yǔ)言提出的問(wèn)題,確定問(wèn)題的語(yǔ)義組織方法、查詢(xún)策略和應(yīng)答的方式。只有在準(zhǔn)確理解用戶(hù)問(wèn)題的情況下,系統(tǒng)才能較好地回答問(wèn)題。然而由于中文的弱語(yǔ)法性,以及口語(yǔ)的特點(diǎn),中文口語(yǔ)問(wèn)句的表達(dá)多樣性給問(wèn)題理解帶來(lái)了很大的挑戰(zhàn)。
國(guó)內(nèi)外已有的對(duì)話(huà)(聊天)機(jī)器人,如國(guó)外的ELIZA[1]、PARRY[2]和ALICE[3],國(guó)內(nèi)的清華大學(xué)圖書(shū)館“小圖”[4],機(jī)器人小I[5],以及騰訊小Q等,這些系統(tǒng)可以與用戶(hù)進(jìn)行基于自然語(yǔ)言句子的交互,并已被廣泛應(yīng)用到機(jī)器助理,比如反恐支持平臺(tái)[6]、計(jì)算機(jī)輔助英語(yǔ)學(xué)習(xí)[7]和健康咨詢(xún)[8]等。然而,這些聊天機(jī)器人只能正確回應(yīng)極少數(shù)的問(wèn)題,它們幾乎都是基于完全精確匹配或者很弱的模糊匹配的模版來(lái)搜索回答[9]。由于缺乏足夠的智力基礎(chǔ)[10],并沒(méi)有真正“理解”用戶(hù)的問(wèn)題。
基于自然語(yǔ)言理解技術(shù)的對(duì)話(huà)系統(tǒng)研究方面,從90年代初期DARPA發(fā)起的航線信息查詢(xún)系統(tǒng)(Airline Travel Information System,ATIS)項(xiàng)目開(kāi)始,一般采用填槽法(Slot filling)或者叫填表法(Form filling)來(lái)實(shí)現(xiàn)語(yǔ)義理解。這些系統(tǒng)的語(yǔ)義表示是每個(gè)子任務(wù)(比如訂票、 查詢(xún))采用一個(gè)框(Frame),每個(gè)框有一些針對(duì)具體子任務(wù)預(yù)定義的槽(Slot),這類(lèi)系統(tǒng)中的問(wèn)題理解就在于從用戶(hù)輸入句子中為一個(gè)給定的框中的每個(gè)槽 (比如目的地、出發(fā)日期) 提取填充的信息。一些系統(tǒng)采用了數(shù)據(jù)驅(qū)動(dòng)的統(tǒng)計(jì)方法,如AT&T的CHRONUS[11]和BBN的隱理解模型[12],另一些則采用基于知識(shí)的方法如MIT的TINA[13]、CMU的Phoenix[14]和SRI的Gemini[15]。之后的研究推廣到了更為復(fù)雜的限定領(lǐng)域,包括導(dǎo)航系統(tǒng)[16]、導(dǎo)游系統(tǒng)[17-18]和信息查詢(xún)系統(tǒng)[19-21]等許多領(lǐng)域。研究者們還通過(guò)有限狀態(tài)自動(dòng)機(jī)的對(duì)話(huà)管理來(lái)引導(dǎo)槽信息的填充[22],以及采用了自動(dòng)的語(yǔ)義槽信息填充技術(shù)[23]。上述的已有研究都促進(jìn)了問(wèn)題理解研究領(lǐng)域的發(fā)展,然而他們主要著重在語(yǔ)義理解方面,試圖根據(jù)語(yǔ)義知識(shí)找到問(wèn)題的目標(biāo),仍然缺乏對(duì)中文口語(yǔ)對(duì)話(huà)系統(tǒng)中問(wèn)句表達(dá)多樣性較為完整的解決方案,在較為復(fù)雜的限定領(lǐng)域,仍然不能很好地幫助系統(tǒng)像人一樣去回答。
要使得系統(tǒng)能像人一樣去回答,關(guān)鍵是要讓系統(tǒng)能像人一樣去理解用戶(hù)提出的問(wèn)題。圖靈在1950年撰寫(xiě)的論文 “Computing Machinery and Intelligence” 中提出兩個(gè)重要的思想[24]: 一個(gè)是智能的測(cè)試,即著名的“圖靈測(cè)試”;另一個(gè)是“創(chuàng)造和教育兒童機(jī)器” (具有兒童般能力的機(jī)器)。前一個(gè)思想受到廣泛的關(guān)注,而后一個(gè)則某種程度上被忽視了。這啟發(fā)我們研究?jī)和J(rèn)知和語(yǔ)言能力。通過(guò)觀察發(fā)現(xiàn),對(duì)于3歲兒童而言,可以理解許多不同結(jié)構(gòu)的句子,能夠根據(jù)不同結(jié)構(gòu)的問(wèn)題做出不同反應(yīng),證明其信息提取和應(yīng)答方式是完善的,只遺留對(duì)某些具體內(nèi)容的不理解而出現(xiàn)偶爾回答不了的問(wèn)題。但可以確定的是,即使因?yàn)轭I(lǐng)域語(yǔ)義知識(shí)的欠缺而給不出正確回答,多數(shù)情況下兒童也是理解對(duì)方是在問(wèn)什么樣的問(wèn)題。因此,我們認(rèn)為問(wèn)句理解能力的基礎(chǔ)在于句型結(jié)構(gòu)(語(yǔ)法),掌握了句型結(jié)構(gòu)之后,再通過(guò)學(xué)習(xí),具備各種各樣的領(lǐng)域知識(shí)(語(yǔ)義),就可以進(jìn)行某一知識(shí)領(lǐng)域的對(duì)話(huà)。
問(wèn)題的焦點(diǎn)變成了: 如何得到這個(gè)基礎(chǔ),也即是需要掌握的句型結(jié)構(gòu)。對(duì)此,當(dāng)代語(yǔ)言學(xué)的兩大流派——“形式主義語(yǔ)言學(xué)”和“認(rèn)知功能語(yǔ)言學(xué)”的觀點(diǎn)存在根本分歧。以喬姆斯基為代表的形式主義者認(rèn)為,語(yǔ)法是一個(gè)天生的、自足的系統(tǒng),在使用中代入語(yǔ)義內(nèi)容。簡(jiǎn)單來(lái)說(shuō),就是進(jìn)化為人類(lèi)提供了一個(gè)特殊的功能強(qiáng)大的語(yǔ)言裝置[25-26]。認(rèn)知功能派的學(xué)者則認(rèn)為,語(yǔ)法和語(yǔ)義是密不可分的,語(yǔ)法是詞語(yǔ)內(nèi)容的結(jié)構(gòu)化,語(yǔ)義在很大程度上決定語(yǔ)法,他們認(rèn)為兒童是根據(jù)語(yǔ)義的關(guān)系習(xí)得語(yǔ)法。然而,不論是哪種觀點(diǎn),就兒童如何具備一種特定的語(yǔ)言理解能力的問(wèn)題而言,都還沒(méi)有完全研究透徹。
本文另辟途徑,回避了喬氏假說(shuō)中的初始語(yǔ)言裝置是否存在的問(wèn)題,同時(shí)也跳過(guò)了認(rèn)知功能派學(xué)者試圖采用語(yǔ)義去習(xí)得語(yǔ)法的困難。我們?cè)趯?duì)話(huà)系統(tǒng)中預(yù)置一個(gè)喬姆斯基假說(shuō)的具體語(yǔ)言(中文)語(yǔ)法裝置,人工制造一個(gè)初始的語(yǔ)法庫(kù),進(jìn)而采用基于語(yǔ)法的句子結(jié)構(gòu)理解和基于語(yǔ)義的信息提取相結(jié)合的方法實(shí)現(xiàn)問(wèn)題理解。本文的方法被應(yīng)用到我們開(kāi)發(fā)的中文手機(jī)導(dǎo)購(gòu)對(duì)話(huà)系統(tǒng)。測(cè)試結(jié)果表明,該方法能有效地完成對(duì)話(huà)流程中的用戶(hù)問(wèn)題理解。
本文后續(xù)章節(jié)如下: 第2節(jié)簡(jiǎn)要介紹本文提出的問(wèn)題理解方法的整體框架。第3節(jié)介紹本文的人工編制知識(shí)庫(kù)。第4節(jié)給出了基于語(yǔ)法的句型模式識(shí)別,以及語(yǔ)義方面的提取和組織。第5節(jié)給出了應(yīng)用運(yùn)行例子及測(cè)試結(jié)果。最后,第6節(jié)總結(jié)本文的工作并做簡(jiǎn)要的展望。
問(wèn)題理解的整體框架如圖1所示。
圖1 問(wèn)題理解整體框架
從語(yǔ)法的視角,我們首先設(shè)計(jì)了手工編制(Hand-crafted)的語(yǔ)法知識(shí)庫(kù),包括句子壓縮規(guī)則庫(kù)和句型模式庫(kù)。然后通過(guò)句子壓縮模塊對(duì)復(fù)雜句子進(jìn)行簡(jiǎn)化,只留下其結(jié)構(gòu)。進(jìn)而進(jìn)行句型模式識(shí)別,每個(gè)句型模式可唯一確定問(wèn)題的語(yǔ)義組織方法、查詢(xún)策略和應(yīng)答方式。
從語(yǔ)義的視角,根據(jù)領(lǐng)域語(yǔ)義知識(shí)庫(kù),從源句子中提取相應(yīng)的語(yǔ)義信息,進(jìn)而根據(jù)識(shí)別到的句型模式所對(duì)應(yīng)的知識(shí)組織方法進(jìn)行語(yǔ)義知識(shí)組織,完成對(duì)問(wèn)句的理解。
語(yǔ)法知識(shí)庫(kù)是獨(dú)立于領(lǐng)域和應(yīng)用方向的語(yǔ)言學(xué)規(guī)則組件,在轉(zhuǎn)移應(yīng)用目標(biāo)時(shí)候,基本可以保持不變;領(lǐng)域語(yǔ)義知識(shí)庫(kù)是在語(yǔ)言學(xué)之上針對(duì)領(lǐng)域和應(yīng)用的信息抽取,在擴(kuò)展到其它應(yīng)用時(shí),需要重新編寫(xiě)。
句子是無(wú)限的,而結(jié)構(gòu)是有限的,多樣化的句子表達(dá)可以被有限的經(jīng)過(guò)良好設(shè)計(jì)的句型模式覆蓋到。下面的問(wèn)句具有同樣的核心句子結(jié)構(gòu)。
? 有什么手機(jī)?
? 有哪款手機(jī)?
? 有什么2 000塊左右的手機(jī)?
? 有什么2 000塊以下的大屏幕的手機(jī)?
? 有哪些觸屏手機(jī)?
? 有什么輸入方式?
通過(guò)句子壓縮,多樣化的用戶(hù)輸入可以被消除,統(tǒng)一歸類(lèi)到一個(gè)簡(jiǎn)單的句子結(jié)構(gòu)“有+什么/哪款/哪些…+手機(jī)/輸入方式…”,或者進(jìn)一步符號(hào)化為“VP+~+NP”。 這需要兩個(gè)語(yǔ)法知識(shí)庫(kù)的支持,句型模式庫(kù)以及支持句子壓縮的句子壓縮規(guī)則庫(kù)。
(1) 句型模式庫(kù)
由于中文不像英文那樣疑問(wèn)詞基本上就代表了問(wèn)句的分類(lèi),構(gòu)造一個(gè)能有效代表特定問(wèn)句類(lèi)型的問(wèn)句類(lèi)型模式庫(kù)是一個(gè)挑戰(zhàn)。本文采用了4元句型模式{疑問(wèn)句類(lèi)別,疑問(wèn)詞類(lèi)別,疑問(wèn)詞短語(yǔ),問(wèn)句結(jié)構(gòu)}來(lái)標(biāo)示一個(gè)特定的問(wèn)句類(lèi)型。前面所有問(wèn)句例子所對(duì)應(yīng)的統(tǒng)一的句型模式是{特指問(wèn),什么,什么/哪*,VP+~+NP},其中“~”代表疑問(wèn)詞短語(yǔ)。值得注意的是,采用4.1.2小節(jié)介紹的句型模式識(shí)別算法,一些口語(yǔ)化省略的問(wèn)句,比如“有什么2 000塊左右的?”也可以識(shí)別為上述句型模式。這體現(xiàn)了本文設(shè)計(jì)方案的健壯性,使用有限的句型模式就能取得良好的應(yīng)用效果 (我們目前的手機(jī)導(dǎo)購(gòu)對(duì)話(huà)系統(tǒng)只用了30個(gè)句型模式,覆蓋特指問(wèn)、正反問(wèn)、是非問(wèn)和選擇問(wèn)等四類(lèi)疑問(wèn)句類(lèi)別)。
(2) 句子壓縮規(guī)則庫(kù)
句子壓縮規(guī)則用于實(shí)現(xiàn)源句子到目標(biāo)句子的轉(zhuǎn)換,是對(duì)幾百個(gè)問(wèn)題例子的分析后得到。目前的應(yīng)用系統(tǒng)采用相對(duì)保守的句子壓縮策略(壓縮不完全會(huì)影響后續(xù)句型模式識(shí)別的得分,但可以避免一些由于錯(cuò)誤壓縮導(dǎo)致的匹配失敗),共有16條規(guī)則,可以覆蓋到一些常用的漢語(yǔ)句子壓縮情況。我們采用基于語(yǔ)法樹(shù)形式的句子壓縮算法,句子壓縮規(guī)則 (NP (DNP, NP1))->NP(NP1)表示由一個(gè)DNP和一個(gè)NP組成的NP可以縮掉其中的DNP。
對(duì)話(huà)系統(tǒng)中的領(lǐng)域語(yǔ)義信息包括基本語(yǔ)義知識(shí)和評(píng)價(jià)性語(yǔ)義知識(shí)。當(dāng)前系統(tǒng)的手機(jī)銷(xiāo)售領(lǐng)域的基本語(yǔ)義知識(shí)共有77個(gè)屬性,這些屬性是參考主流電子商務(wù)網(wǎng)站上的手機(jī)信息選定的,表1是當(dāng)前系統(tǒng)中的基本語(yǔ)義知識(shí)片段。
表1 基本語(yǔ)義知識(shí)片段
基本語(yǔ)義知識(shí)覆蓋多種不同的知識(shí),以?xún)r(jià)格屬性為例,包括:
(1) 概念性知識(shí): “價(jià)格”,“價(jià)錢(qián)”,“價(jià)位”,“多少錢(qián)”,“多少塊錢(qián)”,“多少元錢(qián)”;
(2) 定性知識(shí): “便宜[0,1 000)”,“一般/適中/普通[1 000,2 000)”,“較高/貴[2 000,)”;
(3) 定量知識(shí): 又可以進(jìn)一步細(xì)分為兩種:
? 概數(shù)知識(shí): “以上/大于”,“以下/小于”,“左右/大概”,“不超過(guò)”,“少/低/便宜一點(diǎn)”,“高/貴一點(diǎn)”;
? 確數(shù)知識(shí): “數(shù)字(0<=數(shù)字<20 000)+塊/元”,“數(shù)字(0<=數(shù)字<20 000)+到+數(shù)字(0<=數(shù)字<20 000)”。
評(píng)價(jià)性語(yǔ)義知識(shí)則是參考主流電子商務(wù)網(wǎng)站用戶(hù)反饋信息以及調(diào)研一些手機(jī)實(shí)體店的銷(xiāo)售過(guò)程制定,當(dāng)前系統(tǒng)中共有11個(gè)屬性,表2是評(píng)價(jià)性語(yǔ)義知識(shí)片段。
表2 評(píng)價(jià)性語(yǔ)義知識(shí)片段
4.1.1 句子壓縮
句子壓縮被應(yīng)用于消除用戶(hù)輸入中的多樣性修飾成分。給定一個(gè)輸入句子x=x1,x2,…,xn,句子
壓縮通過(guò)去除其中的一些詞得到目標(biāo)句子y[27]。本文句子壓縮的目標(biāo)是保留句子的重要結(jié)構(gòu)信息。本文使用斯坦福大學(xué)的句法分析器(Stanford Parser)[28]構(gòu)建語(yǔ)法樹(shù),進(jìn)而借鑒近年來(lái)應(yīng)用于機(jī)器翻譯和文檔摘要中的一些處理技術(shù)進(jìn)行基于句子語(yǔ)法結(jié)構(gòu)的句子壓縮[29-30]。圖2給出了算法偽代碼。算法中,當(dāng)前匹配節(jié)點(diǎn)對(duì)是指在兩棵樹(shù)中,當(dāng)前嘗試用規(guī)則匹配改寫(xiě)的節(jié)點(diǎn)對(duì)。規(guī)則為三元組,(源樹(shù)模板st,改寫(xiě)后的樹(shù)vt,對(duì)稱(chēng)節(jié)點(diǎn)組~),其中~代表st,vt的兒子中,句子成份一致的節(jié)點(diǎn)對(duì)[(cs1, ct1), (cs2, ct2), (cs3, None)…]。
圖2 句子壓縮算法
4.1.2 句型模式識(shí)別
句型模式識(shí)別的算法流程如圖3所示。
圖3 句型模式識(shí)別算法
由于Stanford Parser 在中文詞性標(biāo)注上不夠準(zhǔn)確,在上述算法的第1步,我們采用了中科院的漢語(yǔ)詞法分析系統(tǒng)ICTCLAS[31]對(duì)縮句后句子進(jìn)行重標(biāo)注。在句型模式的4元結(jié)構(gòu){疑問(wèn)句類(lèi)別,疑問(wèn)詞類(lèi)別,疑問(wèn)詞短語(yǔ),問(wèn)句結(jié)構(gòu)}中,由于疑問(wèn)詞類(lèi)別不起識(shí)別作用,在進(jìn)行句型模式識(shí)別時(shí),壓縮后的疑問(wèn)句和句型模式庫(kù)中的句型模式從疑問(wèn)句類(lèi)別、疑問(wèn)詞短語(yǔ)和問(wèn)句結(jié)構(gòu)3方面計(jì)算綜合相似度。
問(wèn)句結(jié)構(gòu)相似度計(jì)算的算法,是基于編輯距離算法[32]的擴(kuò)展。主要特點(diǎn)是,給每種操作賦予不同的權(quán)值得分,以算出最后的最高得分。算法流程如圖4所示。
圖4 問(wèn)句結(jié)構(gòu)相似度計(jì)算算法
1.a)—1.d)行針對(duì)不同的詞性標(biāo)注α,會(huì)有不同的得分權(quán)重,例如,對(duì)于語(yǔ)氣詞、副詞、標(biāo)點(diǎn)符號(hào)等詞性標(biāo)注的得分權(quán)重就會(huì)稍低,對(duì)于名詞、動(dòng)詞和疑問(wèn)詞的權(quán)重就會(huì)稍高;在2和3行,最高的分?jǐn)?shù)基于編輯距離算法計(jì)算得到;3—4行是為了讓得分變成百分制。
4.2.1 語(yǔ)義信息提取
語(yǔ)義信息提取是語(yǔ)義知識(shí)理解的第一步,我們采用如圖5所示的語(yǔ)義信息提取流程[33]。
圖5 語(yǔ)義信息提取流程
系統(tǒng)對(duì)用戶(hù)的輸入進(jìn)行正則表達(dá)式匹配和提取,接著判斷所提取的信息是否存在歧義,如果存在,則進(jìn)行消歧,包括單句消歧和上下文消歧,若最終仍存在歧義,則可進(jìn)行反問(wèn),否則生成語(yǔ)義單元序列。比如源句子“有什么2 000塊以下的大屏幕的手機(jī)?”,通過(guò)單句消歧,借助“塊”、“屏幕”等信息,排除了“上市日期”和“RAM容量”等屬性的干擾,提取到的信息是 “價(jià)格: 2 000塊,以下;主屏尺寸: 屏幕,大”。
4.2.2 語(yǔ)義知識(shí)組織
提取到的語(yǔ)義信息進(jìn)一步根據(jù)識(shí)別到的句型模式所對(duì)應(yīng)的知識(shí)組織方式進(jìn)行組織。不同的句型模式可以具有不同的組織方式。下面兩個(gè)例子分別是特指問(wèn)和選擇問(wèn):
? 源句子1: 有什么2 000塊以下的大屏幕的手機(jī)?
語(yǔ)義知識(shí)組織: “價(jià)格: 2 000塊,以下”與“主屏尺寸: 屏幕,大”。
? 源句子2: 這款手機(jī)是直板的還是翻蓋的?
語(yǔ)義知識(shí)組織: “外觀設(shè)計(jì): 直板”或“外觀設(shè)計(jì): 翻蓋”。
通常具有相同疑問(wèn)句類(lèi)別的句型模式具有相同的語(yǔ)義知識(shí)組織方式。
為了驗(yàn)證本文提出的問(wèn)題理解方法的效果,我們實(shí)現(xiàn)了一個(gè)中文手機(jī)導(dǎo)購(gòu)系統(tǒng)原型,如圖6所示。手機(jī)導(dǎo)購(gòu)屬于信息咨詢(xún)類(lèi)中較為復(fù)雜的網(wǎng)上商品銷(xiāo)售咨詢(xún)限定領(lǐng)域。對(duì)話(huà)記錄作為背景保留在頁(yè)面上,方便用戶(hù)查閱對(duì)話(huà)的上下文。
圖6 系統(tǒng)界面
圖7是一個(gè)開(kāi)發(fā)人員測(cè)試的應(yīng)用例子。第(8)、(10)和(12)行的用戶(hù)輸入是疑問(wèn)句。可以看到本文的方法能理解不同類(lèi)型的用戶(hù)問(wèn)句,幫助對(duì)話(huà)系統(tǒng)完成導(dǎo)購(gòu)流程。
圖7 中文手機(jī)導(dǎo)購(gòu)系統(tǒng)的一個(gè)運(yùn)行例子
我們?cè)趯?shí)現(xiàn)的中文手機(jī)導(dǎo)購(gòu)對(duì)話(huà)系統(tǒng)中進(jìn)行了外部測(cè)試。測(cè)試人員是6名學(xué)生志愿者,每位測(cè)試者測(cè)試3段,共18段對(duì)話(huà)。這些測(cè)試人員只知道系統(tǒng)的功能是手機(jī)導(dǎo)購(gòu),對(duì)系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié)并不知情,這樣可確保測(cè)試的真實(shí)性和自然性。測(cè)試結(jié)果如表3所示。
表3 測(cè)試結(jié)果
18段對(duì)話(huà)的平均回合數(shù)為13.6,每段對(duì)話(huà)用戶(hù)疑問(wèn)句平均次數(shù)為5.3,表明了導(dǎo)購(gòu)流程中用戶(hù)主動(dòng)發(fā)問(wèn)的比例還是比較高。從最大和最小的疑問(wèn)句數(shù)分別是11和0也可以看出測(cè)試者的差異性很大,有的主動(dòng)發(fā)問(wèn)很多,有的傾向于依賴(lài)系統(tǒng)的引導(dǎo)。在總共96個(gè)用戶(hù)疑問(wèn)句中,正確理解(語(yǔ)義提取和句型模式識(shí)別都正確)的個(gè)數(shù)占87.5%,包括許多帶有冗余修飾和口語(yǔ)化省略情況的問(wèn)句(部分省略過(guò)于嚴(yán)重的問(wèn)句,如“內(nèi)存呢?”,通過(guò)上下文理解補(bǔ)充缺失句子成分解決),表明本文方法能有效地完成中文口語(yǔ)對(duì)話(huà)流程中用戶(hù)問(wèn)題理解。
經(jīng)過(guò)對(duì)結(jié)果的逐個(gè)分析發(fā)現(xiàn),96個(gè)問(wèn)句分屬12個(gè)不同的句型模式。有18個(gè)句型模式在測(cè)試中沒(méi)有出現(xiàn)。選擇問(wèn)和正反問(wèn)出現(xiàn)頻率很低。問(wèn)句在12個(gè)出現(xiàn)的句型中的分布也很不均勻,出現(xiàn)最多的3個(gè)句型占了總數(shù)的一半以上,分別是特指問(wèn)的“NP+~” 句子結(jié)構(gòu)(如“像素多高?”)和 “VP+~+NP” 句子結(jié)構(gòu)(如“有什么顏色可以選?”),以及是非問(wèn)的“VP+NP+~” 句子結(jié)構(gòu)(如“是安卓嗎?”)這也體現(xiàn)了導(dǎo)購(gòu)類(lèi)信息咨詢(xún)對(duì)話(huà)的特點(diǎn)。
未能被正確理解的12個(gè)問(wèn)句的錯(cuò)誤分類(lèi)如表4所示。
表4 錯(cuò)誤分類(lèi)
從表4可以看到,目前的理解錯(cuò)誤有一半是因?yàn)轭I(lǐng)域語(yǔ)義知識(shí)庫(kù)或者疑問(wèn)詞列表還不夠完善導(dǎo)致。除此之外有25%屬于分詞或標(biāo)注錯(cuò)誤引起,由于是依賴(lài)外部工具完成,這部分錯(cuò)誤未來(lái)相對(duì)較難降低。由于疑問(wèn)詞或其他句子成分移位的問(wèn)題較難解決,未來(lái)計(jì)劃通過(guò)基于規(guī)則的同步樹(shù)替換算法,并在規(guī)則使用時(shí)采用基于統(tǒng)計(jì)的輔助判斷嘗試解決這個(gè)問(wèn)題。
具體的錯(cuò)誤分析如下:
(1) 用戶(hù)輸入預(yù)處理錯(cuò)誤: 用戶(hù)輸入“這款多貴?”,在預(yù)處理模塊,“多貴”沒(méi)有轉(zhuǎn)成“多少錢(qián)”,結(jié)果造成語(yǔ)義提取失敗。
(2) 分詞或詞性標(biāo)注錯(cuò)誤: 用戶(hù)輸入“是什么操作系統(tǒng)?”,由于分詞模塊沒(méi)有分出專(zhuān)有名詞“操作系統(tǒng)”,導(dǎo)致“操作”被句子壓縮模塊縮掉,變成“是什么系統(tǒng)?”,而后的詞性標(biāo)注錯(cuò)把“系統(tǒng)”標(biāo)注為“ADJP”,導(dǎo)致句型模式識(shí)別錯(cuò)誤。另外兩個(gè)用戶(hù)輸入“它裝的什么系統(tǒng)?”和“有沒(méi)有塞班操作系統(tǒng)的?”也是同樣的詞性標(biāo)注問(wèn)題導(dǎo)致理解錯(cuò)誤。
(3) 疑問(wèn)詞識(shí)別錯(cuò)誤: 用戶(hù)輸入“最便宜的手機(jī)是哪一部?”則由于特指問(wèn)疑問(wèn)詞“哪一部”沒(méi)有被加到疑問(wèn)詞短語(yǔ)列表里,未能被識(shí)別到。
(4) 領(lǐng)域語(yǔ)義知識(shí)欠缺: 用戶(hù)輸入“還有別的嗎?”、“還有呢?”、“沒(méi)有對(duì)嗎?”、“沒(méi)有htc嗎?”由于目前領(lǐng)域語(yǔ)義知識(shí)庫(kù)還沒(méi)有考慮 “其他”、“別的”、 “還有”、“沒(méi)有”之類(lèi)的詞作為有效語(yǔ)義處理,因此沒(méi)能正確理解用戶(hù)問(wèn)句。在未來(lái)工作中,計(jì)劃加入這類(lèi)語(yǔ)義,再結(jié)合語(yǔ)義提取中的上下文消歧就可以確定用戶(hù)問(wèn)的是別的什么或者沒(méi)有什么。另外一例由于語(yǔ)義提取問(wèn)題導(dǎo)致理解錯(cuò)誤的是用戶(hù)輸入“耐摔嗎?”這類(lèi)評(píng)價(jià)性語(yǔ)義需要在測(cè)試中逐漸完善。
(5) 疑問(wèn)詞或其他句子成分移位: 用戶(hù)輸入“蘋(píng)果手機(jī)有什么好推薦的嗎?”,由于出現(xiàn)疑問(wèn)詞移位的情況,未能匹配上目標(biāo)句子結(jié)構(gòu)“VP+~+NP”。如果是“有什么蘋(píng)果手機(jī)好推薦的嗎?”,則經(jīng)過(guò)預(yù)處理去除“好推薦的”,以及經(jīng)過(guò)句子壓縮去掉“蘋(píng)果”之后,就可以識(shí)別為特指問(wèn)類(lèi)型中的句子結(jié)構(gòu)“VP+~+NP”。用戶(hù)輸入“小米手機(jī),有嗎?”同樣是因?yàn)槌霈F(xiàn)句子成分VP(“有”)移位情況,未能識(shí)別為是非問(wèn)類(lèi)型中的句子結(jié)構(gòu)“VP+NP+~”(如“有小米手機(jī)嗎?”)。
本文針對(duì)中文口語(yǔ)問(wèn)句的表達(dá)多樣性給對(duì)話(huà)系統(tǒng)問(wèn)題理解造成的困難,提出了一種語(yǔ)法和語(yǔ)義相結(jié)合的口語(yǔ)對(duì)話(huà)系統(tǒng)問(wèn)題理解方法,并在我們開(kāi)發(fā)的中文手機(jī)導(dǎo)購(gòu)系統(tǒng)上測(cè)試,取得了較好的測(cè)試效果。本文提出的方案中的人工編制語(yǔ)法知識(shí)庫(kù),雖然在構(gòu)建時(shí)客觀上需要專(zhuān)家的指導(dǎo),本文測(cè)試表明,目前有限的句子壓縮規(guī)則(16條)和問(wèn)句類(lèi)型模式(30個(gè)),已經(jīng)能夠較好地完成手機(jī)導(dǎo)購(gòu)領(lǐng)域的問(wèn)題理解,后續(xù)在進(jìn)一步測(cè)試時(shí)可以方便地?cái)U(kuò)充完善。并且由于獨(dú)立于領(lǐng)域,在轉(zhuǎn)移到同為導(dǎo)購(gòu)類(lèi)的其他應(yīng)用目標(biāo)的時(shí)候,語(yǔ)法知識(shí)庫(kù)可預(yù)期基本保持不變(還有待在開(kāi)發(fā)新應(yīng)用時(shí)檢驗(yàn))。另一方面,由于采用了“在語(yǔ)法結(jié)構(gòu)之上獲取語(yǔ)義知識(shí)”設(shè)計(jì)理念,某一特定業(yè)務(wù)的專(zhuān)業(yè)領(lǐng)域語(yǔ)義知識(shí),可以被相對(duì)獨(dú)立地設(shè)計(jì)和加載到對(duì)話(huà)系統(tǒng),使得本文的研究具備良好的業(yè)務(wù)(專(zhuān)業(yè)領(lǐng)域)可擴(kuò)展性,可以很方便地?cái)U(kuò)展應(yīng)用到一個(gè)新的業(yè)務(wù)領(lǐng)域的問(wèn)題理解。未來(lái)工作是研究如何處理漢語(yǔ)句子的移位表達(dá);以及通過(guò)更大范圍的測(cè)試,進(jìn)一步完善語(yǔ)法知識(shí)庫(kù)和領(lǐng)域語(yǔ)義知識(shí)庫(kù);并探索一定的智能學(xué)習(xí)機(jī)制,如采用基于事例的推理(CBR)方法,研究特定限定領(lǐng)域?qū)υ?huà)系統(tǒng)在預(yù)置的語(yǔ)法知識(shí)庫(kù)和領(lǐng)域語(yǔ)義知識(shí)庫(kù)的基礎(chǔ)上,如何在持續(xù)開(kāi)展的測(cè)試和應(yīng)用中實(shí)現(xiàn)自適應(yīng)的修改和擴(kuò)充。
[1] Weizenbaum J. ELIZA-A computer program for the study of natural language communication between man and machine[J]. Communications of the ACM, 1966, 9(1): 36-45.
[2] Colby K M, Weber S, Hilf F D. Artificial paranoia[J]. Artificial Intelligence, 1971, 2(1): 1-25.
[3] Wallace R S. The Anatomy of A.L.I.C.E. [EB/OL], A.L.I.C.E. Artificial Intelligence Foundation Inc., 2004.
[4] 清華大學(xué)圖書(shū)館智能機(jī)器人小圖[EB/OL]. http://166.111.120.164: 8081/programd/
[5] 小I機(jī)器人[EB/OL]. http://www.xiaoi.com/index.html
[6] Schumaker R P, Chen H. Leveraging question answer technology to address terrorism inquiry[J]. Decision Support Systems, 2007, 43(4): 1419-1430.
[7] Jia J Y. CSIEC: A computer assisted English learning chatbot based on textual knowledge and reasoning[J]. Knowledge-Based Systems, 2009, 22 (4): 249-255.
[8] Crutzen R, Peters G Y, Portugal S D, et al. An artificially intelligent chat agent that answers adolescents’ questions related to sex, drugs, and alcohol: An exploratory study[J]. Journal of Adolescent Health, 2011, 48(5): 514-519.
[9] Huang J Z, Zhou M, Yang D. Extracting chatbot knowledge from online discussion forums[C]//Proceedings of the 20thInternational Joint Conference on Artificial Intelligence (IJCAI 2007), Hyderabad, India, January 2007: 423-428.
[10] Russell R S. Language Use, Personality and True Conversational Interfaces[R]. Project Report, AI and CS, University of Edinburgh, Edinburgh, 2002.
[11] Pieraccini R, Tzoukermann E, Gorelov Z, et al. A speech understanding system based on statistical representation of semantics[C]//Proceedings Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP 1992), San Francisco, CA.
[12] Miller S, Bobrow R, Ingria R, et al. Hidden understanding models of natural language[C]//Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL 1994), Las Cruces, NM.
[13] Seneff S. TINA: a natural language system for spoken language applications[J]. Computational Linguistics, 1992, 18 (1): 61-86.
[14] Ward W, Issar S. Recent improvements in the CMU spoken language understanding system[C]//Proceedings of the ARPA Human Language Technology Conference (HLT 1994) Workshop. 1994:213-216.
[15] Dowding J, Gawron J M, Appelt D, et al. Gemini: a natural language system for spoken language understanding[C]//Proceedings of the ARPA Workshop on Human Language Technology, Princeton, NJ,1993.
[16] 黃寅飛, 鄭方, 燕鵬舉, 等. 校園導(dǎo)航系統(tǒng)EasyNav的設(shè)計(jì)與實(shí)現(xiàn)[J].中文信息學(xué)報(bào), 2001, 15(4): 35-40.
[17] 何偉, 李紅蓮, 袁保宗, 等. 基于對(duì)話(huà)回合衰減的cache語(yǔ)言模型在線自適應(yīng)研究[J].中文信息學(xué)報(bào), 2003, 17(5): 41-47.
[18] Pappu A, Rudnicky A. The Structure and Generality of Spoken Route Instructions[C]//Proceedings of the 13thSIGdial Workshop on Discourse and Dialogue, 2012: 99-107.
[19] Zue V, Seneff S, Glass J, et al. JUPITER: a telephone-based conversational interface for weather information[J]. IEEE Transactions on Speech and Audio Processing, 2000, 8(1): 85-96.
[20] 劉蓓, 杜利民, 于水源. 面向任務(wù)口語(yǔ)對(duì)話(huà)系統(tǒng)中期待模型的實(shí)現(xiàn)算法[J].電子與信息學(xué)報(bào), 2004, 26(11): 1721-1727.
[21] 張琳, 高峰, 郭榮, 等. 漢語(yǔ)股票實(shí)時(shí)行情查詢(xún)對(duì)話(huà)系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用, 2004, 24(7): 61-63.
[22] 黃民烈, 朱小燕. 對(duì)話(huà)管理中基于槽特征有限狀態(tài)自動(dòng)機(jī)的方法研究[J]. 計(jì)算機(jī)學(xué)報(bào), 2004, 27 (08): 1092-1101.
[23] Chen Y N, Wang W Y, and Rudnicky A I. Unsupervised Induction and Filling of Semantic Slots for Spoken Dialogue Systems using Frame-Semantic Parsing[C]//Proceedings of the 2013 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), 2013.
[24] Turing A M. Computing Machinery and Intelligence[M]. Washington: Publishing House of Electronics Industry, 1950: 5-23.
[25] Chomsky N. The Minimalist Program. Cambridge[M], Mass: MIT Press, 1995.
[26] Chomsky N. Three factors in language design[J]. Linguistic Inquiry, 2005, 36(1): 1-22.
[27] Knight K, Marcu D. Summarization beyond sentence extraction: a probabilistic approach to sentence compression[J]. Artificial Intelligence, 2002, 139 (1): 91-107.
[28] Levy R, Manning C D. Is it harder to parse Chinese, or the Chinese Treebank? [C]//Proceedings of the 41th Annual Meeting of the Association for Computational Linguistics (ACL 2003), 2003: 439-446.
[29] Cohn T, Lapata M. Sentence compression as tree transduction[J]. Journal of Artificial Intelligence Research, 2009, 34(1): 637-674.
[30] Cohn T, Lapata M. An Abstractive Approach to Sentence Compression[J]. ACM Transactions on Intelligent Systems and Technology, 2013, 4(3): 1-35.
[31] Zhang H P, Yu H K, Xiong D Y, et al. HHMM-based Chinese lexical analyzer ICTCLAS[C]//Proceedings of the Second SIGHAN Workshop Affiliated with the 41 Annual Meeting of the Association for Computational Linguistics (ACL 2003), 2003, 184-187.
[32] Ristad E S, Yianilos P N. Learning string-edit distance[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(5): 522-532.
[33] 林仙茂, 黃沛杰, 楊德, 等. 中文手機(jī)導(dǎo)購(gòu)對(duì)話(huà)系統(tǒng)中的語(yǔ)義信息提取[J]. 現(xiàn)代計(jì)算機(jī), 2014, (04): 52-55.