歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> 【新手向け】對各位語音識別新手的建議

【新手向け】對各位語音識別新手的建議

日期:2017/3/3 12:22:41   编辑:Linux技術
由於工作的原因,很長時間不能更新博客和管理kaldi群,每天看著kaldi群的人數不斷增長,由衷的為從事語音感到自豪,希望在我博客和群裡能得到你們想要的,但我同時拒絕伸手黨。這幾年語音的發展很迅速,所以導致更多的人來學習:
下面主要從2個方面來說明,一個是從學生角度,一個是從工業角度。希望以後問怎麼學習和怎麼研究的人會越來越少,當然我這裡也只是拋磚引玉。


學生角度

如果你是本科生,你或許付出的努力會更多。如果你是研究生,最好是數學和英語好,要不然你同樣付出很多努力。
1、基礎部分
默認你是研究生,你學過基本的矩陣理論和隨機過程,一些簡單的模式識別原理,這樣你或者利於理解識別的原理。默認你能夠閱讀一般的英文文獻,不要害怕專有名詞,等你見多了,自然能看懂。也行英文六級過了,一般的文章能看得懂,只要語句知道怎麼翻譯。這就是數學和英文基礎,希望你具備。
此外,默認你具有一些計算機基礎,比如c語言和c++,和其他的一些腳本語言如python,shell,perl等基礎。如果你不會的話,不要怕,去網上聽公開課,也許你聽的夠多,也就會了。此外,你一定要會linux的基本命令,僅僅是基本命令,慢慢的你也會其他高階的命令,這個只要你慢慢用。
如果你不具備這些,可以早點學;如果你具備,那你已經達到基礎的一步。如果你覺得特別難,趕緊放棄吧。其他的路也是一條很好的路,其實學語音識別需要的東西太多,所以你要有足夠的思想准備。如果你的老師或者其他人只丟給你一個課題,如果你根本不感冒,那就勸你直接放棄吧。也許你學習其他的東西,也可以活得很好。再次強調,這也許是一條不歸路,或者說很長很長的路,遠比你之前遇到的都難。
2.進階
哦,忘記一個非常重要的東西,就是數據結構和算法。如果你沒有學過,趕緊學,這個東西非常非常重要。
這也許是第一個進階的 東西,這個東西很奇妙,如果你有興趣,你可以做的很好。
接下來你需要看一些語音的基礎知識,知道語音的一些基本處理或者信號的一些基本處理。如果你根本不懂傅裡葉變換或者你根本不知道為什麼那樣,或許你需要思考。這個是大學的信號與系統,數字信號處理,通信原理等等的一些基礎知識。
然後,你可以看下語音識別的一些基本知識,當然這個中文的課本也沒一個說的好的。你可以先看看機器學習,比如邏輯斯特回歸,支持向量機,高斯混合模型,隱馬爾科夫模型。當然還有信號檢測和估計的一些理論,多維高斯模型和最大似然估計等等。結合你的中文課本和htk中文版前三章,試試看,能不能更好的理解。當然你可以看kaldi主頁的內容,看看一些簡單的東西,比如課外的一些語音課程,這個只有ppt和一些材料,很少有視頻,如果你們學校有老師講那就更好。比如上海交通大學的俞凱老師。
這裡,默認你已經知道一些基本的原理了,也許你不夠具體,不要怕,繼續走,也許某一個瞬間就明白了。多思考多想想,這個是最好的建議。
3.高階
你可以去看看kaldi的腳本和代碼或者htk的腳本和代碼或者其他平台,再根據你的理論試試結合,如果你不懂,多問問,也許你慢慢就積累了,慢慢就會了。如果有人帶你,那就更好了。慢慢的你就成為高手了。
這時候你理解了GMM-HMM那套後,就去看DNN那一套吧,甚至更高深的東西。
如果你是學生,發現上面跟你的差別特別大,如果你沒興趣的話,最好放棄,別為難自己。要學的的確很多,但為了你未來的路好走,或許你必須這樣辛苦。


工業角度

如果你只是想使用語音識別,你最好去調別人家的SDK。如果你的確需要去做,你可以看看上面的那麼多條,你具備嗎?
其次,你真的很想很想做,第一個問題來,語料有嗎?買,的確很貴,不買,做不出來。然後,你有人嗎?沒有幾個懂得人慢慢去弄也很麻煩,所以的確不是剛需,你可以嘗試去調別人的SDK。
經常會被問的問題:
1.我就想做個我說一句話,然後就識別為文字。
有時候問這個問題,我的確挺氣的。你們知道這背後有多少東西,沒有那麼簡單就搞出來的。統一回答:你需要找到訓練語料,然後訓練一個模型,然後再弄解碼,然後再出來。這個需要訓練模型,需要語料,你有嗎?
2.不是有kaldi或者htk了嗎?再說王東老師都開源中文的識別例子了?自己可以搞了。
然而並不是,王東老師弄這個例子是為了促進中文語音識別的發展,真的特別感謝王東老師。我當時讀研的時候什麼數據庫都沒,就自己看。但這個語料僅僅只是科研,你想要工業應用,還差十萬八千裡。開源的的確存在,你需要有自己的數據庫,然後利用開源來搭建一個適合自己情景的系統。
3.機器真的要GPU嗎?
現在都知道dnn或者LSTM的效果好,這些都是用顯卡和語料燒出來的,也就是用錢喂出來的。所以這個的確需要錢……
基本對於工業的人來說已經夠了,應該足夠自己做判斷了。再次強調語音識別還是一個高門檻的事情,謹慎入。當然土豪就無所謂了。
以上對於大家來說,可以做判斷了,聰明的人做聰明的判斷。
希望更多的人加入到語音這個大家庭來,共同繁榮語音事業。
後續會根據反饋情況,逐步反饋。
看了群裡n多初級的問題,這裡匯總下:
1.請問有沒有可能做爬蟲去網上下載訓練數據?商業數據還是太貴了…
答:
網上的訓練數據問題:1)采樣率是否統一,有沒有做過重采樣;2)說話人是否足夠;3)是否有標注;4)若有聲讀物標注是一長段,不太適合訓練,需搞短點;5)電影裡的背景聲音問題;6)新聞的倒是有可能用,但也需要很多人工切分,處理等。
2.自己的數據怎麼弄?
kaldi中有很多的例子,你可以參考kaldi裡的任何一個例子,英文的可以參考的很多,中文的就參考王東老師提供的thchus30。主要是數據准備階段,其他的都可以復用腳本,但不一定適合自己,別忘了調整參數。
版權所有,如果您轉載,請附上原鏈接。
Copyright © Linux教程網 All Rights Reserved