iOS-PocketSphinx——建立语音词典

传送门

《iOS-PocketSphinx——安装PocketSphinx》

《iOS-PocketSphinx——构建iOS使用的SDK》

当前文章:《iOS-PocketSphinx——建立语音词典》

《iOS-PocketSphinx——建立语言模型》

《iOS-PocketSphinx——调整默认声学模型》

系统环境

Mac OS 10.15.6

使用前提

安装g2p-seq2seq工具,请参考:《iOS-PocketSphinx——安装g2p-seq2seq》

介绍

A phonetic dictionary provides the system with a mapping of vocabulary words to sequences of phonemes. It might look like this:

语音词典为系统提供了词汇与音素的映射关系。大致形式如下:

hello H EH L OW
world W ER L D

A dictionary can also contain alternative pronunciations. In that case you can designate them with a number in parentheses:

字典可以同时包含多音字,这种情况下,可以用括号中的数字来指定多音字。例如:

the TH IH
the(2) TH AH

A dictionary should contain all the words you are interested in, otherwise the recognizer will not be able to recognize them. However, it is not sufficient to have the words in the dictionary. The recognizer looks for a word in both the dictionary and the language model. Without the language model, a word will not be recognized, even if it is present in the dictionary.

There is no need to remove unused words from the dictionary unless you want to save memory, extra words in the dictionary do not affect accuracy.

词典应包含您感兴趣的所有单词,否则识别器将无法识别它们。但是,仅仅在拼音字典中囊括这些单词也是不行的,因为识别器会同时从拼音字典和语音模型中进行检索。如果该单词不在语音模型中,即使这个单词在拼音字典中,也不能被识别出来。

当然,我们也不需要为了节约存储空间而将拼音字典中不需要识别的单词移除,这样做其实对提升性能没有任何太大的意义,因为多余的单词并不影响识别的准确率。

使用现有模型

There are a number of dictionaries which cover languages we support – CMUDict for US English, French, German, Russian, Dutch, Italian, Spanish and Mandarin.

CMUDict 包含了许多我们支持的语种的词典,包括US English, French, German, Russian, Dutch, Italian, Spanish and 普通话。(我不确定cmudict是否支持中文,实际上我还不知道cmudict是干什么用的)

使用g2p-seq2seq扩展字典

An English model 2-layer LSTM with 512 hidden units is available for download on the CMUSphinx website. Unpack the model after downloading. It is trained on the CMU English dictionary. As the name says, this model works only for English. For other languages you first need to bootstrap a dictionary as described below and then use the G2P tool to extend it.

可在CMUSphinx网站上下载带有512个隐藏单元的2层LSTM英语模型。下载后解压模型。它在CMU英语词典中受过训练。顾名思义,此模型仅适用于英语。对于其他语言,需要引导字典,然后使用G2P工具对其进行扩展。

先用英语模型来看看G2P工具是如何工作的,最简单的方法是以交互方式运行它并输入单词:

$ g2p-seq2seq --interactive --model_dir model_folder_path
...
> hello
...
HH EH L OW
...
>

其中model_folder_path是上面下载的英语模型路径,如上所示,执行第一行命令后,输入hello,会查询出对应的音素HH EH L OW

要使用经过训练的模型为英语单词列表(单词表是一个文本文件,每行一个单词)生成发音,请运行:

$ g2p-seq2seq --decode your_wordlist --model_dir model_folder_path --output decode_output_file_path

要评估训练模型的字错误率,请运行:

g2p-seq2seq --evaluate your_test_dictionary --model_dir model_folder_path

引导中文字典

通常,字典是用手写规则引导的。可以去百度或者维基百科找到中文(普通话)的语言音素列表,并将单词映射到音素。

转录几千个最常用的单词就足以引导字典。

字典启动后,可以使用g2p-seq2seq工具扩展它,以容纳更大的词汇。

官方中文字典

引导中文字典是通过官方文档理解并翻译过来的,未进行完整的实践,难道官方的中文语言模型中包含的字典不可以直接拿来用吗?而且维基百科找不到所谓的音素表,也不给个链接─━ _ ─━✧

反正我直接用cmusphinx-zh-cn-5.2.tar.gz里的字典

参考资料

建立语音词典(官方文档):https://cmusphinx.github.io/wiki/tutorialdict/#using-existing-dictionaries

G2P工具:https://github.com/cmusphinx/g2p-seq2seq(这里有G2P使用说明,命令行和官方文档有差异,我文章里写的命令行是自己验证可行的)

CMU Sphinx 语音识别入门:构建拼音字典://www.greatytc.com/p/796de6301918

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,372评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,368评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,415评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,157评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,171评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,125评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,028评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,887评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,310评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,533评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,690评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,411评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,004评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,812评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,693评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,577评论 2 353

推荐阅读更多精彩内容