李澤宇,李 磊,李煜祺,魯興河,王淑平,潘玉林
(1.中國電子科技集團公司第二十八研究所,江蘇 南京 210007;2.解放軍 32180 部隊,北京 100072)
指揮信息系統是軍隊指揮的重要核心系統,在數據中心存儲著大量的數據信息。但是現有的數據匯聚手段以及數據檢索能力仍然存在嚴重的不足,各個信息之間的關聯并不完整、手動輸入檢索的效率并不可觀、操作模式單一且復雜[1]。故急需引入智能語音檢索的方式并輔以知識圖譜的構建研究工作[2],其中智能語音的檢索主要包括語音識別和語義理解,前者主要是收集用戶的語音信息并轉換成文字信息,后者主要將文字信息中的有效信息提取出來用于后續檢索。
知識圖譜是一種知識表示技術,可以描述客觀世界的概念、實體、事件及其之間的關系。實質上,知識圖譜是一種可對任何事物以及他們之間關系進行細化描述的語義關系網絡[3]。知識圖譜又可以看作是一張龐大的圖,圖中的節點表示實體或概念,而圖中的邊則由屬性或關系構成。目前,知識圖譜在各領域中也得到了廣泛的應用。
語音識別技術是一種實現人機交互中的技術,它的功能就是讓計算機完成將信息從“聲音”到“文字”的轉換,通過將人的語音直接轉換為相應的文本或命令[4]。從系統構成上來說,語音識別系統是建立在一定硬件平臺和操作系統基礎上的應用軟件系統。從系統結構上來說,語音識別系統一般主要由預處理、特征提取、聲學模型、識別解碼、語言模型、識別結果處理等模塊構成。對比傳統的手動文本輸入和手動命令點擊,語音識別可更加有效、快速的完成文本輸入和指令操作。
語義可以看作是數據所對應的現實世界中的事物所代表的概念的含義,以及這些含義之間的關系,是數據在某個領域上的解釋和邏輯表示[5-6]。語義理解,也就是所謂的知道了一個詞或一個句子的意思。它包含了兩層含義:一層是能夠實現不同符號之間的變換;另一層是能夠進行推理。語義理解實際涉及的范圍很廣,內容很多,大致包括文本分類、要素抽取、語義理解、智能客服和機器翻譯等領域。對比傳統的檢索方式,用戶需自行分析總結關鍵詞,而語義理解用戶只需給出口語化的問答句式,大大簡化了用戶的思考,節省了時間,而且通過語音識別輸入更加自然,達到人與計算機“交流”的目的。
總體架構如圖1 所示,主要包括終端應用模塊、語音識別模塊、語義理解模塊和數據檢索模塊。終端應用模塊是語音問答系統在指揮信息系統中的具體使用場景,提供聲音錄制的入口以及獲取數據的展示界面;語音識別模塊負責實時監測并接收終端應用發送的音頻信息,利用語音識別引擎進行模數轉換,生成文本信息;語義理解模塊提供http 服務接口,實時接收來自語音識別模塊生成的文本句式信息,利用語義理解引擎將關鍵詞信息提取出來;數據檢索模塊負責接收語義理解模塊生成的關鍵詞信息,通過對知識圖譜數據庫的訪問獲取用戶實際期望得到的信息,最后返回終端應用顯示在界面上。

圖1 語音問答系統的整體架構圖
語音識別主要提供一種語音操作代替手動輸入的功能[7-8],更能適應實戰中經常出現的顛簸的周遭環境[9],如圖2 所示,通過聲音的錄入將聲音信息轉化成文本信息,具體實現方法如下。
步驟1:系統終端接收到操作者錄制的音頻后生成音頻文件發送至語音識別服務端。
步驟2:服務端接收到音頻文件后,對語音信號進行預處理(包括抗混疊濾波、預加重及端點檢測等操作),以改善語音效果、提高語音質量。
步驟3:對預處理后的語音信號進行特征提取,將模擬信號轉化為數字信號,便于計算機處理。
步驟4:特征提取后進行解碼,根據訓練好的聲學模型和語言模型進行匹配,輸出似然度最高的詞序作為識別結果。
步驟5:服務端將識別結果生成文本信息返回給系統終端。

