世俱杯规则-虎牙直播-比利亚vs西班牙人-德国杯|www.cnyhmy.com

一種面向自然語言交互接口語義分析的MNet方法研究

時間:2023-07-09 16:15:02 來源:網(wǎng)友投稿

沈春山,肖宗濤,徐德強

(安徽農(nóng)業(yè)大學 信息與計算機學院,合肥 230036)

語義分析是自然語言處理的關鍵過程,是一個廣泛的概念.面對不同的語言單位時,其任務不同,如詞層面上的詞義消歧、句子層面上的角色標注,以及篇章上的指代消歧層等.

近年來語義分析主要集中在規(guī)則類方法和統(tǒng)計類方法,前者基于一系列語言規(guī)則,以生成語言學為基礎,后者以大規(guī)模語料庫的分析為基礎,采用概率和數(shù)據(jù)驅(qū)動的方法[1].規(guī)則的方法通常從建立“謂詞論元之間的關系”入手,例如有一階謂詞演算、語義網(wǎng)絡、概念依存圖、基于框架的表示方法等.隨著向深層語義分析方向的發(fā)展,逐漸演化出了語義依存分析樹、依存分析圖,抽象語義表示(abstract meaning representation,AMR)[2],組合范疇邏輯,知識圖譜等概念和應用.這類方法通常按照組合型原則進行語義分析,傾向于詞匯主義,認為詞匯是描述語言的中心,如義素分析法、語義場、HowNet等[1].統(tǒng)計類方法認為,人類對語言的運用依賴于以往大量語言實踐經(jīng)驗[3].這樣產(chǎn)生了基于概率統(tǒng)計和數(shù)據(jù)驅(qū)動的方法,當前主要以分布式學習(又稱詞嵌入、詞向量表示)為基礎的深度網(wǎng)絡為代表.包括詞嵌入、句子嵌入這類語言單位的向量表示在一些淺層語義分析中獲得了不錯的效果,如命名實體識別、詞關系抽取、文本分類、自動術語抽取等[4].基于理性規(guī)則和經(jīng)驗統(tǒng)計的方法在實踐應用中也不斷地進行融合,并取得不錯的效果.例如,文獻[5]采用卷積神經(jīng)網(wǎng)絡方法開展情感分析任務研究.文獻[6]提出了一種情感語義分析中的深度學習融合算法.

從語義分析的時空過程看,語義分析處理與句法分析可以有先后,也可以同步進行,從而導致語義表示方法的不同.可以先句法分析再語義分析,又稱為句法驅(qū)動的語義分析,相應的語義表示方法如帶語義附著的剖析樹;也可以句法分析與語義分析同步進行,又稱句法語義一體化方法,如融入λ演算的組合范疇語法.從效率的角度看,句法與語義同步分析有一定的優(yōu)勢[1].

從實際的應用效果來看,在面向不同的自然語言理解任務時,語義分析的重點是將自然語言轉(zhuǎn)化為某種目標系統(tǒng)的形式化描述邏輯.分布式SCADA(Supervisory Control And Data Acquisition,系統(tǒng)控制與數(shù)據(jù)采集)的自然語言操控接口設計,需要將用戶表達的語音或者文本轉(zhuǎn)換成可執(zhí)行的計算機系統(tǒng)調(diào)用接口.核心是解決下列兩個問題:1)自然操控語言的形式化語義功能描述,解析操控的意圖及復雜操控序列之間的輸入輸出調(diào)用關系;2)操控序列與計算機系統(tǒng)調(diào)用接口之間的映射.就如軟件建模方法一樣,其中第1步是根本任務,打造由抽象語義實體構(gòu)成的復雜自然語言概念結(jié)構(gòu).

如果說自然語言是對客觀世界場景的描述性建模,那么自然語言處理領域的語義分析就是對自然語言的建模,但歸根結(jié)底語義分析是對客觀世界場景的建模.客觀世界場景的本質(zhì)上是描述靜動態(tài)特征的組合,即組成及其相互關系.靜態(tài)特征描述了各個組成部件之間的組成關系;動態(tài)特征描述了部件之間是如何協(xié)作交互的.語義分析模型通常融合了靜動態(tài)的建模方法:語義實體的組成及其相互關系.模型的評價可以從可視化、并發(fā)性、可執(zhí)行、復雜度、一致性和可變性等6個方面描述.

