音素提取是語音識別中的一塊重要內容。
g2p(grapheme-to-phoneme),英文意思是字素到音素,使用迴圈神經網路(recurrent neural network,rnn) 和lstm( long short-termmemory units),來實現從英文單詞到音素的轉化。lstm序列到序列模型(lstm sequence-to-sequencemodel)已經被成功地應用到許多專案中,這些應用包括機器翻譯,字素轉因素等等。
github上的g2p是基於google開源深度學習系統tensorflow實現的,所以在執行之前要先安裝tensorflow。
一、tensorflow安裝
安裝tensorflow的方法有很多種,可以用pip、virtualenv、anaconda、docker以及從源**安裝。這裡選擇 virtualenv,因為使用 virtualenv可以將tensorflow所需要的各種依賴安裝到指定的資料夾中,而不改變系統中原有的各種庫的版本。
使用 virtualenv安裝分為一下幾步:
1、安裝pip 和 virtualenv:
$ sudo apt-get installpython-pip python-dev python-virtualenv
2、設定virtualenv工作的資料夾為~/tensorflow:
$ virtualenv--system-site-packages ~/tensorflow
3、啟用工作環境,然後使用pip將tensorflow安裝在~/tensorflow中:
$source ~/tensorflow/bin/activate
(tensorflow)$ #
命令列變成了這樣 #
使用pip安裝,
這裡安裝只使用
cpu的版本
此時出現了問題:
oserror:[errno 2] 沒有那個檔案或目錄:'/usr/local/lib/python2.7/dist-packages/setuptools-18.1-py2.7.egg'
解決方法,解除安裝已經有的setuptools:
pip uninstall setuptools
再安裝一下,成功:
(tensorflow)$pip install --upgrade
安裝tensorflow之後,又出現問題:
importtensorflow 後,出現段錯誤segment fault
解決方法:
(1)解除安裝一些python庫:
sudo pip uninstall six wheel numpy scipysckit-image scikit-learn protobuf
(2)重新安裝:
(tensorflow)$pip install --upgrade
(3)成功:
>>>import tensorflow
>>>
二、下面是g2p的執行方式:
2、執行g2p最簡單的方式是使用命令列進行互動的方式:
$: pythong2p.py --interactive --model ~/work/g2p-seq2seq-cmudict
測試:
4、訓練g2p模型
訓練g2p模型需要乙個人工標註的字典:
然後根據這個字典就可以訓練模型了,用法如下:
$:python g2p.py --train train_dictionary.dic --model model_folder_path
訓練模型的語句中,還有一些引數可供選擇:
--max_steps:訓練迭代的次數(預設情況下 maxsteps=0,此時模型會不停的迭代, 直到訓練效果不能再好為止)。
--size:神經網路的節點數目(預設情況下 size=64),在實驗中發現,size=512 會擁有更好的結果,但是size=512時訓練時間會變長。
--num_layers:神經網路的層數(預設情況下num_layers=2),如果訓練集很小 的話,可以設定num_layers=1, 當num_layers=3時會得到更好的結果
python ~/work/g2p-seq2seq-master/g2p_seq2seq/g2p.py--train cmudict.dic.train --test cmudict.dic.test --num_layers 2 --size 512 --model~/work/model1 --max_steps 0
同時還可以檢視乙個模型的識別準確率,用法如下:
$:pythong2p.py --evaluate test_dictionary.dic --model model_folder_path
同其中test_dictionary.dic
最後不得不說,在沒有大規模語料的情況下,準確率還是相當的低。。
從2G 3G到4G,流動網路為何比有線寬頻發展快
有線寬頻方面的話,先說adsl,從itu t 國際電信聯盟遠端通訊標準化組織 的資料庫可以看到,大約在1999年完成了第乙個技術標準版本的制定,可以提供約8mbs的理論下行速率和800多kbps的理論上行速率這樣子 itu制定的adsl標準還算是比較偏晚了的,早前已經有ansi等組織在著手adsl規...
只需這2步驟將Eclipse專案共享到GitHub
如果您在eclipse工作區中有乙個專案,並且想在github上共享它,該如何做?很簡單的!假設您已經註冊了github帳戶並且已經在計算機上安裝了git,則可以通過兩個簡單的步驟將eclipse專案共享到github。注意 以下方法適用於mac,linux和windows 假設您已在windows...
Python ubuntu下py2公升級到py3
1 ubuntu預設已經安裝了python python 檢視當前版本,我的是python2.7 2 公升級到python3,則 sudo apt get install python3 3 重新建立鏈結 此時預設python版本還是python2.7,需重新鏈結。刪除 usr bin python...