周菊明 張良龍
摘 要:隨著教育信息化的推進(jìn)與應(yīng)用,各種在線學(xué)習(xí)平臺以及相關(guān)教育類產(chǎn)品如雨后春筍般涌現(xiàn),伴隨著這些平臺和產(chǎn)品的出現(xiàn),學(xué)習(xí)資源也迎來了爆發(fā)式增長。面對海量的學(xué)習(xí)資源,要做到不通過復(fù)雜的搜索引擎就可以實(shí)現(xiàn)對資源進(jìn)行快捷、精確的檢索,資源關(guān)鍵詞的智能化標(biāo)注就顯得尤為迫切與重要。本文依托蘇州工業(yè)園區(qū)易加互動學(xué)習(xí)平臺,以用戶上傳學(xué)習(xí)資源行為為入口,對學(xué)習(xí)資源進(jìn)行關(guān)鍵詞智能標(biāo)注,并加以深入的探索與研究,對學(xué)習(xí)資源智能生成關(guān)鍵詞標(biāo)注做了流程設(shè)計(jì)和功能模塊架構(gòu)設(shè)計(jì),同時還詳細(xì)介紹了對學(xué)習(xí)資源智能標(biāo)注的技術(shù)實(shí)現(xiàn)路徑。
關(guān)鍵詞:智能標(biāo)注;轉(zhuǎn)碼資源;語音識別;分詞;提取關(guān)鍵詞
中圖分類號:TP391.1 文獻(xiàn)標(biāo)志碼:A 文章編號:1673-8454(2018)07-0041-04
引言
在海量的學(xué)習(xí)資源中,用戶如何精確檢索到想要的資源是在線學(xué)習(xí)平臺必須解決的問題。如何讓資源附帶更準(zhǔn)確、更豐富的標(biāo)注信息,使其能被精準(zhǔn)地推送給用戶,則是在線學(xué)習(xí)平臺必須解決的另一個問題。
通常,學(xué)習(xí)資源一般都具有一些共同的屬性,如學(xué)段、年級、學(xué)科等。這些屬性,有一定的排他性,可以輔助用戶檢索。但是,僅僅有這些屬性還不能夠解決上述兩個問題。一方面,通過這些屬性進(jìn)行檢索,還不夠精確,因?yàn)橥瑫r具備某一類屬性(如同一學(xué)段、同一年級、同一學(xué)科)的資源還可能有很多;另一方面,這些屬性是共同的屬性,不能夠使被標(biāo)識的資源具有獨(dú)特性。所以我們設(shè)想,如果資源能夠有幾個關(guān)鍵詞標(biāo)注,那么問題就可以得到較好的解決。
傳統(tǒng)的標(biāo)注任務(wù)一般由用戶手動完成,即直接由用戶在上傳學(xué)習(xí)資源時,對資源進(jìn)行手動的關(guān)鍵詞標(biāo)注。這種方式固然有效,但是給上傳者帶來了痛點(diǎn),上傳者必須有足夠的耐心和時間提煉出資源的關(guān)鍵詞進(jìn)行標(biāo)注,一旦標(biāo)注不到位,出現(xiàn)偏差,就會影響資源使用的效度和信度。
鑒于以上情況,我們開始了學(xué)習(xí)資源智能標(biāo)注系統(tǒng)的研究。該系統(tǒng)在用戶上傳資源之后,提取出資源文字內(nèi)容,并對其分詞,提取出關(guān)鍵詞,進(jìn)行智能化的自動標(biāo)注。
一、系統(tǒng)架構(gòu)
在線學(xué)習(xí)平臺上的資源多以視頻類資源和文檔類資源為主,本文也只以這兩類資源作為研究對象。視頻類資源主要是由音頻和一系列圖片組成,而文檔類資源主要是由按照一定規(guī)則排版的文本、圖片組成。不論是哪種資源,其核心內(nèi)容的載體都是文字,圖片只起輔助理解的作用,不作為智能標(biāo)注系統(tǒng)的采集參照依據(jù)。
1.流程設(shè)計(jì)
用戶上傳學(xué)習(xí)資源時,為了能夠在HTML頁面正常播放,需要對資源進(jìn)行轉(zhuǎn)碼,轉(zhuǎn)碼的過程中可以提取出資源的內(nèi)容。其中,視頻類資源提取出音頻,進(jìn)而對音頻進(jìn)行語音識別成文本;而文檔類資源可以直接提取出文本。
基于上述情況,我們對學(xué)習(xí)資源智能標(biāo)注做了如圖1所示的設(shè)計(jì)。
2.架構(gòu)設(shè)計(jì)
基于上述流程設(shè)計(jì),我們對整個系統(tǒng)的架構(gòu)進(jìn)行了如圖2所示的設(shè)計(jì)。
(1)對外視圖:用于整個系統(tǒng)與用戶的直接交互,是產(chǎn)品的最終呈現(xiàn)形式。
(2)內(nèi)部網(wǎng)關(guān):負(fù)責(zé)整個系統(tǒng)中各個服務(wù)引擎之間的API通信,起到橋梁的作用。
(3)核心引擎:是整個系統(tǒng)的核心。依據(jù)功能劃分出“語音識別引擎”、“轉(zhuǎn)碼服務(wù)”、“文本分析引擎”三個功能模塊,每個功能模塊只負(fù)責(zé)相應(yīng)的功能。至于對功能模塊如何組合調(diào)度,則是上層服務(wù)根據(jù)具體業(yè)務(wù)邏輯來進(jìn)行調(diào)用。
(4)基礎(chǔ)架構(gòu):為整個系統(tǒng)提供各種軟硬件資源,包括數(shù)據(jù)存儲、文件存儲和計(jì)算等。
(5)監(jiān)控系統(tǒng):對整個系統(tǒng)各個層級、各個模塊進(jìn)行監(jiān)控。
二、技術(shù)實(shí)現(xiàn)
1.轉(zhuǎn)碼服務(wù)
(1)視頻轉(zhuǎn)碼技術(shù)
視頻轉(zhuǎn)碼是將已經(jīng)壓縮編碼的視頻碼流,轉(zhuǎn)換成另一個視頻碼流,以適應(yīng)不同的網(wǎng)絡(luò)帶寬、不同的終端處理和不同的用戶需求。轉(zhuǎn)碼本質(zhì)上是先解碼再編碼的過程。[1]本文使用FFMPEG技術(shù)來實(shí)現(xiàn)轉(zhuǎn)碼服務(wù),F(xiàn)FMPEG支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多種編碼,AVI、MPEG、OGG、Matorska、ASF等90多種解碼。除了視頻轉(zhuǎn)碼技術(shù)外,F(xiàn)FMPEG還集成了視頻采集、視頻格式轉(zhuǎn)換以及音頻提取等強(qiáng)大的功能。
(2)文檔轉(zhuǎn)碼技術(shù)
文檔轉(zhuǎn)碼技術(shù)是將各種文檔轉(zhuǎn)變格式得以在html頁面上顯示。本文采用的文檔轉(zhuǎn)碼技術(shù)主要有“Microsoft TechNet”和“icepdf”。其中,“Microsoft TechNet”是將各種文檔轉(zhuǎn)換成pdf文件,而“icepdf”則是將轉(zhuǎn)換后的pdf文件轉(zhuǎn)換為jpg圖片。
(3)提取文本
用戶上傳文檔后,后臺服務(wù)會將文檔原文件保存后,以發(fā)送“Microsoft TechNet”和“icepdf”命令的方式對其轉(zhuǎn)碼,同時利用“java poi”工具提取文本。
2.語音識別引擎
語言識別引擎是整個系統(tǒng)核心中的核心,主要功能是將音頻智能識別后輸出為對應(yīng)的文本。但在開始識別前,有兩個前置的功能需要先做好,即“去除靜音段”和“降噪處理”。
(1)去除靜音段
本文采用雙門限法對靜音進(jìn)行檢測,雙門限法同時存在四個門限值,分別是短時能量的低門限和高門限,短時過零率的低門限和高門限。[2]
語音信號中第n幀的短時能量為:
En= [x(m)·ω(n-m)]2
m=n-N+1
其中,x(m)表示語音信號,ω(n-m)表示相應(yīng)的窗函數(shù),N表示幀長。
語音信號中第n幀的短時過零率為:
Zn=∑|sgn[x(n)]-sgn[x(n-1)] |·ω(n-w)
其中,sgn[]為符號函數(shù),即:
sgn(x)= 1,x<0
-1,x?0
當(dāng)En (2)降噪處理 在背景噪聲較大的情況下,噪聲段的短時過零率要大于語音段的短時過零率,因此通過短時過零率可以有效地從背景中檢測出語音段。所以,我們可以得到:在背景噪聲較小的情況下,采用短時能量能夠較好地檢測出語音段;在背景噪聲較大的情況下,采用短時過零率能夠較好地檢測出語音段。 (3)語音識別 語音識別功能,大概可表示為圖3所示的結(jié)構(gòu)。 當(dāng)前的語音識別技術(shù)已經(jīng)引入了深度神經(jīng)網(wǎng)絡(luò)算法,其框架結(jié)構(gòu)十分復(fù)雜。本文所述的“語音識別”技術(shù)的實(shí)現(xiàn),使用了第三方科大訊飛的語音識別功能來實(shí)現(xiàn)。其主要優(yōu)勢在:一是能夠識別連續(xù)語音;二是識別準(zhǔn)確率超過95%;三是可自定義詞庫,提高識別個性化詞條的準(zhǔn)確率(如“勾股定理”這樣的專業(yè)術(shù)語)。 3.文本分析引擎 (1)分詞工具 本文采用的中文分詞系統(tǒng)是開源項(xiàng)目結(jié)巴分詞。該分詞系統(tǒng)采用基于Trie樹結(jié)構(gòu)實(shí)現(xiàn)高效的詞圖掃描,生成句子中漢字所有可能成詞情況所構(gòu)成的有向無環(huán)圖(DAG)。 (2)關(guān)鍵詞提取 本文采用的是TF-IDF 算法進(jìn)行關(guān)鍵詞提取。 TF-IDF的主要思想是:如果某個詞或短語在一篇文章中出現(xiàn)的頻率TF高,并且在其他文章中很少出現(xiàn),則認(rèn)為此詞或者短語具有很好的類別區(qū)分能力,適合用來分類。 在一份給定的文件里,詞頻(Term Frequency,TF)指的是某一個給定的詞語在該文件中出現(xiàn)的頻率。這個數(shù)字是對詞數(shù)的歸一化,以防止它偏向長的文件。對于在某一特定文件里的詞語來說,它的重要性可表示為: TFi,j= 其中ni,j是詞語ti在文件dj中出現(xiàn)的次數(shù),而分母則是在文件dj中所有詞語出現(xiàn)之和。 IDF反文檔頻率(Inverse Document Frequency)是一個詞語普遍重要性的度量,表示為: IDFi=log 其中,|D|表示語料庫中的文件總數(shù);|{j:ti∈dj}|表示包含詞語ti的文件數(shù)目(即ni,j≠0的文件數(shù)目)。[3] 最后: TFIDFi,j=TFi,j×IDFi 三、實(shí)驗(yàn)及結(jié)果分析 通過在易加互動學(xué)習(xí)平臺資源上傳模塊中上傳文檔、視頻資源,對視頻和文檔自動標(biāo)注的各個環(huán)節(jié)進(jìn)行驗(yàn)證、性能分析和結(jié)果評述如下。 我們選擇一個本地?cái)?shù)學(xué)微課視頻進(jìn)行上傳,上傳完之后后臺服務(wù)進(jìn)行轉(zhuǎn)碼和語音識別。上傳界面如圖4所示: 系統(tǒng)已自動生成標(biāo)注了“同類項(xiàng)”、“字母”、“相同”、“合并同類項(xiàng)”、“多項(xiàng)式”這五個關(guān)鍵詞。通過分析,我們發(fā)現(xiàn)系統(tǒng)對轉(zhuǎn)碼提取的音頻經(jīng)過語音引擎的識別處理,輸出的文本語音識別準(zhǔn)確率在90%~95%。 對以上文本進(jìn)行分詞后,提取關(guān)鍵詞處理,視頻的播放頁面已經(jīng)顯示了系統(tǒng)自動生成的五個關(guān)鍵詞標(biāo)注,這5個關(guān)鍵詞基本滿足預(yù)期要求。 同樣,我們選擇一個本地的文檔上傳至學(xué)習(xí)平臺。當(dāng)轉(zhuǎn)碼完成后,該資源的展示頁面,如圖5所示: 通過分析發(fā)現(xiàn)系統(tǒng)雖然順利完成了對識別的文本進(jìn)行分詞后提取關(guān)鍵詞處理,文檔的展示頁面已經(jīng)顯示了系統(tǒng)自動生成的 “等腰三角形”、“探索”、“數(shù)學(xué)”、“圖形”、“證明”這5個標(biāo)注的關(guān)鍵詞,但并未達(dá)到TF-IDF算法的預(yù)期效果。其中“探索”、“數(shù)學(xué)”、“圖形”、“證明”都是文檔出現(xiàn)的高頻詞,而此文檔需要表達(dá)的核心關(guān)鍵詞如“垂線段與高的關(guān)系”等并未標(biāo)注出來。主要原因可能有: (1)“探索”、“數(shù)學(xué)”、“圖形”、“證明”這幾個詞也可能出現(xiàn)在其他文檔中,由于實(shí)驗(yàn)的文檔樣本過少,導(dǎo)致系統(tǒng)以為這些高頻出現(xiàn)的詞就是需要標(biāo)注的關(guān)鍵詞。隨著用戶上傳的文檔數(shù)逐漸增加及通過對用戶人工標(biāo)注的關(guān)鍵詞的學(xué)習(xí),智能標(biāo)注的效度和精度會進(jìn)一步提高。 (2)由于實(shí)驗(yàn)時自定義詞庫和停用詞庫不完善,導(dǎo)致了如“探索”、“數(shù)學(xué)”、“證明”這些可以作為停用詞的詞條出現(xiàn)在最終的結(jié)果中。隨著自定義詞庫的豐富和停用詞庫的完善,這種現(xiàn)象會逐步改善。 通過實(shí)驗(yàn)及結(jié)果分析,不難發(fā)現(xiàn)關(guān)鍵詞提取的效果與學(xué)習(xí)資源本身的內(nèi)容以及詞庫的完備性之間有著較強(qiáng)的關(guān)聯(lián)性。通過對自定義詞庫中的詞與其他普通詞進(jìn)行加權(quán),使出現(xiàn)在自定義詞庫中的詞的加權(quán)系數(shù)高于普通詞的加權(quán)系數(shù),不斷升級TF-IDF算法,是有效降低這種關(guān)聯(lián)性的解決辦法。 四、總結(jié)與展望 學(xué)習(xí)資源的關(guān)鍵詞智能標(biāo)注,除了能夠方便用戶更好地檢索和標(biāo)識資源的獨(dú)特性外,我們還可以有其他方面的運(yùn)用: (1)對于一類關(guān)鍵詞或幾個關(guān)鍵詞經(jīng)常同時出現(xiàn)在某一文檔中,進(jìn)行大數(shù)據(jù)統(tǒng)計(jì)分析,進(jìn)而得到關(guān)鍵詞與關(guān)鍵詞之間的相似度。有了這個相似度之后,就可以得出新上傳的學(xué)習(xí)資源屬于哪一學(xué)段、年級、學(xué)科等屬性的概率值,將概率值最大的關(guān)鍵詞作為默認(rèn)值填到上傳表單中,避免用戶每一次上傳學(xué)習(xí)資源時都要去填這些屬性,可以有效提高用戶體驗(yàn)的滿意度。 (2)通過分析學(xué)生用戶使用學(xué)習(xí)資源的行為數(shù)據(jù),我們可以對其進(jìn)行用戶畫像。比如某學(xué)生在近一月內(nèi)對某一類資源觀看較為頻繁,通過對這一類資源的關(guān)鍵詞進(jìn)行匯總和統(tǒng)計(jì),我們可以更為個性化地為其推送其他學(xué)習(xí)資源。 參考文獻(xiàn): [1]趙淑漫.FFMPEG轉(zhuǎn)碼技術(shù)在HTML5視頻系統(tǒng)中的研究與應(yīng)用[D].東華大學(xué),2014. [2]Thomas Parsons W. Voice and Speech Processing[M]. New York, USA: McGraw-Hill Book Company, 1986:10-324. [3]牛萍.TF-IDF與規(guī)則相結(jié)合的中文關(guān)鍵詞自動抽取研究[D].大連理工大學(xué),2015. (編輯:王天鵬)