国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

相似度算法下中文問答系統(tǒng)的設計與實現(xiàn)

2012-10-16 10:36劉震肖文顯
關鍵詞:庫中分詞語句

劉震,肖文顯

(河南科技學院,河南新鄉(xiāng)453003)

中文問答系統(tǒng)是信息檢索技術的一個重要分支,采用全新的檢索理論,對現(xiàn)有的基于關鍵字技術的信息檢索的不足之處進行了有效的補充,是新一代信息檢索的研究方向[1].

國外在問答系統(tǒng)的研究與應用方面發(fā)展較為迅速,這是因為基于英文的句法分析和詞法分析都比較成熟,基于英文的語料庫和測試語料庫也非常多,而且大部分都開源[2],所以國外的問答系統(tǒng)的發(fā)展比較領先.相對而言,國內(nèi)在自動問答系統(tǒng)方面的研究存在著很大的差距.本文在深入研究了大量國內(nèi)外問答系統(tǒng)的基礎上,結(jié)合中文信息處理所具有的特點,提出了一個基于語句相似度計算的中文問答系統(tǒng)模型,在些基礎上,構建了基于常見問題集的中文問答系統(tǒng).

1 中文問答系統(tǒng)的理論基礎

在中文問答系統(tǒng)中,用戶提出問題后,需要從數(shù)據(jù)庫的問題庫中查找與用戶問題最相似的問句.常規(guī)的做法是計算用戶問題和候選問題庫中同類問句之間的相似度,當相似度超過某個指定的閥值時,相似度最大的就是用戶要找的句子;如果用戶問題和所有候選問題庫中的同類問句之間的相似度都小于閥值,則需要從語料庫或網(wǎng)絡中檢索和摘取相應的答案[3].因此,語句相似度的定義及計算對于中文問答系統(tǒng)來說非常關鍵.

1.1 知網(wǎng)的結(jié)構

知網(wǎng)中有兩個主要概念:“概念”和“義原”,分別介紹如下[4]:

(1)概念:描述詞匯語義用的,是由詞表示的概念標識符.

(2)義原:描述概念中用到的最基本的、不能再分割的最小意義單位.

1.2 中文問答系統(tǒng)的分類

1.2.1 領域分類 中文問答系統(tǒng)按照主題內(nèi)容所涉及的領域可分為專業(yè)領域的問答系統(tǒng)和面向開放領域的問答系統(tǒng).

1.2.2 特性分類 中文問答系統(tǒng)依據(jù)問題類型的特性,參考TREC會議評測的標準,可以將問答系統(tǒng)分為:a.事實性問題問答系統(tǒng);b.羅列性問題問答系統(tǒng);c.定義性問答系統(tǒng)[5].

1.3 中文信息處理的特點

中文問答系統(tǒng)相對于西文自動問答系統(tǒng)有以下幾個方面的特點[6]:

(1)中文詞語之間連續(xù)書寫,中文分詞是中文信息處理的基礎,中文問答系統(tǒng)要分析問句和答案,首先要對句子進行分詞處理;

(2)中文沒有像英語一樣的形態(tài)變化;

(3)中文句子的語法十分靈活,句子的類型沒有辦法枚舉,句子各成分之間的關系比較復雜,很難發(fā)現(xiàn)句子的規(guī)律;

(4)缺乏必要的語料庫的支持.

1.4 問句特征向量的提取

問句特征向量的提取,是指在中文分詞和詞性標注的基礎上,去掉連詞、介詞、擬聲詞等虛詞,以及對于區(qū)分意義不大的高頻詞(比如“這一”)和低頻詞之后形成的關鍵詞序列[7].

2 中文問答系統(tǒng)的模型

2.1 中文問答系統(tǒng)的框架

中文問答系統(tǒng)是信息檢索的高級形式,其目的是希望用戶使用更為貼切自然語言的方式進行提問,得到的也是一個比較接近自然語言的答案.中文問答系統(tǒng)就是在對用自然語言表達的問句作一定的分析處理,在理解其語義內(nèi)容的基礎上,根據(jù)一定的算法或采取一定的策略進行檢索,最后把答案從網(wǎng)頁或文檔中提取出來,呈現(xiàn)給用戶.