語義分析方法在復雜度、一致性、可變性和可視化等方面還需要進一步研究.如AMR在依存圖的基礎上,放松了對節(jié)點的限制,可以增補節(jié)點.節(jié)點可以是句子中的詞,也可是PropBank Frameset等特殊的原句子單位中沒有的詞,但對于一些不符合組合原則的句子語義并不能很好地表達,需要添加一系列特殊規(guī)則,一致性不夠好,這給應用帶來了困難[2].語義網(wǎng)絡也融入了很多自然語言本身中沒有的概念節(jié)點,模型構(gòu)造的一致性較差,不便于理解.統(tǒng)計類方面,基于大規(guī)模語料庫,通過自然語言句子和對應的邏輯表達來訓練得到語義解析器,可視化、可變性較差,且對段落和篇章以上的嵌入式表達比較困難.

本文在吸收語義網(wǎng)、深度網(wǎng)絡、依存分析等現(xiàn)有概念基礎上稍作綜合和延伸,提出一種意元網(wǎng)絡MNet的語義分析方法.MNet由意元、內(nèi)關系、外關系及特征屬性構(gòu)成,并通過層次化遞歸的方式進行定義,面向從短語、句子到篇章的整體語義空間描述.后續(xù)的章節(jié)安排如下:第2節(jié)介紹對MNet方法做了總體的介紹;第3節(jié)給出了MNet的構(gòu)建過程;第4節(jié)開展了第3節(jié)的實驗研究,解決智能家居SCADA系統(tǒng)的自然語言交互接口語義分析問題;第5節(jié)是總結(jié)和展望.

本文以設計SCADA系統(tǒng)的自然語言操控接口為例來說明MNet方法.本質(zhì)上來說,MNet不是新理論,是一種面向特定應用的語義分析綜合架構(gòu),是在已有方法基礎上的綜合運用.

本節(jié)先給出語義分析模型MNet的抽象定義,然后對比相關方法的相同點和不同點,最后給出MNet的構(gòu)建思路,并說明了MNet的構(gòu)建過程也就是語義分析求解的過程.

2.1 抽象定義

定義1.意元網(wǎng)絡MNet:是一個有序組,MNet=(n1,n2,…,nm;r,R,P),其中:

ni(i=1..m)也是一個意元網(wǎng)絡,是N的子意元網(wǎng)絡(這是一種遞歸的定義,這點尤為重要,也是區(qū)別其它語義網(wǎng)絡重要特點),m≥1,例如在自然語言描述的框架下,ni可以是從詞、詞組、短語到句子和篇章的任何形式.

r是N的內(nèi)關系集合,r={rij|i,j=1..m,且i≠j};

R是N的外關系集合,R={Rik|i=1..m,k=1..∞};

P屬性的集合,P={pi|i=1..∞};

定義2.意元網(wǎng)絡MNet的內(nèi)關系:rij是一個四元組(ni,nj,relation,P),其中relation是ni指向nj的關系名稱,其中ni∈MNet,nj∈MNet.

定義3.意元網(wǎng)絡MNet的外關系:Rik是一個四元組(ni,nk,relation,P),relation是ni指向nk的關系名稱,其中ni∈MNet,nk?MNet.

定義4.屬性集P:pi是二元組(AttriName,AttriValue),即由屬性名和屬性值組成.

定義5.元關系:若ni,nj為獨立的詞,則rij或Rik為元關系.

這里做幾點說明:1)MNet認為最小的語義單位是詞,詞與詞之間的關系被稱作為元關系;2)MNet只定義了二元關系,實際語義單元之間是存在多元關系的,如4.3節(jié)的SCADA自然語言接口解析中的指令就是三元關系的,一般三元關系可以轉(zhuǎn)化為二元關系,為了簡化起見,不再詳細展開;3)外關系可以理解為語義單元的上下文關系,或者一些常識性的關系,如句子“打開臥室的臺燈”,“臺燈”和“電器”的就是一種類屬關系,但“電器”并不是該句子的組成.

圖1展示了從用戶自然語言“請先打開臥室的臺燈再關閉窗戶”中抽取出“關閉臥室窗戶”的指令任務的MNet求解方法過程.將“臥室”與“Location”、“關閉”與“Action”、“窗戶”與“Object”建立起對應的映射關系,可理解為外關系;“先”依存“打開”,依存名稱屬性是“時間”,這些是內(nèi)關系.本文在隨后的3.3節(jié)做詳細解釋.

圖1 MNet方法舉例Fig.1 MNet method example

2.2 比較分析

