許鑫
(云南電網(wǎng)有限責(zé)任公司玉溪供電局,云南 玉溪 653100)
當(dāng)前在地區(qū)電網(wǎng)系統(tǒng)中,檢修預(yù)案依然是通過(guò)人工編寫的方式產(chǎn)生的。將自然語(yǔ)言處理技術(shù)應(yīng)用于電網(wǎng)預(yù)案文書(shū)的生成,替代人工操作,提高編寫預(yù)案的工作效率。自然語(yǔ)言處理技術(shù)可以從文本中提取信息,對(duì)信息進(jìn)行分析處理,發(fā)現(xiàn)有用的知識(shí)。在智能電網(wǎng)的建設(shè)中,由于系統(tǒng)數(shù)據(jù)量太大,并且缺乏分析利用的方法,導(dǎo)致無(wú)法為決策提供有效的支持,不利于電網(wǎng)領(lǐng)域知識(shí)的發(fā)現(xiàn)和表示?;诒倔w語(yǔ)言的知識(shí)表示法在很多領(lǐng)域中得到廣泛的應(yīng)用。將本體語(yǔ)言應(yīng)用于電網(wǎng)領(lǐng)域知識(shí)表示,構(gòu)建電網(wǎng)知識(shí)本體,有利于知識(shí)的提取和利用。目前本體的構(gòu)建大部分采用人工方式完成,本體編輯工具減少了本體構(gòu)建的難度[1]。
自然語(yǔ)言處理技術(shù)包括自然語(yǔ)言理解和自然語(yǔ)言生成,需要對(duì)語(yǔ)料庫(kù)進(jìn)行學(xué)習(xí)。自然語(yǔ)言理解通過(guò)中文分詞,詞性標(biāo)注,句法分析,語(yǔ)義分析,產(chǎn)生相關(guān)模型。自然語(yǔ)言生成通過(guò)內(nèi)容規(guī)劃,句子規(guī)劃和表層實(shí)現(xiàn),自動(dòng)生成相關(guān)文書(shū)。主要有模板生成技術(shù)、Schema模式生成技術(shù)、RST短語(yǔ)規(guī)劃擴(kuò)展技術(shù)和屬性特征生成技術(shù)[2]。利用人工智能自動(dòng)生成預(yù)案,為停電檢修工作提供指導(dǎo),再通過(guò)人工檢查進(jìn)行修改,最終形成解決方案。這種將智能與人工相結(jié)合的方式,是十分必要和有意義的。
提出了一種基于自然語(yǔ)言處理的電網(wǎng)預(yù)案自動(dòng)生成的解決方案。系統(tǒng)的文書(shū)是電網(wǎng)停電調(diào)度應(yīng)急處置預(yù)案,最終要求實(shí)現(xiàn)地區(qū)電網(wǎng)預(yù)案的自動(dòng)生成。系統(tǒng)主要分為電網(wǎng)預(yù)案分析模塊、電網(wǎng)知識(shí)庫(kù)管理模塊和電網(wǎng)預(yù)案生成模塊。電網(wǎng)預(yù)案分析實(shí)現(xiàn)了對(duì)預(yù)案文本的分析和理解,是構(gòu)建領(lǐng)域知識(shí)庫(kù)的基礎(chǔ)。電網(wǎng)知識(shí)庫(kù)管理實(shí)現(xiàn)了對(duì)預(yù)案數(shù)據(jù)的查詢和更新,為預(yù)案文本生成提供相關(guān)數(shù)據(jù)。電網(wǎng)預(yù)案生成實(shí)現(xiàn)了預(yù)案文本的自動(dòng)生成,是系統(tǒng)的重要功能模塊。
電網(wǎng)預(yù)案系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 電網(wǎng)預(yù)案系統(tǒng)總體結(jié)構(gòu)
預(yù)案文書(shū)解析包括語(yǔ)義分析和語(yǔ)義推理兩個(gè)部分[3]。語(yǔ)義分析通過(guò)對(duì)文本進(jìn)行詞法分析和句法分析,實(shí)現(xiàn)信息的自動(dòng)抽取,生成淺層語(yǔ)義描述。語(yǔ)義推理通過(guò)規(guī)則的關(guān)聯(lián)映射,推理得到深層語(yǔ)義描述。系統(tǒng)獲取預(yù)案文本的語(yǔ)義知識(shí),建立領(lǐng)域本體知識(shí)庫(kù),支持電網(wǎng)應(yīng)急檢修預(yù)案的構(gòu)建。電網(wǎng)預(yù)案構(gòu)建總體流程如圖2所示。
圖2 電網(wǎng)預(yù)案構(gòu)建總體流程
電網(wǎng)預(yù)案分析模塊通過(guò)詞法分析、語(yǔ)法分析和語(yǔ)義分析實(shí)現(xiàn)實(shí)體關(guān)系的抽取。本體構(gòu)建通常需要經(jīng)過(guò)預(yù)處理、術(shù)語(yǔ)抽取、概念抽取、層次關(guān)系抽取、非層次關(guān)系抽取,最終形成本體。從文本中挖掘本體,進(jìn)行語(yǔ)義角色標(biāo)注,再由概念和核心動(dòng)詞形成關(guān)系三元組[4]。對(duì)抽取到的實(shí)體關(guān)系三元組,使用本體構(gòu)建工具生成本體模型,構(gòu)建電網(wǎng)領(lǐng)域知識(shí)圖譜。
該模塊提供了對(duì)電網(wǎng)預(yù)案文書(shū)進(jìn)行分析的功能,分析結(jié)果通過(guò)系統(tǒng)展現(xiàn)給用戶。電網(wǎng)預(yù)案文書(shū)具有特定的格式,每個(gè)句子中包括了一些關(guān)鍵信息,例如站點(diǎn)名稱和停電主變等。對(duì)文本進(jìn)行語(yǔ)義標(biāo)注、合并標(biāo)注,得到關(guān)于站點(diǎn)、設(shè)備、時(shí)間等信息,生成淺層語(yǔ)義分析結(jié)果。
針對(duì)預(yù)案文書(shū)格式的特點(diǎn)進(jìn)行關(guān)鍵信息的提取。對(duì)文本進(jìn)行語(yǔ)段、語(yǔ)句的劃分,去除無(wú)關(guān)的信息,將文本轉(zhuǎn)換為有意義的單句。采用正則表達(dá)式和自定義詞典進(jìn)行分詞,得到文本分詞結(jié)果。使用正則表達(dá)式匹配文本中的詞語(yǔ),匹配成功則將其添加到自定義詞典。結(jié)合自定義詞典對(duì)文本進(jìn)行分詞,達(dá)到了比較好的分詞效果。通過(guò)給詞語(yǔ)添加語(yǔ)義類別標(biāo)簽,對(duì)預(yù)案文本內(nèi)容進(jìn)行抽象,發(fā)現(xiàn)本體概念之間的層次關(guān)系和非層次關(guān)系。其中上下位關(guān)系是用上位詞標(biāo)注下位詞的語(yǔ)義類別,例如“變電站”的上位詞是“站點(diǎn)”,“主變”、“母線”的上位詞是“設(shè)備”。
通過(guò)建立結(jié)構(gòu)化的本體和非結(jié)構(gòu)化的知識(shí)之間的聯(lián)系,在領(lǐng)域本體的基礎(chǔ)上,形成完整的事件表達(dá)。根據(jù)檢修事件關(guān)鍵詞,形成關(guān)聯(lián)規(guī)則。通過(guò)關(guān)聯(lián)分析,形成實(shí)體概念關(guān)系,實(shí)現(xiàn)語(yǔ)義推理。電網(wǎng)預(yù)案語(yǔ)義推理流程如圖3所示。
圖3 電網(wǎng)預(yù)案語(yǔ)義推理流程
知識(shí)庫(kù)是人工智能和數(shù)據(jù)庫(kù)的結(jié)合,使基于知識(shí)的系統(tǒng)更加智能化。建立大量有代表性的語(yǔ)料庫(kù),對(duì)語(yǔ)料庫(kù)進(jìn)行加工,從中獲取所需的知識(shí),挖掘其中的規(guī)律和特征,建立相應(yīng)的模型。在知識(shí)庫(kù)中按照一定格式存儲(chǔ)自然語(yǔ)言理解模塊傳遞過(guò)來(lái)的知識(shí)表達(dá)[5]。知識(shí)庫(kù)管理模塊用來(lái)集中統(tǒng)一進(jìn)行電網(wǎng)領(lǐng)域知識(shí)文檔的信息管理。
通過(guò)對(duì)語(yǔ)料庫(kù)的深入理解,對(duì)分析結(jié)果進(jìn)行篩選,將數(shù)據(jù)保存到知識(shí)庫(kù)中,實(shí)現(xiàn)知識(shí)庫(kù)的查詢和更新。電網(wǎng)領(lǐng)域知識(shí)庫(kù)具有較好的層次結(jié)構(gòu)、信息組織能力和知識(shí)表達(dá)能力,可以用來(lái)表達(dá)知識(shí)之間復(fù)雜的語(yǔ)義關(guān)系。電網(wǎng)領(lǐng)域本體包括概念、關(guān)系、屬性和實(shí)例等基本元素,可以有效地表達(dá)電網(wǎng)領(lǐng)域知識(shí)。電網(wǎng)領(lǐng)域本體的層次模型如圖4所示。
圖4 電網(wǎng)領(lǐng)域本體層次模型
對(duì)電網(wǎng)領(lǐng)域概念進(jìn)行歸納總結(jié),形成結(jié)構(gòu)化的分類體系。抽取實(shí)體關(guān)系三元組,對(duì)獲取的本體概念關(guān)系進(jìn)行篩選。使用protege本體開(kāi)發(fā)工具構(gòu)建電網(wǎng)領(lǐng)域本體。通過(guò)Jena從文件中讀取本體到模型,實(shí)現(xiàn)對(duì)本體模型的操作。對(duì)文本中的本體實(shí)例進(jìn)行標(biāo)注,實(shí)現(xiàn)語(yǔ)義推理的目的。
電網(wǎng)預(yù)案領(lǐng)域本體的建立,是預(yù)案文書(shū)語(yǔ)義分析的基礎(chǔ)。通過(guò)對(duì)本體構(gòu)建技術(shù)的研究,完成電網(wǎng)領(lǐng)域知識(shí)庫(kù)的構(gòu)建。系統(tǒng)利用語(yǔ)義模型,實(shí)現(xiàn)預(yù)案文書(shū)的自動(dòng)生成,提高了預(yù)案生成的效率。
通過(guò)自然語(yǔ)言理解形成了文本的深層表達(dá),自然語(yǔ)言生成應(yīng)用文本結(jié)構(gòu)模型和文本意義模型,實(shí)現(xiàn)文本表層表達(dá)。文本結(jié)構(gòu)模型生成文本的主框架,文本意義模型主要確定文本的內(nèi)容[6]。電網(wǎng)預(yù)案生成模塊獲取知識(shí)庫(kù)和輸入信息,基于生成規(guī)則和本體模型,利用模式生成技術(shù),實(shí)現(xiàn)地區(qū)電網(wǎng)檢修預(yù)案的自動(dòng)生成。
該模塊包含了電網(wǎng)預(yù)案生成的具體實(shí)現(xiàn)過(guò)程,基于電網(wǎng)領(lǐng)域知識(shí)庫(kù)提供的信息,自動(dòng)生成電網(wǎng)預(yù)案文書(shū)。系統(tǒng)通過(guò)關(guān)聯(lián)分析實(shí)現(xiàn)語(yǔ)義推理,完成了預(yù)案文書(shū)的解析。預(yù)案文書(shū)解析完成之后,對(duì)信息進(jìn)行加工和選擇,將獲取的知識(shí)存儲(chǔ)到知識(shí)庫(kù)中。預(yù)案生成是對(duì)獲取到的系統(tǒng)數(shù)據(jù),通過(guò)關(guān)鍵詞匹配關(guān)聯(lián)規(guī)則,查找知識(shí)庫(kù)獲取語(yǔ)義知識(shí),使用模式生成技術(shù),生成相應(yīng)的電網(wǎng)檢修預(yù)案。
系統(tǒng)采用自然語(yǔ)言生成體系結(jié)構(gòu)來(lái)實(shí)現(xiàn)。自然語(yǔ)言生成體系結(jié)構(gòu)包括內(nèi)容規(guī)劃、句子規(guī)劃和表層實(shí)現(xiàn)三個(gè)部分。內(nèi)容規(guī)劃根據(jù)所要生成文本的內(nèi)容來(lái)確定文本的結(jié)構(gòu)。由于電網(wǎng)預(yù)案的內(nèi)容格式相對(duì)固定,可以采用Schema方法來(lái)進(jìn)行內(nèi)容規(guī)劃。經(jīng)過(guò)內(nèi)容規(guī)劃生成的語(yǔ)義信息還不是真正意義上的句子,必須對(duì)其進(jìn)行整理。句子規(guī)劃的主要功能是對(duì)文本結(jié)構(gòu)樹(shù)中的節(jié)點(diǎn)進(jìn)行優(yōu)化聚合操作,使得其結(jié)構(gòu)更加合理。表層實(shí)現(xiàn)就是將句子規(guī)劃輸出的文本結(jié)構(gòu)樹(shù)轉(zhuǎn)化成最終的文本。電網(wǎng)預(yù)案文本的句法變化有限,可以結(jié)合使用模板生成方法,生成符合規(guī)范的預(yù)案文書(shū)。
電網(wǎng)預(yù)案分析模塊、電網(wǎng)知識(shí)庫(kù)管理模塊和電網(wǎng)預(yù)案生成模塊共同組成了整個(gè)電網(wǎng)預(yù)案系統(tǒng)。系統(tǒng)以預(yù)案文書(shū)生成為目標(biāo),指導(dǎo)文書(shū)理解的過(guò)程,知識(shí)庫(kù)將文書(shū)理解和生成連接起來(lái)。
實(shí)現(xiàn)檢修預(yù)案的自動(dòng)生成,需要使用自然語(yǔ)言處理技術(shù),對(duì)大量的歷史預(yù)案進(jìn)行分析,抽取重要信息,從中發(fā)現(xiàn)和表示電網(wǎng)領(lǐng)域知識(shí)。系統(tǒng)將選取的部分檢修預(yù)案文書(shū)轉(zhuǎn)換成文本文件,采用HanLP自然語(yǔ)言處理包進(jìn)行數(shù)據(jù)預(yù)處理,添加自定義詞典,實(shí)現(xiàn)分詞和詞性標(biāo)注,結(jié)合句法分析和語(yǔ)義分析,添加語(yǔ)義標(biāo)注,抽取關(guān)鍵詞和關(guān)鍵短語(yǔ)。使用Dependency Viewer可視化工具查看依存句法分析效果[7]?;诰浞ǚ治龊驼Z(yǔ)義分析結(jié)果,實(shí)現(xiàn)實(shí)體關(guān)系三元組的抽取,利用protege手工構(gòu)建本體模型。
文書(shū)理解模塊將獲取到的信息轉(zhuǎn)化為語(yǔ)義知識(shí)表達(dá),存儲(chǔ)在知識(shí)庫(kù)中,知識(shí)庫(kù)為文書(shū)生成模塊提供所需信息。通過(guò)對(duì)知識(shí)庫(kù)模塊提供的信息進(jìn)行推理,人工提供必要的信息,傳遞給文書(shū)生成模塊。系統(tǒng)使用Schema模式生成技術(shù),基于規(guī)則和本體模型,從知識(shí)庫(kù)中獲取相關(guān)數(shù)據(jù),添加語(yǔ)法和語(yǔ)義信息,最終實(shí)現(xiàn)檢修預(yù)案文書(shū)的自動(dòng)生成。
電網(wǎng)預(yù)案系統(tǒng)采用分層架構(gòu)實(shí)現(xiàn),分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。對(duì)系統(tǒng)功能模塊進(jìn)行劃分,提高了模塊的內(nèi)聚性,降低了模塊之間的耦合性,能夠更好地適應(yīng)軟件需求的變化[8]。系統(tǒng)架構(gòu)如圖5所示。
電網(wǎng)預(yù)案分析模塊對(duì)預(yù)案數(shù)據(jù)進(jìn)行分析,從中獲取實(shí)體概念關(guān)系,構(gòu)建電網(wǎng)領(lǐng)域知識(shí)庫(kù)。該模塊主要包括信息提取和本體匹配。信息提取是從預(yù)案文書(shū)中提取有效信息。根據(jù)領(lǐng)域詞典進(jìn)行詞語(yǔ)切分,參考領(lǐng)域本體實(shí)現(xiàn)語(yǔ)義標(biāo)注,通過(guò)合并標(biāo)注完成短語(yǔ)識(shí)別。在信息提取的基礎(chǔ)上,通過(guò)規(guī)則實(shí)現(xiàn)本體匹配,確定本體的實(shí)例,抽取實(shí)體和實(shí)體關(guān)系。
信息提取由詞法分析、語(yǔ)義標(biāo)注、短語(yǔ)識(shí)別和關(guān)鍵詞識(shí)別部分組成。詞法分析是對(duì)文本進(jìn)行分詞和詞性標(biāo)注。語(yǔ)義標(biāo)注是利用領(lǐng)域本體,給分詞添加語(yǔ)義類別標(biāo)簽。短語(yǔ)識(shí)別是對(duì)語(yǔ)義標(biāo)簽進(jìn)行合并,形成新的短語(yǔ)。關(guān)鍵詞識(shí)別是從文本的動(dòng)詞中識(shí)別出關(guān)鍵詞。本體匹配是將信息抽取的結(jié)果,結(jié)合關(guān)聯(lián)規(guī)則,對(duì)本體進(jìn)行匹配。目的是將輸入信息和規(guī)則進(jìn)行匹配,得出所需要的本體實(shí)例,最終將輸入信息填入到本體實(shí)例中[9]。
圖5 電網(wǎng)預(yù)案系統(tǒng)架構(gòu)
系統(tǒng)利用關(guān)聯(lián)規(guī)則和語(yǔ)義模型,通過(guò)詞法分析、句法分析和語(yǔ)義分析,獲取實(shí)體和實(shí)體關(guān)系,形成電網(wǎng)領(lǐng)域知識(shí)。實(shí)現(xiàn)從非結(jié)構(gòu)化的文本中抽取結(jié)構(gòu)化的領(lǐng)域知識(shí),從而利用領(lǐng)域知識(shí)構(gòu)建領(lǐng)域本體。電網(wǎng)知識(shí)庫(kù)管理模塊實(shí)現(xiàn)了對(duì)電網(wǎng)領(lǐng)域本體的查詢和更新操作,可以從中獲取實(shí)體和實(shí)體關(guān)系,得到結(jié)構(gòu)化的領(lǐng)域知識(shí)。
該模塊包括本體構(gòu)建、本體查詢和本體更新。本體構(gòu)建是通過(guò)對(duì)電網(wǎng)預(yù)案進(jìn)行分析,抽取語(yǔ)義關(guān)系,添加到知識(shí)庫(kù)中,實(shí)現(xiàn)領(lǐng)域本體的構(gòu)建。本體查詢是從知識(shí)庫(kù)中獲取語(yǔ)義知識(shí),查詢實(shí)體和實(shí)體之間的語(yǔ)義關(guān)系,將其作為文本生成的基本信息。本體更新是從預(yù)案文本中抽取新的語(yǔ)義關(guān)系,添加到知識(shí)庫(kù)中,實(shí)現(xiàn)領(lǐng)域知識(shí)庫(kù)的更新擴(kuò)展。
電網(wǎng)預(yù)案生成模塊建立在電網(wǎng)領(lǐng)域知識(shí)庫(kù)的基礎(chǔ)之上,通過(guò)系統(tǒng)輸入的數(shù)據(jù),匹配關(guān)聯(lián)規(guī)則和語(yǔ)義模型,獲取領(lǐng)域本體知識(shí)。系統(tǒng)獲取電網(wǎng)預(yù)案相關(guān)數(shù)據(jù),根據(jù)本體實(shí)例查詢知識(shí)庫(kù)獲取語(yǔ)義知識(shí)。通過(guò)本體查詢獲取相關(guān)的實(shí)體關(guān)系,使用自然語(yǔ)言生成技術(shù),實(shí)現(xiàn)電網(wǎng)預(yù)案的自動(dòng)生成。
預(yù)案文本生成是從句子生成、段落生成到文本生成的過(guò)程。通過(guò)內(nèi)容規(guī)劃、句子規(guī)劃和表層實(shí)現(xiàn),生成符合規(guī)范的電網(wǎng)預(yù)案文書(shū)。該模塊由結(jié)構(gòu)生成、結(jié)構(gòu)優(yōu)化和文本實(shí)現(xiàn)三個(gè)部分組成。結(jié)構(gòu)生成是根據(jù)文本內(nèi)容來(lái)確定文本結(jié)構(gòu),使用Schema方法來(lái)描述文本結(jié)構(gòu),確定語(yǔ)句的結(jié)構(gòu)和順序,生成文本結(jié)構(gòu)樹(shù)。結(jié)構(gòu)優(yōu)化是根據(jù)規(guī)則對(duì)文本結(jié)構(gòu)樹(shù)中的節(jié)點(diǎn)進(jìn)行優(yōu)化聚合操作,確定語(yǔ)義成分的位置,構(gòu)造新的文本結(jié)構(gòu)樹(shù)。通過(guò)添加句子的修飾成分,產(chǎn)生更加通順的句子。文本實(shí)現(xiàn)是對(duì)文本結(jié)構(gòu)樹(shù)的內(nèi)容進(jìn)行線性輸出,將深層的語(yǔ)義信息轉(zhuǎn)化為表層的文本實(shí)現(xiàn)。
當(dāng)前自然語(yǔ)言處理技術(shù)應(yīng)用廣泛,在電網(wǎng)領(lǐng)域利用現(xiàn)有的語(yǔ)料庫(kù),進(jìn)行檢修預(yù)案文本的知識(shí)獲取,構(gòu)建電網(wǎng)領(lǐng)域本體,形成領(lǐng)域知識(shí)圖譜,為電網(wǎng)系統(tǒng)的應(yīng)用提供支持[10]。目前人工智能還處于初期發(fā)展水平,利用自然語(yǔ)言處理技術(shù)分析文本數(shù)據(jù),提供解決方案和決策支持,再根據(jù)實(shí)際情況進(jìn)行人工檢查修改,是一種有效可行的方法。