傅 靖,季錚錚,周紅杰,談葉月
(1.國網南通供電公司,南通226006;2.江蘇電力信息技術有限公司,南京210000)
近年來大數據技術的出現,更多的公司企業適應企業資源計劃系統,實現了企業信息的整合,產生了數據共享服務,通過匯總的信息進行業務流程的分類[1]。同時語音識別技術在企業中的應用場景更加廣泛,能夠將聲音轉換為其它形式,為數字化辦公提供了便利。然而當前企業工作中仍需要個人的主觀判斷和多種軟件的交互,工作環境存在的大量噪聲聲音嘈雜,單一模式下的語音識別不能滿足辦公需求[2]。
針對上述存在的問題,文獻[3]系統提出應用DNN 和HMM 結合的方法,在大詞匯量連續語音識別的性能得到了進步,能夠獲取更長的音頻時序信息,且降低了計算量;文獻[4]系統使用雙向LSTM 建模,考慮到前向與反向時序信息的影響,使系統具有更好的魯棒性。但網絡結構更加復雜,對具有長依賴關系的語音信號識別效果不好;文獻[5]系統中采用長短時記憶網絡建立語音模型,能夠對有上下文聯系的音頻信息更好地建模,提高了語音識別能力。
本研究系統應用機器人流程自動化技術(robotic process automation,RPA),利用和融合現有各種技術,實現企業業務流程自動化,并且可以與多個系統進行交互,執行非常規任務[6]。系統使用的主流的RPA開發工具(poupular RPA development tools,PRDT)為UiPath,其中UiPath 是一種基于流程圖的可視化流程工具,提供標準或自定義的工作組件。UiPath可以操作VMware 等虛擬機,也可以操作本地計算機。系統架構如圖1所示。

圖1 基于RPA 接口的錄音自動識別調度下令系統架構Fig.1 System architecture of recording automatic identification and dispatch ordering based on RPA interface
本研究系統分為開發層、RPA 服務層和應用層。開發層主要負責程序的設計;RPA 服務層主要負責license 代理、日志收集和程序執行等任務;應用層主要完成調度下令、用戶授權管理、工作流授權管理、語音識別等功能[7]。UiPath 開發平臺提供了便捷的調度模塊,執行任務前使用調試工具設置斷點,逐步監視項目的執行步驟、數據參數和運行狀態,并且能夠調整調試速度,通過日志查看相關的項目執行情況。應用層使用Orchestator 服務器,具有特定的管理界面,能夠對RPA 服務層進行機器人的添加、刪除和監控,并且管理用戶、進程和令牌,有效進行監控和讀寫log日志文件等操作,在schedule 計劃任務中設定時間和執行次數控制機器人執行自動化過程。RPA 服務層具有ServiceHost,Executor 和Agent三個組件[8-9],設置每個監視器的DPI,Agent 能夠在系統窗口顯示機器人所在環境中的執行工程包。
傳統的語音識別模型不能記錄時間周期較長的相關信息,處理音頻的長度有限,目標詞只與前面N個詞相關,目標詞的增加將帶來數據量的急速增長。本研究提出一種基于注意力AVSR 機制的模型,使用注意力機制對特征進行前期和后期融合,解決了音頻速率不匹配和信息長度不相同帶來的融合問題。對原始的音頻信號先要進行預處理再輸入到AVSR 雙模態語音識別模型中[10],語音信號預處理流程如圖2所示。

圖2 語音信號預處理流程Fig.2 Voice signal preprocessing flow chart
原始音頻信號首先進行采樣,得到符合需求的數據,然后進行譜減法去噪。原始語音譜減去噪聲譜,再變換到時域,就得到了去噪后的語音,可表示為

式中:Ps(w)表示原語音頻譜;Pn(w)表示噪聲頻譜;D(w)表示差值頻譜[11]。當實際噪聲大于估計噪聲時進行減法操作,會出現殘余噪聲。本研究對譜減法進行了改進,可表示為

式中:α 表示減法因子;β 表示閾值參數。改進后的譜減法能夠去除原始音頻信號中的更多噪聲,殘留噪聲減少[12]。引入閾值參數,將小于βPn(w)的數都統一設置為這個閾值,減小了殘余噪聲峰值差距。然后進行音頻信號的編解碼操作,音頻編解碼模型結構如圖3所示。

圖3 音頻編解碼模型結構Fig.3 Audio codec model structure
模型輸入的是音頻特征序列{a1,a2,a3,…,an},經過多次激活函數的操作后,數據分布可能更加分散,并且發布范圍越來越大,導致收斂緩慢。在激活函數之前減少分散性,可表示為

式中:xi表示輸入的一批數據;φ,β 表示網絡學習參數,用來進行尺度變換和平移,保持網絡的非線性能力。對音頻編碼中輸入序列經過兩層GRU 的非線性變換,得到每個時刻維數相同的狀態向量組成一個集合,可表示為

式中:ai表示輸入特征序列;表示狀態向量。得到集合后,每一時刻的音頻狀態向量進行一個注意機制計算來更新狀態向量,更新過程可表示為

式中:T 表示向量的轉置;u表示歸一化參數。通過注意機制,實現了音頻信號特征的前期融合,在音頻缺失和噪聲污染嚴重的情況下輔助修正音頻特征。音頻雙模態語音識別框架如圖4所示。
在模型的解碼階段使用兩個獨立的注意力機制,用于視修正后的音頻特征,經過注意力機制后再進行特征向量的拼接融合,實現后期融合共同決定最終的結果。對語音識別模型進行優化,可表示為

