許士錦,范展滔,邱生敏,張 坤
(中國南方電網有限責任公司電力調度控制中心,廣東 廣州 510600)
人工智能技術在電力系統中的應用逐漸擴大,通過傳統方法的智能化,提供關鍵技術的延伸和創新,融合多種智能方案,可以實現電力系統乃至整個能源行業的商業模式的變革。人機語音交互是電力系統中推動數字化和網絡化運行的重要手段之一,因此人機語音交互是人工智能技術中的重要應用。利用人機語音交互技術,能夠實施計劃檢修申請單批復、網絡化下發指令、電子公告牌、故障匯報和生產信息匯報等關于調度指揮內容的具體工作。
目前,針對語音識別在電力系統人機交互中的應用研究較少。文獻[1]提出了變電站二次測試中智能語音控制關鍵技術;文獻[2]提出了基于人工智能深度學習的語音識別方法;文獻[3]針對基于卷積神經網絡的語音識別研究進行了研究;文獻[4]提出了智能語音識別方法在電力移動作業平臺中的應用;文獻[5]針對深度學習在語音識別中的研究進展進行了分析;文獻[6]分析了關鍵詞識別中語音確認技術。
為此,本文提出了基于語音識別及自然語言處理的人機對話智能交互方法。
人工智能技術是用于模擬、延伸和擴展人類智能思維和解決方式的一種新興科學技術,主要包括機器人、自然語言處理、圖像識別、語音識別和專家系統等。人工智能技術的實現主要是通過基于現有邏輯方法和統計運算等技術的仿生模擬。
目前,人類進行的交流是基于事實、真實感受到的事物進行的,因此,利用人機交互實現人類和機器之間的通信也需要將自然語言進行解析,從而將人類語言轉換成機器能夠真實感受到的語言。因此,語境解析是人機交互中的重要手段,利用相關的知識圖譜、事物組合圖譜可以實現在語境解析的基礎上進行人類語言的深度剖析,從而為計算機提供強有力的解析數據。
自然語言處理是計算機科學中的主要內容之一,其研究方向在于機器和人類語言之間的相互作用。因此,自然語言處理與人際交互具有密切相關性。在自然語言處理中,主要體現為自然語言理解和執行。因此,自然語言處理是實現人機交互的基本過程。在自然語言處理中,需要對自然語言進行深度學習和語意剖析,讓計算機讀懂人類語言以及人類行為的意思,并且與其他涉及的語言進行比對。
人機語音交互技術在電力系統調度中的應用,主要體現在將調度運行人員的專業調度數據轉化為計算機能夠理解識別的機器語言,從而實現人類指令下發至計算機得到有效執行。電力系統調度信息包括結構化數據和非結構化數據。對于非結構化數據的語義分析,需要建立結構化數據和非結構化數據統一的數據索引方式,這也是機器識別人類語言進行進一步分析的關鍵難點。
由于電網設備信息較多,又涉及到檢修信息、設備故障信息、調度日志信息、設備缺陷信息、組織機構信息、調度規程信息、運行細則信息和投入審批信息等電網調控信息,因此,首先需要利用自然語言處理技術,結合電力調控的關鍵性業務,將自然語言處理的結果映射到電網調度操作的流程中,對電力相關業務的文檔和信息進行歸納,實現分詞的數據庫建立。結合現有電力業務知識庫模型,對分詞的拆分結果進行語義分析,將自然語言解析分解,并針對電網業務的語義重構,實現人機交互的語音識別和語義分析。
自然語言處理技術是實現人機語音交互的重要手段,其主要技術包括分詞、詞性標注、命名實體識別、依存句法分析、語義角色標注和特定語境語義解析。處理技術如圖1所示。