MNet的目標對象是一個句子時,類似的方法主要集中在句子的依存分析,如依存分析樹、依存分析圖.語義依存分析旨在描述句子結(jié)構(gòu)中詞和詞之間事實或邏輯上的語義關系.廣義上來講,這種關系也包含了句子成分上的句法功能關系,因此語義依存分析可包括句法依存分析.

從定義1看出,語義依存樹是意元網(wǎng)絡的一種特殊形式.當意元網(wǎng)絡N滿足如下限制時,即簡化為自然語言語義依存關系樹:

1)S=n1,n2,…,nm是由詞構(gòu)成的完整的自然語言句子;

2)r滿足語義依存關系樹相關的以下限定條件:

a)r為邊與n1,n2,…,nm為節(jié)點構(gòu)成的是一個單根節(jié)點的有向無環(huán)樹;

b)ni(i=1…m)僅有一個父節(jié)點;

c)如果單詞ni依賴nj,那么ni和nj之間的所有單詞都從屬于nj.也就是說依賴樹中沒有邊交叉的.

3)R與P為空集合.

語義依存圖突破了語義依存樹在邊交叉和多父節(jié)點上的限制,擴大了語義描述的功能[7].AMR同樣突破了傳統(tǒng)的句法樹結(jié)構(gòu)的限制,將一個句子語義抽象為一個單根有向無環(huán)圖[2].從意元網(wǎng)絡概念角度來看,語義依存樹、語義依存圖以及AMR側(cè)重描述句子內(nèi)部詞與詞之間的依存關系,即意元網(wǎng)絡的內(nèi)關系,缺少對所處語言背景下的外關系描述.以句子語義分析為目標的類似方法還包括語義網(wǎng)絡等,其本質(zhì)上都是以網(wǎng)絡圖形化的方式表達詞之間的概念關系.

當討論的目標對象是整個特定自然語言的所有以詞為語言單位的集合時,意元網(wǎng)絡MNet功能類似ConceptNet[8]、WordNet[9]、HowNet,以及知識圖譜等知識庫工具.一些互聯(lián)網(wǎng)公司和組織也陸陸續(xù)續(xù)推出自己的知識庫工具,如谷歌知識圖譜(Google Knowledge Graph)、BabelNet、DBPedia、DBnary、微軟概念圖(Microsoft Concept Graph)等,但目前應用并不太廣泛.這些知識庫工具以描述詞與詞之間的概念關系為內(nèi)容,可以作為更上層語言單位進行語義分析時的基礎工具.意元網(wǎng)絡MNet在描述詞與詞關系的時候所采用的方法和以上知識庫工具具有類似性.

總之,MNet融合了WordNet等知識庫工具、語義依存樹(圖)、語義網(wǎng)絡等表達方法,試圖以一種統(tǒng)一的模型來表示語義關系.重要的特點是引入了外關系和遞歸結(jié)構(gòu)的定義.

2.3 構(gòu)建思路

本節(jié)試圖解釋MNet產(chǎn)生的思考過程.以圖2為例,從常識和直覺角度,加入假設性評價,說明閱讀推理的自然語言處理任務過程.句子“某人微笑著走向放有蘋果和水杯的桌子”是對“某自然生活場景”的概況描述.計算任務要求預測當事人下一步的狀態(tài).按照常識,該狀態(tài)可能包括“吃蘋果”或者“喝水”.從語義分析模型的靜態(tài)特征看,場景中各層元素的內(nèi)部和外部關系,對應著句子中的語義單位的內(nèi)關系和外關系.這里的內(nèi)外關系和語義分析模型的內(nèi)外關系概念上一致.自然語言語義分析的過程就是要構(gòu)建并推理出這些關系,也就是語義分析模型的構(gòu)建.

圖2 自然語言理解任務Fig.2 Natural language understanding tasks

語義分析模型的構(gòu)建其實是可以并行處理的.語音傳輸是時間序列,一般閱讀也是從左至右,這樣容易造成一個錯覺,認為大腦處理語音文字總是依照輸入順序逐詞逐句處理的.但是,語言文字中的語義單位之間的關系是由客觀場景本質(zhì)上決定的,每一個語義單位都是活生生的自然場景元素,彼此在時空上是獨立的.因此,構(gòu)建和推理這些關系可以由這些語義單位自行組織關聯(lián).也就是說關系的構(gòu)建過程不必按照句子輸入順序逐詞處理,可以類似處理視覺圖像一樣進行自底向上的并行處理.現(xiàn)代認知神經(jīng)科學認為,語言可以被大腦轉(zhuǎn)換為視覺信息,皮層處理來自耳朵的信號的方式與處理來自眼睛的信號的方式相同[10].通常在空間上相鄰詞之間依賴關系也越強烈,適合自底向上的并行分析處理.本文隨后相應地在3.2節(jié)提出了自底向上規(guī)約式的MNet語義依存樹構(gòu)造算法.

