语音识别系统语言模型的训练和声学模型的改进

一、训练语言模型

词与词之间存在着合乎句法与否的约束,语言模型就是用来表示这些约束的,它可以提供字与字之间的上下文信息和语义信息。N-gram模型,即对训练音频文件所对应的文本文件进行统计,提取不同字词之间先后发生的统计关系。

如果你的语言模型较小(例如小的语音指令集或者任务),而且是英文的,那就可以直接上CMU提供的网络服务器上面训练,如果较大的话,一般使用CMUclmtk语言模型工具来训练。下面分两种情况来介绍:
1.1、利用在线工具建立语言模型

进入网址:http://www.speech.cs.cmu.edu/tools/lmtool.html

.dic、.lm的文件

pocketsphinx_continuous解码器用-lm选项来指定要加载的语言模型,-dict来指定要加载的字典。

1.2、训练大文本数据的语言模型

我们通过语言模型训练工具CMUCLMTK统计大量文本数据得到以单个词建立的N-Gram模型

具体的步骤如下:

(1)准备训练的文本,也就是语料库:

(2)产生词汇表vocabulary文件:# text2wfreq < *.txt | wfreq2vocab > *.tmp.vocab

命令text2wfreq:统计文本文件中每个词出现的次数,得到一个后缀为wfreq的文件

命令wfreq2vocab:统计文本文件中含有多少个词,即有哪些词。如数字识别中包含10个数字和两个静音

(3)生成 arpa格式的语言模型:

(4)转换为 CMU的二进制格式 (DMP):

最终生成了语言模型*.lm.DMP,此文件为解码器端所需要的文件格式

原文地址:https://www.cnblogs.com/aimod/p/9892511.html

时间: 2024-08-29 17:23:43

语音识别系统语言模型的训练和声学模型的改进的相关文章

一个典型的语音识别系统

一.语音识别技术 语音识别技术,广泛来说是指语意识别和声纹识别:从狭义上来说指语音语义的理解识别,也称为自动语音识别(ASR).其关键技术包括选择识别单元.语音端点检测.特征参数提取.声学模型及语音模型的建立.语音识别技术目前在桌面系统.智能手机.导航设备等嵌入式领域均有一定程度的应用.其主要技术难题是识别系统的适应性较差.受背景噪声影响较大,未来的发展方向应是无限词汇量连续语音非特定人语音识别系统. (1)信号处理及特征提取模块 该模块的主要任务是从输入信号中提取特征,供声学模型处理.同时,它

华为云EI ModelArts,从0到1开发训练AI模型,通过“极快”和“极简”实现普惠AI

华为云EI ModelArts,从0到1开发训练AI模型,通过"极快"和"极简"实现普惠AI现如今 AI 技术.概念火爆.落地应用更是繁多,但开发呢?是否困难?到底有多痛?据了解,大部分 AI 开发者的工作时间并不长,并且十有八九可能不是"科班出身".从编写的教材.录制的课程中就可以看出,所有的教学都不可避免地带有很强的的学术性,即便有意避免研究导向,仍然离产业界的需求相去甚远.并且随着新一波人工智能的热潮,人们发现手里的数据多了,电脑运算的更快

8、在fa时,用HW200句的monophone.mmf和data/list/mono.list作为一个充分训练的模型文件,进行fa

在对ZhiJun40句语料做fa时,ZhiJun_SpeakerA2_30-fa-New,用的是HW2000句的monophone.mmf和data/list/mono.list作为,一个标准的充分训练的模型文件,然后进行fa fa之后得到的是mono类型的标注文件,位于/gv/.../下面, 然后,用Ning的脚本得到full类型的标注, 然后就用这套标注,进行合成了,make一下 结果报错了: =============== ang ================ ERROR [+2121

开源语音识别系统 Simon

http://www.lupaworld.com/proj.php?mod=view&cid=&id=824 语音识别系统 Simon:Simon 是一个开源的语音识别系统,它不仅可以输入文字,而且可以代替键盘.鼠标操作电脑.Simon 基于 Qt 用 C++ 开发,因为某些支持库与 KDE 相同,所以可完美的集成到 KDE 4 中.除 KDE 之外,Simon 也可在 GNOME.Xfce.及其他 X11 环境下运行.

基于CTC的语音识别系统训练

目录 最小语音识别模型 模型训练 后续 最小语音识别模型 输入 音频特征向量,共计26维的mfcc特征向量 为了使神经网络能够统一格式,将[batch_size, time_step, 26]中的time_step定为一个较大的值,如果实际时长不足,采用补零的方法补齐 输出 输出为一个[batch_size, words_length]的张量,方便训练将word_length也取一个较大的常量,不足的补零 网络用keras进行训练,利用backend设置ctc. 模型训练 import os i

tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!

GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 的 经验 判断 是 黑 还是 白. 与 这些 分类 的 算法 不同, GAN 的 基本 原理 是, 有两 个 相生相克 的 模型 Generator 和 Discriminator,Generator 随机 生成 样本, Discriminator 将 真实 样本 标记 为 Real, 将 Gene

ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(4)- 其它

1. 前言 2.可配置的指令使能/禁用控制和trap控制 指令使能/禁用 当指令被禁用,则这条指令就会变成未定义 指令Trap控制 控制某条或某些指令在运行时进入陷阱,进入陷阱的指令会产生trap异常,路由规则如下: (1)当前为EL1,则陷阱异常传递给EL1(HCR_EL2.TGE定义为1时,会路由到EL2); (2)当前为EL2,则陷阱异常传递给EL2; (3)当前为EL3,则陷阱异常传递给EL3; 3. 系统调用 SVC 默认情况下SVC产生supervisor call,同步异常目标级别

使用感知机训练加法模型

感知机此处不介绍,这里只是简单的做了一个使用感知机思路,训练一个y=a+b计算模型. 1 # -*-coding:utf-8-*- 2 '@author: xijun.gong' 3 import numpy as np 4 import random 5 import math 6 7 8 class Perceptron: 9 def __init__(self, learnRate, maxIter, bit_len): 10 """ 11 :param bit_len

训练分词模型

1. 训练的文件segmentor_train.txt 文件内容,用空格分隔词 中国 进出口 银行 与 中国 银行 加强 合作 新华社 北京 十二月 二十六日 电 ( 记者 周根良 ) 今日 三 大 股指 均 小幅 低开,随后 沪深指数 在 权重板块 集体 拉升 的 带动 下 小幅 上涨,但 创业板 却 出现 持续性 的 下跌. 午后 权重 跳水 导致 沪深指数 也 出现 一波杀跌,创业板 表现 却 迥异,盘中 没有 一波 拉升,今日 一度 大跌 3%. 从 盘面 上 看,今日 权重 板块 依然