圖1 中文問答系統(tǒng)的整體框架Fig.1 Overall frame-chart of Chinese Q&A system

由圖1可知,基于語句相似度的中文問答系統(tǒng)由3部分組成,分別是問句預處理、語句相似度計算和答案抽取.

(1)問句預處理模塊主要包括:中文分詞和詞性標注、問句類型分析、關鍵詞提取和關鍵詞擴展.

(2)語句相似度計算模塊主要包括詞語相似度計算、詞形相似度計算、詞序相似度計算、結(jié)構相似度計算、句長相似度計算、語義相似度計算和語句相似度計算.

(3)答案抽取模塊主要包括相似度排序、強制性關鍵詞篩選、答案輸出和用戶結(jié)果顯示.

2.2 問句預處理

中文分詞是中文信息處理的基礎,由于漢語是分詞連寫的,要對問句進行理解,還要對分詞之后的詞語進行詞性標注.問句類別確定的目的是確定答案的語義類別以及對問句采用何種策略.在確定問句類別和要搜索的答案類別之后,才可以運用一些特殊的策略和技術去分析問句和進行問句相似度的計算,最終生成問題的答案.經(jīng)過分詞和詞性標注之后,進行信息檢索的輸入部分就是問句的關鍵詞,它直接影響到后面的檢索結(jié)果.

中文問答系統(tǒng)評價的標準是使用該系統(tǒng)進行信息檢索的精度和召回率,定義如下:

2.3 多特征加權的語句相似度計算

(1)詞語相似度以知網(wǎng)作為系統(tǒng)的語義知識庫,主要包括詞語相似度計算、義原相似度計算、虛詞概念相似度計算和實詞概念相似度計算.

(2)詞形相似度反映兩個句子中詞語在形態(tài)上的相似程度,以兩個句子中所含有相同詞的個數(shù)來衡量.

(3)詞序相似度就是句子A和B的詞序相似度.

(4)結(jié)構相似度漢語句子結(jié)構相似度主要反映兩個句子在結(jié)構上的相似性,該方法的主要思想是:根據(jù)兩個漢語句子分詞和詞性標注之后,所得到的詞類序列,結(jié)合不同詞類的權重,進行詞類序列匹配,得到最優(yōu)的匹配結(jié)果.

(5)句長相似度反映兩個句子在長度形態(tài)上的相似程度.

(6)語義相似度是設兩個句子S1和S2,S1包含的詞為w11、w12、…、w1m,S2包含的詞為w21、w22、…、w2n,則詞語 w1i(1≤i≤m)和 w2j(1≤j≤n)之間的相似度表示為 Sim5(w1i,w2j).

(7)語句相似度反映兩個句子之間的相似程度.通常表示為0~1之間的一個數(shù)值,0表示不相似,1表示完全相似,數(shù)值越大表示兩個句子越相似.

2.4 答案抽取

系統(tǒng)的關鍵在于問題句子和數(shù)據(jù)庫中標準問句之間相似度的計算,顯示用戶結(jié)果的時候,需要根據(jù)相似度進行排序,另外,系統(tǒng)也需要設置一個閥值threshold,只有語句相似度大于threshold的時候,才輸出檢索結(jié)果.通過強制性關鍵詞表對檢索的結(jié)果進行過濾,去掉和用戶檢索結(jié)果無關的結(jié)果,以用戶較為熟悉的論壇風格輸出用戶檢索的結(jié)果.為了滿足不同用戶的瀏覽習慣,用戶可以自己訂制檢索結(jié)果的顯示風格,包括:每頁顯示的記錄的條數(shù)、頁面的CSS風格等.

3 中文問答系統(tǒng)的實現(xiàn)

3.1 數(shù)據(jù)結(jié)構的設計

利用語句相似度計算來實現(xiàn)的中文問答系統(tǒng),與一些知識庫的相關信息都有非常緊密的聯(lián)系,需要一個數(shù)據(jù)庫來存放,從便于操作和方便的角度出發(fā),我們采用Access 2003作為后臺數(shù)據(jù)庫管理系統(tǒng).3.1.1問題庫的分析與表示 對于構建一個基于常見問題集的中文問答系統(tǒng),首先需要一個常見問題庫作為系統(tǒng)的基礎支撐,考慮到常見問題可能存在一問多答的現(xiàn)象,所以設計了表1和表2來存儲常見問題及其答案.