在分析推理上可以充分利用外關系,這個外關系在語言文字中表現(xiàn)為上下文關系和背景知識.在自然語言處理中,我們可以用語義依存樹來幫助標記場景元素的內(nèi)外關系,以幫助邏輯推理,但顯然這是不夠完備的.由于句子本身的內(nèi)部關系和上下文背景知識外部關系的共同作用,句子語義單位之間呈現(xiàn)出復雜的網(wǎng)狀結(jié)構(gòu).在句子“某人微笑著走向放有蘋果和水杯的桌子”中,當事人的內(nèi)部關系有“走向桌子、蘋果、水杯,微笑著”,結(jié)合外部關系“蘋果、水杯可能是食物”、“人可以吃食物、喝水”等,對相應的關系網(wǎng)絡進行搜索,演繹出下一個可能的狀態(tài)是“吃蘋果、喝水”.

基于上述分析,本文用MNet來探索標記客觀場景的元素組成和關系.MNet的構(gòu)建可以采用自底向上的自組織構(gòu)建方式,以解決具體的自然語言處理實際問題為目標,采用以下步驟在構(gòu)建MNet的過程中求解應用問題:

1)元關系構(gòu)建.是指建立基本的詞與詞之間的語義關系庫,為求解MNet的內(nèi)關系做好基礎.在3.1節(jié)采用基于雙向GRU和注意力機制的深度學習方法構(gòu)建了詞和詞之間的元關系庫,對應地4.1節(jié)進行了實驗研究.

2)樹構(gòu)建.主要指內(nèi)關系的構(gòu)建.根據(jù)元關系,采用并行的自底向上的自組織方式歸納構(gòu)建一般意義上的語義依存樹.本文隨后在3.2節(jié)和4.2節(jié)分別提出一種自底向上規(guī)約式的MNet語義依存樹構(gòu)造算法和實驗分析.

3)網(wǎng)構(gòu)建.主要指外關系的構(gòu)建.考慮到MNet不可能一次性構(gòu)造完成,不可能也沒有必要窮盡句子中語義單位的所有外關系.根據(jù)特定的自然語言計算任務,對前一步構(gòu)建的語義樹進行外關系擴展.以智能家居SCADA系統(tǒng)的自然語言操控接口為例,目的是將MNet語義依存樹中的節(jié)點與目標指令進行關系映射.3.3節(jié)和4.3節(jié)分別介紹了算法和實驗結(jié)果.

由于當前認知限制,我們沒有嚴格從數(shù)學理論上對MNet方法做深入地探討,主要是從解決自然語言操控接口的設計角度,提煉了語義分析的MNet思路.有待研究的空間還很大,包括引入第三方知識庫來推理MNet外關系、MNet意元的嵌入式向量表達、屬性集合的設計,以及邏輯語義學的引入等.

表1從語義表示模型評價的幾個維度對MNet方法進行了說明.一定程度上MNet體現(xiàn)了較好的并發(fā)性、可變性、可視化、一致性,以及復雜性低等特點.

3.1 元關系構(gòu)建

MNet元關系可以直接采用WordNet、HowNet知識庫工具,但面對特定的領域問題時,還需要預先通過樣本訓練構(gòu)建.采用雙向GRU和字向量,結(jié)合子字符級別和句子級別注意力機制,從樣本中訓練詞與詞之間的關系[11,12].

輸入的表達使用了字符嵌入和待預測關系的一對詞的位置嵌入信息向量,加入字級別的注意力機制,結(jié)合雙向GRU和字符注意力機制,形成句子的嵌入向量表達.

例如有涉及關系對(word1,word2)的n個句子,記為si(i=1…n),每個句子的嵌入表達向量信息中都包含了是否包含關系r的信息.為了利用所有句子的信息,當對關系對(word1,word2)預測關系r時,加入句子級別的注意力機制,用包含所有句子嵌入表達信息的特征向量來表達這n個句子集合,然后做整體訓練.這樣做的優(yōu)點是可以降低錯誤標準數(shù)據(jù)的噪聲影響.模型架構(gòu)如圖3所示.

圖3 Bi-GRU 結(jié)合字符及句子級別注意力機制原理Fig.3 Principle of Bi-GRU combining with character and sentence level attention mechanism

