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

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

作者头像
sparkexpert
发布于 2022-05-07 06:59:56
发布于 2022-05-07 06:59:56
1.3K0
举报

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

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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Github 项目推荐 | 一个简单的英文字形转音素的 Python 模块
该功能在语音合成中是必不可少的。不像德语和西班牙语这类语言,英文的发音很难从拼写中推断出来,所以人们要知道某个单词的发音,最好的方式是查阅字典。但是,这种方法至少有两个问题。 首先,你不能消除同形异义词的发音,即有多个发音的单词(例如下面的 a),其次,您无法检查单词是否在字典中(例如下面的 b)。
AI研习社
2018/07/26
3.3K0
TensorFlow下载与安装
TensorFlow简介 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在
xiangzhihong
2018/02/08
2K0
TensorFlow下载与安装
TensorFlow 入门指南
但在开始之前,先来看看一个最简单的使用 TensorFlow Python API 的示例代码,这样你就会对我们接下来要做的事情有所了解。
竹清
2018/08/31
1.3K0
TensorFlow 入门指南
TensorFlow入坑第一步:安装
很久没写博客了,突然想起来之前说过要说说TensorFlow,边学边记录,就来写一写吧
NothAmor
2022/06/08
1910
深度学习入门实战(二):用TensorFlow训练线性回归
该文章介绍了如何通过Python和Keras框架实现一个简单的深度学习模型,并使用该模型对MNIST数据集进行分类。首先,介绍了Keras是什么以及它的主要特点,然后详细讲解了如何利用Keras实现一个简单的深度学习模型。最后,通过实例演示了如何使用该模型对MNIST数据集进行分类。
serena
2017/04/19
8K2
Ubuntu 16.04, Python 2.7 安装 TensorFlow CPUUbuntu 16.04, Python 2.7 安装 TensorFlow CPUInstalling Tenso
Ubuntu 16.04, Python 2.7 安装 TensorFlow CPU ---- 安装 Virtualenv $ sudo apt-get install python-pip python-dev python-virtualenv # for Python 2.7 创建 Virtualenv 环境 $ virtualenv --system-site-packages ~/tensorflow # for Python 2.7 激活 Virtualenv $ source ~/tensor
iOSDevLog
2018/05/17
1.8K0
谷歌正式开源 Hinton 胶囊理论代码,即刻用 TensorFlow 实现吧
雷锋网(公众号:雷锋网) AI 研习社消息,相信大家对于「深度学习教父」Geoffery Hinton 在去年年底发表的胶囊网络还记忆犹新,在论文 Dynamic Routing between Capsules 中,Hinton 团队提出了一种全新的网络结构。为了避免网络结构的杂乱无章,他们提出把关注同一个类别或者同一个属性的神经元打包集合在一起,好像胶囊一样。在神经网络工作时,这些胶囊间的通路形成稀疏激活的树状结构(整个树中只有部分路径上的胶囊被激活)。这样一来,Capsule 也就具有更好的解释性。
AI研习社
2018/03/16
6370
TensorFlow的安装与初步了解
今天终于有时间一探滕三福了,TensorFlow(腾三福)是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从流图的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改
昱良
2018/04/08
7230
TensorFlow的安装与初步了解
CentOS 7 下使用虚拟环境Virtualenv安装Tensorflow cpu版记录
在使用centos7的软件包管理程序yum安装python-pip的时候会报一下错误:
流川疯
2019/01/18
9610
开发 | 在 Mac OS X 装不上 TensorFlow?看了这篇就会装
AI科技评论按:本文原作者Enachan。本文原载于作者的GitHub。译者投稿,雷锋网版权所有。 这个文档说明了如何在 Mac OS X 上安装 TensorFlow。 注意:从 1.2 版本开始,在 Mac OS X 上 TensorFlow 不再支持 GPU。 确定如何安装 TensorFlow 你可以选择一种方式安装 TensorFlow,支持下面的几种选择: virtualenv "本地" pip Docker 从源代码安装,更专业有单独的文档记录 我们建议使用 virtualenv 安装。vi
AI科技评论
2018/03/13
2.1K0
Hinton胶囊理论代码开源,上线即受热捧
当前的深度学习理论是由Geoffrey Hinton大神在2007年确立起来的,但是如今他却认为,“CNN的特征提取层与次抽样层交叉存取,将相同类型的相邻特征检测器的输出汇集到一起”是大有问题的。 去年9月,在多伦多接受媒体采访时,Hinton大神断然宣称要放弃反向传播,让整个人工智能从头再造。10月,人们关注已久的Hinton大神那篇Capsule论文"Dynamic Routing between Capsules"终于揭开面纱。 在论文中,Capsule被Hinton大神定义为这样一组神经元
AI科技大本营
2018/04/27
5900
Hinton胶囊理论代码开源,上线即受热捧
深度学习介绍与TensorFlow实战
2017国庆快乐,非常开心,难得有充足的时间,可以撸代码。最近人工智能的风口很火爆,基于我掌握的情况,可以先了解,最好复习下高中数学知识(矩阵,多维数据,多元N次方程式)。不然很难看懂学习模型,学习公式。 从关系上讲: 人工智能(Artificial Intelligence)是一个最广泛的概念,人工智能的目的就是让计算机这台机器能够象人一样思考或者通过一些算法来达到,而机器学习(Machine Learning)是人工智能的分支,而深度学习(Deep Learning)是人工智能和机器学习的内在,即使用包含复杂结构或由多重非线性变换构成的多个处理层(神经网络)对数据进行高层抽象的算法。所以三者关系应该式从外到内:AI→ML→DL→神经网络
孙寅
2020/06/02
6520
深度学习革新音乐转录
自动音乐转录(AMT)作为音乐信息检索(MIR)的一个重要分支,其目标是将音频信号转换成可读的乐谱形式,这在音乐分析、教育、制作等多个领域都有着广泛的应用。AMT的发展历程可以划分为两个主要阶段:早期基于规则的方法和现代基于深度学习的技术。
Srlua
2024/12/20
1530
深度学习革新音乐转录
使用Python实现深度学习模型:文本生成与自然语言处理
自然语言处理(NLP)是人工智能领域的重要分支,涉及计算机与人类语言的互动。文本生成是NLP中的一个关键任务,广泛应用于聊天机器人、自动写作和翻译等领域。本文将介绍如何使用Python和TensorFlow实现一个简单的文本生成模型,并提供详细的代码示例。
Echo_Wish
2024/07/14
4960
使用Python实现深度学习模型:文本生成与自然语言处理
用深度学习做命名实体识别(四)——模型训练
下面的链接中提供了已经用brat标注好的数据文件以及brat的配置文件,因为标注内容较多放到brat里加载会比较慢,所以拆分成了10份,每份包括3000多条样本数据,将这10份文件和相应的配置文件放到brat目录/data/project路径下,然后就可以从浏览器访问文件内容以及相应的标注情况了。
程序员一一涤生
2019/09/09
2.6K2
用深度学习做命名实体识别(四)——模型训练
使用Python实现深度学习模型:Transformer模型
Transformer模型自提出以来,已经成为深度学习领域,尤其是自然语言处理(NLP)中的一种革命性模型。与传统的循环神经网络(RNN)和长短期记忆网络(LSTM)不同,Transformer完全依赖于注意力机制来捕捉序列中的依赖关系。这使得它能够更高效地处理长序列数据。在本文中,我们将详细介绍Transformer模型的基本原理,并使用Python和TensorFlow/Keras实现一个简单的Transformer模型。
Echo_Wish
2024/06/08
8020
使用Python实现深度学习模型:Transformer模型
逻辑回归 | TensorFlow深度学习笔记
课程目标:学习简单的数据展示,训练一个Logistics Classifier,熟悉以后要使用的数据 Install Ipython NoteBook 可以参考这个 教程 (http://opentechschool.github.io/python-data-intro/core/notebook.html) 可以直接安装 anaconda (https://www.anaconda.com/download/),里面包含了各种库,也包含了ipython; 推荐使用python2的版本,因为很多lib只
用户1332428
2018/03/08
8720
逻辑回归  | TensorFlow深度学习笔记
TensorFlow 深度学习笔记 逻辑回归 实践篇
Practical Aspects of Learning Install Ipython NoteBook 可以参考这个教程 可以直接安装anaconda,里面包含了各种库,也包含了ipython;
梦里茶
2018/01/15
7620
TensorFlow 深度学习笔记 逻辑回归 实践篇
探索深度学习库——Keras
Keras 最初是作为 Theano 的一个方便的附加组件而发展起来的,长久以来,Keras首早先开始支持Tensorflow,然后完全成为其中的一部分。然而,我们的文章不会致力于讲述这个框架的复杂命运,而是它的功能。
磐创AI
2021/11/10
6730
使用 TensorFlow 构建机器学习项目:6~10
卷积神经网络是当前使用的许多最高级模型的一部分。 它们被用于许多领域,但是主要的应用领域是图像分类和特征检测领域。
ApacheCN_飞龙
2023/04/23
2.3K0
推荐阅读
相关推荐
Github 项目推荐 | 一个简单的英文字形转音素的 Python 模块
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档