German_transliterate是一个用于清洁和翻译(IE归一化)德语文本的python模块,包括缩写,数字,时间戳等。它可用于清洁杂乱的文本(例如,映射特征性的Unicode编码到ASCII)或与各种文本矿业挖掘任务结合使用文本中的常见依赖的文本。
但是,它对于文本到语音(TTS)预处理(无论是在训练还是推理中)特别有用,并且具有支持结果的音调编码(例如,ESPEAK-NG)之后作为处理管道的下一步。
IS已成功应用于与Mozilla TT一起进行预处理,并将其与espeak-ng音素一起作为训练和推理管道的输入数据。
这项工作是根据Creative Commons归因4.0国际许可证获得许可的。要查看此许可证的副本,请访问http://creativecommons.org/licenses/4.0/或发送给Creative Commons,PO Box 1866,Mountain View,CA 94042,美国。
要提供归因或引用此工作,请使用以下文本段:
german_transliterate, Copyright 2020 by repodiac, see https://github.com/repodiac for updates and further information
0.1.3各种操作中的一些错误文件: weekday , month , amount_money和首字母缩写词,也可以在这里和那里修复一些次要的东西(强烈建议更新)0.1.2从默认操作列表中删除了以下操作,因为(如下文档中所述)它们是高度错误的(许多错误的persives)。您仍然可以通过明确将它们添加到transliterate_ops=[...]列表中。删除的操作是:monthweekdaymath_symbol0.1.1添加了默认用法的命令行接口(没有音素编码和实验内容)release 0.1该软件的初始版本,仍然有很多ToDo和一些实验功能(请参阅文档);也可以改进例外处理它目前只有一个外部依赖项Num2words。目前,所有依赖项都可以在requirements.txt中找到,并且还包括在setup.py中。
使用pip和内置的git包装安装基于setup.py 。
pip install git+https://github.com/repodiac/german_transliterate设置:
pip软件包(以防import german_transliterate.core使用virtualenv或conda创建虚拟环境)。在Python代码或库中:
from german_transliterate.core import GermanTransliterate
text = 'Um 13:15h kaufte Hr. Meier (Mitarbeiter der Firma ABC) 1.000 Luftballons für 250€.'
print('ORIGINAL:', text, 'n')
ops = {'acronym_phoneme', 'accent_peculiarity', 'amount_money', 'date', 'timestamp',
'weekday', 'month', 'time_of_day', 'ordinal', 'special', 'math_symbol', 'spoken_symbol'}
# use these setting for PHONEMIC ENCODINGS as input (e.g. with TTS)
print('TRANSLITERATION with phonemic encodings:',
GermanTransliterate(replace={';': ',', ':': ' '}, sep_abbreviation=' -- ').transliterate(text), 'n')
# use none or your own for other purposes than phonemic encoding and do not use 'spoken_symbol' or 'acronym_phoneme'
print('TRANSLITERATION (default):',
GermanTransliterate(transliterate_ops=list(ops-{'spoken_symbol', 'acronym_phoneme'})).transliterate(text), 'n')
来自命令行的新(在外壳中):
python core.py '1, 2, 3 - alles ist dabei'
当前只有一种方法要使用: transliterate('Das ist der Text.')
它具有以下输入参数:
transliterate_ops关键字列表,请参阅下文有关详细信息replace “原始:替换”字符串元素的dist用作文本的附加普通和简单”替换,例如替换= {' - ':':''}将所有破折号替换为whitespace;将empty供正常使用, {';': ',', ':': ' '}用音素编码sep_abbreviation一种用于缩写音译的特殊分离器;这主要仅适用于文本的音素编码作为TTS管道中的下一步。将empty供正常使用和使用' -- '与音素编码make_lowercase如果是true,则将文本进行小写(默认为empty )注意:大多数音译操作确实仅适用于make_lowercase=True这是由于仅使用小写的各种词典造成的。请仅在不过分使用时,请使用transliterate_ops make_lowercase=False ,否则大多数不起作用!用于配置参数transliterate_ops的参数如下:
acronym_phoneme像ABC这样的缩写缩写为音调版本ah beh zeeaccent_peculiarity删除了奇特的Unicode编码并将其映射到兼容ASCII的版本(Cleaning OP)amount_money汇总货币和货币符号,例如$,€,欧元等。date音译日期,例如12.10.2019timestamp音频戳记,例如13H:15m:45sweekday (实验),例如在工作日的缩写, Mo目前这相当容易出错(许多假启示)month (实验),缩写几个月,例如Jan或Dez目前相当容易出错(许多假peTosives)time_of_day倾听一天中的时间,例如13:15Hordinal音频数字zweitem zweiten 2. zweitespecial音译案例和特殊术语,例如8/10到acht von zehnmath_symbol (实验),音译少量数学符号,例如plus , minus等。spoken_symbol允许将括号或引文标记变成口语,例如'(text)'进入-- in klammern -- text -- (如果将sep_abbreviation设置为' - '),主要对TTS任务有用当前状态主要基于使用手动映射和正则表达式来替换和扩展字符串(单词或术语)。因此,当前的性能应该足够好,可以与文本处理管道中的在线推理或“实时”使用一起使用。随着时间的推移添加了更多的模块或操作,可能会有相当缓慢的方法进行重型计算,因此主要适合训练或离线处理。
请在GitHub上打开问题以获取错误或功能请求。您也可以通过电子邮件与我联系。