表1 Questions的存儲結(jié)構Tab.1 Storage structure of Questions

表2 Answers的存儲結(jié)構Tab.2 Storage structure of answers Answers

從表1和表2可以看出,兩個表之間是通過問題編號這個字段進行關聯(lián)的,字段Question_Id在表Questions中作為主鍵,在表Answers中作為外鍵.

3.1.2 知網(wǎng)的分析與表示 知網(wǎng)是用知識描述語言描述的,給出了義原關系的樹狀結(jié)構表示.中文問答系統(tǒng)采用Java語言實現(xiàn),為了提高系統(tǒng)的運行效率,需要在程序運行的開始,讀入所有的詞典內(nèi)容到內(nèi)存中.

3.2 問答系統(tǒng)的實現(xiàn)

基于常見問題集(FAQ)的中文問答系統(tǒng)是在已經(jīng)存在的問題數(shù)據(jù)庫中找到與用戶所提問句相匹配的問題,再在答案庫中找出與該問題相對應的答案返回給用戶.系統(tǒng)分為建立候選問題集、計算語句相似度、FAQ庫的更新3個過程來處理.

3.2.1 候選問題集的建立 為了提高檢索效率,減小查找的范圍和語句相似度計算等這樣復雜的處理過程的效率,我們建立了一個候選問題庫,使得像計算相度這樣繁瑣的過程能夠在一個相對較小的范圍內(nèi)進行,有利于提高檢索的效率.系統(tǒng)選出FAQ庫的20%的問句作為候選問題集.針對目標問句中包含的某個詞語,想盡快地統(tǒng)計出常見問題庫中究竟有多少個問句包含有這個詞,我們使用下面的數(shù)據(jù)結(jié)構來實現(xiàn).

圖2 常見問題集的中文問答系統(tǒng)的數(shù)據(jù)結(jié)構Fig.2 Data structures of Chinese question answering system in FAQ

在圖2中的FAQ庫中記錄了所有的Question-Answer對,Pos表則記錄了FAQ庫中的每個Question在文件中的具體物理位置,反映到關系數(shù)據(jù)庫中記錄每個問句的ID號即可,Index表中的Word1,Word2,……是FAQ庫中的所有問句包含的詞語經(jīng)過排序后形成的鏈表.每個Wordi指向一個S鏈表,這個S鏈表中的每個節(jié)點記錄的是FAQ庫中含有Wordi的一個問句的句子ID號.

3.2.2 語句相似度的計算 所用的方法是計算候選問題集合中的每個問句和目標問句之間的相似度,然后對計算出來的各種相似度的結(jié)果進行加權計算,對應的相似度最大的問句就是我們要找的句子.

3.3 實驗結(jié)果及分析

信息檢索系統(tǒng)總是假定存在一個文檔集與用戶的查詢是相關的,而基于常見問題集的中文問答系統(tǒng)則假定常見問題集中存在一個正確的“答案”.

3.3.1 測試集和評測標準 實驗采用的測試集是從某大學校長信箱的“問題-答案”對中經(jīng)過人工收集整理來的,從而形成常見問題庫,共有304個問句.

為了評價基于語句相似度的中文問答系統(tǒng)的性能,構造了兩組測試集.第一組是從常見問題庫隨機抽取了問句124條;第二組是直接從FAQ庫中人工選擇有代表性的問句60條.評測時為了便于程序自動統(tǒng)計和人工核對,采用類似TREC的S@n(Success at n)方法,即正確答案在前n個結(jié)果中的比例.

對錯判的評價主要考慮匹配到問句是否為正確答案,系統(tǒng)返回認為正確而實際錯誤,則認為是發(fā)生錯誤;對于系統(tǒng)沒有發(fā)現(xiàn)正確的匹配問句不在考察范圍內(nèi),取S@1.

3.3.2 實驗結(jié)果及分析 實驗采用傳統(tǒng)的VSM(向量空間模型)和基于語句相似度計算的問句匹配方法進行測試,評測結(jié)果如表3所示.

