陳 楠 曹雪虹 焦良葆 孟 琳 徐 逸 張四維
(1.南京工程學(xué)院人工智能產(chǎn)業(yè)技術(shù)研究院 南京 211167)(2.國(guó)網(wǎng)南京供電公司 南京 210009)
隨著智能電網(wǎng)[1]和人工智能技術(shù)[2]的不斷發(fā)展,語(yǔ)音人機(jī)交互技術(shù)[3]在電力領(lǐng)域的需求也在不斷增加。為了保障變電站安全、穩(wěn)定的運(yùn)行,電力工作人員需要定時(shí)定點(diǎn)進(jìn)行電氣設(shè)備巡檢,而巡檢工作具有巡檢項(xiàng)目繁瑣、巡檢質(zhì)量要求高等特點(diǎn),傳統(tǒng)的集控中心指令控制模式對(duì)于電力巡檢人員來(lái)說(shuō)存在現(xiàn)場(chǎng)設(shè)備狀態(tài)信息查詢(xún)效率低的弊端,為了充分發(fā)揮現(xiàn)場(chǎng)電力巡檢人員的作用,采用人機(jī)交互技術(shù)將巡檢指令輸入無(wú)線(xiàn)麥克風(fēng),實(shí)現(xiàn)相關(guān)巡檢信息的查詢(xún),進(jìn)而為其他巡檢操作提供參考。
然而在電力巡檢領(lǐng)域有特定的專(zhuān)業(yè)信息詞匯,利用面向公共領(lǐng)域下的語(yǔ)音識(shí)別技術(shù)(Automatic Speech Recognition,ASR)進(jìn)行語(yǔ)音識(shí)別時(shí),電力巡檢語(yǔ)音指令中的專(zhuān)業(yè)詞匯很難被正確識(shí)別,使電力行業(yè)語(yǔ)音識(shí)別的正確率不高。例如,在采用科大訊飛[4]進(jìn)行語(yǔ)音識(shí)別時(shí),會(huì)出現(xiàn)把“查詢(xún)林山222線(xiàn)的設(shè)備健康狀況”誤識(shí)別成“查詢(xún)靈山222 線(xiàn)的設(shè)備健康狀況”,把“井蔣”識(shí)別成“請(qǐng)講”,把“代維”識(shí)別成“戴維”等,由于存在同音字或人本身造成的口音偏差使電力巡檢詞匯被誤識(shí)別成日常通用詞,大量的指令詞無(wú)法準(zhǔn)確識(shí)別最終造成了電力巡檢操作可靠性差的問(wèn)題。因此,針對(duì)面向公共領(lǐng)域的語(yǔ)音識(shí)別方式在識(shí)別電力詞匯時(shí)錯(cuò)誤率高的問(wèn)題,進(jìn)行語(yǔ)音識(shí)別后文本糾錯(cuò)算法的研究是十分必要的。
目前,針對(duì)電力巡檢的語(yǔ)音指令識(shí)別方面的研究較少,語(yǔ)音識(shí)別后文本的校對(duì)和糾錯(cuò)方法有以下幾種:Park G[5]提出了一種基于序列對(duì)序列神經(jīng)網(wǎng)絡(luò)的修正ASR 誤差的后處理模型。該模型只使用音節(jié)作為輸入特征,且依賴(lài)ASR引擎返回的多個(gè)候選句子;張俊祺[6]提出了組合N-gram 模型,融合雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)Bi-LSTM 語(yǔ)言模型和多策略產(chǎn)生候選集的方法,分別進(jìn)行查錯(cuò)和糾錯(cuò);張佳寧[7]提出了一種基于word2 vec的語(yǔ)音糾錯(cuò)方法,利用word2 vec 生成具有上下文核心詞的關(guān)鍵詞,通過(guò)深度語(yǔ)言模型對(duì)文本進(jìn)行錯(cuò)誤檢測(cè)通過(guò)將拼音混淆集與語(yǔ)義和上下文信息相結(jié)合來(lái)糾正可能出現(xiàn)的錯(cuò)誤。
以上的校對(duì)和糾錯(cuò)算法,在處理語(yǔ)音識(shí)別下規(guī)范的中文文本語(yǔ)法、語(yǔ)義有良好的處理效果,然而面向電力巡檢領(lǐng)域下的語(yǔ)音識(shí)別后文本糾錯(cuò)能力較差。因此,本文提出一種基于模式匹配的算法進(jìn)行語(yǔ)音識(shí)別后文本糾錯(cuò),首先構(gòu)建指令詞特有的語(yǔ)法模型,將獨(dú)立的指令詞相互之間構(gòu)成聯(lián)系,然后利用AC 自動(dòng)機(jī)(Aho-Corasick Automaton,ACA)高效匹配的優(yōu)勢(shì)構(gòu)建漢字和拼音AC 自動(dòng)機(jī),分別進(jìn)行精確匹配下的查錯(cuò)和糾錯(cuò),最后針對(duì)精確匹配下糾錯(cuò)失敗的問(wèn)題,進(jìn)一步實(shí)現(xiàn)模糊糾錯(cuò),大大提高了糾錯(cuò)能力。
本文對(duì)于電力巡檢語(yǔ)音指令詞識(shí)別后的文本糾錯(cuò)算法整體架構(gòu)如圖1 所示。首先經(jīng)過(guò)語(yǔ)音識(shí)別系統(tǒng)獲得識(shí)別后的文本,然后將識(shí)別后的文本進(jìn)行模式匹配算法的糾錯(cuò)。
圖1 語(yǔ)音識(shí)別后文本糾錯(cuò)結(jié)構(gòu)框圖
本文基于模式匹配的糾錯(cuò)算法主要包括語(yǔ)法模型的構(gòu)建、AC自動(dòng)機(jī)的構(gòu)造、模式匹配過(guò)程三部分內(nèi)容。
1)語(yǔ)法模型構(gòu)建
通用的糾錯(cuò)算法對(duì)于數(shù)據(jù)庫(kù)不進(jìn)行特別的處理,而數(shù)據(jù)庫(kù)本身的構(gòu)建與糾錯(cuò)算法的設(shè)計(jì)息息相關(guān)。電力巡檢詞條數(shù)據(jù)庫(kù)中包含龐大的詞匯文本,通過(guò)對(duì)電力環(huán)境語(yǔ)言的語(yǔ)法分析,設(shè)計(jì)了一種面向電力巡檢指令的語(yǔ)法模型。
2)AC自動(dòng)機(jī)的構(gòu)造
AC 算法本質(zhì)上是自動(dòng)機(jī)存儲(chǔ)結(jié)構(gòu),該算法使用Trie 樹(shù)結(jié)構(gòu)來(lái)存儲(chǔ)所有模式串。利用該算法的快速檢索、統(tǒng)計(jì)、排序和保存大量字符串的特點(diǎn),高效地實(shí)現(xiàn)巡檢指令識(shí)別串與匹配串之間的匹配過(guò)程。
3)模式匹配
在電力巡檢領(lǐng)域的語(yǔ)音交互中,將模式串與識(shí)別串進(jìn)行匹配,即為模式匹配過(guò)程。為了對(duì)同音字誤識(shí)別進(jìn)行糾錯(cuò),結(jié)合語(yǔ)法模型和AC自動(dòng)機(jī),提出了精確匹配過(guò)程;為了進(jìn)一步對(duì)同音字誤識(shí)別外的別字錯(cuò)誤進(jìn)行糾正,提出了基于編輯距離的模糊匹配糾錯(cuò)算法。
首先對(duì)電力巡檢指令詞數(shù)據(jù)集和語(yǔ)音識(shí)別文本進(jìn)行研究,構(gòu)建識(shí)別串的“動(dòng)作、屬性、對(duì)象”語(yǔ)法模型,如“查詢(xún)代維一班班組到位率”,其中“查詢(xún)”為動(dòng)作,“代維一班”為屬性,“班組到位率”為對(duì)象。該語(yǔ)法模型如圖2 所示。由于所有模型都是以對(duì)象為主干,將動(dòng)作和屬性彼此聯(lián)系,因此根據(jù)模型結(jié)構(gòu)對(duì)數(shù)據(jù)庫(kù)進(jìn)行預(yù)處理分類(lèi):對(duì)象類(lèi)關(guān)鍵詞、屬性類(lèi)關(guān)鍵詞和動(dòng)作類(lèi)關(guān)鍵詞,將所有關(guān)鍵詞以對(duì)象類(lèi)關(guān)鍵詞為主干彼此聯(lián)系,構(gòu)建語(yǔ)法分支模型。每一類(lèi)語(yǔ)法分支模型包含對(duì)象1、對(duì)象2、…、對(duì)象n 及其所關(guān)聯(lián)的動(dòng)作和屬性詞條,如圖3(a)、3(b)、3(c)所示,每類(lèi)對(duì)象分別有其對(duì)應(yīng)的屬性和動(dòng)作。
圖2 語(yǔ)法模型
圖3
為了能夠在模型匹配下構(gòu)造漢字和拼音AC自動(dòng)機(jī),需要完善模型的詞條信息,即語(yǔ)法模型中的所有“動(dòng)作、對(duì)象、屬性”都必須包含“詞條ID 地址”、“詞條名稱(chēng)”、“漢字”、“拼音首字母”、“全拼”的詞條信息,其中“詞條名稱(chēng)”為最終返回給用戶(hù)的值;“漢字”為具體的詞條,用于構(gòu)造漢字AC 自動(dòng)機(jī);“拼音首字母”,用于構(gòu)造拼音首字母下的AC自動(dòng)機(jī);“全拼”是對(duì)拼音首字母的擴(kuò)充,為模糊匹配下編輯距離的計(jì)算提供了更大的維度。例如:“查看、查詢(xún)、輸電一班、代維一班、班組到位率”這五個(gè)關(guān)鍵詞的各自五種信息構(gòu)成如表1。
表1 詞條信息構(gòu)成
從給定的字符序列中找出給定的字符串并獲得具體的位置,即為模式匹配問(wèn)題。其中模式串為給定的字符串;待匹配的文本串為文本序列。
常用的模式匹配算法包括BF 算法[8]、KMP 算法[9]、Shift-And 算法[10]和AC 算法[11]。為了高效地實(shí)現(xiàn)識(shí)別串的模式匹配,采用基于AC 自動(dòng)機(jī)的多模匹配算法,來(lái)提取識(shí)別串的關(guān)鍵詞條。
2.3.1 AC多模匹配算法
AC 算法關(guān)鍵分為三個(gè)步驟:構(gòu)成Trie 樹(shù),構(gòu)造失敗指針,Output函數(shù)。
1)構(gòu)造拼音AC自動(dòng)機(jī)
根據(jù)詞條文本數(shù)據(jù)庫(kù)中預(yù)處理好的詞條的文本數(shù)據(jù),依托于Trie樹(shù),分別構(gòu)造拼音AC自動(dòng)機(jī)和漢字AC自動(dòng)機(jī)。于是根據(jù)語(yǔ)法模型構(gòu)造中文識(shí)別串中三類(lèi)詞條的拼音和漢字的AC 自動(dòng)機(jī),分別是對(duì)象的拼音和漢字AC 自動(dòng)機(jī)、屬性的拼音和漢字的AC自動(dòng)機(jī)、動(dòng)作的拼音和漢字AC自動(dòng)機(jī)。設(shè)中文模式串集合M={查詢(xún),查看,代維一班,輸電一班,班組到位率,八百三六二線(xiàn),零零一號(hào)桿,設(shè)備臺(tái)賬,沿布圖,設(shè)備健康狀況},拼音首字母模式串集 合M={CX,CK,DWYB,SDYB,BZDWL,BBSLEX,LLYHG,SBTZ,YBT,SBJKZK},其中模式串xi為預(yù)處理好的詞條中的“拼音”,對(duì)M中的每個(gè)模式串xi從根節(jié)點(diǎn)(root)出發(fā),逐個(gè)取出xi中的每一個(gè)字符。漢字AC 自動(dòng)機(jī)的Trie 樹(shù)如圖4 所示,拼音AC 自動(dòng)機(jī)的Trie 樹(shù)如圖5 所示。其中圖4(a)是漢字動(dòng)作字典樹(shù)圖,圖4(b)是漢字屬性字典樹(shù)圖,圖4(c)漢字對(duì)象字典樹(shù)圖。圖5(a)是拼音動(dòng)作字典樹(shù)圖,圖5(b)是拼音屬性字典樹(shù)圖,圖5(c)是拼音對(duì)象字典樹(shù)圖。
圖4 漢字AC自動(dòng)機(jī)的Trie樹(shù)
圖5 拼音AC自動(dòng)機(jī)的Trie樹(shù)
2)構(gòu)造失敗指針
構(gòu)造失敗指針,即使用失效函數(shù)failure 函數(shù)來(lái)計(jì)算某個(gè)字符失配時(shí)應(yīng)轉(zhuǎn)移的狀態(tài):若某狀態(tài)的父狀態(tài)為0,則該狀態(tài)的失效函數(shù)值為0;對(duì)于其他狀態(tài)n,設(shè)其父狀態(tài)為r,當(dāng)前字符為a,則該狀態(tài)的失效函數(shù)值failure(n)=goto(failure(r),a)。
3)Output函數(shù)
Output 函數(shù)記錄了自動(dòng)機(jī)跳轉(zhuǎn)狀態(tài)過(guò)程中發(fā)生匹配的模式子集,它的作用是輸出已經(jīng)發(fā)生匹配的模式。Output表的生成貫穿于goto表和failure表的過(guò)程中。
2.3.2 模式匹配下的精確匹配
模式匹配下的精確匹配包括查錯(cuò)和糾錯(cuò)兩部分。模式匹配的對(duì)象是語(yǔ)音識(shí)別下的中文巡檢指令詞識(shí)別串,對(duì)該串進(jìn)行漢字AC 機(jī)的精確匹配過(guò)程,即為識(shí)別串的查錯(cuò)過(guò)程;該識(shí)別串下的拼音首字母匹配過(guò)程,即為精確匹配中糾錯(cuò)過(guò)程。
1)對(duì)象詞條匹配
在模式匹配中對(duì)象詞條是整個(gè)識(shí)別串的核心,因此首先對(duì)識(shí)別串進(jìn)行查錯(cuò),若對(duì)象詞條能與對(duì)象漢字AC機(jī)完全匹配,則對(duì)象詞條匹配成功,否則進(jìn)行糾錯(cuò)過(guò)程,進(jìn)行對(duì)象拼音AC自動(dòng)機(jī)匹配,直到匹配成功,則完成糾錯(cuò),否則對(duì)象詞條匹配失敗。具體匹配流程如圖6所示。
圖6 對(duì)象詞條的匹配
2)屬性和動(dòng)作詞條匹配
成功匹配到識(shí)別串的對(duì)象關(guān)鍵詞條后,根據(jù)該對(duì)象詞條所在的語(yǔ)法分支模型如圖2,對(duì)該分支模型下所對(duì)應(yīng)的屬性和動(dòng)作詞條同時(shí)進(jìn)行漢字和拼音的精確匹配,即同時(shí)進(jìn)行查錯(cuò)和糾錯(cuò),提高糾錯(cuò)過(guò)程的效率。具體匹配過(guò)程如圖7所示。
圖7 屬性和動(dòng)作詞條的匹配
識(shí)別串的匹配過(guò)程遵循對(duì)象詞條的匹配,若漢字或拼音首字母匹配成功,則完成匹配,否則匹配失敗。
完成所有詞條的匹配,則完成模型匹配下的精確匹配過(guò)程。
2.3.3 模糊匹配算法
由于模式匹配下的精確匹配依然會(huì)存在糾錯(cuò)失敗的情況,如別字錯(cuò)誤的誤識(shí)別情況,因此為了提高糾錯(cuò)正確率有必要進(jìn)一步進(jìn)行模糊檢索。
漢字是非字母組成的語(yǔ)言,把任意兩個(gè)漢字之間的差別都算成同一個(gè)值不夠準(zhǔn)確,且漢字不像拼音具有聲母、韻母、音節(jié)等,可以通過(guò)多個(gè)維度進(jìn)行編輯距離[12]的測(cè)算,所以提出了基于拼音的模糊匹配算法設(shè)計(jì)。
1)基于拼音的編輯距離
通過(guò)國(guó)網(wǎng)南京供電公司提供的電力詞匯數(shù)據(jù)庫(kù)進(jìn)行實(shí)驗(yàn),發(fā)現(xiàn)精確匹配錯(cuò)誤的文本串多為音近詞錯(cuò)誤,因此考慮采用模糊匹配中的最小編輯距離糾錯(cuò)算法,該算法能補(bǔ)充似然匹配算法的弱點(diǎn),在使用過(guò)程中能夠降低查詢(xún)?cè)~的錯(cuò)誤率。最小編輯算法的具體描述如下:由精確匹配匹配失敗的識(shí)別串為“Q1Q2…Qn”和匹配串“M1M2…Mn”,通過(guò)刪除、增加、替換的操作后,將識(shí)別串編輯成匹配串所使用的最小操作數(shù),稱(chēng)為識(shí)別串到匹配串的最小距離,記為Med(Query,Mathch),由于精確匹配下的識(shí)別串多為音近詞,則只進(jìn)行替換操作。例如,要找到所有與識(shí)別串的編輯距離為1 的匹配串,則變化可能是拼音其中的一個(gè)字母改變了1 個(gè)距離單位。而當(dāng)兩匹配串都相同的時(shí)候,則編輯距離為0;當(dāng)兩者編輯距離越小,則兩匹配串之間的相似性越大。
(2)設(shè)定發(fā)音相近(更容易發(fā)生替換錯(cuò)誤)的聲母之間的編輯距離小于1,即如/l/和/n/,在進(jìn)行替換操作時(shí),編輯距離小于1(設(shè)為0.8),因此在實(shí)際的編輯距離的計(jì)算中,替換錯(cuò)誤的串更容易被匹配提取。
2)模式匹配下的模糊匹配
模式匹配下的精確匹配分別采用漢字和拼音AC 自動(dòng)機(jī)實(shí)現(xiàn)識(shí)別串的查錯(cuò)和糾錯(cuò),但是該方法在糾錯(cuò)別字錯(cuò)誤時(shí)沒(méi)有顯著的效果,因此進(jìn)一步提出以下模糊匹配糾錯(cuò)算法進(jìn)行糾錯(cuò)。
(1)替換詞操作
(2)編輯距離的計(jì)算
設(shè)定編輯距離為k,首先為了避免把拼音串看成英文字母串進(jìn)行字母替換后,造成拼音串本身的不合法,通過(guò)拼音AC 自動(dòng)機(jī)的匹配對(duì)替換后拼音串的合法性進(jìn)行判別。針對(duì)第一種情況,對(duì)替換中的對(duì)象詞進(jìn)行拼音AC 自動(dòng)機(jī)的匹配,匹配過(guò)程與精確匹配過(guò)程一致,匹配失敗則進(jìn)行下一次匹配,獲取匹配成功的匹配串的詞條信息,然后將匹配成功的詞條信息中的全拼與識(shí)別串的全拼比對(duì),計(jì)算出編輯距離k,當(dāng)編輯距離k<TH(其中TH為預(yù)先設(shè)定的閾值)時(shí)保留匹配串的匹配結(jié)果,將標(biāo)定過(guò)的拼音首字母對(duì)編輯距離進(jìn)行替換,最終比較閾值內(nèi)編輯距離的替換串的匹配結(jié)果。
綜上,根據(jù)語(yǔ)法模型實(shí)現(xiàn)對(duì)識(shí)別串的模糊替換,該匹配過(guò)程雖然需要遍歷近鄰空間的操作,但是結(jié)合語(yǔ)法模型和拼音首字母下的AC自動(dòng)機(jī)能大大減少檢索的時(shí)間復(fù)雜度,模糊匹配過(guò)程實(shí)際上也就是分成多個(gè)精確匹配,模糊匹配結(jié)果即最后基于編輯距離下閾值范圍內(nèi)的有效結(jié)果。
實(shí)驗(yàn)中使用的電力巡檢指令詞匯數(shù)據(jù)來(lái)源于南京國(guó)網(wǎng)公司,該公司提供的電力詞條約5500 個(gè),本實(shí)驗(yàn)召集20 位錄音者進(jìn)行語(yǔ)音的讀錄,每人錄入約1000句音頻,音頻時(shí)長(zhǎng)共計(jì)約25小時(shí),通過(guò)調(diào)用科大訊飛的API對(duì)錄制好的音頻進(jìn)行語(yǔ)音識(shí)別,識(shí)別串的錯(cuò)誤類(lèi)型如表2所示。
表2 識(shí)別串結(jié)果
由表可知,語(yǔ)音識(shí)別結(jié)果中錯(cuò)誤類(lèi)型主要為同音字錯(cuò)誤和別字錯(cuò)誤,本實(shí)驗(yàn)對(duì)該10875 個(gè)錯(cuò)誤結(jié)果進(jìn)行語(yǔ)音識(shí)別后文本的糾錯(cuò)算法的驗(yàn)證分析。該識(shí)別結(jié)果中的錯(cuò)誤串可以被認(rèn)為是在實(shí)際的電力語(yǔ)言環(huán)境中電力巡檢人員語(yǔ)音識(shí)別下的誤識(shí)別結(jié)果,糾正結(jié)果的正確率是需要考慮的重要指標(biāo)。
本實(shí)驗(yàn)主要對(duì)查錯(cuò)和糾錯(cuò)算法性能展開(kāi)評(píng)價(jià),其中查錯(cuò)算法性能主要采用時(shí)間復(fù)雜度、準(zhǔn)確率[12](Precision,又為查準(zhǔn)率)、召回率[6](Recall,又為查全率)作為評(píng)價(jià)標(biāo)準(zhǔn);糾錯(cuò)算法的評(píng)價(jià)指標(biāo)主要采用詞錯(cuò)誤率[13](Word Error Rate,WER)和句錯(cuò)誤[14](Sentence Error Rate,SER)率來(lái)判斷模型的算法的有效性。計(jì)算公式見(jiàn)式(1)、式(2)、式(3)、式(4)。
1)時(shí)間復(fù)雜度
為評(píng)判不同算法的時(shí)間復(fù)雜度,本文考慮采用時(shí)間頻度來(lái)反映,即計(jì)算同一問(wèn)題規(guī)模下算法完成匹配所耗時(shí)間。響應(yīng)時(shí)間越長(zhǎng),說(shuō)明其時(shí)間復(fù)雜度越高,匹配算法越復(fù)雜;若響應(yīng)時(shí)間越短,則說(shuō)明其時(shí)間復(fù)雜度越低,定位算法性能越好。
2)查準(zhǔn)率
3)召回率
4)詞錯(cuò)誤率
其中,Insertions表示插入錯(cuò)誤的詞數(shù),Deletions表示刪除錯(cuò)誤的詞數(shù),Substitutions表示替換錯(cuò)誤的詞數(shù),Numbers表示句子中的總詞數(shù)。
5)句錯(cuò)誤率
數(shù)據(jù)分析與驗(yàn)證的目的分為四點(diǎn)。第一,驗(yàn)證AC 匹配算法相較于其他模式匹配算法更高效;第二,判斷查錯(cuò)和糾錯(cuò)算法的時(shí)間復(fù)雜度是否有良好的表現(xiàn);第三,測(cè)試基于模式匹配的糾錯(cuò)算法對(duì)實(shí)際數(shù)據(jù)的糾錯(cuò)能力;第四,檢驗(yàn)?zāi):ヅ涞募m錯(cuò)算法較精確匹配算法的糾錯(cuò)能力改進(jìn)程度。
本實(shí)驗(yàn)的文本集合的規(guī)模為20000,每個(gè)識(shí)別串包含的結(jié)果數(shù)在3~25 個(gè)不等,其中正確的識(shí)別串占比45.6%,錯(cuò)誤的識(shí)別串占比54.3%,錯(cuò)誤的識(shí)別串不同類(lèi)別數(shù)量如圖8。
圖8 錯(cuò)誤識(shí)別串類(lèi)別圖
數(shù)據(jù)分析與驗(yàn)證的評(píng)價(jià)過(guò)程包括時(shí)間復(fù)雜度評(píng)估和糾錯(cuò)結(jié)果對(duì)比分析,且設(shè)計(jì)以下幾組方案展開(kāi)對(duì)比驗(yàn)證。方案1,傳統(tǒng)的N-gram 模型糾錯(cuò)算法,通過(guò)建立統(tǒng)計(jì)詞與字的N元語(yǔ)法模型進(jìn)行查錯(cuò)和糾錯(cuò);方案2,基于序列對(duì)序列神經(jīng)網(wǎng)絡(luò)的修正ASR誤差的后處理模型;方案3,只采用精確匹配下的語(yǔ)音識(shí)別后文本糾錯(cuò)算法;方案4,采用精確匹配和模糊匹配結(jié)合的語(yǔ)音識(shí)別后文本糾錯(cuò)算法。
1)時(shí)間復(fù)雜度驗(yàn)證
(1)AC匹配算法的時(shí)間復(fù)雜度驗(yàn)證
為了驗(yàn)證AC匹配算法是否高效,設(shè)計(jì)了AC算法與BF 算法、KMP 算法、Shift-And 算法的匹配時(shí)間對(duì)比實(shí)驗(yàn),來(lái)具體分析AC 算法在時(shí)間復(fù)雜度上的性能。實(shí)驗(yàn)中識(shí)別串文本規(guī)模的集合為{1000,2000,3000,4000,5000,6000}。算法對(duì)比結(jié)果如圖9所示。
圖9 四種算法的匹配時(shí)間
由圖9 可知,較其他算法AC 算法的匹配時(shí)間最短,時(shí)間復(fù)雜度最低,在巡檢指令詞的查錯(cuò)中能夠更高效地進(jìn)行識(shí)別串的匹配,很大程度上節(jié)省了時(shí)間開(kāi)銷(xiāo),提升了性能。
(2)糾錯(cuò)算法時(shí)間復(fù)雜度驗(yàn)證
為了進(jìn)一步進(jìn)行時(shí)間復(fù)雜度的檢驗(yàn),分別對(duì)以上四種方案的糾錯(cuò)過(guò)程展開(kāi)驗(yàn)證,圖10 顯示了四種糾錯(cuò)方案的糾錯(cuò)時(shí)間對(duì)比結(jié)果。
圖10 四種方案糾錯(cuò)時(shí)間對(duì)比結(jié)果
圖10 中可以看出,基于模式匹配的糾錯(cuò)過(guò)程時(shí)間復(fù)雜度最低,能夠快速地實(shí)現(xiàn)糾錯(cuò)任務(wù),雖然隨著文本規(guī)模的增大與精確匹配相比會(huì)增加一部分時(shí)間的消耗,但是仍能保證較低的時(shí)間復(fù)雜度,糾錯(cuò)時(shí)間有很大的優(yōu)勢(shì)。
2)糾錯(cuò)結(jié)果對(duì)比分析
糾錯(cuò)算法的對(duì)比分析過(guò)程,首先分別進(jìn)行查準(zhǔn)率和召回率的分析,來(lái)驗(yàn)證方案的查錯(cuò)能力,然后通過(guò)比較詞錯(cuò)誤率和句錯(cuò)誤率,來(lái)驗(yàn)證方案的糾錯(cuò)能力,糾錯(cuò)對(duì)比結(jié)果如表3 所示,糾錯(cuò)后錯(cuò)誤類(lèi)型對(duì)比情況如圖11所示。
圖11 糾錯(cuò)后的錯(cuò)誤類(lèi)型
表3 糾錯(cuò)結(jié)果對(duì)比分析
從表3 可以看出,通過(guò)分析方案的查準(zhǔn)率和召回率,本方案基于模式匹配的算法,通過(guò)結(jié)合AC自動(dòng)機(jī)和語(yǔ)法模型,在巡檢指令詞的查錯(cuò)中達(dá)到了85%以上的準(zhǔn)確率,遠(yuǎn)高于通用的查錯(cuò)方式。
另外,通過(guò)分析詞錯(cuò)誤率和句錯(cuò)誤率,基于模式匹配的糾錯(cuò)算法詞錯(cuò)誤率至少降低了12.37%,句錯(cuò)誤率至少降低了17.28%,相較于傳統(tǒng)的糾錯(cuò)算法,方案3 和方案4 在電力巡檢指令詞的糾錯(cuò)上有明顯的改進(jìn)。
其次,結(jié)合圖11 分析可知,與模式匹配下的精確匹配糾錯(cuò)相比,模糊匹配提升了對(duì)于別字錯(cuò)誤的糾錯(cuò)能力,保證查錯(cuò)能力穩(wěn)定的同時(shí)進(jìn)一步提升了糾錯(cuò)效果,在糾錯(cuò)性能上能有更好的實(shí)際表現(xiàn)。
綜上所述,可以驗(yàn)證基于模式匹配的糾錯(cuò)算法對(duì)實(shí)際數(shù)據(jù)的糾錯(cuò)能力有進(jìn)一步改善,且模糊匹配算法對(duì)模式匹配下的精確匹配算法糾錯(cuò)失敗的識(shí)別串能進(jìn)行準(zhǔn)確修正,有巨大的實(shí)際應(yīng)用價(jià)值。
本文從現(xiàn)有的語(yǔ)音識(shí)別技術(shù)出發(fā),對(duì)面向電力巡檢語(yǔ)音指令識(shí)別后的文本糾錯(cuò)算法展開(kāi)研究,得出結(jié)論如下。
1)提出了構(gòu)建電力詞匯庫(kù)的語(yǔ)法模型,在查錯(cuò)和糾錯(cuò)過(guò)程中提供語(yǔ)法原則,提升了糾錯(cuò)效率;
2)利用AC 自動(dòng)機(jī)高效匹配的優(yōu)勢(shì),將其應(yīng)用于語(yǔ)音識(shí)別后文本的糾錯(cuò)中,通過(guò)建立漢字和拼音AC自動(dòng)機(jī)實(shí)現(xiàn)了電力巡檢指令詞的語(yǔ)音識(shí)別后文本的查錯(cuò)與糾錯(cuò),保證了在較低的時(shí)間復(fù)雜度下對(duì)同音字詞的糾錯(cuò)正確率;
3)針對(duì)精確匹配依然會(huì)存在糾錯(cuò)失敗的情況,提出了模糊匹配糾錯(cuò)算法,該算法進(jìn)一步解決了別字錯(cuò)誤類(lèi)型的糾錯(cuò),在性能上滿(mǎn)足了實(shí)際的需求,能夠較好地完成電力語(yǔ)音后文本的糾錯(cuò);
4)在實(shí)際的電力詞匯語(yǔ)音識(shí)別后文本中,雖然同音字錯(cuò)誤、別字錯(cuò)誤類(lèi)型占有最大的比例,但是還有其他類(lèi)型的錯(cuò)誤,例如缺字或多字錯(cuò)誤等,本方案在此類(lèi)型的語(yǔ)音識(shí)別后文本錯(cuò)誤類(lèi)型上不能有很好的性能表現(xiàn),需要進(jìn)一步的研究。
未來(lái),計(jì)劃將本文提出的糾錯(cuò)算法應(yīng)用于實(shí)際的電力環(huán)境中,考察長(zhǎng)期實(shí)際應(yīng)用下的精確匹配和模糊匹配的算法性能,并進(jìn)行有效地改進(jìn)。