一个简单的python模块,用于从英文字母到音素的转换
g2p-en的Python项目详细描述
[更新]*我们从依赖项中删除了tensorflow。毕竟,它经常更改它的api,我们不希望您有gpu。相反,numpy用于推理。
本模块旨在将英语字母(拼写)转换为 音素(发音)。它在一些任务中被认为是必不可少的 例如语音合成。不像许多语言,像西班牙语或德语 从一个单词的拼写可以推断出它的发音,英语 言语往往与人们的期望相去甚远。因此,它将 如果我们想知道 一些单词的发音。不过,至少有两个 这种方法的问题。首先,你不能消除发音的歧义。 同音字中有多种发音的词。(见a 第二,你不能检查这个词是否在字典里。 (见下面的b。
- 我拒绝在这附近收垃圾。(r_ fju:z为动词,而refju:s为名词)
- 我是一个激活师。(激活主义者:新造的词,意思是n. A person who designs and implements programs of treatment or therapy that use recreation and activities to help people whose functional abilities are affected by illness or disability.来自WORD SPY
对于第一个同形图问题,幸运的是许多同形图可以 使用他们的词性消除歧义,如果不是全部的话。当涉及到 然而,字典里没有的词,我们应该作出最好的猜测 利用我们的知识。在这个项目中,我们使用了一个深入学习的seq2seq 基于tensorflow的框架。
算法
- 拼出阿拉伯数字和一些货币符号。(例如200美元->; 两百美元)(这是从Keith Ito’s code借来的)
- 尝试检索基于同形词的正确发音 在他们的位置上)
- 查找The CMU Pronouncing Dictionary查找 非同形图。
- 对于oov,我们使用神经网络模型预测它们的发音。
环境
- python 3.x
依赖关系
- numpy=1.13.1
- nltk>;=3.2.4
- python-m nltk.downloader“Averaged_Perceptron_Tagger”“cmudict”
- 拐点>;=0.3.1
- 距离>;=0.1.3
安装
pip install g2p_en
或
python setup.py install
NLTK包将在第一次运行时自动下载。
培训(请注意,已包括预培训模型)
python train.py
用法
from g2p_en import G2p texts = ["I have $250 in my pocket.", # number -> spell-out "popular pets, e.g. cats and dogs", # e.g. -> for example "I refuse to collect the refuse around here.", # homograph "I'm an activationist."] # newly coined word g2p = G2p() for text in texts: out = g2p(text) print(out) >>> ['AY1', ' ', 'HH', 'AE1', 'V', ' ', 'T', 'UW1', ' ', 'HH', 'AH1', 'N', 'D', 'R', 'AH0', 'D', ' ', 'F', 'IH1', 'F', 'T', 'IY0', ' ', 'D', 'AA1', 'L', 'ER0', 'Z', ' ', 'IH0', 'N', ' ', 'M', 'AY1', ' ', 'P', 'AA1', 'K', 'AH0', 'T', ' ', '.'] >>> ['P', 'AA1', 'P', 'Y', 'AH0', 'L', 'ER0', ' ', 'P', 'EH1', 'T', 'S', ' ', ',', ' ', 'F', 'AO1', 'R', ' ', 'IH0', 'G', 'Z', 'AE1', 'M', 'P', 'AH0', 'L', ' ', 'K', 'AE1', 'T', 'S', ' ', 'AH0', 'N', 'D', ' ', 'D', 'AA1', 'G', 'Z'] >>> ['AY1', ' ', 'R', 'IH0', 'F', 'Y', 'UW1', 'Z', ' ', 'T', 'UW1', ' ', 'K', 'AH0', 'L', 'EH1', 'K', 'T', ' ', 'DH', 'AH0', ' ', 'R', 'EH1', 'F', 'Y', 'UW2', 'Z', ' ', 'ER0', 'AW1', 'N', 'D', ' ', 'HH', 'IY1', 'R', ' ', '.'] >>> ['AY1', ' ', 'AH0', 'M', ' ', 'AE1', 'N', ' ', 'AE2', 'K', 'T', 'IH0', 'V', 'EY1', 'SH', 'AH0', 'N', 'IH0', 'S', 'T', ' ', '.']
2018年5月。
京永公园Jongseok Kim