姬澤陽, 楊春剛, 李富強(qiáng), 歐陽穎, 劉祥林
(1. 西安電子科技大學(xué)通信工程學(xué)院, 陜西 西安 710071; 2. 西安電子科技大學(xué)杭州研究院,浙江 杭州 311200; 3. 中國電子科技集團(tuán)公司數(shù)據(jù)鏈重點(diǎn)實(shí)驗(yàn)室, 陜西 西安 710068)
隨著網(wǎng)絡(luò)用戶大幅增長,通信網(wǎng)絡(luò)規(guī)模和協(xié)議棧種類隨之增加,傳統(tǒng)網(wǎng)絡(luò)中依靠管理者手動(dòng)配置進(jìn)行網(wǎng)絡(luò)運(yùn)維的方式已經(jīng)無法適用,經(jīng)常會(huì)出現(xiàn)人為導(dǎo)致的錯(cuò)誤。因此,實(shí)現(xiàn)網(wǎng)絡(luò)的自動(dòng)配置、自動(dòng)管理和自動(dòng)優(yōu)化至關(guān)重要[1]。意圖驅(qū)動(dòng)網(wǎng)絡(luò)關(guān)聯(lián)用戶意圖和網(wǎng)絡(luò)資源,弱化了用戶對底層網(wǎng)絡(luò)知識的要求,通過意圖轉(zhuǎn)譯、驗(yàn)證、優(yōu)化和部署等實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)配置,并實(shí)時(shí)檢測網(wǎng)絡(luò)狀態(tài),實(shí)現(xiàn)網(wǎng)絡(luò)的動(dòng)態(tài)優(yōu)化,為解決傳統(tǒng)網(wǎng)絡(luò)管理問題的自動(dòng)性、時(shí)效性和魯棒性等提供了解決方案[2-7]。
現(xiàn)有意圖驅(qū)動(dòng)的網(wǎng)絡(luò)管理方案仍存在諸多問題。例如,若要使用可編程的高級語言表達(dá)意圖,管理員需要了解網(wǎng)絡(luò)知識,學(xué)習(xí)不同的編程語言[3];在基于特定參數(shù)[8-9]表達(dá)意圖時(shí),可能會(huì)導(dǎo)致參數(shù)冗余,占用過多的網(wǎng)絡(luò)資源;使用自然語言[1,4]或是人機(jī)交互[4]的方式表達(dá)意圖,將意圖轉(zhuǎn)譯為網(wǎng)絡(luò)策略,簡化了用戶的操作流程;然而該策略不具備學(xué)習(xí)用戶表達(dá)習(xí)慣的能力,而且增加新的網(wǎng)絡(luò)參數(shù)時(shí),需要將新的參數(shù)手動(dòng)添加到數(shù)據(jù)庫中,且隨著用戶意圖類型和數(shù)量的不斷增長,意圖存儲(chǔ)與復(fù)用愈發(fā)困難。
針對上述問題,本文介紹了一種基于自然語言處理與知識圖譜相結(jié)合的意圖驅(qū)動(dòng)網(wǎng)絡(luò)表征系統(tǒng),包括意圖輸入層和意圖表征層。意圖輸入層使用自然語言處理將用戶意圖轉(zhuǎn)化為文本意圖,意圖表征層則提取文本意圖的關(guān)鍵參數(shù),以知識圖譜的形式保存,實(shí)現(xiàn)知識推理和用戶意圖的復(fù)用。具體地,本文的貢獻(xiàn)如下:
(1) 設(shè)計(jì)了一種新的意圖表征系統(tǒng),使用自然語言技術(shù)處理用戶意圖,并將意圖表征的結(jié)果以知識圖譜的形式保存,形成標(biāo)準(zhǔn)、統(tǒng)一的語法規(guī)則,有利于解決多類意圖表征的沖突問題。
(2) 用戶可選擇語音或文本等多種形式智簡表達(dá)異構(gòu)意圖,系統(tǒng)將語音識別結(jié)果和用戶輸入的文本進(jìn)行檢錯(cuò)和糾錯(cuò)處理,避免由于輸入錯(cuò)誤而導(dǎo)致網(wǎng)絡(luò)配置異常。
(3) 將實(shí)體參數(shù)知識庫以知識圖譜的形式保存,有利于知識推理,在參數(shù)映射失敗時(shí),可以通過相似度檢測得到實(shí)體參數(shù),不斷學(xué)習(xí)用戶的表達(dá)習(xí)慣,提高意圖表征的成功率。
本文是對意圖表征流程和系統(tǒng)的有效改進(jìn)。第1節(jié)介紹了意圖表征的背景和研究進(jìn)展;第2節(jié)介紹了意圖表征的系統(tǒng)和規(guī)范化設(shè)計(jì)。第3節(jié)介紹了意圖表征系統(tǒng)的實(shí)現(xiàn)。第4節(jié)通過實(shí)驗(yàn)驗(yàn)證了融入文本檢錯(cuò)、糾錯(cuò)和相似度檢測對提高意圖表征所起到的效果。第5節(jié)是對本文的總結(jié)。
意圖表征規(guī)范化包括意圖描述語言規(guī)范化和意圖表征形式規(guī)范化。隨著人工智能的發(fā)展,意圖的輸入形式逐漸由格式化的網(wǎng)絡(luò)語言發(fā)展為自由輸入的自然語言,同時(shí)意圖表征的形式也逐漸向規(guī)范化、可視化和語義方向發(fā)展。
在意圖驅(qū)動(dòng)網(wǎng)絡(luò)中,意圖是對用戶期望的準(zhǔn)確表達(dá),是對網(wǎng)絡(luò)策略的抽象描述,將作為意圖驅(qū)動(dòng)網(wǎng)絡(luò)的輸入。意圖表征是將用戶意圖轉(zhuǎn)化為規(guī)范化的意圖。因此,意圖表征應(yīng)具備通用靈活、可移植等特性。設(shè)計(jì)合適的意圖描述語言,可降低用戶對底層網(wǎng)絡(luò)信息的依賴程度,降低同類軟件的學(xué)習(xí)成本,提高用戶使用體驗(yàn)。
意圖表征的現(xiàn)有方案對比如表1所示。使用現(xiàn)有的網(wǎng)絡(luò)語言,可以將用戶意圖轉(zhuǎn)譯為相應(yīng)的網(wǎng)絡(luò)語言,驗(yàn)證意圖的正確性,實(shí)現(xiàn)網(wǎng)絡(luò)的自動(dòng)交付,然而對于知識能力受限的用戶,需要學(xué)習(xí)編程語言和編程思維,阻礙網(wǎng)絡(luò)自動(dòng)管理的發(fā)展。將網(wǎng)絡(luò)參數(shù)以配置文件或資源描述框架(resource description framework, RDF)方式輸入,可驗(yàn)證意圖的正確性,同時(shí)需要用戶掌握底層網(wǎng)絡(luò)資源和狀態(tài)。而以人機(jī)交互的方式表達(dá)意圖,需要根據(jù)不同的業(yè)務(wù)類型指定參數(shù)。使用自然語言表達(dá)意圖,能夠最大限度地降低由用戶操作引發(fā)的網(wǎng)絡(luò)配置錯(cuò)誤。綜上所述,用戶以自由輸入的方式表達(dá)意圖,使用自然語言處理技術(shù),可以提高網(wǎng)絡(luò)管理的效率;然而,現(xiàn)有方案[8-12]并沒有對用戶輸入的意圖進(jìn)行糾錯(cuò)和檢錯(cuò),可能出現(xiàn)人為錯(cuò)誤,影響意圖的下發(fā)。
表1 意圖表征的現(xiàn)有方案對比Table 1 Comparison of existing schemes for intentional characterization
針對復(fù)雜多變和內(nèi)涵豐富的自然語言輸入,需經(jīng)過自然語言處理得到一種可復(fù)用的規(guī)范化表征形式。意圖表征的規(guī)范化形式將用于意圖驗(yàn)證、策略生成等環(huán)節(jié),因此意圖表征需要具備推理和解決策略沖突[16]的能力,表2對現(xiàn)有意圖表征的規(guī)范化形式進(jìn)行了對比。
表2 意圖表征形式對比Table 2 Comparison of forms of intentional representation
正則表達(dá)式是一種字符串匹配的模式,可以用來檢查一個(gè)字符串是否含有某種子串、將匹配的子串做替換或者從某個(gè)字符串中取出符合某個(gè)條件的子串等。正則表達(dá)式可實(shí)現(xiàn)快速匹配,只適合匹配字面意思,不適合匹配文本意義,不具備推理的能力。此外,正則表達(dá)式可讀性差,需要單獨(dú)設(shè)計(jì),不可復(fù)用。
XML是一種用于標(biāo)記電子文件、使其具有結(jié)構(gòu)性的標(biāo)記語言,可以用來標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對自己的標(biāo)記語言進(jìn)行定義的源語言。XML提供統(tǒng)一的方法來描述結(jié)構(gòu)化數(shù)據(jù)[17]。然而,XML文件格式文件龐大,格式復(fù)雜,代碼異常復(fù)雜并且不容易進(jìn)行維護(hù)。
RDF是一種用于描述實(shí)體和資源的數(shù)據(jù)模型,由節(jié)點(diǎn)和邊組成,形式上表示為三元組。RDF的表達(dá)能力有限,無法區(qū)分類和對象,無法定義和描述類的關(guān)系和屬性,缺乏抽取能力。
知識圖譜[18]是一種基于圖數(shù)據(jù)結(jié)構(gòu)的語義網(wǎng)絡(luò)。知識圖譜由節(jié)點(diǎn)和邊組成,節(jié)點(diǎn)表示實(shí)體,邊表示實(shí)體之間的關(guān)系,可以最有效、最直觀地表達(dá)出實(shí)體間的關(guān)系,并根據(jù)現(xiàn)有知識進(jìn)行推理。
正則表達(dá)式和XML使用結(jié)構(gòu)化形式來存儲(chǔ)數(shù)據(jù),代碼復(fù)雜,不易維護(hù)。RDF結(jié)構(gòu)簡單,易于維護(hù),但是缺乏抽象能力,推理能力有限。知識圖譜將大量不同種類的信息連接在一起,得到一個(gè)關(guān)系網(wǎng)絡(luò),為人們提供了從“關(guān)系”的角度分析問題的能力,為后續(xù)的策略生成提供了推理的能力[19]。
本文設(shè)計(jì)的意圖規(guī)范化表征形式通過引入知識圖譜,可以對現(xiàn)有知識進(jìn)行推理,解決了策略沖突的問題,簡化策略生成的流程,提高策略生成的準(zhǔn)確性。
基于自然語言處理與知識圖譜相結(jié)合的意圖驅(qū)動(dòng)網(wǎng)絡(luò)表征系統(tǒng)如圖1所示。
圖1 基于自然語言處理與知識圖譜相結(jié)合的意圖表征系統(tǒng)Fig.1 Intent representation system based on natural language processing combined with knowledge graph
第1層是意圖輸入層,用戶可選擇語音或文本等形式智簡表達(dá)異構(gòu)意圖,輸出文本糾錯(cuò)后的用戶意圖。針對語音輸入方式,用戶在錄音結(jié)束后進(jìn)行提交,語音識別模型對其進(jìn)行識別,得到文本格式的意圖,文本糾錯(cuò)模型對意圖中可能出現(xiàn)的錯(cuò)誤進(jìn)行檢錯(cuò)、糾錯(cuò)處理,在糾錯(cuò)完成后輸出正確的文本意圖。
第2層為意圖表征層,首先對文本意圖進(jìn)行實(shí)體抽取,獲得意圖的關(guān)鍵信息,例如網(wǎng)絡(luò)節(jié)點(diǎn)、時(shí)間、業(yè)務(wù)等級、業(yè)務(wù)類型等,經(jīng)過關(guān)系抽取形成三元組。實(shí)體映射模塊將意圖關(guān)鍵信息轉(zhuǎn)換為網(wǎng)絡(luò)參數(shù)。如果可以找到對應(yīng)的參數(shù),直接返回輸出結(jié)果;如果沒有找到對應(yīng)的參數(shù),則將該實(shí)體和數(shù)據(jù)庫中的所有實(shí)體進(jìn)行相似度對比,選擇相似度最大的實(shí)體,并把該實(shí)體對應(yīng)的參數(shù)作為此實(shí)體的參數(shù),并將結(jié)果返回至前端界面。若用戶確認(rèn)表征結(jié)果正確,則將該“{實(shí)體,參數(shù)類型,具體參數(shù)}”保存在知識圖譜庫中。
意圖實(shí)體類型包括:源地址、目的地址、時(shí)間、業(yè)務(wù)類型、業(yè)務(wù)等級。其中,業(yè)務(wù)類型包括數(shù)據(jù)、語音和視頻等,其中數(shù)據(jù)業(yè)務(wù)類型包括圖像、游戲、E-mail、交易業(yè)務(wù)和批量數(shù)據(jù)傳輸?shù)?語音業(yè)務(wù)分為語音電話、語音消息和高質(zhì)量語音媒體等;視頻業(yè)務(wù)包括視頻電話和可視媒體等。表3展示了意圖實(shí)體的類型和實(shí)例。
表3 實(shí)體類型和實(shí)例Table 3 Entity types and instances
參數(shù)映射是指將三元組中的實(shí)體進(jìn)行參數(shù)匹配,輔助后續(xù)策略生成,具體實(shí)例如圖2所示。將“視頻”實(shí)體映射為抗丟包率、帶寬、時(shí)延、抖動(dòng)等參數(shù)類型,并約束參數(shù)范圍,例如帶寬為2M等。其中,參數(shù)的范圍根據(jù)意圖的種類和重要等級劃分。
圖2 參數(shù)映射實(shí)例Fig.2 Parameter mapping example
用戶在表達(dá)意圖時(shí)可能使用不同的詞匯來表示相同的實(shí)體,例如對于三元組“{北京,開通,南京}”可以使用“{首都,開通,南京}”進(jìn)行表示。針對“北京”可以映射得到正確的IP地址,但是針對“首都”可能會(huì)導(dǎo)致參數(shù)映射失敗。此時(shí),通過相似度檢測將選擇近似度最高的實(shí)體“北京”,并將“北京”的IP地址作為映射結(jié)果,返回到前端界面讓用戶選擇。若用戶同意,則將該實(shí)體和實(shí)體參數(shù)保存在數(shù)據(jù)庫中,若用戶不滿意,由用戶選擇手動(dòng)修改參數(shù),將“{實(shí)體,參數(shù),參數(shù)值}”保存在知識圖譜庫中,使系統(tǒng)可以學(xué)習(xí)用戶的表達(dá)習(xí)慣。
圖3為用戶意圖表征規(guī)范化實(shí)例,用戶經(jīng)過實(shí)體和關(guān)系將意圖抽取轉(zhuǎn)化為三元組,進(jìn)而將意圖三元組的參數(shù)進(jìn)行映射,形成知識圖譜。
圖3 用戶意圖表征實(shí)例Fig.3 Example of user intent representation
意圖表征面向用戶,如圖4所示,用戶選擇語音或者文本等形式輸入意圖。當(dāng)用戶選擇語音輸入時(shí),語音識別模型將識別用戶語音為文本格式,用戶也可選擇直接輸入文本意圖。意圖表征系統(tǒng)將對文本進(jìn)行檢錯(cuò)處理,當(dāng)出現(xiàn)文本錯(cuò)誤時(shí)進(jìn)行文本檢錯(cuò)、糾錯(cuò),沒有文本錯(cuò)誤將直接輸入到實(shí)體和關(guān)系抽取模型中進(jìn)行三元組抽取。接下來將對意圖三元組進(jìn)行參數(shù)映射,如果參數(shù)映射失敗,將對映射失敗的實(shí)體和知識圖譜庫中的實(shí)體進(jìn)行相似度檢測,選擇相似度最大的實(shí)體作為實(shí)體參數(shù),并向用戶進(jìn)行反饋。如果用戶同意,則將三元組“{實(shí)體,參數(shù)類型,參數(shù)值}”添加到知識圖譜庫中,對知識圖譜庫進(jìn)行更新,學(xué)習(xí)用戶的表達(dá)習(xí)慣。
圖4 意圖表征功能流程圖Fig.4 Flowchart of intention representation function
在意圖驅(qū)動(dòng)網(wǎng)絡(luò)中,用戶可以使用語音作為系統(tǒng)的輸入,利用語音識別模型,將用戶語音轉(zhuǎn)化為文本。語音識別實(shí)現(xiàn)方法可分為5種:隱馬爾可夫模型、基于動(dòng)態(tài)時(shí)間規(guī)劃、神經(jīng)網(wǎng)絡(luò)、端到端語音識別[20]。
本系統(tǒng)使用的是基于注意力機(jī)制的端到端語音識別模型。語音識別模型的輸入形式為特征向量,用戶語音不能直接傳入到語音識別模型中,需要對用戶輸入的語音信號做預(yù)濾波、預(yù)加重和分幀等預(yù)處理操作,再利用頻率倒譜系數(shù)(mel frequency cepstral coefficients, MFCC)算法,提取每一幀語音的多維向量。編碼層使用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)對語音向量進(jìn)行特征抽取。注意力層為輸入的每一個(gè)序列劃分權(quán)重系數(shù),重點(diǎn)通過關(guān)注輸入序列的某一部分來預(yù)測輸出。按照注意的范圍分為全局注意力機(jī)制和局部注意力機(jī)制,全局注意力機(jī)制關(guān)注編碼層的所有隱藏狀態(tài),局部注意力機(jī)制關(guān)注當(dāng)前輸入位置的一部分[21-22]。本文使用局部注意力機(jī)制,使用前一時(shí)刻隱藏狀態(tài)計(jì)算權(quán)重系數(shù)。解碼層利用編碼層的輸出和權(quán)重系數(shù)計(jì)算當(dāng)前時(shí)刻語音特征的識別結(jié)果。
使用語音輸入用戶意圖時(shí),需要將用戶語音轉(zhuǎn)化為文本,這個(gè)環(huán)節(jié)可能會(huì)出現(xiàn)識別錯(cuò)誤;在用戶輸入文本意圖時(shí),也可能發(fā)生拼寫錯(cuò)誤。常見的文本錯(cuò)誤有:發(fā)音相近混淆、字形相近混淆、次序顛倒、常識錯(cuò)誤、語境錯(cuò)誤等[23-24]。為提高系統(tǒng)對用戶輸入意圖的容錯(cuò)率,需要對用戶輸入進(jìn)行檢錯(cuò)和糾錯(cuò)。
本系統(tǒng)使用雙向門循環(huán)神經(jīng)網(wǎng)絡(luò)(bidirectional gate recurrent unit, Bi-GRU)作為檢錯(cuò)模型,使用Transformer作為文本糾錯(cuò)模型。首先使用詞嵌入模型將文本轉(zhuǎn)化為詞向量,檢錯(cuò)模型對詞向量的正向編碼和反向編碼的隱藏狀態(tài)橫向合并,通過全連接層進(jìn)行二分類學(xué)習(xí),輸出結(jié)果為字符的二分類錯(cuò)誤概率。糾錯(cuò)網(wǎng)絡(luò)是一種基于來自Transformer的雙向編碼器表示(bidirectional encoder representations from Transformer, BERT)的順序多類標(biāo)注模型[25]。當(dāng)用戶輸入意圖“從西安太白南陸2號到北京建立一條普通等級的話音業(yè)務(wù),2022年9月18日結(jié)束”。將用戶文本意圖轉(zhuǎn)化為嵌入向量,檢錯(cuò)系統(tǒng)根據(jù)上下文信息檢測到“陸”字錯(cuò)誤概率比較大,在候選集中選擇最大概率的字符“路”作為輸出結(jié)果。
實(shí)體和關(guān)系抽取提取用戶意圖的實(shí)體信息,并建立實(shí)體和實(shí)體之間的關(guān)系。實(shí)現(xiàn)方法有管道抽取和聯(lián)合抽取[26],管道抽取是先提取句子中的實(shí)體,然后對實(shí)體進(jìn)行關(guān)系分類,各個(gè)過程之間沒有聯(lián)系;聯(lián)合抽取是將實(shí)體抽取之后的輸出和隱藏層作為關(guān)系抽取的輸入,損失函數(shù)是實(shí)體抽取和關(guān)系抽取的損失函數(shù)之和。
本文使用聯(lián)合抽取的方式提取用戶意圖的關(guān)鍵信息。實(shí)體和關(guān)系抽取使用雙向長短期記憶網(wǎng)絡(luò)(bidirectional long-short term memory, Bi-LSTM),將實(shí)體抽取模型的輸出和隱藏層作為關(guān)系抽取的輸出。例如,對于一個(gè)訓(xùn)練樣本“從南京到北京建立一條普通等級的話音業(yè)務(wù),時(shí)間要求為2022年9月8日到2022年9月10日”,需要將訓(xùn)練樣本調(diào)整為“[[“南京”,“建立業(yè)務(wù)”,“北京”],[“北京”,“等級”,“普通等級”],[“北京”,“開始時(shí)間”,“2022年9月8日”],[“北京”,“結(jié)束時(shí)間”,“2022年9月10日”]]”進(jìn)行訓(xùn)練。當(dāng)需要進(jìn)行實(shí)體和關(guān)系抽取時(shí)同時(shí)抽取實(shí)體、關(guān)系和客體,得到結(jié)果,其中關(guān)系屬性不必是樣本中的詞語,可以重新定義關(guān)系。
由于用戶輸入與知識庫中的知識可能存在差別,為了提高意圖表征的效果,需要使用相似度檢測提高關(guān)鍵詞匹配的效果。
相似度檢測可以通過基于同義詞詞典庫或基于大規(guī)模語料實(shí)現(xiàn)。基于同義詞詞典庫,使用詞義詞典來判斷文本的相似度,詞典內(nèi)容有限,需要針對特定場景進(jìn)行訓(xùn)練;基于大規(guī)模語料的方法是對語料進(jìn)行訓(xùn)練,為每一個(gè)字、詞計(jì)算出一個(gè)維度合適的向量,通過計(jì)算詞嵌入向量的平均值、詞移距離、余弦、皮爾森系數(shù)等方法實(shí)現(xiàn)[27-29]。
相似度檢測的實(shí)現(xiàn)流程如圖5所示。
圖5 相似度檢測Fig.5 Similarity detection
使用騰訊基于方向跳躍圖的方法訓(xùn)練的詞向量模型得到詞向量。相似度檢測輸入詞語與每一組詞中的參考詞進(jìn)行計(jì)算,兩個(gè)詞嵌入向量之間的余弦值計(jì)算公式如下:
由上式可以得到詞語之間的相似度。計(jì)算值的輸出范圍為-1到1,計(jì)算值越趨近于1,表明兩個(gè)詞相似度越大;越接近-1,表示為反義詞。
為了實(shí)現(xiàn)高效選擇,相似度計(jì)算只與每一組的參考詞計(jì)算。同時(shí),為了避免無意義的相似詞輸出,需要使用分界值對相似度檢測的結(jié)果進(jìn)行判定。分界值的選擇根據(jù)用戶進(jìn)行反饋,結(jié)果符合預(yù)期則參考值不變,結(jié)果不符合預(yù)期則對參考值進(jìn)行更改。
用戶輸入的文本需要經(jīng)過知識抽取和關(guān)系抽取形成意圖三元組,通過參數(shù)映射得到網(wǎng)絡(luò)參數(shù),形成知識圖譜,最后通過遍歷知識圖譜的拓?fù)湫畔?得到滿足需求的方案。同時(shí),用戶所需的資源需要實(shí)時(shí)更新,使用知識圖譜構(gòu)建用戶意圖能夠抽象底層網(wǎng)絡(luò)的資源,保障網(wǎng)絡(luò)的正常運(yùn)行。
使用Py2neo構(gòu)建知識圖譜,Py2neo是一個(gè)圖形可視化的工具包,配合圖數(shù)據(jù)庫neo4j可以實(shí)現(xiàn)知識圖譜的構(gòu)建和使用[30]。圖6為使用Python程序?qū)崿F(xiàn)知識圖譜的部分代碼。在知識圖譜中修改屬性,例如時(shí)延、帶寬等,實(shí)時(shí)更新網(wǎng)絡(luò)的資源狀態(tài)。圖7為知識圖譜構(gòu)建實(shí)例。
圖7 知識圖譜構(gòu)建實(shí)例Fig.7 Knowledge graph construction instance
意圖表征可以實(shí)現(xiàn)異構(gòu)意圖的標(biāo)準(zhǔn)化表征,如圖8所示,用戶在文本輸入框中輸入“從南京到北京建立一條普通等級的華陰業(yè)務(wù),時(shí)間要求為從2022年9月8日到2022年9月10日”,點(diǎn)擊“開始”提交用戶意圖,用戶輸入有誤,文本糾錯(cuò)框顯示糾錯(cuò)后的文本,點(diǎn)擊“submit”提交用戶意圖,將進(jìn)行意圖表征;圖9將用戶意圖表征信息,如源地址、目的地址、時(shí)延、帶寬等,以知識圖譜的形式保存,用戶可以選擇“執(zhí)行”來下發(fā)意圖,選擇“暫緩”將意圖保存在知識圖譜庫中,但是不會(huì)下發(fā)策略;選擇“撤銷”將結(jié)束意圖表征;圖10是將意圖表征結(jié)果保存在知識圖譜庫中,實(shí)現(xiàn)用戶意圖的復(fù)用。實(shí)驗(yàn)結(jié)果表明,基于自然語言處理與知識圖譜相結(jié)合標(biāo)準(zhǔn)的意圖驅(qū)動(dòng)網(wǎng)絡(luò)表征系統(tǒng)可以實(shí)現(xiàn)用戶意圖的標(biāo)準(zhǔn)化。
圖8 意圖表征前端界面Fig.8 Intentional representation front-end interface
圖9 意圖表征結(jié)果展示Fig.9 Presentation of intentional representation results
圖10 用戶知識圖譜庫Fig.10 User knowledge graph database
為了驗(yàn)證文本檢錯(cuò)、糾錯(cuò)性能,將錯(cuò)誤率為30%的文本分別輸入到傳統(tǒng)意圖表征和本框架下的意圖表征模塊中進(jìn)行對比,驗(yàn)證文本檢錯(cuò)、糾錯(cuò)對意圖表征的提升效果。
由圖11可知,在輸入樣本相同的情況下,傳統(tǒng)架構(gòu)下意圖表征的準(zhǔn)確率為67%,新架構(gòu)下意圖表征的準(zhǔn)確率為78%,引入文本糾錯(cuò)、檢錯(cuò)能夠在用戶輸入時(shí)提高意圖的準(zhǔn)確率,進(jìn)而能夠提高意圖表征的效果。
圖11 文本檢錯(cuò)、糾錯(cuò)實(shí)驗(yàn)Fig.11 Text error detection and error correction experiments
本實(shí)驗(yàn)將添加相似度檢測模塊的意圖表征系統(tǒng)和傳統(tǒng)意圖表征系統(tǒng)進(jìn)行對比,驗(yàn)證相似度檢測的優(yōu)勢。
測試流程:將輸入樣本中20%的關(guān)鍵詞替換為知識圖譜庫中未出現(xiàn)的關(guān)鍵詞,將正確參數(shù)和測試參數(shù)進(jìn)行對比,得到測試結(jié)果。
由圖12可知,輸入相同的樣本,相似度檢測的正確率為90%,傳統(tǒng)架構(gòu)準(zhǔn)確率為80%,融入相似度檢測可以提高意圖表征的效果。
圖12 相似度檢測實(shí)驗(yàn)Fig.12 Similarity detection experiments
本文介紹了一種基于自然語言處理與知識圖譜相結(jié)合標(biāo)準(zhǔn)的意圖驅(qū)動(dòng)網(wǎng)絡(luò)表征系統(tǒng),使用語音或者文本等形式表達(dá)異構(gòu)意圖,實(shí)現(xiàn)了用戶意圖的自由輸入。針對用戶文本可能出現(xiàn)的輸入錯(cuò)誤問題,對用戶意圖進(jìn)行檢錯(cuò)和糾錯(cuò),提高了用戶意圖的準(zhǔn)確性。對用戶輸入意圖進(jìn)行實(shí)體和關(guān)系抽取得到意圖三元組,并對意圖三元組進(jìn)行參數(shù)映射。當(dāng)實(shí)體參數(shù)映射失敗時(shí),選擇相似度最大的實(shí)體參數(shù)作為映射結(jié)果,動(dòng)態(tài)更新實(shí)體參數(shù)知識圖譜庫,學(xué)習(xí)用戶表達(dá)習(xí)慣,并將意圖表征的結(jié)果以知識圖譜的形式保存,有利于后續(xù)的策略生成。目前,意圖表征系統(tǒng)使用靜態(tài)知識圖譜保存用戶意圖,未來將引入動(dòng)態(tài)知識圖譜實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)的動(dòng)態(tài)更新。