徐立城
摘 要:語音識別技術飛速發展,在現實生活中扮演著越來越重要的角色,語音識別簡單來說是讓計算機理解人的語音,它有兩大研究領域:語種識別和說話人識別。本文圍繞語種識別展開,語種識別(Language Identification,LID),是指計算機通過理解和識別過程判定輸入語音的語種。本論文并通過兩個不同類型的實驗,來研究語種識別問題,例如Langid工具包的使用。語種識別,在多語音語言識別系統中扮演著重要的角色,在語言翻譯、手寫體文字識別、鍵盤輸入、信息發現和挖掘系統等研究領域都有應用,其發展非常迅速。
關鍵詞:語音識別;語種識別;Langid等
中圖分類號:TP391 文獻標志碼:A
1 語音識別發展概述
語音識別是一門包羅萬象學科,其涉及很多不同的領域,其中就包括語言學、聲學、統計學和人工智能等,也被稱為自動語音識別。它的目標是把人類的語音中的詞匯內容在計算機顯示為計算機可讀的信息,由計算機加以識別。語音識別技術如果與其他自然語言處理技術相結合,可以構建出更加復雜但卻方便的應用,例如將機器翻譯和語音合成相結合得到語音翻譯。
由于語音識別在各個方面的重要意義和巨大優勢,不少公司投入大量人力物力進行研究。隨著siri、Google Now、百度語音、微軟Corrtana等相關產品的橫空出世,同時在服務提供商和設備廠商的共同推動下,現在幾乎身邊所有新推出的移動設備都會包括語音識別這一功能。
2 語種識別研究的目的及意義
隨著科技水平的提高,互聯網的發展帶來了巨大的語言文字信息,網頁文本的數據量也在與日俱增,與此同時語言也漸漸出現了多種混合的現象。語種識別系統可以把大量重復煩瑣的勞動交給機器來處理,節約了人力、物力,提高了工作效率。語種識別的研究側重于對算法和模型進行改進和優化,其主要方法是通過語言學和機器學習的方法。概率統計的方法或信息論的方法也被大量采用,在實際中的語音識別方法得到較為成功的應用。例如HMM,GMM等,正是由于這些方法的出現對語音識別走向實際應用具有極大的推進作用。例如在國際酒店中,前臺客服在接到客人電話前,要先進行語種識別,然后才分配給相應的客服,提高了溝通效率。
3 語種識別的研究方法
3.1 語種識別基本流程
語種識別的一般流程分為訓練和識別兩個階段,如圖1所示,在訓練階段,將不同語言的語音音頻輸入系統中,然后進行特征提取,得到一組特征向量序列,根據特定的訓練算法,然后得到一個或多個參考模型,并保存下來。在識別階段,對測試語音進行特征提取,然后將這些特征同模型庫中的模型進行比對,并計算得出一個相似性得分。最后根據經過判決模塊的判決規則,由相似性得分即可得到識別的語言種類。
3.2 語種識別的方法
3.2.1 利用LDA文本對多語種識別進行研究
首先是偽訓練過程,我們需要先從互聯網上獲取或者直接使用已經存在的語料庫,然而這些數據來源都不能直接用來構建N-gram計數。在實際操作中我們對語料中的標點符號、數字、大小寫等字符進行一些處理。根據需要保留一些有助于語種識別的符號并刪掉一些相對于語種識別來說無關緊要的符號。得到預處理過的數據以后,選擇可靠性高的語言模型工具生成1-5元的N-gram計數文件。得到N-gram計數文件的過程就是提取語料特征的過程。接著對數據集進行Collapsed Gibbs采樣直到其收斂并更新LDA模型的參數。
第二階段為語種識別階段。首先對測試文本也做特征提取工作,根據需要保留一些有助于語種識別的符號并刪掉一些相對于語種識別來說無關緊要的符號。然后將抽取出的1-5元N-gram計數文件通過Collapsed Gibbs抽樣直到其收斂,就可以得出主題分布,即語種分類結果,如圖2所示。
3.2.2 全局背景模型(UBM)
GMM-UBM在說話人識別系統中已經得到了廣泛的應用,在語言識別系統中,GMM-UBM模型是一個與語言無關的背景模型,利用語言識別種的無關信息訓練得到一個語言全局背景模型。圖3是一個基于GMM-UBM的語言辨識系統框圖。
給定了訓練UBM模型的各種語言的數據后,有多種方法可以用來得到最終的模型,最簡單的方法是EM算法來訓練UBM模型。由于訓練的是與語言無關的UBM模型,每種語言識別的耗時大約1h。
4 語種識別實驗
4.1 語種識別的理論基礎
4.1.1 條件概率和全概率
4.1.2 貝葉斯公式
在條件概率和全概率的基礎上,很容易推導出貝葉斯公式:
看上去貝葉斯公式只是把A的后驗概率+A的邊緣概率的組合表達形式,因為很多現實問題中P(A|B)或很難直接觀測但是P(B|A)和P(A)卻很容易測得,利用貝葉斯公式可以方便我們計算很多實際的概率問題。
4.2 小文本語種識別實驗
用python進行實驗,這些文本中有不同的語種,通過程序來判斷語種的概率,例如一種語言(unknown)與de的相似度是0.4,與en的相似度是0.95;取其中的最大值,表示該文本語en類似,從而縮小了范圍。反過來unknown與de的0.6的概率不同,與en的不同的概率是0.05。也可以得出該文本語接近en。以此類推,可以得到各語種之間的相似度或差異性。未知語種減去已知語種可得差異性概率,概率最小的,該已知語種就是輸入文本的語種。不同多語種根據程序進行分類。最后可根據自己的想法決定格式,最終得到分類后語種的排序。基于此,進行了小文本語種識別的實驗,可以很隨心所欲得到程序中已有語種的句子或段落。其不足之處在于首先該實驗對概率的統計較為煩瑣;其次是它實驗范圍較窄,因為是小文本實驗,所以程序中可識別的語言較少,不能對所有語種進行分類和識別;在文字數量多的情況下進行語種識別的,而文字較少準確度不高,例如一個單詞可能會出現在不同的語種中,只是其意思不一樣。該實驗在可規定語種分類后的格式這一點上還是可圈可點的。
4.3 多語種識別實驗
由于上一個實驗有一些不足之處,此實驗將對不足之處進行改善,還是利用python對不同語種進行識別。按照程序步驟,先新建myfile文件,在其中輸入需要識別的文字,用python打開文件,利用Langid工具包里的classify函數對輸入文本的語種進行識別,此程序是對輸入數據一行一行的讀,可直接將想要的語種表達在另一文件夾中。
Langid工具包在語種識別中廣泛應用,該工具包可以識別出來97種語種,通過classify函數可以將輸入文本與Langid已有標簽的97種語種進行比對,然后將相似度最大的語種標簽作為輸入文本的語種。舉個簡單的例子,例如字符串string為“Hello world!”, 然后調用classify(string),即可識別出輸入文本的語種為英語。
結語
本文的研究工作主要集中在如何利用python對多語種進行分類處理和語種識別。第一,詳細闡述了多項式貝葉斯分類模型和條件概率、全概率的公式,為構建多語種識別系統打下堅實的理論基礎。根據不同的任務要求,使用合適的語種識別系統,對不同的材料進行實驗。第二,通過兩組實驗驗證挑選了Langid工具構建了多語言分類模型,并詳細分析了實驗結果,最終得出結論。
課題的研究需要大量地閱讀國內外文獻,研究公式定律背后的意義,同時也需要注意總結和歸納。將實驗過程中的想法變成程序使計算機代替我來處理大規模數據的學習和識別任務。還做了大量的實驗進行比對測試分析。這些工作使我在面對問題時變得更耐心仔細,會細致地考慮在工作中可能出現的各種問題。通過不斷的操作,使我對python的操作更加熟悉,為以后的工作奠定了基礎。
參考文獻
[1]蔣兵.語種識別深度學習方法研究[D].中國科學技術大學,2015.
[2]賈曉茹.基于LDA的文本多語種識別研究[D].中國海洋大學, 2014.
[3]索宏彬,李明,呂萍,等.一種基于帶語言模型并行音節解碼器的語種識別系統[C]//全國網絡與信息安全技術研討會,2007.
[4]王昊,李思舒,鄧三鴻.基于N—Gram的文本語種識別研究[J].現代圖書情報技術,2013(4):54-61.