3.2 樹構(gòu)建

語義依存樹分析方法主要包括基于轉(zhuǎn)移和基于圖的方法[7].為了更加符合人類語言思維習慣,考慮并發(fā)可執(zhí)行性,綜合了基于轉(zhuǎn)移和圖的方法,在獲得句子中詞與詞之間的關系概率基礎上,采用自底向上的相鄰詞競爭結(jié)合依賴方式,構(gòu)建語義依存樹.和傳統(tǒng)的基于轉(zhuǎn)移的方法不同在于:1)不再受限于句子的輸入順序,與左結(jié)合依賴優(yōu)先還是右結(jié)合依賴優(yōu)先無關;2)對于未確定所依存對象的詞,不但從左右相鄰詞中檢查依存關系,還包括相鄰詞所依存的詞;3)對于構(gòu)建過程中產(chǎn)生的多子樹現(xiàn)象做了優(yōu)化處理.具體算法如下所示.算法1.MNetSParser

輸入:包含n個詞語的句子S,從左至右第i個詞標記為wordi,如S=“請先打開臥室的臺燈再關閉窗戶”

輸出:句子S的語義依存關系D(是一棵樹),D初始為空,數(shù)據(jù)形式如下:

{

′word′:[′請′,′先′,′打開′,′臥室′,′的′,′臺燈′,′再′,′關閉′,′窗戶′],#分詞結(jié)果

′postag′:[′v′,′d′,′v′,′n′,′uj′,′n′,′d′,′v′,′n′],//詞性

′head′:[-1,2,0,5,3,2,7,0,7],//word所對應依賴的詞的序號,從0開始,如“臺燈”依賴“打開”,關系是′受事′

′deprel′:[′核心成分′,′時間′,′結(jié)果事件′,′限定′,′“的”字依存′,′受事′,′頻率′,′結(jié)果事件′,′受事′],#依賴類型

′prob′:[0.75,0.9,0.5,0.34,0.25,0.79,0.82,0.35,0.17] #依賴概率

}

處理:

BEGIN

初始化:

word=S的分詞結(jié)果;word中的所有詞標記為“未消解”;

n賦值為S中詞的個數(shù)number=len(word);

word_undep= {1..n};//記錄沒有確定依賴的詞的序號

head= array[n];//初值為-1

deprel= array[n];//初值為-1,-1表示依賴于ROOT

Step 1.根據(jù)意元網(wǎng)絡N計算S中的所有還沒有依賴項的wordi鄰近依賴概率Pij(或Pji),i∈word_undep,wordj滿足:

1)j屬于{k|k=i-1,或者k=i+1,或者wordk是wordj的所有上層依賴(父節(jié)點)},且同時滿足:

wordj與wordi之間未確定依賴關系.

wordj標記為′未消解′.

2)若j為空,令m、n分別為距離j左右兩邊最遠的子孫節(jié)點,取:

j屬于{k|k=m-1,或者k=n+1,或者wordk是wordj的所有上層依賴(父節(jié)點)};

Step 2.選擇最大的Pij(或Pji),將對應的wordi與wordj為確定為依賴關系,記為DepWi,Wj(或DepWj,Wi),加入D.DepWi,Wj表示wordi依賴于wordj,反之表示wordj依賴于wordi.

Step 3.更新D://確定wordi依賴于wordj

word_undep = word_undep -{j};

head[i]=j;

deprel[i]=wordi依賴于wordj的關系類型名稱;

將wordi與wordj之間的詞(不包括wordi與wordj)標記為′已消解′

Step 4.去步驟1處理,直至len(word_undep)為1.

Step 5.將剩下唯一的未確定依賴項標記為根節(jié)點,標記依賴為Root.

Step 6.結(jié)束,輸出D為依存分析結(jié)果.

END

以某個具體的句子“請先打開臥室的臺燈再關閉窗戶”為例,算法1“MNetSParser”的計算過程如圖4所示.

圖4 MNetSParser分析過程Fig.4 MNetSParser analysis process

例如第“⑧”步針對詞“關閉”的依存概率計算相關詞包括“臺燈”、“打開”、“請”,從圖5未標記關聯(lián)折線中依據(jù)概率最大原則,選擇“關閉”以′結(jié)果事件′的方式依存于“請”.

圖5 依存關系計算選擇過程Fig.5 Dependency calculation selection process

3.3 網(wǎng)構(gòu)建