圖2 語音識別模塊
語義理解主要提供一種問答句式解析功能[10-11],能夠將語音識別模塊生成的文本信息與語義模板進行匹配,得到使用者關心的重要信息[12],如圖3 所示,通過解析問答句式得出其中的關鍵信息以及信息類型,具體實現方法如下。
步驟1:系統終端接收到上述返回的文本信息后,將文本數據發送至語義理解服務端。
步驟2:服務端接收到文本數據后,對其中特定類型詞語進行語義標注,利用模型進行語義預測,以得到正確的語義。
步驟3:預測后通過語義pk 將不同的語義路徑進行匹配打分,選出最優語義路徑。
步驟4:根據場景狀態語義和搜索數據給出對應的語義信息。
步驟5:將語義信息轉換為最終的關鍵詞及其類型返回給系統終端。

圖3 語義理解模塊
關鍵詞檢索分析功能主要是將從語義理解模塊獲得的關鍵詞信息進行分類,如圖4 所示,通過關鍵詞類型對應到具體的實體及其屬性或關系的名稱,并與對應的實體模型相匹配,最后到數據庫中查詢并展示相應的信息,具體分析方法如下。
步驟1:系統終端接收到語義理解服務端返回的關鍵詞及其類型信息后,首先區分實體關鍵詞和關聯關鍵詞(如:人物:許培山;屬性:任職單位。其中許培山為實體關鍵詞,任職單位為關聯關鍵詞)。
步驟2:根據實體關鍵詞的類型,找到對應的數據表并查出該實體對應的信息。
步驟3:根據關聯關鍵詞的類型,找到該實體對應的屬性或關系并查出該屬性或關系對應的完整內容。
步驟4:將步驟3 得到的內容作為檢索結果在系統終端界面展示。

圖4 關鍵詞檢索模塊
除主要功能模塊外,還有包括知識圖譜中關系模型的構建以及語義理解模塊中用到的問答句式模板的構建等。這些模塊為主模塊提供了重要幫助,數據關系模型構建模塊有效的利用知識圖譜的結構特性[13],將復雜的分析語句轉化成更為簡單的圖查詢語言,提高了執行效率;問答句式模塊將主體和關系數據以特定的形式與問答句式模板相結合[14],提高了問答的多樣性與準確性,給用戶以更好的操作體驗。
數據關系模型主要是將大量的數據成體系的建立聯系,這些數據之間有大量“隱形”的關聯,但是僅僅存儲在數據庫中很難將這些關聯明顯的呈現出來,如圖5所示,提供一種基于知識圖譜的數據關系模型構建方法,將數據按層級劃分逐步分類、細化并關聯,更直觀的將數據之間的聯系呈現出來,具體構建方法如下。
步驟1:根據數據源進行本體模型構建(本體模型包括:人員、部隊、地區等等)。
步驟2:進行本體模型關系構建(如:人員與部隊之間的關系,部隊與地區之間的關系)。
步驟3:進行實體關系構建(如:人員張三所屬部隊為2 連)。
步驟4:形成圖數據庫,完成數據關系模型構建。

圖5 數據關系模型構建
問答句式構建主要提供一種文法設計的功能,該功能可將各種常用句式進行拆解,分成包括關鍵信息在內的若干詞匯,如圖6 所示,通過對信息的分類并結合組成問答句式的文法邏輯,一旦問答句式與設計模板相匹配便可迅速獲得其中的關鍵信息,具體實現方法如下。
步驟1:將不同類型的數據分別寫入以該類型命名的文檔中(如人員文檔中包含張三、李四等,部隊文檔中包含1 連、2 營等)。
步驟2:根據文法設計的格式將問答句式的結構按要求填寫完整(如$人員 [屬于] $部隊,可匹配“張三屬于1 連”等)。
步驟3:使用文法編譯工具將上述文檔編譯成文法資源文件,作為語義分析的重要依據。
步驟4:如果對問答句式有增加、刪除或修改等操作,可直接對上述文件進行修改,生成并替換文法資源文件即可。
本文所述方法將智能語音技術與指揮信息系統中的數據檢索功能相結合,利用語音識別功能將用戶的語音信息轉換成文本信息,再利用語義理解功能匹配對應的問答句式,從而分析得到用戶想要查詢的關鍵主體與對應關系,最后利用關鍵詞檢索功能到數據庫中查詢得到最終的結果。該方法提供了一種高效的數據檢索交互方式,可實現不同場景下數據檢索的可視化和智能化。

圖6 問答句式功能構建