本發(fā)明涉及機(jī)器學(xué)習(xí)研究的新領(lǐng)域,尤其涉及一種基于深度神經(jīng)網(wǎng)絡(luò)的自然語言語義分析系統(tǒng)及方法。
背景技術(shù):
深度學(xué)習(xí)在圖像和語音處理領(lǐng)域碩果累累,但在同屬人類認(rèn)知范疇的自然語言處理任務(wù)中,研究尚未取得重大突破。與語音和圖像不同,自然語言”在深度學(xué)習(xí)中用于初始輸入的“數(shù)據(jù)源”是字或詞,已經(jīng)包含了人類的語義解釋,是經(jīng)過人類主觀思考處理后形成的。本質(zhì)上,人類語言的理解,是一個復(fù)雜的知識推理過程。然而,當(dāng)前的深度學(xué)習(xí)過多關(guān)注于“自動學(xué)習(xí)”,導(dǎo)致對自然語言的處理大多依舊停留在“淺層語義”的理解。本發(fā)明在深度學(xué)習(xí)中引入知識圖的概念,在構(gòu)建知識圖的基礎(chǔ)上,將淺層語義理解結(jié)果注入知識圖,通過相應(yīng)的知識推理獲得較為深層的語義理解。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的就在于為了解決上述問題而提供一種基于深度神經(jīng)網(wǎng)絡(luò)的自然語言語義分析系統(tǒng)及方法。
本發(fā)明通過以下技術(shù)方案來實現(xiàn)上述目的:
本發(fā)明包括以下步驟:
(1)構(gòu)建知識圖,用知識圖作為實體構(gòu)造的知識表示方法,以期基于此建立出知識表示準(zhǔn)確的實體;以長短文本為語義知識資源,知識圖為語義表示方法,構(gòu)建一種基于深度神經(jīng)網(wǎng)絡(luò)下的自然語言語義知識圖,利用構(gòu)建的知識圖對自然語言中的實體進(jìn)行描述。
知識圖表示一個概念體系,概念用結(jié)點(diǎn)表示,概念之間的關(guān)聯(lián)用箭頭表示;結(jié)點(diǎn)的內(nèi)容可以是文字、圖形、嵌套的知識圖及其組合,箭頭上面也可以用文字或圖形標(biāo)志關(guān)聯(lián)的名稱或內(nèi)容。知識圖不限定圖的結(jié)構(gòu)為樹,也可以是網(wǎng)。
知識圖表示中,實體的表示稱之為概念,概念用節(jié)點(diǎn)表示。知識圖由兩種節(jié)點(diǎn)組成:概念節(jié)點(diǎn)和關(guān)系節(jié)點(diǎn)。概念節(jié)點(diǎn)表示出現(xiàn)在應(yīng)用領(lǐng)域的實體,關(guān)系節(jié)點(diǎn)表示實體之間的關(guān)系。概念類型(實體類型)的順序集用tc來表示。個體概念是引用單獨(dú)標(biāo)記,該單獨(dú)標(biāo)記屬于單獨(dú)標(biāo)記集i。有一個通用標(biāo)記*,它用來表示一個未指明的實體。相同標(biāo)記*用來表示一個通用實體不管它的類型。關(guān)系集用tr來表示,tr的一個元素叫做關(guān)系符號或關(guān)系類型。這三種集(tc,tr,i)組成詞匯,該詞匯被用來標(biāo)注知識圖的兩種節(jié)點(diǎn)。一個知識圖的詞匯,或者簡單的一個詞匯,是一個三元關(guān)系(tc,tr,i)。
圖5是概念類型的一個子集,圖6是關(guān)系類型集的一部分。其都描述孩子們玩耍的一張照片。描述如下:一個男孩和他的姐姐,名字叫mary,正在一個房間里面玩耍,房間里面有一個方塊狀的玩具車和家具。
知識圖由兩個互斥節(jié)點(diǎn)集組成,也就是說,知識圖中的任意一條邊連接來自不同集的節(jié)點(diǎn),節(jié)點(diǎn)可以同時被幾個邊所連接。節(jié)點(diǎn)的一個集叫做概念節(jié)點(diǎn)的集(表示實體),另一個集叫做關(guān)系節(jié)點(diǎn)的集(表示實體之間的關(guān)系)。
知識圖上概念關(guān)系抽取。在構(gòu)建本體框架時,概念及概念間的關(guān)系需要被準(zhǔn)確定義。每個概念都與其他概念構(gòu)成上下位關(guān)系,所以采用語義概念相似度的計算,首先先選取領(lǐng)域中綜合的、概括性的概念作為大的類,然后逐步細(xì)化、說明,生成子類。
義原間的語義相似度計算:
1)義原a與義原b的語義距離distance(a,b):
distance(a,b)=a與b在義原分類樹上的最短距離
2)義原a與義原b的語義相似度sim(a,b):
兩個詞圖g1,g2的相似度記為sim(g1,g2)=sim1(a,b)×β1+sim2(a,b)×β2,其中β1,β2為兩個參數(shù),β1+β2=1,β1>0.5。
圖7表示一個知識圖由4個概念節(jié)點(diǎn)(表示實體)和3個關(guān)系節(jié)點(diǎn)(表示實體之間的關(guān)系)組成。4個概念節(jié)點(diǎn)分別為:一個名字叫保羅的孩子,一輛小汽車,一個人,小尺寸;3個關(guān)系節(jié)點(diǎn):一個三元關(guān)系:玩,兩個二元關(guān)系:屬性和擁有。該圖能被理解為描述下面的事實:一個名叫保羅的孩子擁有一輛玩具小車,保羅和一個人正在玩這輛玩具小轎車。
圖8展示另一個知識圖,描述如下事實:一個名叫保羅的孩子一邊洗澡,一邊和他的媽媽玩耍。可以看出概念(孩子:保羅)和關(guān)系(洗澡)之間的平行邊,顯示關(guān)系(洗澡)的主語和賓語是相同的實體(孩子:保羅)。
圖9展示帶有更多復(fù)雜圈的知識圖,描述如下事實:爸爸和孩子正坐在墊子上一起玩,孩子的媽媽坐在靠近墊子的沙發(fā)上看著他們。
對于領(lǐng)域的描述僅僅通過類是不夠的,還要對于類的內(nèi)部結(jié)構(gòu)進(jìn)行描述,即定義類的屬性。屬性往往具有自己的特征,如本質(zhì)特征,外部特征,等等。所以我們需要對屬性添加其屬性值來說明其取值類型、個數(shù)及其他特征。我們根據(jù)語義相似度運(yùn)算對結(jié)果進(jìn)行分類,并對每個概念添加屬性和屬性值。
(2)輸入訓(xùn)練集;
(3)中文分詞是中文信息處理領(lǐng)域的關(guān)鍵技術(shù)之一,其質(zhì)量高低直接影響中文信息處理效率;利用基于統(tǒng)計的分詞方法中的n-gram算法,n-gram模型思想:一個單詞的出現(xiàn)與其上下文環(huán)境中出現(xiàn)的單詞序列密切相關(guān),第n個詞的出現(xiàn)只與前面n-1個詞相關(guān),而與其它任何詞都不相關(guān),設(shè)w1,w2,…,wn是長度為n的字串,由于預(yù)測詞wn的出現(xiàn)概率,必須知道它前面所有詞的出現(xiàn)概率,太過復(fù)雜;為了簡化計算,規(guī)定任意詞wi只與其前兩個相關(guān),得到三元概率模型如下:
p(w)≈p(w1)p(w2/w1)πi=3…np(wi/iwi-2wi-1)(1)
以此類推,n元模型就是假設(shè)當(dāng)前詞的出現(xiàn)概率只同它前面的n-1個詞有關(guān)而得出的;
(4)利用word2vec將詞表征為向量,得到矩陣作為輸入;詞向量這種方式最主要的優(yōu)點(diǎn)在于讓有一定關(guān)系的詞,在數(shù)學(xué)意義上的距離更近了;要想對詞向量進(jìn)行訓(xùn)練,其中最廣泛被使用的方法有神經(jīng)網(wǎng)絡(luò)語言模型,word2vec也是基于它進(jìn)行改進(jìn)的,針對此種模型進(jìn)行研宄;word2vec(wordtovector),它可以將詞匯轉(zhuǎn)換成向量形式,從而把對文本的處理轉(zhuǎn)化為向量空間中的向量運(yùn)算,方便地完成各種自然語言處理任務(wù);word2vec以文本語料庫作為輸入,首先在訓(xùn)練文本數(shù)據(jù)集中構(gòu)建一個詞匯表,然后訓(xùn)練出每個單詞的詞向量作為輸出,產(chǎn)生的詞向量文件可以作為特征向量供后續(xù)的自然語言處理和機(jī)器學(xué)習(xí)等算法使用;word2vec模型提取文本中詞匯的位置關(guān)系,提取詞匯的上下文信息,生成詞匯的向量模型;詞匯可以通過數(shù)值向量量化表示,詞匯之間的相似度可以由向量計算得到;
(5)利用深度置信網(wǎng)絡(luò)模型進(jìn)行實體識別,實體識別的目的是識別出數(shù)據(jù)集中描述同一真實世界實體的元組;利用深度置信網(wǎng)絡(luò)(deepbeliefnet,簡稱dbn)模型進(jìn)行基于特征的實體關(guān)系抽取任務(wù),dbn模型結(jié)合了無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的優(yōu)點(diǎn),是一種對高維稀疏特征向量具有強(qiáng)大分類能力的神經(jīng)網(wǎng)絡(luò);
(6)輸入驗證集,調(diào)整分類器參數(shù);
(7)輸入測試集,測試模型的分類能力;
(8)采用知識圖的方法,對語言描述中的實體進(jìn)行推理;
(9)得到相應(yīng)結(jié)論;構(gòu)建基于深度置信網(wǎng)絡(luò)的知識圖,實現(xiàn)對自然語言語義的分析和理解,有利于可視化或分類,得出相應(yīng)的結(jié)論,使我們的自然語言理解功能不僅具備理解字面意思的能力,還具備邏輯推理,理解深層意思的能力。
本發(fā)明的有益效果在于:
本發(fā)明是一種基于深度神經(jīng)網(wǎng)絡(luò)的自然語言語義分析系統(tǒng)及方法,與現(xiàn)有技術(shù)相比,本發(fā)明采用知識圖的方法對語言描述中的實體進(jìn)行推理,得到相應(yīng)的結(jié)論,使我們的自然語言理解功能不僅具備理解字面意思的能力,還具備邏輯推理,理解深層意思的能力,具有推廣使用的價值。
附圖說明
圖1為:本發(fā)明利用基于深度置信網(wǎng)絡(luò)的知識圖對自然語言語義處理的流程圖;
圖2為:本發(fā)明的采用深度置信網(wǎng)絡(luò)dbn訓(xùn)練模型的示意圖;
圖3為:本發(fā)明的受限玻爾茲曼機(jī)rbm的示意圖;
圖4為:本發(fā)明的基于馬爾可夫鏈的rbm網(wǎng)絡(luò)自訓(xùn)練過程;
圖5為:本發(fā)明的概念類型集圖;
圖6為:本發(fā)明的關(guān)系標(biāo)志集;
圖7為:本發(fā)明的三元關(guān)系的知識圖:
圖8為:本發(fā)明的帶有平行邊的知識圖;
圖9為:本發(fā)明的帶有復(fù)雜圈的知識圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進(jìn)一步說明:
圖1為本發(fā)明的基于深度置信網(wǎng)絡(luò)的知識圖對自然語言語義分析的示意圖。以長短文本為語義知識資源,知識圖為語義表示方法。本發(fā)明構(gòu)建一種基于深度神經(jīng)網(wǎng)絡(luò)下的自然語言語義知識圖,利用構(gòu)建的知識圖對自然語言中的實體進(jìn)行描述。下面結(jié)合附圖給出一個利用深度置信網(wǎng)絡(luò)對自然語言語義知識圖構(gòu)建的實施例以對本發(fā)明作進(jìn)一步的闡述。如圖1所示,本發(fā)明各部分具體實施細(xì)節(jié)如下:
1.構(gòu)建知識圖。知識圖是一種屬于語義網(wǎng)絡(luò)范疇的知識表示方法,它使用節(jié)點(diǎn)表示概念,使用有向弧表示概念之間的關(guān)系。在自然語言處理中,知識表示是其中的核心問題,知識圖作為一種語義網(wǎng)絡(luò)范疇的概念圖,是一種更為一般的知識表示方法,并且其“結(jié)構(gòu)就是含義“的思想是一種獨(dú)到的自然語言理解的思想,其帶來最為明顯的優(yōu)點(diǎn)就是在其上所構(gòu)建的語義模型具有層次清晰,語義明確的特點(diǎn),以長短文本為語義知識資源提出了一種構(gòu)造詞圖的方法,用知識圖作為本體構(gòu)造的知識表示方法,以期基于此建立出知識表示準(zhǔn)確的本體。
以語義的描述為出發(fā)點(diǎn),提出了一種基于知識圖的本體構(gòu)建方法。以長短文本為語義知識資源,知識圖為語義表示方法,采用成熟的軟件工程流程,最終構(gòu)建出的領(lǐng)域本體具有結(jié)構(gòu)明確,語義清晰的特點(diǎn)。對于在其上的信息抽取、語義網(wǎng)等應(yīng)用提供了有效支持。本發(fā)明構(gòu)建一種基于深度神經(jīng)網(wǎng)絡(luò)下的自然語言語義知識圖,利用構(gòu)建的知識圖對自然語言中的實體進(jìn)行描述。
2.輸入訓(xùn)練集。
3.基于統(tǒng)計的分詞方法:n-gram算法。中文分詞是中文信息處理領(lǐng)域的關(guān)鍵技術(shù)之一,其質(zhì)量高低直接影響中文信息處理效率。中文分詞就是將中文連續(xù)的字序列按照一定的規(guī)則重新組合成詞序列的過程。
本發(fā)明利用基于統(tǒng)計的分詞方法中的n-gram算法,n-gram模型思想:一個單詞的出現(xiàn)與其上下文環(huán)境中出現(xiàn)的單詞序列密切相關(guān),第n個詞的出現(xiàn)只與前面n-1個詞相關(guān),而與其它任何詞都不相關(guān),設(shè)w1,w2,…,wn是長度為n的字串,由于預(yù)測詞wn的出現(xiàn)概率,必須知道它前面所有詞的出現(xiàn)概率,太過復(fù)雜。為了簡化計算,規(guī)定任意詞wi只與其前兩個相關(guān),得到三元概率模型如下:
p(w)≈p(w1)p(w2/w1)πi=3…np(wi/iwi-2wi-1)(2)
以此類推,n元模型就是假設(shè)當(dāng)前詞的出現(xiàn)概率只同它前面的n-1個詞有關(guān)而得出的。
4.利用word2vec將詞表征為向量,得到矩陣作為輸入。詞向量這種方式最主要的優(yōu)點(diǎn)在于讓有一定關(guān)系的詞,在數(shù)學(xué)意義上的距離更近了。通過語言模型,我們能獲得符合實際需求的最好的詞向量。要想對詞向量進(jìn)行訓(xùn)練,其中最廣泛被使用的方法有神經(jīng)網(wǎng)絡(luò)語言模型,word2vec也是基于它進(jìn)行改進(jìn)的,因此,本發(fā)明針對此種模型進(jìn)行研宄。
word2vec(wordtovector)可以將詞匯轉(zhuǎn)換成向量形式,從而把對文本的處理轉(zhuǎn)化為向量空間中的向量運(yùn)算,方便地完成各種自然語言處理任務(wù)。word2vec以文本語料庫作為輸入,首先在訓(xùn)練文本數(shù)據(jù)集中構(gòu)建一個詞匯表,然后訓(xùn)練出每個單詞的詞向量作為輸出,產(chǎn)生的詞向量文件可以作為特征向量供后續(xù)的自然語言處理和機(jī)器學(xué)習(xí)等算法使用。word2vec模型提取文本中詞匯的位置關(guān)系,提取詞匯的上下文信息,生成詞匯的向量模型。詞匯可以通過數(shù)值向量量化表示,詞匯之間的相似度可以由向量計算得到。
5.利用深度置信網(wǎng)絡(luò)模型進(jìn)行實體識別。實體識別的目的是識別出數(shù)據(jù)集中描述同一真實世界實體的元組。利用深度置信網(wǎng)絡(luò)(deepbeliefnet,簡稱dbn)模型進(jìn)行基于特征的實體關(guān)系抽取任務(wù),dbn模型結(jié)合了無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)的優(yōu)點(diǎn),是一種對高維稀疏特征向量具有強(qiáng)大分類能力的神經(jīng)網(wǎng)絡(luò),它由若干層無監(jiān)督的受限玻爾茲曼機(jī)(restrictedboltzmannmachine,簡稱rbm)網(wǎng)絡(luò)和一層有監(jiān)督的反向傳播網(wǎng)絡(luò)(back-propagation,簡稱bp)組成.dbn模型的訓(xùn)練過程分為兩個階段:首先利用多層rbm對特征集合進(jìn)行聚類,然后利用bp對聚類結(jié)果進(jìn)行分類,并同時對rbm網(wǎng)絡(luò)進(jìn)行微調(diào)。
6.輸入驗證集,調(diào)整分類器參數(shù)。
7.輸入測試集,測試模型的分類能力。
8.采用基于深度置信網(wǎng)絡(luò)的知識圖的方法對自然語言描述中的實體進(jìn)行推理。人工智能研究的目的無非是用機(jī)器模擬人腦的思維,真正的人工智能系統(tǒng)要能很好反映人腦思維的不確定性并能對各種無所不在的不確定性信息進(jìn)行處理。于是,如何表示和處理知識的不確定性也就成為人工智能研究的重要課題之一,也是人工智能面臨的一大難題。知識圖推理理論,是一種不確定性推理模型。
9.得到相應(yīng)結(jié)論。構(gòu)建基于深度神經(jīng)網(wǎng)絡(luò)的知識圖,實現(xiàn)對自然語言語義的分析和理解,有利于可視化或分類,使我們的自然語言理解功能不僅具備理解字面意思的能力,還具備邏輯推理,理解深層意思的能力。
圖2為本發(fā)明的采用深度置信網(wǎng)絡(luò)dbn訓(xùn)練模型的示意圖。深度置信網(wǎng)絡(luò)dbn是由若干層受限玻爾茲曼機(jī)rbm和一層反向傳播bp組成的一種深層神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如下圖2所示。
dbn在訓(xùn)練模型的過程中主要分為兩步:第1步,分別單獨(dú)無監(jiān)督地訓(xùn)練每一層rbm網(wǎng)絡(luò),確保特征向量映射到不同特征空間時,都盡可能多地保留特征信息;
第2步,在dbn的最后一層設(shè)置bp網(wǎng)絡(luò),接收rbm的輸出特征向量作為它的輸入特征向量,有監(jiān)督地訓(xùn)練實體關(guān)系分類器。
dbn底層的神經(jīng)網(wǎng)絡(luò)接收原始的特征向量,在自底向上的傳遞過程中,從具體的特征向量逐漸轉(zhuǎn)化為抽象的特征向量,在頂層的神經(jīng)網(wǎng)絡(luò)形成更易于分類的組合特征向量.增加網(wǎng)絡(luò)層數(shù)能夠?qū)⑻卣飨蛄扛映橄蠡?/p>
圖3為受限玻爾茲曼機(jī)rbm的示意圖。rbm由一個可見層v和一個隱含層h組成,層間的節(jié)點(diǎn)兩兩相連,層內(nèi)的節(jié)點(diǎn)不相連,其結(jié)構(gòu)如下圖3所示。
令vi和hj分別表示可視層和隱含層內(nèi)的節(jié)點(diǎn)值,b和c分別表示可視層和隱含層的偏置量,w表示可視層和隱含層之間的權(quán)值.利用公式(3)可以由已知的可視層的節(jié)點(diǎn)值得到隱含層的節(jié)點(diǎn)值:
rbm是對稱網(wǎng)絡(luò),同理,利用公式(4)可以由已知的隱含層的節(jié)點(diǎn)值得到可視層的節(jié)點(diǎn)值:
那么,可視層內(nèi)的特征向量v和隱含層內(nèi)的特征向量h的聯(lián)合概率分布滿足:
其中,e(v,h)是特征向量v和特征向量h數(shù)學(xué)期望,其絕對值的大小代表特征向量h保存著特征向量v的信息的多少,需要確定的參數(shù)為θ=(w,b,c),其中,w是rbm的權(quán)值參數(shù),b是可視層的偏置量,c是隱含層的偏置量,使得聯(lián)合概率分布p(v,h)最大.最大似然法并不能求出滿足條件的參數(shù),傳統(tǒng)的做法是利用馬爾可夫鏈蒙特卡羅(markovchainmontecarlo,簡稱mcmc).mcmc的特性使得可視層和隱含層互為條件,不斷地求得更新狀態(tài),最后它們共同趨向平穩(wěn)狀態(tài),而此時的p(v,h)達(dá)到最大.此后可以求得最大聯(lián)合概率分布與初始狀態(tài)的聯(lián)合概率分布的斜率
其中,τ為迭代次數(shù),η為學(xué)習(xí)速度.其過程如圖4所示.
v0是t=0時刻可視層的特征向量,即是rbm的輸入向量;h0是由v0根據(jù)公式(3)得到的隱含層特征向量;v1是t=1時刻可視層的特征向量,根據(jù)h0由公式(4)計算得到.以此類推,v∞和h∞分別是t=∞時刻可視層和隱含層的特征向量.斜率可由公式(7)計算得出:
其中,<h0v0>為輸入特征向量與其對應(yīng)的隱含層特征向量的點(diǎn)乘的平均值;<h∞v∞>為馬爾可夫鏈末端可視層特征向量與其對應(yīng)的隱含層特征向量的乘積的平均值,<h∞v∞>是收斂的.由公式(7)可知,聯(lián)合概率分布的斜率與中間狀態(tài)無關(guān),只與網(wǎng)絡(luò)的初始狀態(tài)和最終狀態(tài)有關(guān).根據(jù)公式(6)可以得出修改后的參數(shù),從而達(dá)到自訓(xùn)練的目的.
bp神經(jīng)網(wǎng)絡(luò)其訓(xùn)練過程主要分為兩步:第1步是前向傳播,將輸入特征向量沿輸入端傳播至輸出端;
第2步是反向傳播,將bp網(wǎng)絡(luò)的輸出結(jié)果與正確結(jié)果相比較得到誤差,然后將誤差從輸出端反向傳播至輸入端,以修改dbn的參數(shù).
利用sigmoid函數(shù)作為bp的網(wǎng)絡(luò)節(jié)點(diǎn)的求值函數(shù),其實現(xiàn)步驟如算法1所示.
算法1.bp網(wǎng)絡(luò)的訓(xùn)練過程.
(1)隨機(jī)初始化頂層反向傳播網(wǎng)絡(luò)的參數(shù),設(shè)定訓(xùn)練步長為n;
(2)進(jìn)行前向計算,對第l層的j單元節(jié)點(diǎn),其值為
(3)計算δ,將δ反向傳遞用以自頂向下修正網(wǎng)絡(luò)的權(quán)值參數(shù),對于輸出單元:
(4)修改權(quán)值:
(5)如果n=n,則訓(xùn)練結(jié)束;反之,n=n+1,轉(zhuǎn)步驟(2).
以上顯示和描述了本發(fā)明的基本原理和主要特征及本發(fā)明的優(yōu)點(diǎn)。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進(jìn),這些變化和改進(jìn)都落入要求保護(hù)的本發(fā)明范圍內(nèi)。本發(fā)明要求保護(hù)范圍由所附的權(quán)利要求書及其等效物界定。