用于创建上下文感知、基于规则的g2p映射(保留索引)的模块
g2p的Python项目详细描述
G_-2-P_
Grapheme-to-Phoneme transductions that preserve input and output indices!
这个库用于处理输入和输出段之间的任意转换,同时保留索引。
目录
背景
这个软件包的初始版本是由Patrick Littell开发的,它的开发是为了允许g2p从社区正字法到ipa,再回到ReadAlong-Studio。然后,我们决定从Convertextract中取出g2p机制,它允许在csv文件中声明传感器关系,并将其转换为自己的库-在这里!
安装
最好的做法是使用pippip install g2p
安装。
否则,克隆repo并在本地安装它。
$ git clone https://github.com/roedoejet/g2p.git
$ cd g2p
$ pip install -e .
用法
为了初始化Transducer
,必须首先创建Mapping
对象。
映射
您可以通过直接使用列表初始化映射来创建映射:
fromg2p.mappingsimportMappingmappings=Mapping([{"in":'a',"out":'b'}])
或者,可以将csv文件添加到g2p/mappings/langs/<YourLang>
/<YourLookupTable>
fromg2p.mappingsimportMappingmappings=Mapping(language={"lang":"<YourLang>","table":"<YourLookupTable>"})
传感器
使用Mapping
对象初始化Transducer
。调用Transducer
然后生成输出。为了保留索引,在调用Transducer
时传递index=true。
fromg2p.mappingsimportMappingfromg2p.transducerimportTransducermappings=Mapping([{"in":'a',"out":'b'}])transducer=Transducer(mappings)transducer('a')# 'b'transducer('a',index=True)# ('b', <g2p.transducer.IOStates object>)
要理解生成的IOStates
对象,可以调用它,并生成每个字符的列表。为上述操作生成[((0, 'a'), (0, 'b'))]
-关系元组的列表,其中每个关系元组由输入和输出组成。每个输入元组和输出元组依次由索引和相应的字符组成。您还可以调用output()
和input()
来分别查看纯文本输出和输入。
工作室
您还可以运行g2p Studio
,这是一个用于创建与g2p一起使用的自定义查找表的web界面。若要运行g2p Studio
,请访问****或使用python run_studio.py
在本地运行它。
您也可以直接从包中导入应用程序:
fromg2pimportappapp.run(host='0.0.0.0',port=5000,debug=True)
维护人员
贡献
尽情潜水吧!Open an issue或提交prs。
此回购协议遵循Contributor Covenant行为准则。
贡献者
这项工程有赖于所有贡献的人。许可证
MIT艾丹松