楊宇凡
(人民教育電子音像出版社,北京 100081)
隨著人工智能技術(shù)的發(fā)展,人工智能相關(guān)應(yīng)用已逐步滲透進(jìn)各個(gè)行業(yè)。目前人工智能語音識別技術(shù)在客戶端的應(yīng)用較為廣泛,而在助力音頻內(nèi)容編輯生產(chǎn)方面的應(yīng)用研究還比較少,目前暫時(shí)沒有成熟的支持語音識別的音頻工作站軟件推出。本文聚焦人工智能語音識別技術(shù)輔助語言類錄音教材編輯研發(fā)應(yīng)用環(huán)節(jié),將語音識別技術(shù)與音頻工作站和媒資系統(tǒng)相結(jié)合,搭建語言類產(chǎn)品的智慧內(nèi)容生產(chǎn)平臺。該研究也可以橫向遷移到其他語言錄音項(xiàng)目上,如廣播劇或者聽書節(jié)目。因筆者主要從事錄音教材的研發(fā)相關(guān)工作,因此本研究以錄音教材中的應(yīng)用為例。
人民教育電子音像出版社的錄音教材產(chǎn)品在質(zhì)量和理念上均處于國內(nèi)領(lǐng)先水平,擁有超過30年的語言錄音教材創(chuàng)編經(jīng)驗(yàn)和內(nèi)容素材積累,對于人工智能自然語言處理的研究和應(yīng)用有著得天獨(dú)厚的優(yōu)勢。
人工智能(Artificial Intelligence,AI)是計(jì)算機(jī)科學(xué)的一個(gè)分支。它企圖了解智能的實(shí)質(zhì),并生產(chǎn)出一種能以人類智能相似的方式做出反應(yīng)的智能機(jī)器。人工智能技術(shù)由英國數(shù)學(xué)家、邏輯學(xué)家艾倫·圖靈(Alan Turing)于1950 年開創(chuàng)。1956 年,在達(dá)特茅斯學(xué)院數(shù)學(xué)系任教的約翰·麥卡錫(John McCarthy)及在哈佛大學(xué)任教的馬文·明斯基(Marvin Minsky)正式確立了人工智能這一概念[1]。
人工智能領(lǐng)域的研究包括機(jī)器人、語言識別、圖像識別、自然語言處理以及專家系統(tǒng)等。其中,自然語言處理(Natural Language Processing,NLP)是人工智能的重要應(yīng)用分支。自然語言處理最早開始于對機(jī)器翻譯的研究。它研究能實(shí)現(xiàn)人與計(jì)算機(jī)之間用自然語言進(jìn)行有效通信的各種理論和方法。自然語言處理是一門融語言學(xué)、計(jì)算機(jī)科學(xué)、數(shù)學(xué)于一體的科學(xué)。語音識別是自然語言處理的應(yīng)用方向之一。歷史上,語音識別曾出現(xiàn)過很多種技術(shù)實(shí)現(xiàn)路徑,其中不乏有些路徑經(jīng)過數(shù)十年研究后才發(fā)現(xiàn)不可行。當(dāng)前的自然語言處理語音識別技術(shù)主要基于人工智能深度學(xué)習(xí)算法(Deep Learning,DL)和語言模型(Language Model,LM)來實(shí)現(xiàn)。本文主要研究的也是基于人工智能深度學(xué)習(xí)算法結(jié)合語言模型實(shí)現(xiàn)的語音識別技術(shù)在語言類錄音教材的編輯研發(fā)應(yīng)用。
在人工智能自然語言處理中,構(gòu)建語言模型是重要的基礎(chǔ)工作之一。自然語言處理最常見的數(shù)據(jù)是文本數(shù)據(jù)。文字、字母這類數(shù)據(jù)是一種離散的時(shí)間序列,即字符間的關(guān)系并不像溫度、長度一樣是連續(xù)的,不同的先后順序和排列組合導(dǎo)致不同的語義[2]。
假設(shè)一段詞匯為T的文本中的詞匯依次為w1,w2,w3…,wT,這個(gè)序列中的每一個(gè)詞都是依次生成的,那么語言模型將計(jì)算該序列的概率為:
當(dāng)使用一個(gè)大型文本語料庫去訓(xùn)練這樣的一個(gè)語言模型時(shí),就可以得到詞頻和下一個(gè)單詞出現(xiàn)的概率數(shù)據(jù)。這在自然語言處理中用途很大。例如在機(jī)器翻譯領(lǐng)域,把英文“You leave first”翻譯成中文,如果只是對單詞進(jìn)行翻譯那么只能翻譯成“你離開先”,但如果加入了語言模型對下一個(gè)單詞出現(xiàn)概率的預(yù)測后,那么計(jì)算機(jī)可計(jì)算出“你先離開”出現(xiàn)的概率高于“你離開先”,那么機(jī)器翻譯就可以改進(jìn)之前的翻譯結(jié)果為“你先離開”,從而得到更好的結(jié)果。語音識別本質(zhì)上也是一種翻譯工作,只不過源數(shù)據(jù)從某種外語變成了音頻波形。
然而,當(dāng)句子中的單詞序列比較長時(shí),計(jì)算量將呈指數(shù)級增加,龐大的計(jì)算量使得對整句話進(jìn)行預(yù)測十分困難。為了解決這個(gè)問題,對語言模型使用馬爾可夫假設(shè)(Markov-Assumption),可以簡化上述語言模型[3]。馬爾可夫假設(shè)規(guī)定一個(gè)詞的出現(xiàn)概率只與它前面的那個(gè)詞有關(guān),一個(gè)n階馬爾可夫假設(shè)序列中下一個(gè)詞只依賴于其前的n個(gè)詞,即n階馬爾可夫鏈(Markov chain of ordern),其中n越大,預(yù)測越準(zhǔn)確,同時(shí)運(yùn)算量也越大。n階馬爾可夫鏈表達(dá)式為:
使用馬爾可夫假設(shè)對模型進(jìn)行簡化是不嚴(yán)謹(jǐn)、不準(zhǔn)確的,因?yàn)橄乱粋€(gè)單詞出現(xiàn)的概率可能并不依賴于前面n個(gè)詞,但馬爾可夫假設(shè)依然是數(shù)十年來語言模型的主導(dǎo)方法。此外,即便使用了馬爾可夫鏈進(jìn)行簡化計(jì)算,運(yùn)算量依然不小。為了解決馬爾可夫鏈的局限性,本文研究引入了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。在循環(huán)神經(jīng)網(wǎng)絡(luò)中,每一層的計(jì)算結(jié)果不僅會輸出到下一層,而且還會同時(shí)輸出一個(gè)隱藏狀態(tài),給當(dāng)前層在處理下一個(gè)樣本時(shí)使用。循環(huán)神經(jīng)網(wǎng)絡(luò)的提出是為了更好地處理序列信息,在處理時(shí)空中有相關(guān)性的數(shù)據(jù)和自然語言處理方面有非常重要的應(yīng)用[4]。
前饋神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)如圖1 所示。
圖1 前饋神經(jīng)網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)對比
將循環(huán)神經(jīng)網(wǎng)絡(luò)圖按照時(shí)間展開后得到圖2。
圖2 循環(huán)神經(jīng)網(wǎng)絡(luò)按照時(shí)間展開后示意圖
使用語言模型馬爾克夫鏈和循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測文字對比示意如圖3 所示??梢灾庇^地看出,基于馬爾可夫鏈預(yù)測文字,預(yù)測結(jié)果只與預(yù)測字前1個(gè)字(或n個(gè)字)有關(guān)。而基于循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測的字,不僅與前一個(gè)字有關(guān),同時(shí)與前邊所有的字相關(guān)。
圖3 馬爾克夫鏈和循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測文字對比示意圖
循環(huán)神經(jīng)網(wǎng)絡(luò)在前饋神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,增加一個(gè)隱藏狀態(tài)和時(shí)間戳的參數(shù)。循環(huán)神經(jīng)網(wǎng)絡(luò)的表達(dá)式為:
式中:h為隱藏單元個(gè)數(shù),q為輸出個(gè)數(shù),t為時(shí)間同步狀態(tài),φ為隱藏層的激活函數(shù)。
通過這個(gè)表達(dá)式可以看出,模型參數(shù)數(shù)量上相對馬爾可夫鏈大大簡化,計(jì)算量也要小的多。而且,即便是用于預(yù)測最后一個(gè)字符的隱藏參數(shù),也是從第一個(gè)序列數(shù)據(jù)計(jì)算而來,也就是與第一個(gè)序列數(shù)據(jù)相關(guān),這就解決了馬爾可夫鏈簡化導(dǎo)致的預(yù)測精確度下降的問題。總之,循環(huán)神經(jīng)網(wǎng)絡(luò)就是用較少的模型參數(shù)和計(jì)算量表達(dá)了比較復(fù)雜和比較長的基于時(shí)空的序列數(shù)據(jù)。
在實(shí)際應(yīng)用中,通常使用RNN 神經(jīng)網(wǎng)絡(luò)的變體——編碼器和解碼器(Seq2Seq)模型。循環(huán)神經(jīng)網(wǎng)絡(luò)的功能就是輸入一串不定長的序列數(shù)據(jù),輸出一串定長的序列數(shù)據(jù)。但這種方式在應(yīng)用上存在一定局限性。比如把一段語音識別成文字(輸入一段語言音頻序列,預(yù)測輸出一段文字序列)這類應(yīng)用,由于音頻和文字是屬于兩種媒介和形式的信息,因此也是不等長的。
對于這種輸入和輸出通常都是不定長的情況,傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)無法解決。2014 年,CHO 等提出了編碼器和解碼器(Seq2Seq)模型,解決了這個(gè)問題(編碼器與解碼器的英文直譯作從序列到序列)。編碼器與解碼器的模型結(jié)構(gòu)大致就是將兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)串聯(lián)起來,其中一個(gè)負(fù)責(zé)序列數(shù)據(jù)的輸入(編碼),另外一個(gè)負(fù)責(zé)序列數(shù)據(jù)的預(yù)測輸出(解碼)。兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)之間使用一個(gè)中介向量進(jìn)行連接,稱為背景向量(Context Vector)。這個(gè)背景向量包含了所有輸入端序列經(jīng)過神經(jīng)網(wǎng)絡(luò)編碼后的信息,可以作為輸出端循環(huán)神經(jīng)網(wǎng)絡(luò)t0時(shí)刻的序列信息,也可以在給到其他時(shí)刻與其他時(shí)刻的序列信息進(jìn)行結(jié)合??偟貋碚f,輸出序列是由輸入序列生成的中間背景向量產(chǎn)生的,并不是直接由輸入序列產(chǎn)生的,這樣的設(shè)計(jì)就使得輸出序列的長度并不受輸入序列長度的影響。
在實(shí)際應(yīng)用中,這兩個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)可以使用傳統(tǒng)的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),也可以用門控循環(huán)神經(jīng)網(wǎng)絡(luò)(Gated Recurrent Neural Network,GRU)、長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)等。涉及到機(jī)器翻譯時(shí),由于機(jī)器翻譯往往需要比較復(fù)雜的映射關(guān)系并且需要結(jié)合上下文,通常會選用多層的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)。此外,還會引入注意力機(jī)制(Attention Mechanism),對不同的詞分配不同的權(quán)重,以提高計(jì)算效率和精確度。編碼器與解碼器(Seq2Seq)的神經(jīng)網(wǎng)絡(luò)如圖4 所示。這是一個(gè)輸入3 個(gè)序列輸出4 個(gè)序列的神經(jīng)網(wǎng)絡(luò)圖,x代表輸入,y代表輸出,虛線表示可根據(jù)實(shí)際情況靈活選擇信息傳輸路由[5]。
圖4 編碼器與解碼器(Seq2Seq)的神經(jīng)網(wǎng)絡(luò)示意圖
在編碼器和解碼器模型出現(xiàn)前,語音識別領(lǐng)域的專家已經(jīng)花費(fèi)了數(shù)十年的時(shí)間研究語音識別。當(dāng)時(shí),人們把語音信息人為地分解為“音位”(Phonemes),將“音位”作為基本單元,通過識別音位來實(shí)現(xiàn)語音識別。這種通過人工設(shè)計(jì)構(gòu)建一種語言模型的方式花費(fèi)了研究者們多年的精力,導(dǎo)致語音識別系統(tǒng)非常復(fù)雜,但卻沒有獲得很好的語音識別效果。
在編碼器和解碼器模型出現(xiàn)后,人們發(fā)現(xiàn),基于“音位”的語音識別系統(tǒng)已經(jīng)不再必要了。當(dāng)然,這也就意味著很多語言專家畢其一生的研究成果變得沒有那么大的價(jià)值了。但從語音識別技術(shù)的發(fā)展來說,這恰恰證明了語音識別技術(shù)的進(jìn)步以及編碼器和解碼器模型的重要性,編碼器和解碼器模型在語音識別領(lǐng)域的應(yīng)用是一件里程碑式的事件。
從物理的角度看,人類的語言信息是通過聲帶、口腔、舌頭及唇齒共同形成的復(fù)合發(fā)聲系統(tǒng)的運(yùn)動,通過周期性地改變大氣壓強(qiáng)形成的微小的氣壓變化信號。人們的耳朵或者麥克風(fēng)就是通過感知?dú)鈮鹤兓盘枏亩叭÷曇粽Z言信息的。氣壓變化的幅度越大,聲音的音量也就越大,氣壓變化的速度越快,聲音的音調(diào)也就越高。通過計(jì)算機(jī)把氣壓變化信號記錄下來,就形成了音頻的波形文件,也就是經(jīng)常說的WAV 格式或者M(jìn)P3 格式的音頻文件。
這種波形文件被稱為聲音的時(shí)間域表示,可以看作聲音的振幅隨時(shí)間變化的信息。但聲音的時(shí)間域表示并不能提供非常有用的信息,為了更好地理解聲音信號,需要把時(shí)間域信息轉(zhuǎn)換為聲音的頻率域信息。通常使用快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT),將時(shí)間域信息表示的波形圖轉(zhuǎn)換為用頻率域信息表示的梅爾聲譜圖。梅爾聲譜圖既可以表示時(shí)間信息,又可以表示頻率信息。將音頻信號轉(zhuǎn)化為圖像信號,非常適合作為語言的特征信息進(jìn)行提取,如圖5 所示[6]。
圖5 利用快速傅里葉變換將波形圖轉(zhuǎn)換為聲譜圖
之后,直接把用于訓(xùn)練的聲譜信息與相對應(yīng)的文本信息輸入編碼器和解碼器神經(jīng)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,以訓(xùn)練模型參數(shù),通常需要數(shù)千小時(shí)的音頻和對應(yīng)翻譯文本的數(shù)據(jù)量。從語音信息到文本信息之間的關(guān)聯(lián)對應(yīng),是由計(jì)算機(jī)通過訓(xùn)練數(shù)據(jù)訓(xùn)練生成的,而非人為設(shè)計(jì)的“音位”,這就體現(xiàn)了人工智能技術(shù)“自我學(xué)習(xí)”的特性。在實(shí)際應(yīng)用過程中,還需要使用一些更深入的算法解決,比如連接時(shí)序分類(Connectionist Temporal Classification,CTC)和注意力模型等[2-4]。
整個(gè)基于編碼器和解碼器模型語音識別訓(xùn)練過程如圖6 所示。
圖6 基于編碼器和解碼器模型語音識別訓(xùn)練過程
AI 語音識別技術(shù)作為一種語言類錄音教材研發(fā)輔助工具,生成的文字?jǐn)?shù)據(jù)與音頻同時(shí)存入媒資系統(tǒng)存檔。音頻或音樂編輯時(shí)的文本對照或用于教材內(nèi)容素材庫和音頻母版資料庫的分析和再利用。出版社歷經(jīng)數(shù)十年的出版工作,積累了大量的素材資源,諸如舊版的課文的朗誦素材,這些課文有些隨著教科書的修訂逐漸被修改、替換。此類資料素材很多往往都是名家名篇、名家演播錄制,富有價(jià)值,但以目前的手段,很難將其利用起來。由于沒有找到很好的方式利用,這些素材就逐漸地變成了單純的存檔資料,也可以被稱作“信息孤島”。即便有個(gè)別素材還可以使用,但由于間隔時(shí)間太長,素材太過零散,缺乏多維度的標(biāo)注信息,也很難被挖掘出來加以利用。
傳統(tǒng)的媒資管理系統(tǒng)能夠解決一部分問題,但是由于媒資管理系統(tǒng)非常依賴素材人工標(biāo)注,面對海量的母版素材,這樣的人工標(biāo)注成本是巨大的。此外,即便是有專業(yè)的人工標(biāo)注,也只能標(biāo)注信息的幾個(gè)維度,當(dāng)人們想通過歷史素材助力新教材研發(fā)和應(yīng)用時(shí),這樣的維度往往是不夠的。相比之下,目前百度人工智能自然語言處理的詞語向量是1 024 個(gè)維度[6],大部分是通過人工智能非監(jiān)督學(xué)習(xí)(Unsupervised Learning)算法得出的,少部分是通過語言專家人工監(jiān)督學(xué)習(xí)(Supervised Learning)獲得的。語言專家在這里的作用更多的是評價(jià)、校驗(yàn)人工智能算法的結(jié)果。通過這種方式,可使在錄音教材研發(fā)過程中對歷史素材的利用達(dá)到一個(gè)新的高度。通過人工智能化的媒資管理系統(tǒng),可以很容易地搜索音頻內(nèi)容,使用模糊語義搜索,甚至可以配合聲紋識別和人臉識別技術(shù)[6],提供更加高效、精準(zhǔn)、全面的內(nèi)容支持,從而使得選題策劃質(zhì)量和效率大大提升。
除了對歷史素材的分析,還可以利用人工智能自然語言處理系統(tǒng)橫向分析、對比其他出版單位和其他國家的教材,例如分析其他出版機(jī)構(gòu)錄音教材產(chǎn)品的形式、用詞、主題、情緒、語速及難度等信息,通過人工智能自然語言處理技術(shù)進(jìn)行市場競品對比分析,可以更有效地助力優(yōu)化、提升自身產(chǎn)品的品質(zhì)和市場認(rèn)可度。
此外,在錄音教材音頻的編輯和母版制作過程中,可以引入人工智能對于語言信息的音質(zhì)優(yōu)化算法。例如,iZotope 公司和Steinberg 等公司已經(jīng)推出相應(yīng)的產(chǎn)品,并已被廣泛使用。很多原來通過電聲技術(shù)無法解決的問題,現(xiàn)在可以通過人工智能算法解決。因這方面技術(shù)已有成熟的產(chǎn)品,本文不再贅述。
前兩節(jié)闡述的語音識別,可將其類比成耳和嘴,但人工智能語音識別能實(shí)現(xiàn)的不僅僅是這些,其還可以根據(jù)文本內(nèi)容分析出文本背后的情緒、語法等。這對于語言錄音教材的編輯與研發(fā)有著更重要的意義。例如,利用大數(shù)據(jù)技術(shù)獲得用戶畫像和市場反饋,通過收集到的數(shù)據(jù)反饋與AI 分析結(jié)果進(jìn)行對照[7],可以繼續(xù)打磨語言錄音教材產(chǎn)品。
現(xiàn)在的人工智能平臺可把自然語言處理高級應(yīng)用分解為五種類型的應(yīng)用模塊(以百度人工智能平臺為例),分別是詞法句法分析、語言模型、情感情緒分析以及內(nèi)容預(yù)測與生成。在實(shí)際應(yīng)用中,平臺提供更為細(xì)化的分類,比如地址識別、專有名詞識別等模塊,也有專門進(jìn)行詞句相似度計(jì)算的模塊。這些模塊主要是針對特定應(yīng)用場景開發(fā)的,可以包含進(jìn)上述5 種類型應(yīng)用模塊中。
調(diào)用百度人工智能開放平臺自然語言處理應(yīng)用程序接口(Application Programming Interface,API)的方法與語音識別合成的方法大體一致,按照官方指導(dǎo)手冊的參數(shù)和格式編寫代碼即可,本節(jié)將略去詳細(xì)代碼。
詞法句法分析即對一段語言文字進(jìn)行詞語分割,對語義結(jié)構(gòu)和詞性進(jìn)行分析[8]。人類的語言具有一定的模糊性,但也正是基于這種模糊性,產(chǎn)生了諸如詩歌這類藝術(shù)性的語言。人類在日常運(yùn)用語言表達(dá)的時(shí)候往往會攜帶大量的隱含信息或者言外之意。正確處理語言的模糊性和隱藏信息,是自然處理的難點(diǎn)。使用詞法句法分析模型可以較為準(zhǔn)確地解決這些問題。詞法句法分析的前提是正確地對句子中的詞語進(jìn)行分割。下面是一段詞語分割的示例。
例句:我們要確保已經(jīng)確診的和尚未確診的人都做好隔離措施。
如果算法誤把“和尚”作為一個(gè)名詞,那么該句話就變成了“我們要確保已經(jīng)確診的和尚,未確診的人都做好隔離措施”。很明顯,這偏離了該句的原始含義。分詞錯(cuò)誤會直接導(dǎo)致語義理解出錯(cuò),可見詞語分割的重要性。
正確的詞語分割為:我們/要/確保/已經(jīng)/確診/的/和/尚未/確診/的/人/都/做好/隔離/措施/。
將這句話輸入百度人工智能詞法分析引擎,得到的結(jié)果如表1 所示。
表1 百度人工智能詞法分析引擎輸出結(jié)果
正確的詞法句法分析是處理語言信息的基礎(chǔ)。語言模型通過訓(xùn)練已有的語言文字素材,判斷給定的語言文字素材是否符合客觀語言表達(dá)習(xí)慣,這通常用于文本糾錯(cuò)或者對語言文字內(nèi)容進(jìn)行潤色,以提高語言文字的表達(dá)質(zhì)量。
情感情緒分析是自然語言處理技術(shù)的重要應(yīng)用,可以分析出一段語言文字內(nèi)容背后的情感或情緒。輸入一段語言文字信息后,將得到情感和情緒分析的結(jié)果。以百度AI 情感分析平臺為例,結(jié)果低于50%為負(fù)向情感,高于50%為正向情感。同樣以“我們要確保已經(jīng)確診的和尚未確診的人都做好隔離措施?!边@段文字為例,將這段文字輸入百度人工智能情感分析模型中,得到的結(jié)果為21%,判定為偏負(fù)向情感。這個(gè)功能可以用于錄音教材教育學(xué)習(xí)平臺的內(nèi)容管理等應(yīng)用。
內(nèi)容預(yù)測與生成主要用于機(jī)器翻譯、智能創(chuàng)作及對話系統(tǒng)。其中,機(jī)器翻譯是目前較為成熟的技術(shù),能夠接近人工翻譯的水平。智能創(chuàng)作目前主要用于結(jié)構(gòu)化數(shù)據(jù)的寫作,比如寫通知公告等。對話系統(tǒng)目前主要用于客服、產(chǎn)品售后反饋等場景,可以用于大幅降低客服等人力成本。
上述自然語言處理高級應(yīng)用的五個(gè)模塊和前兩節(jié)介紹的語音識別與合成,在實(shí)際的產(chǎn)品中通常不會獨(dú)立使用,而是將不同模塊組合起來使用,以滿足各種需求。
下一章將重點(diǎn)討論基于人工智能的自然語言處理在錄音教材中的應(yīng)用。
本文以Python 語言和百度人工智能平臺為例,做一些自然語言處理應(yīng)用試驗(yàn)。也可以使用Adobe、訊飛等公司的自然語言處理產(chǎn)品。需要注意的是,尚未發(fā)行的產(chǎn)品資料需要保密,如果企業(yè)對數(shù)字資產(chǎn)上傳云端有嚴(yán)格的限制,那就需要采用本地離線的方式進(jìn)行音頻的識別處理。目前,Adobe 公司的產(chǎn)品支持本地離線識別處理,用戶使用時(shí)無需聯(lián)網(wǎng)。
首先要搭建測試平臺開發(fā)環(huán)境。在本地計(jì)算機(jī)上安裝Python 開發(fā)環(huán)境和百度人工智能SDK(Baidu-aip)。可先從Python 官方網(wǎng)站下載Python 安裝程序并安裝,在安裝時(shí)需勾選PIP(Python 包管理工具)。安裝完P(guān)ython 后,使用PIP,在Windows 命令行中執(zhí)行“pip install baidu-aip”命令即可在線安裝百度人工智能SDK(Baidu-aip)。
完成本地測試環(huán)境的安裝后,開始配置百度人工智能開放平臺。登錄百度人工智能開放平臺(ai.baidu.com),進(jìn)入語音技術(shù)區(qū),開通語音識別服務(wù),創(chuàng)建一個(gè)語音技術(shù)應(yīng)用,系統(tǒng)將自動勾選所有與語音技術(shù)相關(guān)的功能框。創(chuàng)建成功后,進(jìn)入到語音技術(shù)管理頁面,輸入相應(yīng)的AppID、API Key 及Secret Key,并將這3 個(gè)參數(shù)嵌入到Python 程序里,就可以將程序與百度人工智能平臺API 相連接,實(shí)現(xiàn)語音識別功能。使用Python 解釋器,按照百度人工智能開放平臺語音識別SDK 規(guī)范,編寫一段語音識別代碼,如圖7 所示。
圖7 百度人工智能平臺SDK 語音識別Python 代碼
百度人工智能開放平臺語音識別SDK 的其他參數(shù)如表2 所示。
表2 百度人工智能開放平臺語音識別參數(shù)表
將測試用于語言識別的“test.wav”音頻放入Python 代碼所指定的路徑后,運(yùn)行代碼,得到以下結(jié)果,如圖8 所示。經(jīng)比對,語音識別結(jié)果與原音頻內(nèi)容相吻合,達(dá)到試驗(yàn)預(yù)期。
圖8 語音識別結(jié)果
語音識別SDK 支持按語義自動分句、分詞并生成時(shí)間碼,可以將輸出結(jié)果以逗號(Comma)為分隔符的方式輸出為CSV(逗號分隔值文件格式)文件。如以逗號為例,文件內(nèi)容格式如圖9 所示。
圖9 語音識別數(shù)據(jù)CSV 數(shù)據(jù)格式
CSV 文件格式的通用性較強(qiáng),可以轉(zhuǎn)換成Excel、Access 等格式數(shù)據(jù)錄入到媒資庫中,以便進(jìn)行各種方式的信息檢索,避免信息孤島的產(chǎn)生,助力后續(xù)產(chǎn)品的開發(fā)。也可直接被Cubase、Nuendo等音頻工作站軟件直接識別并導(dǎo)入工程,可作為編輯時(shí)的文本與波形對照與定位。如圖10、圖11所示。
圖10 將CSV 文件導(dǎo)入Nuendo 音頻工作站軟件標(biāo)記軌后的文本波形對照效果
圖11 將CSV 文件錄入媒資系統(tǒng)后對音頻素材的檢索效果
隨著技術(shù)的發(fā)展,音頻編輯處理技術(shù)也正向著智能化轉(zhuǎn)變,這將是一次重大的技術(shù)變革。本研究將傳統(tǒng)的語言錄音制作與人工智能自然語言處理語音識別技術(shù)相結(jié)合,探索出一條可行的路徑,助力音頻產(chǎn)品的編輯與研發(fā)。本文從理論入手,簡單地介紹了語音識別理論基礎(chǔ),在目前沒有相關(guān)應(yīng)用產(chǎn)品的情況下,率先通過算法代碼進(jìn)行相關(guān)功能的實(shí)現(xiàn)。相信隨著技術(shù)的發(fā)展,未來越來越多廠家會推出智能化相關(guān)的產(chǎn)品。隨著人工智能技術(shù)的發(fā)展,只有掌握最新的人工智能技術(shù),才能繼續(xù)引領(lǐng)行業(yè)。