由于語義理解任務的不同,MNet網(wǎng)構(gòu)建的內(nèi)容是不同的.其本質(zhì)是在樹構(gòu)建的基礎上,根據(jù)下游自然語言處理的任務不同,對詞及其相互關系進行再一次的標注.這里的二次標注既可以在語義依存樹解析完成以后進行,也可以在語義依存樹解析過程中進行.因此MNet對自然語言的解析是可以持續(xù)優(yōu)化的,也就是可以對語義進行不斷地加深理解,這一點比神經(jīng)網(wǎng)絡模式具有一定的優(yōu)勢.

以SCADA(System Control and Data Acquisition,系統(tǒng)控制與數(shù)據(jù)采集)系統(tǒng)的自然語言交互接口應用為例說明特定的MNet網(wǎng)構(gòu)建的過程.SCADA系統(tǒng)操控模式主要包括查詢指令和控制指令,前者獲取現(xiàn)場過程或設備的狀態(tài)數(shù)據(jù),后者改變現(xiàn)場設備或者過程參數(shù).SCADA系統(tǒng)操控指令一般包括3個部分:動作、對象和參數(shù).最典型的參數(shù)就是位置,指示操控對象的具體地點.例如,自然語言指令“打開臥室的臺燈”,利用自然語言處理程序?qū)⑵滢D(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)“{Object=臺燈,Location = 臥室,Action = 打開}”的中間語言后,就可以通過形式化的規(guī)則生產(chǎn)SCADA系統(tǒng)的調(diào)用指令.SCADA系統(tǒng)自然語言操控指令解析原理如圖6所示.

圖6 MNet-SCADA-NLI解析原理Fig.6 MNet analytic principle

用算法1“MNetSParser”對句子“打開臥室的臺燈”做語義依存解析,結(jié)果為:

{

′word′:[′打開′,′臥室′,′的′,′臺燈′],

′postag′:[′ v ′,′n′,u′,′n′],

′head′:[0,4,2,1]

′deprel′:[′核心成分′,′限定′,′“的”字依存′,′受事′],

}

在依存分析結(jié)果上,結(jié)合特定環(huán)境下具體自然語言的語法和使用習慣,可以提煉出針對目標任務的規(guī)則集,從而能夠比較容易地抽取結(jié)構(gòu) “{Object,Location,Action}”.例如,可以定義如下規(guī)則:

規(guī)則1.若wordi以′關系′受事′依存于wordj,則可抽取Action=wordj,Object=wordi;

規(guī)則2.若wordi以關系′限定′依存于wordj,且wordj已被抽取為Object,則可抽取Location=wordi.

規(guī)則3.如果與已經(jīng)解析的Object存在連接依存關系且為名詞,則也識別為Object,且兩者的Action和Location一致.

因此,簡單的SCADA系統(tǒng)自然語言操控接口可以用算法2 “MNet-SCADA-NLI”描述.當然,實際的自然語言操控系統(tǒng)可能多種多樣,如“我想你打開臥室的臺燈和空調(diào)”.針對更加復雜的自然語言操控序列,可以通過增加規(guī)則的方式解決,原理是一樣的.

算法2.MNet-SCADA-NLI

輸入:MNet語義依存分析樹D,D的定義同算法1

輸出:Command={Object,Location,Action}

處理:

BEGIN

command={};//產(chǎn)生的命令組

FOR 每個關系i IN D.deprel DO

IF D.deprel[i]==′受事′ D.postag[i]== ′n′

Objects.append(D.word[i]);

Action = D.word[D.head[i]];

//搜索Location

j=0;Location=′NULL′;

WHILE j<=D.head.length DO

IF j<>i and D.head[j] == i

IF D.deprel[j] == ′限定′

Location = D.word[j];

END IF

//處理Object的連接依存

IF D.deprel[j] == ′連接依存′ and D.postag[j]== ′n′

Objects.append(D.word[j]);

END IF

END IF

j++;

END WHILE

FOR 每個對象i IN Objects DO

IF Location== ′NULL′

Location賦值為前一組command的Location;

添加{Action,Location,Object[i] }到command;

END FOR

END IF

END FOR

END

為了更高效地完成目標任務,特定的MNet網(wǎng)構(gòu)建的過程也可以融入到MNet樹構(gòu)建的過程中.這樣,可對算法1“MNetSParser”的STEP3進行修改以滿足應用要求.經(jīng)過算法2 MNet-SCADA-NLI的處理,MNet網(wǎng)可示意如圖7所示.

圖7 MNet-SCADA-NLI添加的MNet網(wǎng)Fig.7 MNet network added by MNet-SCADA-NLI

