前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >G2P(单词到音素)的深度学习训练测试

G2P(单词到音素)的深度学习训练测试

作者头像
sparkexpert
发布2022-05-07 14:59:56
1K0
发布2022-05-07 14:59:56
举报

音素提取是语音识别中的一块重要内容。

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的版本

     (tensorflow)$pip install –upgrade https://storage.Googleapis.com\

/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-\                                          linux_x86_64.whl

此时出现了问题:

OSError:[Errno 2] 没有那个文件或目录:'/usr/local/lib/python2.7/dist-packages/setuptools-18.1-py2.7.egg'

解决方法,卸载已经有的setuptools:

 pip uninstall setuptools

再安装一下,成功:

(tensorflow)$pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

安装TensorFlow之后,又出现问题:

importtensorflow 后,出现段错误segment fault

解决方法:

(1)卸载一些python库:

 sudo pip uninstall six wheel numpy scipysckit-image scikit-learn protobuf

(2)重新安装:

(tensorflow)$pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

(3)成功:

>>>import tensorflow

>>>

二、下面是G2P的运行方式:

1、在github上下载G2P文件:

https://github.com/cmusphinx/g2p-seq2seq

在sourceforge上下载一个已经训练好的模型:

https://sourceforge.net/projects/cmusphinx/files/G2PModels/g2p-seq2seq-cmudict.tar.gz/download

2、运行G2P最简单的方式是使用命令行进行交互的方式:

       $: pythong2p.py --interactive --model ~/Work/g2p-seq2seq-cmudict

      其中~/Work/g2p-seq2seq-cmudict是上一步下载的已经训练好的模型文件所在路径

测试:

4、训练G2P模型

训练G2P模型需要一个人工标注的字典:

字典可以从这里下载:https://sourceforge.net/projects/cmusphinx/files/G2P%20Models/phonetisaurus-cmudict-split.tar.gz

下载并解压后,里面有个名字为cmudict.dic.train的文件,这个就是我们需要的字典,里面有大概11万个单词,每一行放置一个单词及其对应的因素。具体如下图:

然后根据这个字典就可以训练模型了,用法如下:

  $:python g2p.py --train train_dictionary.dic --model model_folder_path

其中 train_dictionary.dic就是之前下载的字典,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

最后不得不说,在没有大规模语料的情况下,准确率还是相当的低。。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档