式中:θ 表示模型的權重和偏差;η 表示學習率;y表示實際值;yˉ表示模型的預測值;J表示目標函數。將AVSR 雙模態語音識別模型的網絡結構設定為2 層大小為128 的GRU 編碼和單層128 單元的GRU解碼,在測試解碼時使用集束搜索。首先對音頻質量評估音頻信號的信噪比SNR,可表示為

式中:Psignal表示信號功率;Pnoise表示噪聲功率。SNR越大說明音頻信號中的噪聲越少,音頻信號的質量越高,選擇SNR<10 dB 的音頻信號進行信號特征的前期融合。
本研究系統使用霧計算在網絡邊緣提供分布式基礎架構,實現低延遲訪問和應用程序的請求快速響應。基于動態優先級的任務調度下令時序圖如圖5所示。

圖5 基于動態優先級的任務調度下令時序圖Fig.5 Sequence diagram of task scheduling order based on dynamic priority
任務調度下令模型中任務的向量可表示為

式中:tidk表示唯一標識;prk表示任務的固定優先級;dk表示任務數據量;wk表示任務需要的CPU 周期;sk表示任務需要的存儲空間;表示任務到達霧計算的時間;表示最大容忍時延。霧計算層中的霧節點的集合為{Fog1,Fog2,Fog3,…,Fogn},霧節點Fogn的向量可表示為

式中:FINn表示霧節點的唯一標識;Cn表示計算頻率;Sn表示可用存儲容量;Pn表示傳輸發射功率。為提高任務的執行完成率,將時間屬性作為任務優先級的指標,任務在霧節點Fogn中的執行緊迫度可表示為

式中:p,q表示權重參數;prmax表示任務的最高優先級。任務處理流程如圖6所示。

圖6 任務處理流程Fig.6 Task processing flow chart
設置任務卸載策略的執行間隔I,根據任務規模動態調整I,在執行第α 個任務卸載時,所有任務節點的等待隊列中共有K個任務{T1,T2,T3,…,TK},每個任務所在的霧節點為{l1,l2,l3,…,lK},任務Tk在等待隊列中的等待時間為。當霧節點接收到卸載決策后,會根據卸載決策將其等待任務進行重新分配。
為驗證本研究錄音自動識別調度下令系統的性能,分別使用文獻[3]系統、文獻[4]系統和本研究系統進行實驗,對比3 種系統的調度下令完成時間和語音識別效果。實驗環境在基于霧計算的網絡架構下,設置6 臺服務器作為霧節點。實驗環境參數如表1所示。

表1 實驗環境參數Tab.1 Experimental environment parameters
霧節點的計算能力設置為2 GHz~4 GHz 之間,可用莻空間在10 GB~20 GB 范圍內,霧節點之間的傳輸速率為20 Mbps~40 Mbps。實驗數據如表2所示。

表2 實驗數據Tab.2 Experimental data
本研究實驗模擬一次系統計算任務調度下令,使用Matlab 作為實驗平臺,記錄所有霧節點處理完成任務的時間。實驗任務數設定為50~80,使用3 種系統進行人物調度,得到的任務調度完成時間如表3所示。

表3 任務調度完成時間Tab.3 Task scheduling completion time
為了更加直觀地對比3 種系統的任務調度完成時間,將表3 中數據繪制成圖像,如圖7所示。

圖7 任務調度完成時間Fig.7 Task scheduling completion time
由圖7 可以看出,本研究系統充分利用了霧節點的性能參數和待卸載任務參數,充分考慮到了霧節點之間的性能差異,在任務數量較多的情況下仍能夠保持較低的完成時間,任務數量高達80 時,任務調度完成時間為3086 ms;文獻[3]系統的任務調度時間變化幅度較大,任務完成時間受限于處理最慢的霧節點完成所有任務的總時間,任務數較大時的調度完成時間小于任務數量較小時的調度完成時間,系統的最大調度完成時間可達到4372 ms;文獻[4]系統的任務調度時間初始值較大,任務節點的處理實驗高于其它系統,任務調度完成時間最高達到4410 ms。
為驗證3 種系統的語音識別模型的識別效果,使用MFCC 作為音頻,再加入一階差分作為音頻特征添加語音的動態信息。并在音頻特征信息匯總加入均值為0,方差為0.1 的高斯噪聲,設置模型的訓練次數為50~200 次,使用3 種系統對加入噪聲的語音信號進行識別,得到3 種系統的識別率如圖8所示,具體數據如表4所示。

表4 系統的語音信號識別率Tab.4 Speech signal recognition rate of system

圖8 語音信號識別率Fig.8 Speech signal recognition rate
本研究系統對加入噪聲后的語音信號的識別率達到于90%以上,訓練次數在50 次時系統的識別率就高達90.7%,隨著訓練次數的增加,識別結果越來越準確,訓練次數達到200 次時識別率高達99%;文獻[3]系統的語音信號識別率最低為81.6%,訓練次數達到170 次時識別率為88.2%,仍處于90%以下,達不到本研究系統訓練50 次時的識別率;文獻[4]系統訓練50 次時的語音識別率為78.2%,訓練次數達到200 次時的識別率為92%。
本研究使用UiPath 開發,提出一種基于注意力機制的AVSR 雙模態語音識別模型,通過注意力機制實現音頻信號特征的前期融合,利用特征向量進行拼接融合解決音頻速率不匹配問題,提高了模型的音頻信號識別能力。提出一種基于動態優先級的任務調度下令方法,根據每個霧節點的計算能力和存儲容量,將所有等待隊列中的任務充分分配,并進行任務卸載。本研究仍存在一些不足之處還需進一步改進,非結構化的數據沒有概念數據模型形式的限制,系統對于非結構化的數據處理能力不足,還需對系統的數據處理計算框架進行優化。