傅 靖,季錚錚,周紅杰,談葉月
(1.國網(wǎng)南通供電公司,南通226006;2.江蘇電力信息技術(shù)有限公司,南京210000)
近年來大數(shù)據(jù)技術(shù)的出現(xiàn),更多的公司企業(yè)適應(yīng)企業(yè)資源計劃系統(tǒng),實現(xiàn)了企業(yè)信息的整合,產(chǎn)生了數(shù)據(jù)共享服務(wù),通過匯總的信息進行業(yè)務(wù)流程的分類[1]。同時語音識別技術(shù)在企業(yè)中的應(yīng)用場景更加廣泛,能夠?qū)⒙曇艮D(zhuǎn)換為其它形式,為數(shù)字化辦公提供了便利。然而當(dāng)前企業(yè)工作中仍需要個人的主觀判斷和多種軟件的交互,工作環(huán)境存在的大量噪聲聲音嘈雜,單一模式下的語音識別不能滿足辦公需求[2]。
針對上述存在的問題,文獻[3]系統(tǒng)提出應(yīng)用DNN 和HMM 結(jié)合的方法,在大詞匯量連續(xù)語音識別的性能得到了進步,能夠獲取更長的音頻時序信息,且降低了計算量;文獻[4]系統(tǒng)使用雙向LSTM 建模,考慮到前向與反向時序信息的影響,使系統(tǒng)具有更好的魯棒性。但網(wǎng)絡(luò)結(jié)構(gòu)更加復(fù)雜,對具有長依賴關(guān)系的語音信號識別效果不好;文獻[5]系統(tǒng)中采用長短時記憶網(wǎng)絡(luò)建立語音模型,能夠?qū)τ猩舷挛穆?lián)系的音頻信息更好地建模,提高了語音識別能力。
本研究系統(tǒng)應(yīng)用機器人流程自動化技術(shù)(robotic process automation,RPA),利用和融合現(xiàn)有各種技術(shù),實現(xiàn)企業(yè)業(yè)務(wù)流程自動化,并且可以與多個系統(tǒng)進行交互,執(zhí)行非常規(guī)任務(wù)[6]。系統(tǒng)使用的主流的RPA開發(fā)工具(poupular RPA development tools,PRDT)為UiPath,其中UiPath 是一種基于流程圖的可視化流程工具,提供標(biāo)準(zhǔn)或自定義的工作組件。UiPath可以操作VMware 等虛擬機,也可以操作本地計算機。系統(tǒng)架構(gòu)如圖1所示。
圖1 基于RPA 接口的錄音自動識別調(diào)度下令系統(tǒng)架構(gòu)Fig.1 System architecture of recording automatic identification and dispatch ordering based on RPA interface
本研究系統(tǒng)分為開發(fā)層、RPA 服務(wù)層和應(yīng)用層。開發(fā)層主要負(fù)責(zé)程序的設(shè)計;RPA 服務(wù)層主要負(fù)責(zé)license 代理、日志收集和程序執(zhí)行等任務(wù);應(yīng)用層主要完成調(diào)度下令、用戶授權(quán)管理、工作流授權(quán)管理、語音識別等功能[7]。UiPath 開發(fā)平臺提供了便捷的調(diào)度模塊,執(zhí)行任務(wù)前使用調(diào)試工具設(shè)置斷點,逐步監(jiān)視項目的執(zhí)行步驟、數(shù)據(jù)參數(shù)和運行狀態(tài),并且能夠調(diào)整調(diào)試速度,通過日志查看相關(guān)的項目執(zhí)行情況。應(yīng)用層使用Orchestator 服務(wù)器,具有特定的管理界面,能夠?qū)PA 服務(wù)層進行機器人的添加、刪除和監(jiān)控,并且管理用戶、進程和令牌,有效進行監(jiān)控和讀寫log日志文件等操作,在schedule 計劃任務(wù)中設(shè)定時間和執(zhí)行次數(shù)控制機器人執(zhí)行自動化過程。RPA 服務(wù)層具有ServiceHost,Executor 和Agent三個組件[8-9],設(shè)置每個監(jiān)視器的DPI,Agent 能夠在系統(tǒng)窗口顯示機器人所在環(huán)境中的執(zhí)行工程包。
傳統(tǒng)的語音識別模型不能記錄時間周期較長的相關(guān)信息,處理音頻的長度有限,目標(biāo)詞只與前面N個詞相關(guān),目標(biāo)詞的增加將帶來數(shù)據(jù)量的急速增長。本研究提出一種基于注意力AVSR 機制的模型,使用注意力機制對特征進行前期和后期融合,解決了音頻速率不匹配和信息長度不相同帶來的融合問題。對原始的音頻信號先要進行預(yù)處理再輸入到AVSR 雙模態(tài)語音識別模型中[10],語音信號預(yù)處理流程如圖2所示。
圖2 語音信號預(yù)處理流程Fig.2 Voice signal preprocessing flow chart
原始音頻信號首先進行采樣,得到符合需求的數(shù)據(jù),然后進行譜減法去噪。原始語音譜減去噪聲譜,再變換到時域,就得到了去噪后的語音,可表示為
式中:Ps(w)表示原語音頻譜;Pn(w)表示噪聲頻譜;D(w)表示差值頻譜[11]。當(dāng)實際噪聲大于估計噪聲時進行減法操作,會出現(xiàn)殘余噪聲。本研究對譜減法進行了改進,可表示為
式中:α 表示減法因子;β 表示閾值參數(shù)。改進后的譜減法能夠去除原始音頻信號中的更多噪聲,殘留噪聲減少[12]。引入閾值參數(shù),將小于βPn(w)的數(shù)都統(tǒng)一設(shè)置為這個閾值,減小了殘余噪聲峰值差距。然后進行音頻信號的編解碼操作,音頻編解碼模型結(jié)構(gòu)如圖3所示。
圖3 音頻編解碼模型結(jié)構(gòu)Fig.3 Audio codec model structure
模型輸入的是音頻特征序列{a1,a2,a3,…,an},經(jīng)過多次激活函數(shù)的操作后,數(shù)據(jù)分布可能更加分散,并且發(fā)布范圍越來越大,導(dǎo)致收斂緩慢。在激活函數(shù)之前減少分散性,可表示為
式中:xi表示輸入的一批數(shù)據(jù);φ,β 表示網(wǎng)絡(luò)學(xué)習(xí)參數(shù),用來進行尺度變換和平移,保持網(wǎng)絡(luò)的非線性能力。對音頻編碼中輸入序列經(jīng)過兩層GRU 的非線性變換,得到每個時刻維數(shù)相同的狀態(tài)向量組成一個集合,可表示為
式中:ai表示輸入特征序列;表示狀態(tài)向量。得到集合后,每一時刻的音頻狀態(tài)向量進行一個注意機制計算來更新狀態(tài)向量,更新過程可表示為
式中:T 表示向量的轉(zhuǎn)置;u表示歸一化參數(shù)。通過注意機制,實現(xiàn)了音頻信號特征的前期融合,在音頻缺失和噪聲污染嚴(yán)重的情況下輔助修正音頻特征。音頻雙模態(tài)語音識別框架如圖4所示。
在模型的解碼階段使用兩個獨立的注意力機制,用于視修正后的音頻特征,經(jīng)過注意力機制后再進行特征向量的拼接融合,實現(xiàn)后期融合共同決定最終的結(jié)果。對語音識別模型進行優(yōu)化,可表示為
式中:θ 表示模型的權(quán)重和偏差;η 表示學(xué)習(xí)率;y表示實際值;yˉ表示模型的預(yù)測值;J表示目標(biāo)函數(shù)。將AVSR 雙模態(tài)語音識別模型的網(wǎng)絡(luò)結(jié)構(gòu)設(shè)定為2 層大小為128 的GRU 編碼和單層128 單元的GRU解碼,在測試解碼時使用集束搜索。首先對音頻質(zhì)量評估音頻信號的信噪比SNR,可表示為
式中:Psignal表示信號功率;Pnoise表示噪聲功率。SNR越大說明音頻信號中的噪聲越少,音頻信號的質(zhì)量越高,選擇SNR<10 dB 的音頻信號進行信號特征的前期融合。
本研究系統(tǒng)使用霧計算在網(wǎng)絡(luò)邊緣提供分布式基礎(chǔ)架構(gòu),實現(xiàn)低延遲訪問和應(yīng)用程序的請求快速響應(yīng)。基于動態(tài)優(yōu)先級的任務(wù)調(diào)度下令時序圖如圖5所示。
圖5 基于動態(tài)優(yōu)先級的任務(wù)調(diào)度下令時序圖Fig.5 Sequence diagram of task scheduling order based on dynamic priority
任務(wù)調(diào)度下令模型中任務(wù)的向量可表示為
式中:tidk表示唯一標(biāo)識;prk表示任務(wù)的固定優(yōu)先級;dk表示任務(wù)數(shù)據(jù)量;wk表示任務(wù)需要的CPU 周期;sk表示任務(wù)需要的存儲空間;表示任務(wù)到達霧計算的時間;表示最大容忍時延。霧計算層中的霧節(jié)點的集合為{Fog1,F(xiàn)og2,F(xiàn)og3,…,F(xiàn)ogn},霧節(jié)點Fogn的向量可表示為
式中:FINn表示霧節(jié)點的唯一標(biāo)識;Cn表示計算頻率;Sn表示可用存儲容量;Pn表示傳輸發(fā)射功率。為提高任務(wù)的執(zhí)行完成率,將時間屬性作為任務(wù)優(yōu)先級的指標(biāo),任務(wù)在霧節(jié)點Fogn中的執(zhí)行緊迫度可表示為
式中:p,q表示權(quán)重參數(shù);prmax表示任務(wù)的最高優(yōu)先級。任務(wù)處理流程如圖6所示。
圖6 任務(wù)處理流程Fig.6 Task processing flow chart
設(shè)置任務(wù)卸載策略的執(zhí)行間隔I,根據(jù)任務(wù)規(guī)模動態(tài)調(diào)整I,在執(zhí)行第α 個任務(wù)卸載時,所有任務(wù)節(jié)點的等待隊列中共有K個任務(wù){T1,T2,T3,…,TK},每個任務(wù)所在的霧節(jié)點為{l1,l2,l3,…,lK},任務(wù)Tk在等待隊列中的等待時間為。當(dāng)霧節(jié)點接收到卸載決策后,會根據(jù)卸載決策將其等待任務(wù)進行重新分配。
為驗證本研究錄音自動識別調(diào)度下令系統(tǒng)的性能,分別使用文獻[3]系統(tǒng)、文獻[4]系統(tǒng)和本研究系統(tǒng)進行實驗,對比3 種系統(tǒng)的調(diào)度下令完成時間和語音識別效果。實驗環(huán)境在基于霧計算的網(wǎng)絡(luò)架構(gòu)下,設(shè)置6 臺服務(wù)器作為霧節(jié)點。實驗環(huán)境參數(shù)如表1所示。
表1 實驗環(huán)境參數(shù)Tab.1 Experimental environment parameters
霧節(jié)點的計算能力設(shè)置為2 GHz~4 GHz 之間,可用莻空間在10 GB~20 GB 范圍內(nèi),霧節(jié)點之間的傳輸速率為20 Mbps~40 Mbps。實驗數(shù)據(jù)如表2所示。
表2 實驗數(shù)據(jù)Tab.2 Experimental data
本研究實驗?zāi)M一次系統(tǒng)計算任務(wù)調(diào)度下令,使用Matlab 作為實驗平臺,記錄所有霧節(jié)點處理完成任務(wù)的時間。實驗任務(wù)數(shù)設(shè)定為50~80,使用3 種系統(tǒng)進行人物調(diào)度,得到的任務(wù)調(diào)度完成時間如表3所示。
表3 任務(wù)調(diào)度完成時間Tab.3 Task scheduling completion time
為了更加直觀地對比3 種系統(tǒng)的任務(wù)調(diào)度完成時間,將表3 中數(shù)據(jù)繪制成圖像,如圖7所示。
圖7 任務(wù)調(diào)度完成時間Fig.7 Task scheduling completion time
由圖7 可以看出,本研究系統(tǒng)充分利用了霧節(jié)點的性能參數(shù)和待卸載任務(wù)參數(shù),充分考慮到了霧節(jié)點之間的性能差異,在任務(wù)數(shù)量較多的情況下仍能夠保持較低的完成時間,任務(wù)數(shù)量高達80 時,任務(wù)調(diào)度完成時間為3086 ms;文獻[3]系統(tǒng)的任務(wù)調(diào)度時間變化幅度較大,任務(wù)完成時間受限于處理最慢的霧節(jié)點完成所有任務(wù)的總時間,任務(wù)數(shù)較大時的調(diào)度完成時間小于任務(wù)數(shù)量較小時的調(diào)度完成時間,系統(tǒng)的最大調(diào)度完成時間可達到4372 ms;文獻[4]系統(tǒng)的任務(wù)調(diào)度時間初始值較大,任務(wù)節(jié)點的處理實驗高于其它系統(tǒng),任務(wù)調(diào)度完成時間最高達到4410 ms。
為驗證3 種系統(tǒng)的語音識別模型的識別效果,使用MFCC 作為音頻,再加入一階差分作為音頻特征添加語音的動態(tài)信息。并在音頻特征信息匯總加入均值為0,方差為0.1 的高斯噪聲,設(shè)置模型的訓(xùn)練次數(shù)為50~200 次,使用3 種系統(tǒng)對加入噪聲的語音信號進行識別,得到3 種系統(tǒng)的識別率如圖8所示,具體數(shù)據(jù)如表4所示。
表4 系統(tǒng)的語音信號識別率Tab.4 Speech signal recognition rate of system
圖8 語音信號識別率Fig.8 Speech signal recognition rate
本研究系統(tǒng)對加入噪聲后的語音信號的識別率達到于90%以上,訓(xùn)練次數(shù)在50 次時系統(tǒng)的識別率就高達90.7%,隨著訓(xùn)練次數(shù)的增加,識別結(jié)果越來越準(zhǔn)確,訓(xùn)練次數(shù)達到200 次時識別率高達99%;文獻[3]系統(tǒng)的語音信號識別率最低為81.6%,訓(xùn)練次數(shù)達到170 次時識別率為88.2%,仍處于90%以下,達不到本研究系統(tǒng)訓(xùn)練50 次時的識別率;文獻[4]系統(tǒng)訓(xùn)練50 次時的語音識別率為78.2%,訓(xùn)練次數(shù)達到200 次時的識別率為92%。
本研究使用UiPath 開發(fā),提出一種基于注意力機制的AVSR 雙模態(tài)語音識別模型,通過注意力機制實現(xiàn)音頻信號特征的前期融合,利用特征向量進行拼接融合解決音頻速率不匹配問題,提高了模型的音頻信號識別能力。提出一種基于動態(tài)優(yōu)先級的任務(wù)調(diào)度下令方法,根據(jù)每個霧節(jié)點的計算能力和存儲容量,將所有等待隊列中的任務(wù)充分分配,并進行任務(wù)卸載。本研究仍存在一些不足之處還需進一步改進,非結(jié)構(gòu)化的數(shù)據(jù)沒有概念數(shù)據(jù)模型形式的限制,系統(tǒng)對于非結(jié)構(gòu)化的數(shù)據(jù)處理能力不足,還需對系統(tǒng)的數(shù)據(jù)處理計算框架進行優(yōu)化。