表3 測試結(jié)果Tab.3 Test results

由表3可知,按照兩組數(shù)據(jù)的比較,第一組數(shù)據(jù)(從常見問題庫隨機抽取的問句)的S@1值偏低,經(jīng)仔細分析,發(fā)現(xiàn)錯誤的原因是:一些問題比較隨意,包含有用的信息過少,比如:“不公平”這樣的問句包含的信息比較隨意;另一些問題沒有答案,比如:“校長是哪個專業(yè)畢業(yè)的?”.第二組數(shù)據(jù)(從候選問題庫中選取的問句)的S@1值比較理想,但還是有近30%的問題答案出錯.經(jīng)仔細分析發(fā)現(xiàn),錯誤的原因一方面是由于問句的類別識別不正確,另一方面是由于問句或答案中含有否定詞語,從而導致問句匹配不正確.按照兩種相似度方法比較,兩組測試集在相似度計算方法有很大的差別:VSM方法主要是從語句表面進行分析,統(tǒng)計詞頻等信息;而本文基于語句相似度的問句匹配方法,利用了語義知識庫,是對語句的深層分析,提高了問句匹配的精度,對于傳統(tǒng)的VSM方法有一定的提高和改進.

4 小結(jié)

計算機能否實現(xiàn)智能化,最直接的體現(xiàn)就是能否回答人類自然語言的問題.本文通過深入研究中文句子相似度的計算方法,對幾種相似度算法進行分析、比較,提出了一個多特征加權的語句相似度算法,并將這種算法應用到中文問答系統(tǒng),提出了一個中文問答系統(tǒng)模型,實現(xiàn)了簡單的中文問答系統(tǒng).經(jīng)過實驗證明,其問句匹配的準確率明顯提高.如果能進一步優(yōu)化計算效率,將語句的感情色彩考慮進去,那么得到的答案將會達到最優(yōu),這些有待于以后加以研究.

[1]張亮,黃河燕,胡春玲.中文問答系統(tǒng)模型研究[J].情報學報,2006,25(2):197-201.

[2]王宇,戰(zhàn)學剛,蔡建山.基于網(wǎng)絡的中文問答系統(tǒng)的研究[J].計算機工程與應用,2006(7):162-165.

[3]張亮,馮沖,陳肇雄,等.基于語句相似度計算的FAQ自動回復系統(tǒng)設計與實現(xiàn)[J].小型微型計算機系統(tǒng),2006,27(4):720-723.

[4]周法國,楊炳儒.句子相似度計算新方法及在問答系統(tǒng)中的應用[J].計算機工程與應用,2008,44(1):165-167.

[5]王榮波,池哲儒.基于詞類串的漢語句子結(jié)構相似度計算方法[J].中文信息學報,2004,19(1):21-29.

[6]呂學強,任飛亮,黃志丹,等.句子相似模型和最相似句子查找算法[J].東北大學學報:自然科學版,2003,24(6):531-534.

[7]江敏,肖詩斌,王弘蔚,等.一種改進的基于《知網(wǎng)》的詞語語義相似度計算[J].中文信息學報,2008,22(5):84-89.

猜你喜歡
庫中分詞語句
街頭的人
分詞在英語教學中的妙用
重點:語句銜接
結(jié)巴分詞在詞云中的應用
結(jié)巴分詞在詞云中的應用
從今天開始
智能盤庫在自動化立體庫中的探索和應用
如何搞定語句銜接題
ID3算法在構件庫中的應用
論英語不定式和-ing分詞的語義傳承
察雅县| 崇左市| 徐州市| 石首市| 磐石市| 九龙城区| 湘潭市| 铁力市| 开远市| 天镇县| 霍邱县| 察雅县| 镇宁| 东辽县| 乳山市| 阳东县| 梁平县| 平塘县| 三穗县| 龙川县| 上饶县| 郴州市| 柘荣县| 中西区| 凯里市| 临沭县| 景宁| 合川市| 永康市| 华坪县| 高邮市| 大竹县| 阿克苏市| 龙门县| 博客| 开封县| 雷山县| 壤塘县| 边坝县| 汉川市| 连云港市|