陳玉
摘 要:近年來(lái),問(wèn)答系統(tǒng)被大量廣泛的研究,問(wèn)答系統(tǒng)的目標(biāo)是給定一個(gè)問(wèn)題,能夠得到簡(jiǎn)短精確的答案;而問(wèn)句分類在問(wèn)答系統(tǒng)中有著重要的作用,為此本文用樸素貝葉斯算法對(duì)問(wèn)句分類做了一定的研究。從實(shí)驗(yàn)結(jié)果來(lái)看,該方法在實(shí)際應(yīng)用中取得了較好的效果。
關(guān)鍵詞:?jiǎn)柎鹣到y(tǒng);問(wèn)句分類;樸素貝葉斯
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
傳統(tǒng)網(wǎng)絡(luò)搜索引擎通過(guò)輸入關(guān)鍵字來(lái)查找所需信息,如百度、谷歌等搜索引擎,關(guān)鍵字搜索往往缺乏語(yǔ)義性,其搜索結(jié)果只是一些相關(guān)網(wǎng)頁(yè);相比而言,問(wèn)答系統(tǒng)(Question Answering System)允許用戶輸入自然語(yǔ)言問(wèn)句,并最終提交給用戶簡(jiǎn)潔而準(zhǔn)確的結(jié)果;問(wèn)答系統(tǒng)主要由幾部分構(gòu)成:?jiǎn)栴}語(yǔ)法解析、問(wèn)題分類、搜索引擎、語(yǔ)料解析、答案選擇及答案排序等。問(wèn)答系統(tǒng)大致分為定型問(wèn)答系統(tǒng)和開(kāi)放域問(wèn)答系統(tǒng)兩種。
定型問(wèn)答系統(tǒng)在受限領(lǐng)域內(nèi)表現(xiàn)較好。而開(kāi)放域問(wèn)答系統(tǒng)要對(duì)來(lái)自任何領(lǐng)域的提問(wèn)都能夠提供答案,為此,需用自然語(yǔ)言處理方法來(lái)提取答案[1]。設(shè)計(jì)開(kāi)放域問(wèn)答系統(tǒng)的難點(diǎn)在于系統(tǒng)需要處理問(wèn)句的大跨度性;問(wèn)句有可能是涉及命名實(shí)體的,問(wèn)句也有可能涉及復(fù)雜事件或情況。基于開(kāi)放域問(wèn)答系統(tǒng)的特點(diǎn),所以問(wèn)句分類在其中起著重要的前提作用,正確合理的分類對(duì)問(wèn)答系統(tǒng)結(jié)果的準(zhǔn)確性有著重要的影響。
2 問(wèn)句正確分類的意義(The significance of question
correct classification)
2.1 問(wèn)句的正確分類可以有效確定候選的答案的數(shù)量
例如當(dāng)問(wèn)答系統(tǒng)的問(wèn)句是“中國(guó)的首都在哪里?”,通過(guò)問(wèn)句的具體分類算法處理,知道該問(wèn)句主要是問(wèn)及關(guān)于地名的命名實(shí)體,所以問(wèn)答系統(tǒng)在后續(xù)處理中只要去關(guān)注一些有關(guān)地名的相關(guān)答案即可,而沒(méi)必要去關(guān)注無(wú)關(guān)的候選語(yǔ)料。
2.2 問(wèn)句的合適分類可以確定候選答案的類型
問(wèn)答系統(tǒng)中的問(wèn)句種類繁雜,提前確定不同的問(wèn)句類型,可以在候選答案的處理中明確問(wèn)句的具體類型。如:?jiǎn)柧洹懊绹?guó)第一人總統(tǒng)是誰(shuí)?”,根據(jù)問(wèn)句分類,問(wèn)答系統(tǒng)知道只要處理與人名相關(guān)的語(yǔ)料即可。再如:?jiǎn)柧洹笆裁词腔ヂ?lián)網(wǎng)?”,這類問(wèn)句系統(tǒng)不可能用一個(gè)簡(jiǎn)短的答案回答,而應(yīng)該返回給用戶一段描述性的文字。
上述例句說(shuō)明,對(duì)于不同的問(wèn)句類型,我們使用不同的答案選擇策略,一個(gè)好的問(wèn)句分類算法能夠有效改善問(wèn)答系統(tǒng)的性能。
2.3 問(wèn)句的詳細(xì)分類可以在語(yǔ)義上確定候選答案的類型
問(wèn)句的詳細(xì)分類可以在語(yǔ)義上細(xì)化答案的抽取。如:?jiǎn)柧洹矮@得諾貝爾獎(jiǎng)的中國(guó)人是誰(shuí)?”及問(wèn)句“2015年獲得諾貝爾獎(jiǎng)的中國(guó)人是誰(shuí)?”,這兩個(gè)問(wèn)句由于在時(shí)間上有區(qū)別,系統(tǒng)返回的答案也會(huì)有明顯的區(qū)別,如果在問(wèn)句的分類算法上進(jìn)一步的細(xì)化,那么就可以使系統(tǒng)的返回答案更加準(zhǔn)確。
3 問(wèn)句分類算法(The algorithm of question
classification)
目前對(duì)于問(wèn)句分類的研究一般都是借鑒文本分類的思想,結(jié)合問(wèn)句分類本身的特征進(jìn)行的。如果沒(méi)有問(wèn)句分類,則會(huì)對(duì)問(wèn)答系統(tǒng)的性能產(chǎn)生很大的影響。
3.1 各類算法介紹
自然語(yǔ)言處理中,常用統(tǒng)計(jì)分類算法主要有:樸素貝葉斯算法、聚類分類算法、K近鄰法、神經(jīng)網(wǎng)絡(luò)算法及決策樹(shù)分類算法[2]。
樸素貝葉斯分類算法是由貝葉斯決策理論發(fā)展而來(lái)的,是現(xiàn)在比較熱門的一個(gè)分類方法,樸素貝葉斯分類法是假定被分類對(duì)象的特征項(xiàng)是相互獨(dú)立的,相對(duì)于問(wèn)句分類來(lái)說(shuō),就是問(wèn)句中的詞是相互獨(dú)立的。聚類方法屬于無(wú)監(jiān)督分類法,聚類的核心思想是被分類對(duì)象的相似性,聚類主要是根據(jù)對(duì)象的距離進(jìn)行測(cè)度。K近鄰法主要通過(guò)構(gòu)造kd樹(shù)來(lái)提高對(duì)訓(xùn)練數(shù)據(jù)的搜索速度,而傳統(tǒng)的線性掃描法面對(duì)大的訓(xùn)練數(shù)據(jù)時(shí),則會(huì)在時(shí)間復(fù)雜度上變大。神經(jīng)網(wǎng)絡(luò)算法具有較好的容錯(cuò)能力和自適應(yīng)學(xué)習(xí)能力,對(duì)數(shù)據(jù)中的噪聲和數(shù)據(jù)的一些變形具有較好的抵抗能力,并具有較快速的分類處理能力。決策樹(shù)分類法計(jì)算復(fù)雜度相對(duì)較低,對(duì)不相關(guān)特征數(shù)據(jù)的處理有優(yōu)勢(shì),分類結(jié)果直觀,但有時(shí)會(huì)產(chǎn)生過(guò)度匹配的問(wèn)題。
本文中的問(wèn)句分類主要是依據(jù)樸素貝葉斯算法,具體將每一用戶問(wèn)句中的各個(gè)分詞單元作為條件獨(dú)立的特征項(xiàng),通過(guò)樸素貝葉斯算法計(jì)算概率最大的分類結(jié)果,同時(shí)既可確定用戶問(wèn)句類型。
3.2 具體分類算法基礎(chǔ)
為了能夠?qū)?wèn)答系統(tǒng)中的問(wèn)句分類,我們定義了問(wèn)答系統(tǒng)中的問(wèn)句類型分為7類,即人物、空間、時(shí)間、數(shù)量、組織及其他。每個(gè)大類又進(jìn)行了進(jìn)一步的細(xì)分,一共形成了45個(gè)細(xì)的類別。
樸素貝葉斯算法是由傳統(tǒng)貝葉斯定理和特征屬性相互獨(dú)立的前提下演變而來(lái)的。根據(jù)訓(xùn)練樣本集,先計(jì)算每個(gè)分類的先驗(yàn)概率,最后再根據(jù)貝葉斯公式及條件概率轉(zhuǎn)換關(guān)系計(jì)算后驗(yàn)概率的最大值。
(1)設(shè)屬于,訓(xùn)練樣本集的分類,是和的聯(lián)合概率分布。訓(xùn)練樣本集由特征屬性相互獨(dú)立而得。
(2)在條件概率獨(dú)立的基礎(chǔ)上,樸素貝葉斯法又對(duì)條件特征項(xiàng)作了獨(dú)立性的假設(shè),于是得到:
(1)
分類特征項(xiàng)在條件獨(dú)立假定的基礎(chǔ)上,會(huì)使樸素貝葉斯公式變得容易計(jì)算,不過(guò)有時(shí)候這在一定程度上會(huì)影響到分類結(jié)果的合理性。
樸素貝葉斯算法的具體計(jì)算過(guò)程為,在已知的特征條件各特征屬性獨(dú)立的基礎(chǔ)上,通過(guò)計(jì)算,最后取概率最大的特征輸入量,計(jì)算得:
(2)
將式(1)代入式(2)得:
(3)
在式(3)中,分母對(duì)所有都是相同的,所以
(4)
本文根據(jù)樸素貝葉斯思想,設(shè)定系統(tǒng)中用戶問(wèn)句里的各個(gè)詞之間是相互獨(dú)立的,詞之間不存在語(yǔ)義聯(lián)系,同時(shí)也不考慮詞之間的順序。
具體如用戶輸入問(wèn)句,“誰(shuí)發(fā)明了電燈?”,那么問(wèn)答系統(tǒng)對(duì)問(wèn)句進(jìn)行分詞和詞性標(biāo)注處理后,上述問(wèn)句形式上變成“誰(shuí)/r發(fā)明/v了/u電燈/n”,本算法中假設(shè)問(wèn)句中詞與詞之間不存在任何關(guān)系,本算法就是要在系統(tǒng)問(wèn)句庫(kù)中查找和用戶所提問(wèn)句最接近的問(wèn)句,用式(4)可具體將各變量解釋為:表示問(wèn)句庫(kù)中的某一問(wèn)句,表示用戶所提問(wèn)句的中的某一個(gè)詞,如:誰(shuí)、發(fā)明、電燈;同時(shí)問(wèn)了降低系統(tǒng)的計(jì)算復(fù)雜度,本文將式(4)簡(jiǎn)化為:
(5)
3.3 具體算法步驟如下:
(1)依次計(jì)算在中出現(xiàn)的類型,具體用表示。
(2)計(jì)算
其中表示問(wèn)句庫(kù)總的問(wèn)句數(shù)量,加入0.5是為了避免結(jié)果為0。
(3)最后計(jì)算得出用戶問(wèn)句類型。
4 結(jié)論(Conclusion)
本文通過(guò)構(gòu)建本地問(wèn)句的樣本句庫(kù)和測(cè)試句庫(kù)對(duì)算法進(jìn)行了驗(yàn)證,其中樣本句庫(kù)包括2000句,測(cè)試句庫(kù)包括200句,最后總體測(cè)試準(zhǔn)確率可以達(dá)到64%。對(duì)于樣本句庫(kù)中含有較多實(shí)例的問(wèn)句類型,由于問(wèn)句類型的特征信息比較豐富,因此屬于這些類型的問(wèn)句分類相對(duì)比較準(zhǔn)確。而對(duì)于樣本句庫(kù)中含有較少實(shí)例的問(wèn)句類型,會(huì)造成這一類的問(wèn)句分類準(zhǔn)確率偏低[3]。
本文對(duì)用戶問(wèn)句進(jìn)行分類主要采用了樸素貝葉斯算法,通過(guò)假定用戶問(wèn)句特征詞項(xiàng)相互獨(dú)立、無(wú)關(guān)的特性,不僅簡(jiǎn)化了運(yùn)算過(guò)程,同時(shí)也取得了很好的問(wèn)句分類效果,總體上改善了開(kāi)放域問(wèn)答系統(tǒng)的性能,不過(guò)由于開(kāi)放域問(wèn)答系統(tǒng)所涉及領(lǐng)域的廣泛性,系統(tǒng)算法還有待于更多用戶問(wèn)句的驗(yàn)證,以及嘗試并使用其他有效的算法來(lái)改進(jìn)問(wèn)句的分類。
參考文獻(xiàn)(References)
[1] Agichtein E,Lawrence S,Gravano L.Learning to find answers
to questions on the Web[J].ACM Transactions on Internet
Technology,2004,4(2):129-162.
[2] Clarke C,et al.Question answering by passage selection(multitext
experiments for TREC-9)[C]//Proceedings of the 9th Text
Retrieval Conference(TREC-9),2000.
[3] Cody Kwok,Oren Etzioni and Daniel S.Weld.Scaling Question
Answering to the Web[J].ACM Transactions on Information
Systems(TOIS)archive Volume19,Issue 3.2001:242-262.
作者簡(jiǎn)介:
陳 玉(1975-),男,碩士,實(shí)驗(yàn)師.研究領(lǐng)域:計(jì)算機(jī)應(yīng)
用,中文信息處理.