4.1 MNet元關系的構(gòu)建:詞關系知識庫

詞與詞之間的關系沒有統(tǒng)一的定義,包括WordNet、HowNet、ConceptNet等都各自定義,但都不可能完備.本文從自然語言處理與中文計算會議(NLP&CC 2013)公開的中文語義依存關系分析評測數(shù)據(jù)包“evsam05.zip”中構(gòu)建原始的詞關系樣本,采用3.1節(jié)的模型進行訓練.

evsam05.zip的格式采用的是CoNLL格式的中文依存語料庫,實驗數(shù)據(jù)來源于其中的清華庫.為了便于模型的訓練,數(shù)據(jù)樣本統(tǒng)一轉(zhuǎn)換為如表2所示.

表2 部分樣本數(shù)據(jù)展示Table 2 Some sample data display

清華語義依存樹庫中詞之間的依存關系類型列出了69種,如表3所示.

表3 部分詞關系類型Table 3 Types of partial word relations

例如,在句子“世界第八大奇跡出現(xiàn)”中,“世界”依存于 “奇跡”的關系是“限定”.同時加入了負樣本,關系類型為NULL,表示該組詞之間并沒有發(fā)生依存關系.數(shù)據(jù)分為訓練集和測試集.分別測試了不含負樣本和含負樣本兩種情況,其中含負樣本的訓練集中80%為負樣本.負樣本的加入,明顯提高了訓練的效率和準確性.圖8和圖9是利用tensorboardX工具展示了增加負樣本的訓練過程中損失函數(shù)和準確率的變化,最終選擇了訓練擬合準確率acc為0.98的模型作為使用模型.該模型在test測試集上關于詞關系預測的準確率為89.9%.有關本模型使用的詳細工作可參考文獻[12].

圖8 訓練過程誤差的變化Fig.8 Error change of training process

圖9 訓練過程擬合準確率Fig.9 Accuracy of training process

4.2 MNet樹構(gòu)建:MNetSParser語義依存分析

4.2.1 數(shù)據(jù)來源和分析過程評價指標

測試集采用自然語言處理與中文計算會議(NLP&CC 2013)公開的中文語義依存關系分析評測數(shù)據(jù)包.

評測采用3個指標對被測試系統(tǒng)進行評測,分別為:

·依存標注準確率(Labeled Attachment Score,LAS)

·依存準確率(Unlabeled Attachment Score,UAS)

·標注準確率(Labeled Accuracy,LA)

假設整個測試語料包含的詞個數(shù)總和為N,任意詞語的依存用三元組表示.其中wordi為詞本身,wordi以關系deprelij依存于wordj.所有wordj正確的詞語wordi的數(shù)目為Nuas;所有deprelij正確的詞語數(shù)據(jù)為Nla;所有wordj和deprelij都正確的詞語數(shù)目為Nlas.那么,測試指標的計算方法如式(1)~式(3)所示:

(1)

(2)

(3)

4.2.2 結(jié)果分析

1)計算復雜度分析角度.算法1“MNetSParser”可以在O(nlogn)時間內(nèi)完成語義依存樹的構(gòu)建,和簡單邊優(yōu)先類似.

2)從準確率角度.通過使用相同的詞關系計算模型,與效果較好的基于轉(zhuǎn)移的邊優(yōu)先算法進行對比[13,14],結(jié)果可以看出MNetSParser具有一定的優(yōu)勢,提高了約2~3個百分點,如表4所示.但總的來說都不算高,主要原因還在于樣本偏少,且依存類別多達70種.如果降低依存類別,加大樣本,準確率會提高.另外解析的過程中增加詞性、依存類別優(yōu)先級等因素也會改善準確率.

表4 MNetSParser測試結(jié)果比較Table 4 Comparison of test results of MNetSParser

4.3 MNet圖構(gòu)建:MNet-SCADA-NLI設計

針對智能家居領域的自然語言交互場景,采用小范圍問卷調(diào)查的方式,構(gòu)造了約100條常用語言操控指令,分別采用TF-IDF[15]、以及本文的MNet-SCADA-NLI進行指令的SCADA系統(tǒng)中間語言識別.

表5展示了部分常用自然語言指令以及相應的預期SCADA系統(tǒng)中間操控指令解析結(jié)果.表6是相應的實際指令解析結(jié)果.

表5 智能家居領域自然語言指令及SCADA系統(tǒng)中間操控指令解析示例Table 5 Analysis examples of natural language instruction and SCADA system intermediate control instruction in smart home field

