自然語言理解系統(tǒng)及方法
【專利摘要】本發(fā)明涉及自然語言處理【技術(shù)領(lǐng)域】,公開了一種自然語言理解系統(tǒng)及方法。該系統(tǒng)包括:網(wǎng)絡(luò)庫構(gòu)建模塊,用于預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò);接收模塊,用于接收用戶輸入的自然語言;文本內(nèi)容獲取模塊,用于獲取所述自然語言對應(yīng)的文本內(nèi)容;匹配模塊,用于將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;語義確定模塊,用于獲取并輸出所述匹配路徑上的語義信息。本發(fā)明可以滿足用戶針對海量文本數(shù)據(jù)的深層語義理解的需求。
【專利說明】自然語言理解系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及自然語言處理【技術(shù)領(lǐng)域】,具體涉及一種自然語言理解系統(tǒng)及方法。
【背景技術(shù)】
[0002]人工智能技術(shù)發(fā)展由來已久,而作為人工智能領(lǐng)域中最重要方向之一的自然語言理解技術(shù)也一直是研究的熱點,可以說,讓計算機理解自然語言是人類一直以來的夢想。目前,自然語言理解技術(shù)主要采用基于規(guī)則和基于統(tǒng)計兩大類理論技術(shù)?;谝?guī)則的自然語言理解系統(tǒng)構(gòu)建相對復(fù)雜,主要面對受限領(lǐng)域的理解問題。而基于統(tǒng)計的方法逐步成為自然語言處理領(lǐng)域的主流方法,通常適于在大量數(shù)據(jù)的基礎(chǔ)上進(jìn)行淺層語義理解,而對于深層語義問題往往無法處理。
[0003]傳統(tǒng)的基于規(guī)則的自然語言理解系統(tǒng)可以實現(xiàn)對自然語言的深層理解。對于一個給定的文本輸入,其處理流程通常包括以下三個步驟。
[0004](I)詞義分析:主要目的是對句子中的詞匯提取語言學(xué)信息,獲取詞匯的詞義。涉及分詞、詞性標(biāo)注、命名體識別等等技術(shù),同時在詞義處理上需要詞義相關(guān)的知識庫的支持,對此語言專家已經(jīng)做出了巨大努力,比如已有的知識庫“知網(wǎng)”、《同義詞詞林》等等。
[0005](2)句法分析:主要目的是對句子或短語的結(jié)構(gòu)進(jìn)行分析,獲取詞匯、短語在句子中的語法功能和相互關(guān)系,常用的句法分析方法包括上下文無關(guān)文法分析和依存文法分析
坐坐寸寸ο
[0006](3)語義分析:主要目的是要獲取句子要表達(dá)的實際意義,該部分是自然語言理解系統(tǒng)的核心。深層自然語言理解系統(tǒng)通常需要在該階段構(gòu)建相關(guān)語義理解的規(guī)則,這些規(guī)則主要是依賴語言學(xué)專家的語言知識和領(lǐng)域知識密切相關(guān)。一方面要定義語義項,另一方面要定義從詞義、句法結(jié)構(gòu)等信息至語義項的語義轉(zhuǎn)換規(guī)則庫。對于一個給定的文本輸入,經(jīng)過詞義分析、句法分析之后,利用語義轉(zhuǎn)換規(guī)則庫最終實現(xiàn)獲取語義的目的。
[0007]傳統(tǒng)的基于規(guī)則的自然語言理解系統(tǒng)主要涉及詞義分析、句法分析和語義分析三部分,各部分都涉及專家知識規(guī)則、不同知識庫的利用,雖然可以實現(xiàn)對自然語言的深層理解,但依然存在無法克服的缺點,主要有以下幾點:
[0008](I)系統(tǒng)復(fù)雜,以上三部分涉及分詞、詞性標(biāo)注、命名體識別、句法分析、詞義消歧、語義角色分析等等眾多技術(shù)點,每一項技術(shù)的性能不足都有可能對整個系統(tǒng)的性能造成較大影響,系統(tǒng)實現(xiàn)和維護難度都較大。
[0009](2)規(guī)則的構(gòu)建嚴(yán)重依賴于語言學(xué)專家知識,而該方面的知識資源往往是有限的甚至是難以獲取的。
[0010](3)現(xiàn)有方案的可推廣性不強,難以處理自然語言錯綜復(fù)雜的變化,對于實際應(yīng)用中的海量數(shù)據(jù)理解往往效果不佳。
【發(fā)明內(nèi)容】
[0011]本發(fā)明實施例提供一種自然語言理解系統(tǒng)及方法,以滿足用戶針對海量文本數(shù)據(jù)的深層語義理解的需求。
[0012]為此,本發(fā)明提供如下技術(shù)方案:
[0013]一種自然語言理解系統(tǒng),包括:
[0014]網(wǎng)絡(luò)庫構(gòu)建模塊,用于預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò);
[0015]接收模塊,用于接收用戶輸入的自然語言;
[0016]文本內(nèi)容獲取模塊,用于獲取所述自然語言對應(yīng)的文本內(nèi)容;
[0017]匹配模塊,用于將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;
[0018]語義確定模塊,用于獲取并輸出所述匹配路徑上的語義信息。
[0019]優(yōu)選地,所述網(wǎng)絡(luò)庫構(gòu)建模塊包括:
[0020]設(shè)置單元,用于獲取用戶設(shè)置的句文法規(guī)則;
[0021]編譯單元,用于對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò);
[0022]存儲單元,用于將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。
[0023]優(yōu)選地,不同的有向圖文法網(wǎng)絡(luò)對應(yīng)不同應(yīng)用類型的文法規(guī)則;所述系統(tǒng)還包括:
[0024]選擇模塊,用于確定用戶選擇的自然語言的應(yīng)用類型;
[0025]所述匹配模塊,具體用于將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
[0026]優(yōu)選地,所述選擇模塊,具體用于通過按鍵方式或菜單方式確定用戶選擇的自然語言的應(yīng)用類型。
[0027]優(yōu)選地,所述匹配模塊包括:
[0028]切分單元,用于對所述文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字;
[0029]字匹配單元,將所述有向圖文法網(wǎng)絡(luò)的起始節(jié)點作為切分得到的第一個字的匹配起始節(jié)點,對切分得到的每個字,依次按以下方式與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配:從所述匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的弧,并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點;
[0030]匹配路徑獲取單元,用于根據(jù)所述字匹配單元的匹配結(jié)果,得到對應(yīng)所述文本內(nèi)容的完整匹配路徑。
[0031 ] 一種自然語言理解方法,包括:
[0032]預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò);
[0033]接收用戶輸入的自然語言,并獲取所述自然語言對應(yīng)的文本內(nèi)容;
[0034]將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;
[0035]獲取并輸出所述匹配路徑上的語義信息。
[0036]優(yōu)選地,所述建立有向圖文法網(wǎng)絡(luò)庫包括:
[0037]獲取用戶設(shè)置的句文法規(guī)則;
[0038]對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò);
[0039]將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。[0040]優(yōu)選地,不同的有向圖文法網(wǎng)絡(luò)對應(yīng)不同應(yīng)用類型的文法規(guī)則;所述方法還包括:
[0041]在接收用戶輸入的自然語言之前,確定用戶選擇的自然語言的應(yīng)用類型;
[0042]所述將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑包括:
[0043]將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
[0044]優(yōu)選地,所述確定用戶選擇的自然語言的應(yīng)用類型包括:
[0045]通過按鍵方式或菜單方式確定用戶選擇的自然語言的應(yīng)用類型。
[0046]優(yōu)選地,將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑包括:
[0047]對所述文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字;
[0048]將所述有向圖文法網(wǎng)絡(luò)的起始節(jié)點作為切分得到的第一個字的匹配起始節(jié)點;
[0049]對切分得到的每個字,依次按以下方式與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配:從所述匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的弧,并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點;
[0050]根據(jù)匹配結(jié)果得到對應(yīng)所述文本內(nèi)容的完整匹配路徑。
[0051]本發(fā)明實施例提供的自然語言理解系統(tǒng)及方法,利用當(dāng)前計算機日益強大的計算、存儲能力,預(yù)先建立存儲了根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò)的有向圖文法網(wǎng)絡(luò)庫,在接收用戶輸入的自然語言后,將所述自然語言對應(yīng)的文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;獲取并輸出所述匹配路徑上的語義信息。本發(fā)明方案實現(xiàn)了計算機對自然語言的句子或短語等的自動深層理解,滿足了用戶針對海量文本數(shù)據(jù)的深層語義理解的需求。
【專利附圖】
【附圖說明】
[0052]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0053]圖1是本發(fā)明實施例自然語言理解系統(tǒng)的一種結(jié)構(gòu)框圖;
[0054]圖2是本發(fā)明實施例自然語言理解系統(tǒng)中網(wǎng)絡(luò)庫構(gòu)建模塊的一種結(jié)構(gòu)示意圖;
[0055]圖3是本發(fā)明實施例中有向圖網(wǎng)絡(luò)的示意圖;
[0056]圖4是本發(fā)明實施例自然語言理解系統(tǒng)的另一種結(jié)構(gòu)框圖;
[0057]圖5是本發(fā)明實施例中匹配模塊的結(jié)構(gòu)示意圖;
[0058]圖6是本發(fā)明實施例自然語言理解方法的流程圖;
[0059]圖7是本發(fā)明實施例中建立有向圖文法網(wǎng)絡(luò)庫的一種流程圖;
[0060]圖8是本發(fā)明實施例中利用有向圖文法網(wǎng)絡(luò)進(jìn)行文本內(nèi)容匹配的流程圖。
【具體實施方式】
[0061]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明實施例的方案,下面結(jié)合附圖和實施方式對本發(fā)明實施例作進(jìn)一步的詳細(xì)說明。[0062]針對現(xiàn)有技術(shù)中自然語言理解系統(tǒng)實現(xiàn)復(fù)雜、并且嚴(yán)重依賴于語言學(xué)專家知識的問題,本發(fā)明提供一種自然語言理解系統(tǒng)及方法,簡單高效地實現(xiàn)對句子、短語等的深層自然語言理解,實現(xiàn)計算機自動對海量文本數(shù)據(jù)的深層語義理解的需求。
[0063]如圖1所示,是本發(fā)明實施例自然語言理解系統(tǒng)的一種結(jié)構(gòu)框圖。
[0064]在該實施例中,所述系統(tǒng)包括:
[0065]網(wǎng)絡(luò)庫構(gòu)建模塊101,用于預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò);
[0066]接收模塊102,用于接收用戶輸入的自然語言;
[0067]文本內(nèi)容獲取模塊103,用于獲取所述自然語言對應(yīng)的文本內(nèi)容;
[0068]匹配模塊104,用于將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;
[0069]語義確定模塊105,用于獲取并輸出所述匹配路徑上的語義信息。
[0070]本發(fā)明實施例提供的自然語言理解系統(tǒng),預(yù)先建立存儲了根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò)的有向圖文法網(wǎng)絡(luò)庫,在接收用戶輸入的自然語言后,將所述自然語言對應(yīng)的文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;獲取并輸出所述匹配路徑上的語義信息。本發(fā)明方案實現(xiàn)了系統(tǒng)對自然語言的句子或短語等的自動深層理解,滿足了用戶針對海量文本數(shù)據(jù)的深層語義理解的需求。
[0071]如圖2所示,是本發(fā)明實施例自然語言理解系統(tǒng)中網(wǎng)絡(luò)庫構(gòu)建模塊的一種結(jié)構(gòu)示意圖。
[0072]在該實施例中,所述網(wǎng)絡(luò)庫構(gòu)建模塊包括:
[0073]設(shè)置單元111,用于獲取用戶設(shè)置的句文法規(guī)則;
[0074]編譯單元112,用于對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò);
[0075]存儲單元113,用于將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。
[0076]需要說明的是,在實際應(yīng)用中,可以由用戶根據(jù)實際應(yīng)用需求來設(shè)置相應(yīng)的句文法規(guī)則,比如,由系統(tǒng)向用戶提供相應(yīng)的設(shè)置界面,用戶在該界面中輸入設(shè)置的句文法規(guī)則內(nèi)容。當(dāng)然,也可以由系統(tǒng)根據(jù)通用的應(yīng)用需求,預(yù)置對應(yīng)所述應(yīng)用需求的句文法規(guī)則。
[0077]所述句文法規(guī)則用于描述各具體應(yīng)用下可能的自然語言句法輸入信息。
[0078]比如,對“開通或取消彩鈴”的業(yè)務(wù)需求,自然語言輸入句式可能存在各種不同情況,如“開通/定制彩鈴”,“取消/退訂彩鈴”等,對此,相應(yīng)的句文法規(guī)則可以設(shè)置如下:
[0079]$彩鈴=彩鈴;
[0080]$open=開通 | 訂制;
[0081]$cancel=取消 | 退訂;
[0082]$rule0 {biz:彩鈴 &opera:開通}=$open$ 彩鈴;
[0083]$rulel {biz:彩鈴 &opera:取消} =$cancel$ 彩鈴;
[0084]$main=$ruleO|$rulel;
[0085]在本發(fā)明實施例自然語言理解系統(tǒng)中,由編譯單元112通過編譯方式,生成有向圖文法網(wǎng)絡(luò),以便于使系統(tǒng)能夠根據(jù)該有向圖文法網(wǎng)絡(luò)的內(nèi)容,快速地處理自然語句。
[0086]圖3示出了對上述句文法規(guī)則編譯得到的有向圖網(wǎng)絡(luò)。
[0087]其中,網(wǎng)絡(luò)中的弧記錄了所有的變量值信息,節(jié)點將所有的弧連接起來形成網(wǎng)絡(luò)結(jié)構(gòu)。帶有“EP”的弧是空弧,空弧只是為了將句文法中的各個邏輯部分從形式上區(qū)分開。在使用網(wǎng)絡(luò)對自然語句解析時,可以忽略空弧,將空弧連接的兩個節(jié)點視為同一個節(jié)點。
[0088]假設(shè)用Ni表示標(biāo)號為i的節(jié)點,則NO和N15分別是圖3所示的有向圖網(wǎng)絡(luò)的起始節(jié)點和終止節(jié)點。在句文法規(guī)則中被語義信息修飾的變量所對應(yīng)的網(wǎng)絡(luò)的起始節(jié)點和終止節(jié)點上記錄該語義的id信息(分別記錄該id值和id的相反值,以區(qū)分起始節(jié)點和終止節(jié)點)。如圖3中所示,在NI和N13上分別記錄I和-1,在N2和N14上分別記錄2和-2。
[0089]這樣,在匹配模塊104將文本內(nèi)容與有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑后,語義確定模塊105即可根據(jù)該匹配路徑上記錄的字的id得到相應(yīng)的語義信息。
[0090]在實際應(yīng)用中,還可以針對不同的應(yīng)用類型(比如,音樂類,影視類,天氣類,航班類,等等),設(shè)置不同的有向圖文法網(wǎng)絡(luò)對應(yīng)不同應(yīng)用類型的文法規(guī)則。相應(yīng)地,在進(jìn)行文本內(nèi)容與有向圖文法網(wǎng)絡(luò)匹配時,就需要選擇與應(yīng)用類型相對應(yīng)的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配。
[0091]所述應(yīng)用類型可以由用戶來選擇,也可以是系統(tǒng)默認(rèn)的。為此,如圖4所示,在本發(fā)明自然語言理解系統(tǒng)的另一實施例中,所述系統(tǒng)還可進(jìn)一步包括:
[0092]選擇模塊106,用于確定用戶選擇的自然語言的應(yīng)用類型。
[0093]比如,所述選擇模塊106具體可以是向用戶提供的選擇按鍵,或者由選擇模塊106向用戶提供選擇菜單,當(dāng)然,選擇模塊106還可以有其它實現(xiàn)方式,對此本發(fā)明實施例不做限定。
[0094]如果用戶沒有進(jìn)行選擇,則系統(tǒng)可以選擇默認(rèn)的應(yīng)用類型,比如,系統(tǒng)可以設(shè)置通用的句文法規(guī)則,編譯得到的通用的有向圖網(wǎng)絡(luò)。
[0095]相應(yīng)地,在該實施例中,所述匹配模塊104用于將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
[0096]如圖5所示,是本發(fā)明實施例中匹配模塊的結(jié)構(gòu)示意圖。
[0097]在該實施例中,所述匹配模塊包括:
[0098]切分單元141,用于對所述文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字;
[0099]字匹配單元142,將所述有向圖文法網(wǎng)絡(luò)的起始節(jié)點作為切分得到的第一個字的匹配起始節(jié)點,對切分得到的每個字,依次按以下方式與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配:從所述匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的弧,并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點;
[0100]匹配路徑獲取單元143,用于根據(jù)所述字匹配單元142的匹配結(jié)果,得到對應(yīng)所述文本內(nèi)容的完整匹配路徑。
[0101]下面結(jié)合圖3所示的有向圖網(wǎng)絡(luò)舉例說明本發(fā)明實施例中對切分得到的字進(jìn)行匹配的過程。
[0102]比如對一個輸入語句“訂制彩鈴”進(jìn)行處理,經(jīng)過切分單元141,得到四個漢字的切分結(jié)果:“訂” “制” “彩” “鈴”,也即字匹配單元142的輸入;字匹配單元142首先從節(jié)點O開始跳過節(jié)點O后的兩個空弧至節(jié)點I和節(jié)點2,并在節(jié)點I和節(jié)點2上記錄歷史信息即節(jié)點0,表示是從節(jié)點O跳至此處;將第一個漢字“訂”分別與匹配節(jié)點I的兩個出弧上的內(nèi)容和節(jié)點2的兩個出弧上的內(nèi)容進(jìn)行比對,此時,只有從節(jié)點2至節(jié)點5的出弧上的內(nèi)容與“訂”匹配,在節(jié)點5上記錄歷史信息即節(jié)點2,表示是從節(jié)點2跳至此處,其它不匹配的路徑不再進(jìn)行后續(xù)比對;對于第二個漢字的比對從節(jié)點5開始,將節(jié)點5的出弧的內(nèi)容與第二個字“制”進(jìn)行比對,節(jié)點5至節(jié)點8的出弧內(nèi)容與“制”匹配,于是在節(jié)點8上記錄歷史信息即節(jié)點5,并從節(jié)點8開始繼續(xù)處理第三個漢字,以此類推,依次處理切分后的各個漢字,并在節(jié)點上記錄從哪個節(jié)點跳轉(zhuǎn)至該節(jié)點的歷史信息,另外,如節(jié)點后有空弧則跳過空弧從該空弧指向的節(jié)點繼續(xù)當(dāng)前比對;如果所有切分后的漢字處理完,全部匹配成功,并且最終能夠到達(dá)文法網(wǎng)絡(luò)的終止節(jié)點(最后一個漢字匹配成功后仍允許進(jìn)行空弧跳轉(zhuǎn)),則該匹配結(jié)果將被匹配路徑獲取單元143進(jìn)行處理,從文法網(wǎng)絡(luò)的終止節(jié)點開始,根據(jù)歷史信息進(jìn)行逐節(jié)點回溯,最終得到完整的從文法網(wǎng)絡(luò)的起始節(jié)點至終止節(jié)點的一條匹配路徑?!坝喼撇殊彙睂?yīng)的匹配路徑為節(jié)點0、2、5、8、10、12、14、15。
[0103]由此可見,如果一個語句符合所述有向圖網(wǎng)絡(luò)包含的句文法規(guī)則,則該語句與所述有向圖網(wǎng)絡(luò)中的從起始節(jié)點到終止節(jié)點的至少一條路徑完全匹配,從而可以準(zhǔn)確快速地實現(xiàn)系統(tǒng)對海量文本內(nèi)容的深層理解。
[0104]當(dāng)然,如果在所述有向圖網(wǎng)絡(luò)中沒有找到與該語句相匹配的路徑,則解析失敗。此時,語義確定模塊105可以輸出相應(yīng)的解析失敗信息。
[0105]本發(fā)明實施例自然語言理解系統(tǒng),可以廣泛應(yīng)用于web短文本理解、問答系統(tǒng)問題分析、短信理解、語音助手、語音呼叫路由、語音分析、人機語音語言交互理解等領(lǐng)域,其實現(xiàn)簡單可靠,能夠快速高效地實現(xiàn)對海量文本內(nèi)容的深層語義的自動理解。
[0106]相應(yīng)地,本發(fā)明實施例還提供一種自然語言理解方法,如圖6所示,是該方法的流程圖,包括以下步驟:
[0107]步驟601,預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò);
[0108]步驟602,接收用戶輸入的自然語言,并獲取所述自然語言對應(yīng)的文本內(nèi)容;
[0109]步驟603,將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;
[0110]步驟604,獲取并輸出所述匹配路徑上的語義信息。
[0111]所述句文法規(guī)則用于描述各具體應(yīng)用下可能的自然語言句法輸入信息。在實際應(yīng)用中,可以由用戶根據(jù)實際應(yīng)用需求來設(shè)置相應(yīng)的句文法規(guī)則,比如,由系統(tǒng)向用戶提供相應(yīng)的設(shè)置界面,用戶在該界面中輸入設(shè)置的句文法規(guī)則內(nèi)容。當(dāng)然,也可以由系統(tǒng)根據(jù)通用的應(yīng)用需求,預(yù)置對應(yīng)所述應(yīng)用需求的句文法規(guī)則。對此本發(fā)明實施例不做限定。
[0112]如圖7所示,是本發(fā)明實施例中建立有向圖文法網(wǎng)絡(luò)庫的一種流程圖,包括以下步驟:
[0113]步驟701,獲取用戶設(shè)置的句文法規(guī)則;
[0114]步驟702,對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò);
[0115]步驟703,將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。
[0116]所述句文法規(guī)則及其對應(yīng)的有向圖文法網(wǎng)絡(luò)在前面已有詳細(xì)說明,對此不再贅述。
[0117]需要說明的是,在實際應(yīng)用中,可以設(shè)置對應(yīng)不同應(yīng)用類型的文法規(guī)則。相應(yīng)的,在有向圖文法網(wǎng)絡(luò)庫中存儲對應(yīng)不同應(yīng)用類型的有向圖文法網(wǎng)絡(luò)。在這種情況下,可以由用戶在輸入自然語言之前,選擇所需的應(yīng)用類型。當(dāng)然,也可以設(shè)置系統(tǒng)默認(rèn)的應(yīng)用類型。如果用戶沒有進(jìn)行選擇,則采用系統(tǒng)默認(rèn)的應(yīng)用類型。[0118]在實際應(yīng)用中,具體可以通過按鍵或菜單等方式確定用戶選擇的自然語言的應(yīng)用類型。
[0119]相應(yīng)地,在進(jìn)行匹配時,需要將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
[0120]可見,本發(fā)明實施例提供的自然語言理解方法,預(yù)先建立存儲了根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò)的有向圖文法網(wǎng)絡(luò)庫,在接收用戶輸入的自然語言后,將所述自然語言對應(yīng)的文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑;獲取并輸出所述匹配路徑上的語義信息。本發(fā)明方案實現(xiàn)了系統(tǒng)對自然語言的句子或短語等的自動深層理解,滿足了用戶針對海量文本數(shù)據(jù)的深層語義理解的需求。
[0121]如圖8所示,是本發(fā)明實施例中利用有向圖文法網(wǎng)絡(luò)進(jìn)行文本內(nèi)容匹配的流程圖,包括以下步驟:
[0122]步驟801,對用戶輸入的文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字;
[0123]步驟802,獲取切分得到的第一個字;
[0124]步驟803,從有向圖網(wǎng)絡(luò)中對應(yīng)待匹配字的匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的??;并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點;
[0125]對應(yīng)第一個字的匹配超始節(jié)點即有向圖網(wǎng)絡(luò)的起始節(jié)點;
[0126]步驟804,判斷是否還有未匹配的字;如果是,則執(zhí)行步驟805 ;否則,執(zhí)行步驟806 ;
[0127]步驟805,獲取下一個待匹配的字;然后返回步驟803 ;
[0128]步驟806,判斷所述下一個待匹配的字的匹配起始節(jié)點是否為終止節(jié)點;如果是,則執(zhí)行步驟807 ;否則,執(zhí)行步驟808 ;
[0129]步驟807,獲取對應(yīng)所述文本內(nèi)容的完整匹配路徑。
[0130]步驟808,輸出為空。
[0131]本發(fā)明實施例自然語言理解方法,可以廣泛應(yīng)用于多種領(lǐng)域,比如:web短文本理解,問答系統(tǒng)問題分析,短信理解,語音助手,語音呼叫路由,語音分析,人機語音語言交互理解等,其實現(xiàn)簡單可靠,能夠快速高效地實現(xiàn)對海量文本內(nèi)容的深層語義的自動理解。
[0132]本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。而且,以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0133]以上對本發(fā)明實施例進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了【具體實施方式】對本發(fā)明進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及設(shè)備;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種自然語言理解系統(tǒng),其特征在于,包括: 網(wǎng)絡(luò)庫構(gòu)建模塊,用于預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò); 接收模塊,用于接收用戶輸入的自然語言; 文本內(nèi)容獲取模塊,用于獲取所述自然語言對應(yīng)的文本內(nèi)容; 匹配模塊,用于將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑; 語義確定模塊,用于獲取并輸出所述匹配路徑上的語義信息。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述網(wǎng)絡(luò)庫構(gòu)建模塊包括: 設(shè)置單元,用于獲取用戶設(shè)置的句文法規(guī)則; 編譯單元,用于對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò); 存儲單元,用于將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,不同的有向圖文法網(wǎng)絡(luò)對應(yīng)不同應(yīng)用類型的文法規(guī)則;所述系統(tǒng)還包括: 選擇模塊,用于確定用戶選擇的自然語言的應(yīng)用類型; 所述匹配模塊,具體用于將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
4.根據(jù)權(quán)利要求3所述的.系統(tǒng),其特征在于, 所述選擇模塊,具體用于通過按鍵方式或菜單方式確定用戶選擇的自然語言的應(yīng)用類型。
5.根據(jù)權(quán)利要求1至4任一項所述的系統(tǒng),其特征在于,所述匹配模塊包括: 切分單元,用于對所述文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字; 字匹配單元,將所述有向圖文法網(wǎng)絡(luò)的起始節(jié)點作為切分得到的第一個字的匹配起始節(jié)點,對切分得到的每個字,依次按以下方式與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配:從所述匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的弧,并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點; 匹配路徑獲取單元,用于根據(jù)所述字匹配單元的匹配結(jié)果,得到對應(yīng)所述文本內(nèi)容的完整匹配路徑。
6.一種自然語言理解方法,其特征在于,包括: 預(yù)先建立有向圖文法網(wǎng)絡(luò)庫,所述有向圖文法網(wǎng)絡(luò)庫中存儲根據(jù)句文法規(guī)則生成的有向圖文法網(wǎng)絡(luò); 接收用戶輸入的自然語言,并獲取所述自然語言對應(yīng)的文本內(nèi)容; 將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑; 獲取并輸出所述匹配路徑上的語義信息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述建立有向圖文法網(wǎng)絡(luò)庫包括: 獲取用戶設(shè)置的句文法規(guī)則; 對所述句文法規(guī)則進(jìn)行編譯,生成有向圖文法網(wǎng)絡(luò); 將所述有向圖文法網(wǎng)絡(luò)存儲到有向圖文法網(wǎng)絡(luò)庫中。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,不同的有向圖文法網(wǎng)絡(luò)對應(yīng)不同應(yīng)用類型的文法規(guī)則;所述方法還包括:在接收用戶輸入的自然語言之前,確定用戶選擇的自然語言的應(yīng)用類型; 所述將所述文本內(nèi)容與所述有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑包括: 將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述確定用戶選擇的自然語言的應(yīng)用類型包括: 通過按鍵方式或菜單方式確定用戶選擇的自然語言的應(yīng)用類型。
10.根據(jù)權(quán)利要求6至9任一項所述的方法,其特征在于,將所述文本內(nèi)容與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配,得到匹配路徑包括: 對所述文本內(nèi)容按字切分,所述字包括漢字、字母、數(shù)字; 將所述有向圖文法網(wǎng)絡(luò)的起始節(jié)點作為切分得到的第一個字的匹配起始節(jié)點; 對切分得到的每個字,依次按以下方式與對應(yīng)所述應(yīng)用類型的有向圖文法網(wǎng)絡(luò)進(jìn)行匹配:從所述匹配起始節(jié)點的出弧中查找弧上記錄的字與當(dāng)前待匹配的字相同的弧,并將查找出的弧的終止節(jié)點作為下一個待匹配的字的匹配起始節(jié)點; 根據(jù)匹配結(jié)果得到對應(yīng) 所述文本內(nèi)容的完整匹配路徑。
【文檔編號】G06F17/27GK103440234SQ201310316262
【公開日】2013年12月11日 申請日期:2013年7月25日 優(yōu)先權(quán)日:2013年7月25日
【發(fā)明者】吳及, 賀志陽, 呂萍, 何婷婷 申請人:清華大學(xué), 安徽科大訊飛信息科技股份有限公司