國網(wǎng)河南信通公司 張向聰 王 浩 王 磊 王冰潔 何軍霞
隨著智能電網(wǎng)的快速發(fā)展,在電力行業(yè),人工智能正快速地與電網(wǎng)領(lǐng)域相結(jié)合,信息通信技術(shù)迅速集成到電網(wǎng)的生產(chǎn)和企業(yè)管理中。信息通信系統(tǒng)是支持生產(chǎn)和管理開發(fā)的智能網(wǎng)格的“中心神經(jīng)”。在信息通信方面,電力管理客服中存在著很多系統(tǒng),對每個系統(tǒng)問答知識匹配時,需要收集足夠多的問題以及對知識內(nèi)容的存儲,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫可以支撐問答系統(tǒng),但是在存儲復(fù)雜的關(guān)系網(wǎng)絡(luò)時,關(guān)系型數(shù)據(jù)庫就表現(xiàn)得不如知識圖譜有效。之所以選擇知識圖譜,是因為人們在邏輯上通常很自然使用類似圖的結(jié)構(gòu)來模擬或描述它們的特定問題域。知識圖譜最有效、最直觀地表達出實體間、問答間的關(guān)系。本次研究將提供一種基于BERT+BiLSTM+CRF[1]模型,從原始的操作手冊中抽取實體、實體關(guān)系以及問答對,構(gòu)建電力客服知識圖譜[2]。
Bert(Bidirectional Encoder Representation from Transformers)[3]是一個預(yù)訓(xùn)練模型。傳統(tǒng)的語言模型是把單向語言模型或者是把兩個獨立的語言模型在淺層進行一個拼接的方法進行預(yù)訓(xùn)練,他強調(diào)的并不是這種傳統(tǒng)的語言,而是采用新的masked language model(MLM),以致能生成深度的雙向語言表征。Bert 論文發(fā)表時提及在11個自然語言處理任務(wù)中獲得到的新結(jié)果,比以往的模型表現(xiàn)的都要好,令人驚訝。
模型的介紹以及優(yōu)點如下:采用MLM 對雙向的Transformers 進行預(yù)訓(xùn)練,以生成深層的雙向語言表征;進行完預(yù)訓(xùn)練之后,再疊加一個輸出層,進行fine-tune 操作,這樣就可以在不同的下游任務(wù)當中提取到它的state-of-the-art 表現(xiàn)。有一個好處就是在這整個的一個過程當中,不需要對模型的特定結(jié)構(gòu)進行修改。
條件隨機場(Conditional Random Fields)[4]是一個判別式模型。在條件隨機場當中,有很多的特征函數(shù),正是因為這些特征函數(shù)才使得序列進行了約束,得到一個條件概率,最后進行標注。比如在詞性標注任務(wù)當中,如果名詞后面還是名詞的話就是負分,在副詞后面是動詞的話就是正分等。
影視領(lǐng)域問答系統(tǒng):利用知識圖譜的關(guān)系表達屬性,將收集的數(shù)據(jù)可以更加“擬人化”的存儲起來,再利用NLP 意圖識別的技術(shù),可以很好地對電影、演員進行相關(guān)問答;知識圖譜推薦系統(tǒng):通過知識圖譜的以擴展性以及本體連接性,將人物信息以本體形式存儲,將人與人之間、人與事物之間緊密聯(lián)系,可以實現(xiàn)相互信息的推薦與推理。
隨著計算機和互聯(lián)網(wǎng)的發(fā)展,我們已經(jīng)從工業(yè)時代進入信息時代。人工智能的時代已經(jīng)到來,知識圖譜是信息時代通用的深化應(yīng)用和擴展。本次針對的是一體化線損管理系統(tǒng),主要處理的數(shù)據(jù)是業(yè)務(wù)系統(tǒng)的操作手冊說明書,對于一般用戶問的問題基本上能查找到,但是如果本身不是業(yè)務(wù)人員,面對一系列的操作手冊,也會無從下手,不知如何精確找到相關(guān)答案。針對這類問題,是將操作手冊數(shù)據(jù)梳理成知識圖譜數(shù)據(jù),配合意圖識別[5],就可以實現(xiàn)問答系統(tǒng),實現(xiàn)用戶即使不是業(yè)務(wù)人員,也可以自己解決80%甚至更多的問題。
從電力知識獲取到圖譜構(gòu)建整體流程如下:獲取電力系統(tǒng)中的一體化線損管理系統(tǒng)所有操作手冊,構(gòu)建原始文檔庫;抽取操作手冊word 文檔數(shù)據(jù),梳理成初步結(jié)構(gòu)化數(shù)據(jù),存儲至Excel 中;對一體化線損管理系統(tǒng)初步知識數(shù)據(jù)進行標注;基于BERT 模型,微調(diào)進行訓(xùn)練,實現(xiàn)一體化線損管理系統(tǒng)結(jié)構(gòu)化文檔數(shù)據(jù)的語義特征提?。换贐iLSTM+CRF 模型對語義特征進行實體識別,提取知識概念以及相互聯(lián)系,構(gòu)建知識圖譜。
對Bert 進行fine-tune,在輸出層后疊加CRF層,這樣做的好處就是在這整個的過程當中,不需要對模型的特定結(jié)構(gòu)進行修改。
輸入層:將句子輸入到模型中;數(shù)據(jù)預(yù)處理:將每個單詞映射到一個更高維度的空間,即字詞向量表征;Bert 層:bert 的主要框架是Transformer,使用的是一個雙向模型,所以可以更好地獲取到文本中的上下文關(guān)系,使用此模型來替代嵌入層;BiLSTM層:使用雙向LSTM 計算嵌入向量實際上是雙向LSTM 計算單詞向量,從而獲得更高級句子的向量。
CRF 層:CRF 通俗來說就是對結(jié)果的合理性進行過濾,因為標簽本身是存在一些約束的,比如在詞性標注時,名詞后面不能接名詞,CRF 就是用來添加類似這樣的約束,并且在訓(xùn)練CEF 時可以自動學(xué)習(xí)這樣的約束。通過這一層,可以過濾掉一些不合理的結(jié)果,從而增加整體模型的準確率;輸出層:將上一層輸出的特征輸入到Softmax 層,就是對所有的預(yù)測類別進行打分,挑選其中最大的一個作為預(yù)測結(jié)果。
構(gòu)建知識圖譜的第一步,就是選擇知識圖譜的schema[6],不同schema 的知識圖譜對應(yīng)解決不同的問題,由于是電力服務(wù)問答方面的數(shù)據(jù),本身沒有很大的復(fù)雜性,所以我們采用三元組的形式將數(shù)據(jù)領(lǐng)域、關(guān)鍵字、問題、答案串聯(lián)起來。針對數(shù)據(jù),主要的還是從中挑選哪些作為本體存儲,哪些作為屬性存儲。本體指的是某個領(lǐng)域內(nèi)抽象概念的集合,它可以描述某個范圍內(nèi)一切事物的共有特征以及事物間的關(guān)系。將數(shù)據(jù)按上所說形式生成CSV 文件,這樣可以更快地導(dǎo)入neo4j 圖數(shù)據(jù)庫中。對領(lǐng)域、關(guān)鍵字、問題、答案使用CSV 導(dǎo)入語句,將數(shù)據(jù)按照不同聯(lián)系統(tǒng)一導(dǎo)入neo4j 圖數(shù)據(jù)庫中。
知識圖譜構(gòu)建成功后就可設(shè)計應(yīng)用層面,本次構(gòu)建的是關(guān)于一體化線損管理系統(tǒng)中的客服數(shù)據(jù),所以此次圖譜設(shè)計的schema 主要是針對知識問答。知識問答又涉及到另一個模型了,就是意圖識別模型,在這里不做延伸,提供一個知識問答的構(gòu)建思路。先要介紹一下Flask,因為在知識問答系統(tǒng)中,用它來和前后端傳輸數(shù)據(jù),F(xiàn)lask 是由python 開發(fā)的輕量的web 框架,小巧,靈活,一個腳本就可以啟動一個web 項目,開發(fā)的難度比較大,flask 好多的模塊是按照django 的思路開發(fā)的。
知識問答的構(gòu)建,首先是對實體識別、意圖識別兩個模型進行封裝,在調(diào)用模型時就更加方便,并且可以加快模型運算速速(模型只加載一次);然后是要對不同的意圖編寫不同的neo4j 查詢語句,這樣就可以對模型輸出的數(shù)據(jù)進行實時的查詢返回真實的數(shù)據(jù);最后使用flask 將以上兩者整合,實現(xiàn)API 接口對傳進來的數(shù)據(jù)返回對應(yīng)的查詢值。
隨著信息化的進展,電力服務(wù)數(shù)據(jù)慢慢地積累了下來。通過構(gòu)建電力服務(wù)[7]領(lǐng)域的知識圖譜,可以從龐大的數(shù)據(jù)中提取客服知識,并合理有效地管理、共享和應(yīng)用,這對于今天以及未來的電力服務(wù)行業(yè)非常重要,對很多企業(yè)和研究機構(gòu)來說也是研究的熱點。從知識圖譜的構(gòu)建和應(yīng)用的角度來看,本文實現(xiàn)了一體化線損管理系統(tǒng)知識圖譜的創(chuàng)建和應(yīng)用。電力服務(wù)知識圖譜通過結(jié)合圖譜和客服知識,切實促進電力數(shù)據(jù)的自動化和智能處理,為電力行業(yè)帶來新的發(fā)展機會。知識圖譜很有發(fā)展前景,現(xiàn)在在社會中的很多領(lǐng)域都慢慢和人工智能聯(lián)系起來。在如今這個計算機、網(wǎng)絡(luò)、大數(shù)據(jù)、人工智能、機器學(xué)習(xí)等前沿科技迅速發(fā)展的大潮流下,相信知識圖譜的研究可以有更多的創(chuàng)新和突破!