表6 MNetParser的解析結(jié)果Table 6 Parsing results of MNetParser

采用精確率(P)、召回率(R)和F值來評價算法的效率,定義如式(4)~式(6)所示:

精確率:P反映了預測結(jié)果中間語言中正確解析參數(shù)所占的比率.

(4)

召回率:P反映了自然操控語言樣本中正確解析參數(shù)所占的比率.

(5)

F值:

(6)

式中:

N:正確解析的參數(shù)指標數(shù)目;

TotalP:算法預測結(jié)果中參數(shù)指標數(shù)目;

TotalR:原始自然操控語言樣本預期結(jié)果中參數(shù)指標數(shù)目.

用TF-IDF[15]方法和本文的MNet-SCADA-NLI算法進行指令的SCADA系統(tǒng)中間語言識別,對比結(jié)果如表7所示.

表7 SCADA系統(tǒng)自然語言操控指令解析比較Table 7 Comparison of instructions Analysis for SCADA

從實驗結(jié)果看,對于小樣本訓練集下,MNet-SCADA-NLI具有較明顯的優(yōu)勢.TF-IDF主要是通過提取關鍵詞進行排序,并根據(jù)詞性和類別進行判別.在簡單的自然語言指令解析方面TF-IDF性能較好,但面對復雜的自然語言指令解析效果比較差,甚至完全不能解析另外.例如,對于“請先打開臥室的臺燈再關閉窗戶”,TF-IDF通常容易解析出一組命令.還嘗試了Seq2Seq之類的方法,但由于樣本少,效果不理想.Seq2Seq一般需要大量的優(yōu)質(zhì)訓練數(shù)據(jù)集才有可能取得不錯的效果.MNet-SCADA-NLI方法在針對復雜的自然語言指令,在依存分析的結(jié)果上,結(jié)合領域特定的規(guī)則,問句的設定也具有一定的局限性,開放性不足,因此能獲得較高的準確率.特別是針對一些復雜的操控語言序列,還需要先提高語義依存分析準確率上著手改善.

本文提出一種意元網(wǎng)絡MNet的語義表示方法.MNet由意元、內(nèi)關系、外關系及特征屬性構(gòu)成,并通過層次化遞歸的方式進行定義,期待面向從短語、句子到篇章的整體語義空間描述.從元關系、樹結(jié)構(gòu)和網(wǎng)結(jié)構(gòu)3個過程設計了MNet一般構(gòu)造算法和面向特定語義分析問題的解析方法,重點提出了自底向上規(guī)約式的MNet語義依存樹構(gòu)造算法和面向自然語言接口解析的網(wǎng)構(gòu)造算法.實驗表明該算法在SCADA系統(tǒng)的自然語言控制接口指令解析上的有效性.將特定問題的語義分析過程轉(zhuǎn)化成MNet的一般構(gòu)造和特定解析過程,兼顧描述了語言單位自身結(jié)構(gòu)的內(nèi)語義和所處語言背景的外語義,為自然語言語義分析提供了一定的思路.

本文只是一個開始,未來還有很多重要的工作需要深入研究.例如,MNet元關系構(gòu)建可提取詞向量特征、位置、詞性、其他如WordNet、HowNet等已知知識庫中的上下位特征等;利用第三方知識庫進行外關系的深入推理;可以把深度強化學習融入到MNetParser算法的依存關系選擇過程中;針對復雜的自然語言操控語句,開發(fā)深層嵌套的基于MNet語義的指令解析算法等.

猜你喜歡指令語義解析三角函數(shù)解析式中ω的幾種求法中學生數(shù)理化·高一版(2021年4期)2021-07-19語言與語義開放教育研究(2020年2期)2020-03-31ARINC661顯控指令快速驗證方法測控技術(2018年5期)2018-12-09睡夢解析儀語文世界(小學版)(2018年3期)2018-03-22電競初解析商周刊(2017年12期)2017-06-22對稱巧用解析妙解福建中學數(shù)學(2016年7期)2016-12-03殺毒軟件中指令虛擬機的脆弱性分析電信科學(2016年10期)2016-11-23“社會”一詞的語義流動與新陳代謝中國社會歷史評論(2016年2期)2016-06-27“上”與“下”語義的不對稱性及其認知闡釋現(xiàn)代語文(2016年21期)2016-05-25中斷與跳轉(zhuǎn)操作對指令串的影響科技傳播(2015年20期)2015-03-25

推薦訪問:自然語言 語義 交互

最新推薦
猜你喜歡