圖1 自然語言處理技術
分詞是將人類的語音輸出序列劃分成計算機能夠批量處理的詞語序列的過程。在多種語言中,詞語是承載話語含義的基本單元。因此,將重要的詞語進行信息檢索、信息分類和語義分析,有助于實現機器理解人類語言的功能和任務。由于某些單詞在不同的語境中具有一定歧義,因此,切分歧義是分詞任務中的主要難題,需要將分詞模塊置于機器學習框架中,通過廣泛讀取歷史數據,形成分詞數據庫,形成詞典策略來解決同一詞語在不同語境中的含義分析。
詞性標注是賦予語句中單詞詞性的過程。詞性是語義分析中的基本內容,通過辨別詞性能夠快速、有效地分解語句中的詞語,理解語句中的語言形式和詞語構成,從而更準確地理解句子含義。
命名實體識別是指從語言文本中提取具有特定類別的實體名詞。實體命名識別是機器語言信息檢索、語義查詢、語義分析等基本過程,其處理效果直接影響到整體的語義理解和分析。針對電力系統調度,命名實體識別主要的對象是電網設備名稱、操作票主要內容、網絡和設備運行狀態變化等名詞,方便人機語音溝通及交互后的指令下發和對象處理等。
依存語法是通過對單詞成分理解基礎上的更高層次的語言成分關系分析,可以直接揭示不同語句之間句法結構的關系。通過研究復雜語句可以實現依存語法的良好感知和識別,從而更加準確地識別較長、較復雜的人類語言。
語義角色標注是一種淺層的語義分析技術,根據給定句子中的某些短語為分析內容,判斷句子成分的語義角色,包括主語、謂語、賓語、時間和地點等。語義角色標注是實現語言靈活化和豐富化處理的重要技術,能夠對問答系統、信息抽取和機器翻譯等應用提供相關的決策性支撐。
語義依存分析能夠實現不同句子之間的語言單位間的語義關聯,并且清晰地呈現關聯的依存結構。利用語義依存分析能夠省去對抽象詞匯的分析和理解,利用語言所承載的語義框架來描繪抽象詞語與其他詞語之間的聯系,減少語義依存分析的時間,提高跨越句子表層句法結構的分析效率,從而直接獲取句子的深層語義信息。
基于具體應用語境的自然語言處理,主要包括基于事物組合圖譜尋找語言語境中的類似事物組合場景、用類似事物場景的屬性理解相應話語場景、調取知識圖譜或事物組合圖譜進行深入數據分析。處理流程如圖2所示。

圖2 基于具體語境的自然語言處理
通過應用語境的分析,可以對語義圖畫所展現的內容進行聯想,這類聯想會擴展語義的數量,如果將語境所有事物按照可能性組合進行分類,可以提取相關類似場景,進行歸納分析后,得到最有可能表達的含義,從而實現人類語言到機器語言的篩選和識別過程。在語境中的事物出現多種組合時,應當具體分析每一種語義的組合形式,通過糾錯機制,對具有理解失誤的語言進行糾正,替換成正確的語義,可以實現語境分析引擎的快速搜索和智能識別。
人機語音交互的過程是復雜的,需要多項技術融合完成。歸一化是其中的關鍵技術之一,通過對多種特性進行平均值抽取,并且分離得到標準偏差,用于進一步分析和計算。將收集到的人類自然語言進行特征提取和分析,通過歸一化就可以應用于人機交互的具體分析流程。
3.1.1 梯度提升
梯度提升能夠生成弱預測模型,包括損失函數、弱學習器和附加模型[7]。梯度提升的框架是利用差分化的損失函數。弱學習器能夠生成決策樹。為了減少損失,通過貪婪法則將得分最佳的數進行分類組合,實現過擬合算法。弱學習器還可以為節點、樹枝和樹葉節點等提供約束條件。
附加模型需要每次加載至生成樹。梯度提升的過程是在擴大數的同時減少損失。因此,在每一步驟中需要計算損失,計算完成后,對損失削減貢獻最大的數被選中,并且更新權重。對于梯度提升分類器,應用scikit-learn模型實現語音識別。通過過擬合算法實現對樣本的數據訓練,數據樣本越大,訓練效果越好。未找到最佳估計器時,需要對訓練數據進行測試。找到最佳值之后,將分類器與訓練數據匹配。
3.1.2 支持向量機
支持向量機是一種機器學習算法,能夠解決回歸和分類問題。支持向量機是一種由分隔超平面定義的分類器,其本質是選擇合適的分割超平面來對數據進行分類,分類的結果是二值決策結果。由于大部分分類任務都較為復雜,因此很難找到完美的超平面。支持向量機則利用核函數將數據映射到另一維度,更好地求取數據的邊距。放射核可以生成復雜的空間區域來更好地對數據進行分類。另外,還有規則化等其他方法來代替核函數法。
3.1.3k最近鄰
k最近鄰是另一種機器學習方法,也可以求解回歸預測問題。k最近鄰能夠存儲整個數據集,不需要對數據進行訓練。對于新的樣本,在部分樣本數據的情況下便可對k最近鄰值進行預測,并求出結果。為了實現歷史數據的k值能夠應用于新的樣本,需要計算距離量測值。一般使用歐幾里得距離,并且還需要對訓練數據進行部分測試來進行評估。找到最佳值后,將測試數據的需要信息整理成相關文件。
利用上述算法的語音識別流程如圖3所示。

