薛晴 張金軒 龐文健 牛連強(qiáng)
摘要:為了實(shí)現(xiàn)對(duì)演示文稿PowerPoint(PPT)的自動(dòng)控制和自然交互,設(shè)計(jì)了一個(gè)基于語(yǔ)音識(shí)別的演示文稿自動(dòng)控制與播放系統(tǒng):小音同學(xué)。系統(tǒng)以語(yǔ)音識(shí)別、自然語(yǔ)言處理和文本模糊匹配等作為支撐技術(shù),利用演講者的語(yǔ)音信息實(shí)現(xiàn)PPT的語(yǔ)音跟隨和操作控制,如自動(dòng)翻頁(yè)和跳轉(zhuǎn)等。利用該系統(tǒng),演講者不需要借助額外控制設(shè)備或鍵盤操作,也不必花精力做前期排練,可集中精力于演講本身。實(shí)際測(cè)試和分析表明,系統(tǒng)語(yǔ)音識(shí)別準(zhǔn)確,控制方便,且對(duì)語(yǔ)音到文本轉(zhuǎn)換及方言都能提供較好的支持,可以被廣泛應(yīng)用于授課、宣傳、演講等一般的PPT應(yīng)用場(chǎng)景。
關(guān)鍵詞:語(yǔ)音識(shí)別; 文本匹配;演示文稿;自然語(yǔ)言處理
中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)34-0195-03
1引言
演示文稿(PPT)是一種常見的重要輔助工具,在宣傳、報(bào)告、授課及答辯中眾多活動(dòng)中被廣泛使用。一次高水平的演講更重視PPT頁(yè)面不僅與演講內(nèi)容的一致性,演講者常常需要事先做長(zhǎng)時(shí)間的演練,或者安排專門的PPT操作人員,人為因素或設(shè)備故障都容易導(dǎo)致誤操作。
較早語(yǔ)音技術(shù)[1,2]將其用于處理文稿演示的工作來自2016年科大訊飛申請(qǐng)的專利“一種多媒體轉(zhuǎn)寫方法和系統(tǒng)”[3],解決了用戶再次觀看學(xué)習(xí)PPT內(nèi)容時(shí),演講者的演講內(nèi)容與對(duì)應(yīng)PPT頁(yè)數(shù)不同步的問題。2018年,文獻(xiàn)[4]在播放PPT時(shí),依據(jù)規(guī)定的分句策略,通過語(yǔ)音識(shí)別引擎判斷語(yǔ)句中是否包含控制指令喚醒詞,形成類似于“字幕”的效果。體感操控演示文稿系統(tǒng)[5]提供了一種通過人體動(dòng)作控制PPT的方案,采用kinect體感設(shè)備實(shí)現(xiàn)了通過手勢(shì)識(shí)別控制的翻頁(yè)操作。
本文以云語(yǔ)音識(shí)別為基礎(chǔ),通過語(yǔ)音跟隨控制PPT的自動(dòng)步進(jìn),保持與演講速度的一致性,以消除額外的設(shè)備支持和生硬的喚醒詞指令控制。為了應(yīng)付特殊需要,也通過語(yǔ)義識(shí)別接口,加入了自定義的等價(jià)喚醒詞及控制指令。同時(shí),對(duì)演講內(nèi)容做實(shí)時(shí)文字轉(zhuǎn)錄,并提供方言識(shí)別模式,方便記錄和增強(qiáng)對(duì)不規(guī)范語(yǔ)音的支持能力。
2系統(tǒng)結(jié)構(gòu)與工作流程
對(duì)于一般的演講場(chǎng)景,使用默認(rèn)的普通話語(yǔ)音識(shí)別引擎即可滿足演講需求。系統(tǒng)讀取PPT中的文本和由演講內(nèi)容轉(zhuǎn)換的文本后,對(duì)所有文本進(jìn)行分詞、過濾處理,再利用文本匹配算法計(jì)算文本相似度,當(dāng)演講者演講內(nèi)容與PPT演示內(nèi)容的相似度達(dá)到所設(shè)定閾值后,將翻頁(yè)信號(hào)傳遞給PPT控制模塊,完成PPT翻頁(yè)。圖1說明了基本的工作流程。
系統(tǒng)利用普通麥克作為音源采集設(shè)備,采用阿里云語(yǔ)音識(shí)別引擎實(shí)現(xiàn)對(duì)語(yǔ)音的實(shí)時(shí)轉(zhuǎn)寫。下述流程對(duì)系統(tǒng)各節(jié)點(diǎn)的處理方法和應(yīng)用的技術(shù)做了細(xì)化。
(1)系統(tǒng)預(yù)設(shè)一個(gè)指定區(qū)域,演講者將PPT文件拖曳至此區(qū)域。系統(tǒng)讀取PPT頁(yè)面的文本框內(nèi)容及其位置等相關(guān)信息,開始文字提取并激活語(yǔ)音識(shí)別接口。
(2)將從PPT中提取的文本以特定格式存儲(chǔ),進(jìn)行正則過濾和自然語(yǔ)言處理。
(3)以PPT文字為配準(zhǔn)依據(jù),初始化配準(zhǔn)模塊。
(4)從麥克風(fēng)采集演講者的音頻,循環(huán)檢測(cè)上傳語(yǔ)音,云端語(yǔ)音識(shí)別引擎對(duì)語(yǔ)音進(jìn)行文字轉(zhuǎn)換、校驗(yàn)并返回轉(zhuǎn)寫結(jié)果。
(5)云端轉(zhuǎn)寫文本通過自然語(yǔ)言處理后,與PPT中提取的文本進(jìn)行匹配,根據(jù)處理結(jié)果決定是否調(diào)用控制PPT操作的相關(guān)方法。
3系統(tǒng)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)的核心內(nèi)容包括語(yǔ)音識(shí)別、PPT文本提取和文本匹配三部分。
3.1 語(yǔ)音識(shí)別
(1)云語(yǔ)音識(shí)別接口。語(yǔ)音識(shí)別采用阿里云實(shí)時(shí)語(yǔ)音識(shí)別接口,將語(yǔ)音識(shí)別中用到的識(shí)別特征庫(kù)、復(fù)雜的計(jì)算和語(yǔ)音數(shù)據(jù)都置于云端服務(wù)器上。采用云語(yǔ)音識(shí)別技術(shù)的優(yōu)勢(shì)主要體現(xiàn)在,因?yàn)橛?jì)算和存儲(chǔ)壓力都放到了云端,可降低開發(fā)成本,縮短應(yīng)用開發(fā)周期。同時(shí),有助于解決離線語(yǔ)音識(shí)別時(shí)的識(shí)別率低、識(shí)別速度慢等問題。此外,還可以避免離線語(yǔ)音識(shí)別程序一般較大,不方便用戶獲取和安裝的困難。
該接口支持pcm音頻編碼格式和8000Hz、16000Hz的音頻采樣率。
(2)語(yǔ)音文本預(yù)處理。為確保文本匹配階段的精度,對(duì)語(yǔ)音識(shí)別得到的字符串進(jìn)行篩查,目的是提高匹配的精準(zhǔn)度以及匹配的速度。
Step1. 用正則表達(dá)式([^\u4e00-\u9fa5:;,。???])匹配出所有非中文文本并刪除。
Step2. 如果字符串長(zhǎng)度小于2,(之前的中間內(nèi)容刪除)文本內(nèi)容價(jià)值低,舍棄。否則,視為有效的語(yǔ)音識(shí)別結(jié)果,保留,待后續(xù)匹配。
(3)場(chǎng)景與方言??紤]到用戶的多樣性以及詞匯差別較大的不同應(yīng)用場(chǎng)景,系統(tǒng)引入了多種場(chǎng)景語(yǔ)音識(shí)別模式,如通用中文、新零售領(lǐng)域、政法庭審、醫(yī)療領(lǐng)域、演講領(lǐng)域等。同時(shí),引入如湖北、四川、粵語(yǔ)等多種方言識(shí)別模式。語(yǔ)音識(shí)別模式由阿里云實(shí)時(shí)語(yǔ)音識(shí)別引擎提供。
3.2 ?PPT的文本提取、存儲(chǔ)及處理
PPT頁(yè)面處理部分包括提取文本作為匹配的依據(jù),對(duì)不利于匹配的內(nèi)容進(jìn)行過濾,對(duì)復(fù)雜的多文本框進(jìn)行篩選和排序,對(duì)提取到的文本進(jìn)行自然語(yǔ)言處理等,目的是建立待匹配文本序列。
(1)文本讀取。本文采用Apache POI的XSLF與HSLF組件處理PPT的文本相關(guān)信息,包括讀取、創(chuàng)建和編輯,二者分別對(duì)應(yīng)2007及以上版本(新版)和2003版本(舊版)。
首先,判別PPT文件的版本。若PPT文件擴(kuò)展名的末端字母為“t”或“T”,表明為舊版。若為“x”或“X”則為新版。以此決定選用HSLF或XSLF組件。
其次,創(chuàng)建存儲(chǔ)PPT各頁(yè)的文本對(duì)象的類PPTTextSave。每頁(yè)P(yáng)PT都由若干文本框組成,每個(gè)文本框中的全部信息都儲(chǔ)存在一個(gè)PPTString類對(duì)象中。
對(duì)PPT文本用正則表達(dá)式([^\u4e00-\u9fa5:;,。?。縘)匹配出所有非中文文本并刪除。篩查后的文本保存至PPTTextSave類中。
(2)文本框排序。將通過正則表達(dá)式篩查后的文本以每一個(gè)文本框?yàn)閱挝贿M(jìn)行分詞、詞性標(biāo)注和關(guān)鍵詞提取,并對(duì)文本框進(jìn)行排序。由于一頁(yè)中的文本框大小、位置的復(fù)雜性,為了確定文本框的順序,本文建立了如下的排序算法:
Step 1. 計(jì)算所有文本框坐標(biāo)和尺寸。
Step 2. 檢測(cè)所有文本框的交叉關(guān)系。
Step 3. 對(duì)所有文本框,依據(jù)其top穩(wěn)定排序。
Step 4. 依據(jù)高度交叉大小為依據(jù),測(cè)試所有處于相同層的文本框并加標(biāo)記。
Step 5. 對(duì)每個(gè)同層的文本框穩(wěn)定排序,加標(biāo)記,設(shè)置匹配順序。
當(dāng)文本框經(jīng)判斷被確認(rèn)為是該頁(yè)中最后一個(gè)文本框時(shí),提取并存儲(chǔ)其中最后一句話的關(guān)鍵詞,為末端匹配算法做準(zhǔn)備。
(3)PPT文本存儲(chǔ)。儲(chǔ)存每個(gè)文本框內(nèi)的全部信息,包括各文本框所在的位置、文本框的寬高、文本框中的文字內(nèi)容、文本框中文字的分詞結(jié)果、文本框內(nèi)文本的多個(gè)關(guān)鍵詞以及文本框是否被匹配等相關(guān)信息。
在此類中對(duì)PPT內(nèi)的文字使用Java ansj分詞器的ToAnalysis分詞方式進(jìn)行分詞,標(biāo)注詞性(基于HMM和ngram方式)、去掉無(wú)意義的詞語(yǔ)和提取關(guān)鍵字等處理。其中,提取關(guān)鍵詞的個(gè)數(shù)由文本框中的文本長(zhǎng)度決定。
3.3文本匹配
為了保證匹配的準(zhǔn)確性和魯棒性,文本匹配部分使用了四種匹配方式將語(yǔ)音識(shí)別得到的文字與PPT提取得到的文字進(jìn)行匹配。
(1)末端匹配。當(dāng)使用者的語(yǔ)音信息經(jīng)語(yǔ)音識(shí)別處理后得到的文字包含此頁(yè)P(yáng)PT中所有需要進(jìn)行末端(或人為加入的注釋)匹配的詞語(yǔ)時(shí),認(rèn)為匹配成功,否則匹配失敗。
(2)精準(zhǔn)匹配。演講者的語(yǔ)音信息經(jīng)語(yǔ)音識(shí)別處理后得到一段文字,計(jì)算其與每個(gè)文本框中的文本相似度。當(dāng)相似度大于指定的閾值(取0.8)時(shí)認(rèn)為匹配成功。
文本相似度采用了google公司的simhash算法:
Step 1. 將文本分詞,得到無(wú)噪音詞的單詞序列并賦予每個(gè)單詞權(quán)重。
Step 2. 計(jì)算出每個(gè)詞的hash值。
Step 3. 將hash值按單詞權(quán)重形成加權(quán)數(shù)字串。
Step 4. 累加加權(quán)數(shù)字串,得到序列串。
Step 5. 對(duì)序列串降維(大于0的數(shù)字維度記為1,否則為0),得到simhash簽名。
Hash的位數(shù)會(huì)影響文本匹配的精確度,圖2顯示了一次測(cè)試結(jié)果。實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)hash數(shù)為64時(shí),獲取的文本相似度值較為穩(wěn)定合理。
(3)關(guān)鍵詞匹配。若由演講者的語(yǔ)音文本包含了某文本框內(nèi)的所有關(guān)鍵詞,認(rèn)為匹配成功,否則匹配失敗。
(4)翻頁(yè)指令匹配。若演講者的語(yǔ)音文本與翻頁(yè)或回退指令庫(kù)中的指令一致,執(zhí)行相應(yīng)操作。
PPT控制模塊使用Java robot類模擬鍵盤按鍵→、←控制翻頁(yè)或回退。
本文對(duì)系統(tǒng)進(jìn)行了實(shí)際測(cè)試,測(cè)試組數(shù)為100,在相對(duì)安靜、網(wǎng)絡(luò)信號(hào)穩(wěn)定的情況下,語(yǔ)音文本與真實(shí)文本的匹配度超過98%。在語(yǔ)句較為簡(jiǎn)短時(shí)錯(cuò)誤率增高,其原因是此時(shí)語(yǔ)音識(shí)別引擎很難做到“自?!?,即根據(jù)語(yǔ)義動(dòng)態(tài)修改之前已識(shí)別的內(nèi)容。
4結(jié)論
本文提出了一個(gè)無(wú)須額外設(shè)備實(shí)現(xiàn)PPT基于演講者的語(yǔ)音信息自動(dòng)控制翻頁(yè)和跳轉(zhuǎn)的方案,綜合運(yùn)用了語(yǔ)音識(shí)別、自然語(yǔ)言
處理和模糊匹配等技術(shù),給出了實(shí)現(xiàn)方法。實(shí)際構(gòu)建系統(tǒng),并針對(duì)演講時(shí)的實(shí)際使用表明,本系統(tǒng)能夠較為準(zhǔn)確地控制PPT的自動(dòng)翻頁(yè)操作,也可為PPT演示提供其他語(yǔ)音控制命令,并能提供一些如會(huì)議記錄等輔助功能,是解放演講人雙手的有效方法。
參考文獻(xiàn):
[1]蘧鵬里.語(yǔ)音識(shí)別技術(shù)綜述[J].計(jì)算機(jī)產(chǎn)品與流通,2018(8):105.
[2] 劉金媛,孟憲遵,丁海韜.改變移動(dòng)互聯(lián)網(wǎng)的新型人機(jī)交互技術(shù)[J].電信科學(xué),2013,29(6):136-138,163.
[3]王金钖,胡尹,潘青華,等.一種多媒體轉(zhuǎn)寫方法和系統(tǒng):中華人民共和國(guó), G10L15/04; G10L15/18;[P].2016-03-30.
[4]俞凱,趙晏彬.演示文稿的操作方法及系統(tǒng):中華人民共和國(guó),CN108920128A [P].2018-07-12.
[5]伊鳳嬌,李巖,王寧.體感操控演示文稿系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)產(chǎn)品與流通,2018(8):264,266.
【通聯(lián)編輯:光文玲】