亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng)的制作方法

文檔序號:6483255閱讀:218來源:國知局

專利名稱::一種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明屬于信息檢索
技術(shù)領(lǐng)域
,特別涉及-種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng)。
背景技術(shù)
:問答系統(tǒng)(QuestionAnsweringSystem)是指能夠?qū)τ嬎銠C用戶輸入的使用自然語言描述的問題做出回答的系統(tǒng),-般采用計算機軟件系統(tǒng)技術(shù)實現(xiàn)。問答系統(tǒng)集自然語言處理、信息檢索、知識表示為一體,正日益成為國際上研究的熱點。它既能夠讓用戶用自然語言提問,又能夠為用戶返回一個簡潔、準確的答案,而不是一些相關(guān)的網(wǎng)頁。因此,問答系統(tǒng)和傳統(tǒng)依靠關(guān)鍵字匹配的搜索引擎相比,能夠更好地滿足用戶的檢索需求,更準確地找出用戶所需要的答案,具有方便、快捷、高效等特點。信息檢索技術(shù)和自然語言處理技術(shù)是自動問答系統(tǒng)研究的基礎(chǔ)。目前,信息檢索技術(shù)已經(jīng)逐步走向成熟,其中搜索引擎技術(shù)己經(jīng)發(fā)展的比較完善。分詞、詞性標注、命名實體識別等基礎(chǔ)自然語言處理技術(shù)研究也已經(jīng)取得了很大的成績。這些基礎(chǔ)技術(shù)的蓬勃發(fā)展以及用戶的巨大需求都預(yù)示著問答系統(tǒng)的研發(fā)將要進入一個空前的大發(fā)展時期?,F(xiàn)有的應(yīng)用于漢語問題理解的機器學(xué)習(xí)方法有很多,隱馬爾可夫模型(H麗),最大熵(MaximiumSntropy),支持向量機(SV)等,中文自動問答系統(tǒng)大多參考國外一些優(yōu)秀的英文自動問答系統(tǒng)。但是與英文相比,中文具有用詞靈活、句法復(fù)雜多變的特點,簡單的模仿英文自動問答技術(shù),導(dǎo)致中文自動問答系統(tǒng)普遍存在中文知識庫的覆蓋面窄、系統(tǒng)的準確率和召回率都很低的問題,對用戶體驗造成了傷害。
發(fā)明內(nèi)容本發(fā)明目的在于解決現(xiàn)有技術(shù)不足,提出了一種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng)。本發(fā)明的技術(shù)方案是包括有用戶接口模塊(10)、問題預(yù)分詞模塊(20)、神經(jīng)元預(yù)標注模塊(30)、學(xué)習(xí)訓(xùn)練模塊(40)、神經(jīng)元知識庫模塊(50)、語義塊識別模塊(60)、問題集索引模塊(70)和答案推理模塊(80);用戶接口模塊(10)用于實現(xiàn)用戶交互,包括接受用戶輸入問題,然后對用戶輸入問題的表達進行檢査,將通過檢查的用戶輸入問題提交到問題預(yù)分詞模塊(20),并將答案推理模塊(80)所得結(jié)果反饋用戶;問題預(yù)分詞模塊(20)用于接收用戶接口模塊(10)傳遞的用戶輸入問題,對用戶輸入問題進行預(yù)處理,所述預(yù)處理包括對用戶輸入問題進行分詞、語義消歧及確定詞性;并將預(yù)處理后的用戶輸入問題提交給語義塊識別模塊(60);神經(jīng)元提供模塊(30),用于提供訓(xùn)練語料給學(xué)習(xí)訓(xùn)練模塊(40),所述訓(xùn)練語料是預(yù)先對訓(xùn)練用問句進行分詞、語義消歧、確定詞性并進行語義塊標注形成的語義塊序列;所述語義塊標注,是為語義塊內(nèi)所含詞,根據(jù)其位置設(shè)定語義塊分類標記;學(xué)習(xí)訓(xùn)練模塊(40),用于對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練直至網(wǎng)絡(luò)收斂,得到穩(wěn)定的神經(jīng)網(wǎng)絡(luò);所述神經(jīng)網(wǎng)絡(luò)根據(jù)訓(xùn)練語料建立,其結(jié)構(gòu)包括輸入層、隱含層和輸出層,其中輸入層根據(jù)語義塊所含詞的詞義和語境設(shè)定節(jié)點,輸出層根據(jù)語義塊分類設(shè)定節(jié)點,隱含層用于實現(xiàn)輸入層到輸出層的傳遞;神經(jīng)元知識庫模塊(50),用于保存學(xué)習(xí)訓(xùn)練模塊(40)所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò);語義塊識別模塊(60),用于當出現(xiàn)用戶輸入問題時,從神經(jīng)元知識庫模塊(50)中提取運行學(xué)習(xí)訓(xùn)練模塊(40)所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò)并運行,從問題預(yù)分詞模塊(20)所得預(yù)處理后的用戶輸入問題中識別得到語義塊,從用戶輸入問題識別得到的所有語義塊構(gòu)成語義塊序列;問題集索引庫模塊(70),用于存放已知問題和答案對的索引文件;所述索引文件記載有已知問題的語義塊序列和答案的位置信息,為冋答用戶輸入問題提供知識來源;答案推理模塊(80),用于査詢問題集索引庫模塊(70)所提供索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題,取得每個相關(guān)問題與用戶輸入問題的相似度,根據(jù)相似度選擇應(yīng)答用的相關(guān)問題,根據(jù)索引文件記載的位置信息提取應(yīng)答用的相關(guān)問題的答案,通過用戶接口模塊(10)輸出相關(guān)問題的答案實現(xiàn)應(yīng)答;所述相關(guān)問題與用戶輸入問題的相似度,根據(jù)相關(guān)問題與用戶輸入問題的語義塊序列相似度以及語境相似度得到,其中語義塊序列相似度根據(jù)語義塊間的相似度得到,語義塊間的相似度由語義塊內(nèi)詞之間的相似度得到。而且,答案推理模塊(80)包括有問題推理單元、問題檢索單元和問題相似度計算單元;問題推理單元,用于選取用戶輸入問題中核心的語義塊做同義詞擴展,并將擴展后的語義塊序列傳給問題相似度計算單元;問題檢索單元,用于調(diào)用問題集索引庫單元(70)存放的索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題;問題相似度計算單元,用于分別計算每個相關(guān)問題與用戶輸入問題的相似度,選取相似度最高的相關(guān)問題的相應(yīng)答案作為對用戶輸入問題的應(yīng)答。而且,設(shè)置樣本補充學(xué)習(xí)模塊(90),用于向神經(jīng)元提供模塊(30)輸入補充訓(xùn)練語料。而且,所述輸入層根據(jù)語義塊所含詞的詞義塊分類標記和語境設(shè)定,其中語境包括詞語本身、詞的詞性及與該詞性相對應(yīng)的共現(xiàn)詞。本發(fā)明提出將神經(jīng)網(wǎng)絡(luò)應(yīng)用到問答系統(tǒng)領(lǐng)域,能夠?qū)⒕浞ā⒄Z義和語境知識融為一體,自動問答過程接近于人處理中文句子的過程。并且,本發(fā)明通過對語義塊內(nèi)詞的相對位置進行編碼,將問題語義塊識別問題轉(zhuǎn)化成一個標記分類問題,具體分析。本發(fā)明具有以下優(yōu)點(1)人類對語言的理解,是綜合運用句法、語義和語境知識的結(jié)果。本發(fā)明將這三種知識融為一體,對問題進行分析時,同時運用了這三種知識,網(wǎng)絡(luò)的行為表現(xiàn)出一定的預(yù)期性;因此,在某種程度上較接近于人處理句子的過程。(2)由于采用神經(jīng)網(wǎng)絡(luò)模型,在上下文取詞個數(shù)方面可以突破二元語法的限制,同時也不會引起空間的過度膨脹。在提高準確率的同時,避免了普通語義分析所帶來的空間開銷。(3)運用神經(jīng)網(wǎng)絡(luò)知識存儲和自適應(yīng)特征,可以通過適應(yīng)補充學(xué)習(xí)樣本,實現(xiàn)歷史經(jīng)驗與新知識完滿結(jié)合,在發(fā)展過程中動態(tài)地評價系統(tǒng)狀態(tài),提高系統(tǒng)的準確率。圖l是本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)圖。圖2是本發(fā)明實施例的訓(xùn)練階段流程圖。圖3是本發(fā)明實施例的測試階段流程圖。圖4是本發(fā)明實施例的運行階段流程圖。具體實施例方式下面結(jié)合附圖和實例對本發(fā)明作進一步詳細的說明。如圖1所示,本發(fā)明實施例提供的中文問答系統(tǒng)包括有用戶接口模塊10、問題預(yù)分詞模塊20、神經(jīng)元預(yù)標注模塊30、學(xué)習(xí)訓(xùn)練模塊40、神經(jīng)元知識庫模塊50、語義塊識別模塊60、問題集索引模塊70、答案推理模塊80以及另外樣本補充學(xué)習(xí)模塊90,各模塊可由本領(lǐng)域技術(shù)人員根據(jù)本發(fā)明技術(shù)方案采用計算機軟件技術(shù)實現(xiàn)。用戶接口模塊10用于實現(xiàn)用戶交互,包括兩方面的功能其一是接受用戶輸入問題,然后對用戶輸入問題的表達進行檢查,將通過檢査的用戶輸入問題提交到問題預(yù)分詞模塊20。對用戶輸入問題的表達檢査可以防止錯誤,例如出現(xiàn)無法理解的符號、長度不夠等情況時,不予接受,提示用戶修改輸入問題。只有用戶輸入問題的表達符合規(guī)范時,允許用戶輸入問題通過檢查,并將其傳送到問題預(yù)分詞模塊20進行下一步處理。其二是將答案推理模塊80所得結(jié)果,即相關(guān)問題的答案反饋給用戶,從而實現(xiàn)對用戶輸入問題的應(yīng)答。問題預(yù)分詞模塊20用于接收用戶接口模塊10傳遞的用戶輸入問題,對用戶輸入問題進行預(yù)處理,所述預(yù)處理包括對用戶輸入問題進行分詞、語義消歧及確定詞性;并將預(yù)處理后的用戶輸入問題提交給語義塊識別模塊60。問題預(yù)分詞替換20可以利用現(xiàn)有分詞軟件實現(xiàn)預(yù)處理,例如SEGTAG。為了利用神經(jīng)網(wǎng)絡(luò)進行自動問答,需要提供網(wǎng)絡(luò)收斂的穩(wěn)定神經(jīng)網(wǎng)絡(luò)。通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)最終得到穩(wěn)定的神經(jīng)網(wǎng)絡(luò)的過程,可稱為訓(xùn)練階段。本發(fā)明實施例為訓(xùn)練階段提供了神經(jīng)元提供模塊30、學(xué)習(xí)訓(xùn)練模塊40和神經(jīng)元知識庫模塊50。神經(jīng)元提供模塊30,用于提供訓(xùn)練語料給學(xué)習(xí)訓(xùn)練模塊40,所述訓(xùn)練語料是預(yù)先對訓(xùn)練用問句進行分詞、語義消歧、確定詞性并進行語義塊標注形成的語義塊;所述語義塊標注,是為語義塊內(nèi)所含詞,根據(jù)其位置設(shè)定了語義塊分類標記。可以預(yù)先在神經(jīng)元提供模塊30中存入事先準備好的訓(xùn)練語料;也可以利用用戶接口模塊10輸入訓(xùn)練用問句,在問題預(yù)分詞模塊20利用分詞軟件進行分詞、語義消歧、確定詞性,再通過用戶接口模塊10提供的用戶交互功能實現(xiàn)人工語義塊標注,最終形成的語義塊序列作為訓(xùn)練語料傳送到神經(jīng)元提供模塊30保存,參見圖2提供的訓(xùn)練階段流程。語義塊分類標記是一種介于詞匯和句子之間的、具有非遞歸特性的核心成分,每個語義塊由句子中的單詞或多詞單元組成,并且具有固定的語義。發(fā)明人對5000句中文問題分析,總結(jié)出問題劃分的5種語義塊,如表l所示表l語義塊類型<table>tableseeoriginaldocumentpage9</column></row><table>主體塊(Sn):主體塊主要描述了問題中施事和受事主體,主要是一些名詞和名詞短語。焦點塊(Qf):焦點塊是問題詢問信息的焦點,焦點塊是對問點的完全描述。通常文典塊由疑問詞和相關(guān)詞結(jié)合而成。屬性塊(At)和屬性值塊(Av):屬性塊主要描述了實體的屬性,屬性值塊描述了實體屬性的值。事件塊(Ev):事件塊描述了問題中實體的動作。在這種語義塊劃分基礎(chǔ)上,可以采用SIE編碼方式為語義塊內(nèi)所含詞設(shè)定語義塊分類標記。其中,S表示一個語義塊的開始,I表示語義塊內(nèi)部,E表示語義塊結(jié)束。例如句子具哪些條件的學(xué)生才可以申請獎學(xué)金?經(jīng)過分詞軟件進行分詞、語義消歧、確定詞性處理后,句子的詞序列如下[哪些/r條件/n]的[學(xué)生/n][才/d可以/v申請/v][獎學(xué)金/n]/w其中,詞性v表示動詞、r表示代詞、n表示名詞、w表示符號詞。加上語義塊類型信息后,變成如下形式-[Qf哪些/r條件/n]的[Sn學(xué)生/n][Ev才/d可以/v申請/v][Sn獎學(xué)金/n]/w根據(jù)SIE編碼方式,可以在語義塊類型信息基礎(chǔ)上為每個詞附上語義塊分類標記,編碼為以下語義塊序列具備/S-Ev那些/S-Qf條件/I-Qf的/E學(xué)生/S-Sn才/S-Ev可以/I-Ev申請/I-Ev獎學(xué)金/S-Ev/E其中Ev'表示一個類型為事件塊的語義塊中的第一個詞,'I-Ev'表示一個類型為事件塊的語義塊中的內(nèi)部詞。E和S同時代表語義塊的結(jié)束,比如具備/S-Ev那些/S-Qf條件/I-Qf的/E,通過該規(guī)則可以直接識別出語義塊具備/Ev和那些條件/Qf。這樣,針對每一種語義塊分別有S-和I-兩種標記,如果有G種語義塊類別則對應(yīng)有2G種語義塊分類標記,語義塊識別問題就轉(zhuǎn)化為2G類分類器問題。本發(fā)明實施例按表1將語義塊劃分定義為5種類型,則語義塊識別可以轉(zhuǎn)化為10類的分類問題。具體實施時,也可以采用其他語義塊劃分方式和相應(yīng)分類。本發(fā)明實施例對訓(xùn)練用問句進行語義塊標注的實現(xiàn)過程為以經(jīng)過切分和詞性標注的訓(xùn)練用問句為語義塊標注對象,用S二(W,T)表示,其中r—W,2,w3,…,w畫)表示詞序列,7=(^2,/3,..^畫)表示對應(yīng)的詞性序列,c=(Cl,C2,C3,...,;m)表示訓(xùn)練用問句S二(W,T)的語義塊分類標記序列,5=(^&53,...,^,)表示共現(xiàn)詞詞頻序列。共現(xiàn)詞詞頻可通過在神經(jīng)元提供模塊30所有訓(xùn)練語料中考察詞的相鄰詞,統(tǒng)計詞的共現(xiàn)次數(shù)得到。則對訓(xùn)練用問句的語義塊標注問題轉(zhuǎn)化為已知詞序列W和詞性序列T,標注語義塊分類標記序列C。例如語義塊序列具備/S-Ev那些/S-Qf條件/I-Qf的ZE學(xué)生/S-Sn才/S-Ev可以/I-Ev申請/I-Ev獎學(xué)金ZS-Ev/E此時下標nmn為8,『=(1,2,3,...,8),r=(v,r,",...,"),C=(S-fiv,S-0V-2f,…,s—五v),S=(0,0,..5,5)。其中,1,2,3,…,8表示問句中每個詞"具備"、"那些"、"條件"…"獎學(xué)金"的位置信息,v,",...,"表示各詞的詞性、S-^,S-fiA/-就是各詞的語義塊分類標記,0,0,..5,5表示各詞的共現(xiàn)詞詞頻。學(xué)習(xí)訓(xùn)練模塊40,用于對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練直至網(wǎng)絡(luò)收斂,得到穩(wěn)定的神經(jīng)網(wǎng)絡(luò);所述神經(jīng)網(wǎng)絡(luò)根據(jù)訓(xùn)練語料建立,其結(jié)構(gòu)包括輸入層、隱含層和輸出層,其中輸入層根據(jù)語義塊所含詞的詞義和語境設(shè)定節(jié)點,輸出層根據(jù)語義塊分類設(shè)定節(jié)點,隱含層用于實現(xiàn)輸入層到輸出層的傳遞。輸入層對輸入的訓(xùn)練語料以詞為單元進行處理。為了充分發(fā)揮上下文對語義塊標記的影響,本發(fā)明實施例的輸入層設(shè)計不但考慮當前詞的語義塊分類標注尸(c,+,k,),還考慮了當前詞的上下文環(huán)境,即語境。語境包括3個方面詞語本身尸(^lc,)、詞語的詞性P(7;k,),與詞性P(S,k)相對應(yīng)的共現(xiàn)詞。因此實施例將尸(^ic,)、zx;ic,)、P(c,+,k,)、戶(S,lc,)作為神經(jīng)網(wǎng)絡(luò)的輸入特征,對不同的輸入特征分別設(shè)計輸入節(jié)點,輸入節(jié)點是和當前詞有關(guān)的輸入的所有可能性的表達。具體設(shè)計方式如下設(shè)L為當前詞左邊的詞數(shù),R為當前詞右邊的詞數(shù)(L和R的值在隱含層確定),IXl為語義塊分類標記的數(shù)目,lYi為詞性的數(shù)目,IZl為該詞對應(yīng)的共現(xiàn)詞記數(shù)。本發(fā)明實施例的IXl二10;SEGTAG軟件提供28種詞性,因此實施例IY|=28;|Z|則根據(jù)具體的共現(xiàn)詞詞頻而定。(1)輸入特征P,JO:即考慮當前詞左邊L個詞和右邊R個詞的影響,每個節(jié)點都是一個二維向量/r(a)。i對應(yīng)詞的位置,取lnum;k表示第k種語義塊分類標記,取1|X|。當前詞的輸入特征P(^lc,)對應(yīng)共(L+l+RhlXl個節(jié)點。(2)瑜入特征p(t;Ic,):即考慮當前詞左邊L個詞和右邊R個詞的詞性的影響,每個節(jié)點都是一個三維向量/r(w,"。i對應(yīng)詞的位置,取lnmn;j表示第j'種詞性,取llYl,取liXl;k表示第k種語義塊分類標記,取1IXI。當前詞的輸入特征Ic,)對應(yīng)共(L+l+R)*IXI*IYI個節(jié)點。(3)輸入特征P(《lc,):即考慮當前詞左邊L個詞和右邊R個詞中出現(xiàn)共現(xiàn)詞的影響,每個節(jié)點都是一個三維向量/S(i,a》)。i對應(yīng)詞的位置,取1num;a表示左邊第a個位置出現(xiàn)共現(xiàn)詞;b表示右邊第b個位置出現(xiàn)共現(xiàn)詞。當前詞的輸入特征lc,)對應(yīng)共(L+l+R)*IX1*IZi個節(jié)點。(4)、輸入特征P(^l":即考慮當前詞左邊L個詞和右邊R個詞的語義的影響,每個節(jié)點都是一個二維向量/C(a)。i對應(yīng)詞的位置,取ln咖;k表示第k種語義塊分類標記,取liXl。當前詞的輸入特征A^k,)對應(yīng)共(L+1+R)—Xj個節(jié)點。具體實施時,根據(jù)f(^k,)、P(i;k)、iV,+1k,)、戶(Sk,)分別設(shè)定神經(jīng)網(wǎng)絡(luò)中輸入層的節(jié)點數(shù)目,也就是輸入層總共只設(shè)定4個特征。當用戶輸入問題分詞后得到num個詞后,其中每個詞對應(yīng)(L+l+R)個輸入,即當前詞左邊的詞、當前詞和當前詞右邊的詞。因此針對一個用戶輸入問題,輸出層每個特征有(L+1+Rhnum組數(shù)據(jù),共(L+1+R)化um組數(shù)據(jù)。具體實施時,輸入層特征可采用現(xiàn)有神經(jīng)網(wǎng)絡(luò)工具箱(可從MATLAB的官網(wǎng)下載)中的premnmx函數(shù)對每組數(shù)據(jù)進行處理,歸一化后的數(shù)據(jù)都處于一11的區(qū)域范圍內(nèi),這樣可以減小,結(jié)果誤差率低。Premnmx對數(shù)據(jù)進行處理的算法為/"=2*(/;"—min/0/(maxp—ininp)—l,其中,minp禾口maxP是樣本數(shù)據(jù)的最小值禾口最大值,戶就是每組數(shù)據(jù)歸一化后的取值。輸出層的設(shè)計直接關(guān)系到語義塊識別模塊60最終對語義塊的選取。本發(fā)明實施例將神經(jīng)網(wǎng)絡(luò)的輸出層設(shè)定為一個10類的分類器,也就是說輸出層包括10個節(jié)點。每一類代表一個SIE標記,具體見表2表2語義塊分類標記集<table>tableseeoriginaldocumentpage14</column></row><table>實施例的隱含層則采用^々W函數(shù)作為傳輸函數(shù),^"'g")如下式加柳=_(l+exp(-2x))-1其中,exp(-2x)表示e的一2x次方,e為數(shù)學(xué)常量2.7182…具體實施時,也可采用其他傳送函數(shù),一般可以釆用MATLAB的自帶函數(shù)。對于有限個輸入到輸出的映射,并不需要無限個隱含層節(jié)點,這就涉及到如何選擇隱含層節(jié)點數(shù)的問題。本發(fā)明實施例通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練實驗來確定隱含層的神經(jīng)元個數(shù),具體方式為輸入層與輸出層網(wǎng)絡(luò)結(jié)構(gòu)不變,通過調(diào)整隱含層,查看相應(yīng)神經(jīng)網(wǎng)絡(luò)性能后決定(1)設(shè)置初始隱含層netSea1—l神經(jīng)元節(jié)點數(shù)為l,得到初始的神經(jīng)網(wǎng)絡(luò)保存其準確率;(2)設(shè)置i為隱含層節(jié)點的數(shù)目,逐步增加i值,得到新的隱含層netSealj以及神經(jīng)網(wǎng)絡(luò),計算新的神經(jīng)網(wǎng)絡(luò)的準確率并與初始的神經(jīng)網(wǎng)絡(luò)準確率的準確率比較,所得誤差值保存;(3)選擇步驟2所得神經(jīng)網(wǎng)絡(luò)中誤差值最小者,設(shè)置該神經(jīng)網(wǎng)絡(luò)中隱含層的神經(jīng)元節(jié)點個數(shù)為最終隱含層節(jié)點數(shù)。神經(jīng)元知識庫模塊50,用于保存學(xué)習(xí)訓(xùn)練模塊40所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò)。通過保存訓(xùn)練階段的成果,為運行階段提供支持。具體實施時,神經(jīng)元知識庫模塊50還可保存訓(xùn)練時所用訓(xùn)練語料、穩(wěn)定的神經(jīng)網(wǎng)絡(luò)的輸入和輸出所構(gòu)成的固定連接矩陣,以及訓(xùn)練時神經(jīng)網(wǎng)絡(luò)所達到水平的閥值矩陣,以便為評價系統(tǒng)狀態(tài)提供參考。在運行階段,主要工作模塊是語義塊識別模塊60、問題集索引庫模塊70和答案推理模塊80,參見圖4:語義塊識別模塊60,用于實現(xiàn)問題標注,即當用戶通過用戶接口模塊10提交問題時,從問題預(yù)分詞模塊20所得預(yù)處理后的用戶輸入問題中識別得到語義塊,從用戶輸入問題識別得到的所有語義塊構(gòu)成語義塊序列。識別基于運行穩(wěn)定的神經(jīng)網(wǎng)絡(luò)實現(xiàn),實施例的識別處理流程為(1)將詞wordj送入輸入層,輸入詞word—i左L右R個詞的詞性、語義塊標記、語境、詞本身位置等共4X(L+R+l)個參數(shù),經(jīng)隱含層傳遞后,得至lj輸出層對應(yīng)參數(shù)wordParameter—1、wordParameter—2…,wordParameter一10,輸出層對應(yīng)參數(shù)的大小反應(yīng)了word一i選釋該參數(shù)所對應(yīng)語義塊分類標記的可能性;(2)找出wordParameter—1、wordParameter—2…,wordPammeter一10中值最大值,以其對應(yīng)的語義塊分類標記,作為詞word—i的語義塊分類標記。問題集索引庫模塊70,用于存放已知問題和答案對的索引文件;所述索引文件記載有已知問題的語義塊序列和答案的位置信息,為回答用戶輸入問題提供知識來源。索引文件可以預(yù)先構(gòu)建,具體實施時構(gòu)建流程可以為(1)從問答社區(qū)下載包含問題及答案的網(wǎng)頁;(2)利用現(xiàn)有htmlParser開源包從網(wǎng)頁中識別出問題和對應(yīng)的最佳答案,構(gòu)成已知問題和答案對。已知問題的語義塊序列可以通過事先進行手工標注得到,或者用神經(jīng)元知識庫模塊50存放的神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到。其中手工標注的準確性更高。(3)利用現(xiàn)有l(wèi)ucene開源包,對已知問題和答案對建立倒排索引,形成索引文件。建立索引時可以為問題分配相應(yīng)的ID號碼,方便調(diào)用。問題集索引庫模塊70中不需要直接存放已知問題和答案對,這樣可以減少系統(tǒng)資源占用負擔(dān)。通過記載答案的位置信息,就可以調(diào)用答案,例如通過存放網(wǎng)址來利用含有豐富知識的互聯(lián)網(wǎng)。記載已知問題的語義塊序列,則是為了實現(xiàn)用戶輸入問題與已知問題的相似性匹配,以便利用相似的已知問題應(yīng)答用戶輸入問題。答案推理模塊(80),用于査詢問題集索引庫模塊(70)所提供索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題,取得每個相關(guān)問題與用戶輸入問題的相似度,根據(jù)相似度選擇應(yīng)答用的相關(guān)問題,根據(jù)索弓I文件記載的位置信息提取應(yīng)答用的相關(guān)問題的答案,通過用戶接口模塊(10)輸出相關(guān)問題的答案實現(xiàn)應(yīng)答;所述相關(guān)問題與用戶輸入問題的相似度,根據(jù)相關(guān)問題與用戶輸入問題的語義塊序列相似度以及語境相似度得到,其中語義塊序列相似度根據(jù)語義塊間的相似度得到,語義塊間的相似度由語義塊內(nèi)詞間的相似度得到。16具體實施時可以對答案推理模塊80進行更細致的單元設(shè)計,本發(fā)明實施例的答案推理模塊80包括有問題推理單元、問題檢索單元和基于神經(jīng)網(wǎng)絡(luò)的問題相似度計算單元問題推理單元,用于實現(xiàn)問題推理,即選取用戶輸入問題中核心的語義塊做同義詞擴展,并將擴展后的語義塊序列傳給問題相似度計算單元。根據(jù)漢語句子的表達習(xí)慣,在問題疑問詞附近的詞更能表達整個句子所要表達的語義信息,對于問題分類常常具有更加重要的作用,特別是其中具有名詞特性的詞,也就是分詞時標記為"n"的詞。疑問詞右邊標記為"n"的詞所表達的語義信息比疑問詞左邊標記為"n"的詞更豐富和有效。實驗發(fā)現(xiàn),如果同義詞詞典中存在有多個標記為"n"的詞,并非選擇的越多越好,選取的過多反而會增加很多干擾信息,產(chǎn)生噪聲。因此,本發(fā)明實施例對于某一問題最多選取兩個詞擴展作為其語義特征,問題推理單元的工作流程為(1)選取疑問詞右邊標記為"n"的詞作為擴展詞,調(diào)用《同義詞詞林》,最多選取兩個同義詞擴展。如果疑問詞的右邊沒有標記為"n"的詞,則轉(zhuǎn)到第2步。(2)在疑問詞左邊選取標記為"n"的詞作為擴展詞,調(diào)用《同義詞詞林》,最多選取兩個同義詞擴展?!锻x詞詞林》也可以預(yù)先存放在神經(jīng)元知識庫模塊50中,供問題推理單元調(diào)用。問題檢索單元,用于實現(xiàn)問題檢索,即調(diào)用問題集索引庫模塊70存放的索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題。問題相似度計算單元,用于實現(xiàn)問題相似度計算分別計算每個相關(guān)問題與用戶輸入問題的相似度。本發(fā)明實施例的相似度計算具體步驟如下17(1)接收問題推理單元針對用戶輸入問題&",擴展后的語義塊序列wordsListj,以及從問題集索引庫模塊70提取相關(guān)的已知問題&的語義塊序列wordsList—2;(2)首先計算用戶輸入問題與相關(guān)問題的語義塊序列相似度=W,r2...,。,^表示用戶輸入問題&A中第j個語義塊與相關(guān)問題&"2中第j個語義塊的語義塊間相似度,j取lN,N表示用戶輸入問題&巧與相關(guān)問題&分別含有N個語義塊。逐個取用戶輸入問題S,中第j個語義塊內(nèi)所含帶有語義塊分類標記的詞,與相關(guān)問題&中第j個語義塊的語義塊內(nèi)所有帶有語義塊分類標記的詞一一取關(guān)聯(lián)度,得到一個關(guān)聯(lián)度矩陣,關(guān)聯(lián)度矩陣中的最大值設(shè)為F,。根據(jù)語義塊間相似度^,^..,^加權(quán)得到相關(guān)問題&2與用戶輸入問題&"1的語義塊序列相似度^,_;(3)然后計算用戶輸入問題&巧與相關(guān)問題&的語境相似度&。^,即根據(jù)相對共現(xiàn)詞頻詞表(事先統(tǒng)計語義塊之間的規(guī)則存入相對共現(xiàn)詞頻詞表,作為規(guī)則庫存放在神經(jīng)元知識庫模塊50中,以便標明哪些語義塊分類標記的詞更容易同時出現(xiàn)),帶入語境相似度公式S"(l+"!)(1+"2)(1+"W)、l)cW7"':c/—、W,/V"",A/J,/=1y=lJ=l其中的設(shè)計原理是基于互信息定義M/"&卜^^,p(W)是a,b同時發(fā)生的概率,p("),p(6)是a,b獨立發(fā)生的概率;在此基礎(chǔ)進一步改進,得出",=M/(A,5)=l。g7~~^^^,用戶輸入問題&",中出現(xiàn)最多的共現(xiàn)詞標記為A,相關(guān)問題&中出現(xiàn)最多的共現(xiàn)詞標記為B。在用戶輸入問題&巧中第j個語義塊與相關(guān)問題&中第j個語義塊中,共現(xiàn)詞A、B同時出現(xiàn)的次數(shù)為m;A出現(xiàn)而B沒有出現(xiàn)的次數(shù)為k;B出現(xiàn)而A沒有出現(xiàn)的次數(shù)為1。如果A和B不相關(guān),則值為0。(4)語義塊序列相似度^。自與語境相似度&。^進行點乘運算得到最終相射,,/(1+A)(l+2)r/(l+"w)T,、(5)輸出作為所述相關(guān)問題與用戶輸入問題的相似度。答案推理模塊80中還可以設(shè)置答案匹配單元,取得每個相關(guān)問題與用戶輸入問題的相似度,根據(jù)相似度選擇應(yīng)答用的相關(guān)問題??梢赃x取相似度最高的相關(guān)問題的相應(yīng)答案作為對用戶輸入問題的應(yīng)答,也可以按照相似度降序提供所有相關(guān)問題的相應(yīng)答案"并作為應(yīng)答,供用戶自行選擇。具體實施時,也可將答案匹配單元合并到問題相似度計算單元,直接根據(jù)相似度選取應(yīng)答用的相關(guān)問題,方便高效。為了保證自動問答準確率,本發(fā)明提出進一步技術(shù)方案設(shè)置樣本補充學(xué)習(xí)模塊90,用于向神經(jīng)元提供模塊30輸入補充訓(xùn)練語料。訓(xùn)練語料隨時間推移需要不斷演化、補充,可以利用神經(jīng)網(wǎng)絡(luò)自適應(yīng)特征,采用多重迭代方式,動態(tài)補充新知識存儲。這樣可以在訓(xùn)練階段完成后,進行測試階段。參見圖3,實施例的測試階段具體實現(xiàn)方式為,樣本補充學(xué)習(xí)模塊90中設(shè)置問句再訓(xùn)練集合,在問句再訓(xùn)練集合中存放R個問句question_i,i取1R;預(yù)先對R個問句question—i進行人工語義塊標注;然后逐句判斷是否作為訓(xùn)練用問句使用,過程如下(1)從問句再訓(xùn)練集合中提取問句question一i,進行預(yù)處理,包括分詞、語義消歧及確定詞性;19(2)運行已訓(xùn)練完畢的神經(jīng)網(wǎng)絡(luò),對預(yù)處理后的問句question—i進行語義塊識別,得到其語義塊序列;然后與人工語義塊標注的目標結(jié)果進行比較,判斷其誤差是否在預(yù)設(shè)的可接受范圍內(nèi)。若誤差不在可接受范圍,將問句question—i的語義塊序列作為新的訓(xùn)練語料加入神經(jīng)元提供模塊30,由神經(jīng)元提供模塊30向?qū)W習(xí)訓(xùn)練模塊40提供補充后的訓(xùn)練語料,由學(xué)習(xí)訓(xùn)練模塊40重新訓(xùn)練新的穩(wěn)定神經(jīng)網(wǎng)絡(luò)后存入神經(jīng)元知識庫模塊50。若誤差在可接受范圍,則返回步驟(1),提取新的問句question—i進行新一輪識別比較,直到處理完再訓(xùn)練集合中的所有問題。因為誤差不在可接受范圍則需要再訓(xùn)練,所以要作為新訓(xùn)練語料補充;在范圍內(nèi)就沒有訓(xùn)練意義了,因為相似度已經(jīng)很高了。(3)神經(jīng)元提供模塊30向?qū)W習(xí)訓(xùn)練模塊40提供補充后的訓(xùn)練語料,由學(xué)習(xí)訓(xùn)練模塊40訓(xùn)練新的穩(wěn)定神經(jīng)網(wǎng)絡(luò)。為了便于理解本發(fā)明技術(shù)方案,總結(jié)基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng)建議使用方法如下A訓(xùn)練階段神經(jīng)元提供模塊30輸出訓(xùn)練語料給學(xué)習(xí)訓(xùn)練模塊40,學(xué)習(xí)訓(xùn)練模塊40訓(xùn)練得到穩(wěn)定的神經(jīng)網(wǎng)絡(luò)后存入神經(jīng)元知識庫模塊50。B檢查階段樣本補充學(xué)習(xí)模塊90從神經(jīng)元知識庫模塊50提取當前的神經(jīng)網(wǎng)絡(luò),運行已訓(xùn)練完畢的神經(jīng)網(wǎng)絡(luò)識別預(yù)處理后的問句,當誤差不在可接收范圍內(nèi)時,將該問句送往神經(jīng)元提供模塊30,由神經(jīng)元提供模塊30向?qū)W習(xí)訓(xùn)練模塊40提供補充后的訓(xùn)練語料,由學(xué)習(xí)訓(xùn)練模塊40重新訓(xùn)練新的穩(wěn)定神經(jīng)網(wǎng)絡(luò)后存入神經(jīng)元知識庫模塊50。C運行階段用戶接口模塊10將用戶輸入問題送入問題預(yù)分詞模塊20,預(yù)處理后送到神經(jīng)元語義塊識別模塊60;神經(jīng)元語義塊識別模塊60從神經(jīng)元知識庫模塊50提取學(xué)習(xí)訓(xùn)練模塊40所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò),將預(yù)處理后的用戶輸入問題輸入神經(jīng)網(wǎng)絡(luò),識別得到語義塊序列后輸入答案推理模塊80,實現(xiàn)問題標注;答案推理模塊80査詢問題集索引庫模塊70所提供索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題,然后從問題集索引庫模塊70提取相關(guān)問題的語義塊序列;根據(jù)相關(guān)問題與用戶輸入問題的語義塊序列相似度以及語境相似度,得到相關(guān)問題與用戶輸入問題的相似度;根據(jù)相關(guān)問題與用戶輸入問題的相似度選擇應(yīng)答用的相關(guān)問題,根據(jù)索引文件記載的位置信息提取相應(yīng)答案,通過用戶接口模塊10輸出實現(xiàn)自動系統(tǒng)應(yīng)答。權(quán)利要求1.一種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng),其特征在于包括有用戶接口模塊(10)、問題預(yù)分詞模塊(20)、神經(jīng)元預(yù)標注模塊(30)、學(xué)習(xí)訓(xùn)練模塊(40)、神經(jīng)元知識庫模塊(50)、語義塊識別模塊(60)、問題集索引模塊(70)和答案推理模塊(80);用戶接口模塊(10)用于實現(xiàn)用戶交互,包括接受用戶輸入問題,然后對用戶輸入問題的表達進行檢查,將通過檢查的用戶輸入問題提交到問題預(yù)分詞模塊(20),并將答案推理模塊(80)所得結(jié)果反饋用戶;問題預(yù)分詞模塊(20)用于接收用戶接口模塊(10)傳遞的用戶輸入問題,對用戶輸入問題進行預(yù)處理,所述預(yù)處理包括對用戶輸入問題進行分詞、語義消歧及確定詞性;并將預(yù)處理后的用戶輸入問題提交給語義塊識別模塊(60);神經(jīng)元提供模塊(30),用于提供訓(xùn)練語料給學(xué)習(xí)訓(xùn)練模塊(40),所述訓(xùn)練語料是預(yù)先對訓(xùn)練用問句進行分詞、語義消歧、確定詞性并進行語義塊標注形成的語義塊序列;所述語義塊標注,是為語義塊內(nèi)所含詞,根據(jù)其位置設(shè)定語義塊分類標記;學(xué)習(xí)訓(xùn)練模塊(40),用于對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練直至網(wǎng)絡(luò)收斂,得到穩(wěn)定的神經(jīng)網(wǎng)絡(luò);所述神經(jīng)網(wǎng)絡(luò)根據(jù)訓(xùn)練語料建立,其結(jié)構(gòu)包括輸入層、隱含層和輸出層,其中輸入層根據(jù)語義塊所含詞的詞義和語境設(shè)定節(jié)點,輸出層根據(jù)語義塊分類設(shè)定節(jié)點,隱含層用于實現(xiàn)輸入層到輸出層的傳遞;神經(jīng)元知識庫模塊(50),用于保存學(xué)習(xí)訓(xùn)練模塊(40)所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò);語義塊識別模塊(60),用于當出現(xiàn)用戶輸入問題時,從神經(jīng)元知識庫模塊(50)中提取運行學(xué)習(xí)訓(xùn)練模塊(40)所得穩(wěn)定的神經(jīng)網(wǎng)絡(luò)并運行,從問題預(yù)分詞模塊(20)所得預(yù)處理后的用戶輸入問題中識別得到語義塊,從用戶輸入問題識別得到的所有語義塊構(gòu)成語義塊序列;問題集索引庫模塊(70),用于存放已知問題和答案對的索引文件;所述索引文件記載有已知問題的語義塊序列和答案的位置信息,為回答用戶輸入問題提供知識來源;答案推理模塊(80),用于查詢問題集索引庫模塊(70)所提供索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題,取得每個相關(guān)問題與用戶輸入問題的相似度,根據(jù)相似度選擇應(yīng)答用的相關(guān)問題,根據(jù)索引文件記載的位置信息提取應(yīng)答用的相關(guān)問題的答案,通過用戶接口模塊(10)輸出相關(guān)問題的答案實現(xiàn)應(yīng)答;所述相關(guān)問題與用戶輸入問題的相似度,根據(jù)相關(guān)問題與用戶輸入問題的語義塊序列相似度以及語境相似度得到,其中語義塊序列相似度根據(jù)語義塊間的相似度得到,語義塊間的相似度由語義塊內(nèi)詞間的相似度得到。2.如權(quán)利要求l所述的中文問答系統(tǒng),其特征在于答案推理模塊(80)包括有問題推理單元、問題檢索單元和問題相似度計算單元;問題推理單元,用于選取用戶輸入問題中核心的語義塊做同義詞擴展,并將擴展后的語義塊序列傳給問題相似度計算單元;問題檢索單元,用于調(diào)用問題集索引庫單元(70)存放的索引文件,找到與用戶輸入問題具有相同或相似關(guān)鍵字的相關(guān)問題;問題相似度計算單元,用于分別計算每個相關(guān)問題與用戶輸入問題的相似度,選取相似度最高的相關(guān)問題的相應(yīng)答案作為對用戶輸入問題的應(yīng)答。3.如權(quán)利要求1或2所述的中文問答系統(tǒng),其特征在于設(shè)置樣本補充學(xué)習(xí)模塊(90),用于向神經(jīng)元提供模塊(30)輸入補充訓(xùn)練語料。4.如權(quán)利要求1或2所述的中文問答系統(tǒng),其特征在于所述輸入層根據(jù)語義塊所含詞的詞義塊分類標記和語境設(shè)定,其中語境包括詞語本身、詞的詞性及與該詞性相對應(yīng)的共現(xiàn)詞。全文摘要本發(fā)明公開一種基于神經(jīng)網(wǎng)絡(luò)的中文問答系統(tǒng),包括有用戶接口模塊、問題預(yù)分詞模塊、神經(jīng)元預(yù)標注模塊、學(xué)習(xí)訓(xùn)練模塊、神經(jīng)元知識庫模塊、語義塊識別模塊、問題集索引模塊和答案推理模塊。通過該系統(tǒng),首先采用SIE編碼方式,對語義塊內(nèi)詞按相對位置進行編碼;然后將問句語義塊識別問題轉(zhuǎn)化成一個標記分類問題,采用基于神經(jīng)網(wǎng)絡(luò)的分類模型來確定問句的語義結(jié)構(gòu);最后結(jié)合問句的語義結(jié)構(gòu),實現(xiàn)基于神經(jīng)網(wǎng)絡(luò)的問句相似度計算,通過對已標注完成的問句語義特征抽取,比較問句各個語義特征之間的權(quán)重,為最終答案推理提供依據(jù)。本發(fā)明將句子的句法、語義和語境知識融為一體,能夠模擬人處理句子的過程。文檔編號G06F17/27GK101566998SQ200910062239公開日2009年10月28日申請日期2009年5月26日優(yōu)先權(quán)日2009年5月26日發(fā)明者何婷婷,劉星星,吳寶珍,勇張,張紅春,張茂元,泊胡,龍陳申請人:華中師范大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1