圖3 語音識別流程
語音訓練過程如圖4所示。

圖4 語音訓練過程
本文構建的基于語音識別的人機交互架構如圖5所示。

圖5 系統架構
本文所提系統構架包括數據融合層、數據分析層、應用管理層和移動終端。數據融合層是將電力系統基礎數據和調度人員、運維人員聲音庫、歷史數據和外部數據進行融合的層級。其中,電力系統數據主要包括設備參數和拓撲結構。
數據分析層是針對融合后的數據進行分析,包括公共模型和電力系統模型,對應的算法是通用算法和特殊算法,其中由于電力系統模型的特殊性需要,采用具有針對性的算法,對電力系統人機智能交互進行處理。
管理應用層是針對數據分析結果的應用,包括語音應用管理、數據分析共享、電網態勢維護和運維信息交互等應用管理,能夠充分利用智能人機交互的方式,體現大數據和語音識別背景下的人機交互動態過程,對電網信息進行展示和維護。
移動端是針對調度人員和運維人員特殊制定的語音識別和信息展示的移動終端,能夠直接識別運行人員的語音,并將其轉化為可直接下發的指令。
人機語音交互中的語義理解是問題的關鍵,一般利用自動語音識別和語言理解技術,即將語音信號轉化為可執行指令的過程。如果語義理解出現問題,則系統執行出現問題。
首先,自動語音識別識別得到用戶語音信號序列。通過提取語音信號中的關鍵信息,得到t=1至t=T時段的語音序列x。接著,解碼器對語音序列進行解碼,可以利用貝葉斯決策規則,公式為
(1)

自動語音識別能夠對語句中的關鍵詞語進行組合,能夠最小化誤字率。但是對于訓練樣本不足的情況,需要應用詞語模型,而非單字模型,這樣可以提高語音識別正確率。自動語音識別過程如圖6所示。

圖6 自動語音識別過程
交互過程中應用的模型包括層次語言模型和聲學模型。
a.層次語言模型。n-gram是一種基于統計語言模型的算法。它的基本思想是將文本里面的內容按照字節進行大小為n的滑動窗口操作,形成長度是n的字節片段序列。n-gram預測僅僅捕捉詞類之間的關系,并且默認詞語間的轉換概率僅取決于詞類。該特點降低了自動語音識別的性能。目前有較多技術可以避免這一問題。可以將詞組和詞序嵌入n-gram詞類,而不是嵌入孤立的字詞。這樣,可以利用層次語言模型對語義進行預測。在最高層,n-gram語言模型可以用于學習句子結構,并對未來語句進行預測。第2層中,在每一類中生成單字n-gram語言模型,抓取字與字之間的關系。
b.聲學模型。目前聲學模型一般基于隱馬爾可夫鏈。隱馬爾可夫模型是利用馬爾科夫模型的一種統計預測方法[8]。被觀測事件序列的參數由聲學信號進行提取,并假設一系列隱藏狀態可以生成這類信號。單詞的隱馬爾可夫模型如圖7所示。

圖7 隱馬爾科夫模型
以某地區調度人機交互指令下發為背景,對傳統電話調度和人機交互調度結果進行對比,實驗數據如表1所示。

表1 人機交互下令與傳統下令數據對比
由表1可以看出,本文所提的人機語音交互方法,在很大程度上提高調度指令下發各環節的準確率,有效提高了工作效率。
本文重點分析了人機語音交互技術,建立了人機語音交互的模型和算法。針對梯度提升、支持向量機和k最近鄰等算法進行了詳細說明,并分析了語音識別流程和語音訓練過程。針對人際語音交互方法,提出了自動語音識別技術,利用語言模型和聲學模型實現交互的過程。