German_transLiteRate - это модуль Python для очистки и транспортировки (то есть нормализовать) немецкий текст, включающий сокращения, числа, временные метки и т. Д. Его можно использовать для очистки грязного текста (например, карты особенных кодировки Unicode в ASCII) или заменить общие сокращения в тексте в сочетании с различными текстовыми достопримечательностями.
Тем не менее, он особенно полезен для предварительной обработки текста в речь (TTS) (как при обучении, так и в выводе) и имеет функции для поддержки фонематического кодирования результатов (например, с ESPEAK-NG) впоследствии в качестве следующего шага в обработке.
Был успешно применен к предварительной обработке с TTS Mozilla в сочетании с фонемами espeak-ng в качестве входных данных как для обучения, так и для вывода.
Эта работа лицензирована по международной лицензии Creative Commons Attribution 4.0. Чтобы просмотреть копию этой лицензии, посетите http://creativecommons.org/licenses/by/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 - Некоторые ошибки в различных OPS: weekday , month , amount_money и Abreonms, также некоторые незначительные вещи, исправленные здесь и там ( обновление очень рекомендуется )0.1.2 -удалили следующие операции из списка OPS по умолчанию, поскольку (как упомянуто в документации ниже) они подвержены ошибкам (многие ложноположительные). Вы все еще можете использовать их, явно добавляя их в список transliterate_ops=[...] . Удаленные операции:monthweekdaymath_symbol0.1.1 - Добавлен интерфейс командной строки для использования по умолчанию (кодирование фонем и экспериментальные вещи не осталось)release 0.1 - Первоначальный выпуск программного обеспечения, все еще много ToDo S и некоторые более экспериментальные функции (см. Документацию); Также можно улучшить обработку исключений В настоящее время он имеет только одну внешнюю зависимость, num2words. Все зависимости можно найти в requirements.txt и включены в setup.py , на данный момент.
Установка легко с помощью pip и встроенной установки пакета git на основе setup.py :
pip install git+https://github.com/repodiac/german_transliterateНастраивать:
import german_transliterate.core ) в вашу текущую среду Python, как любой другой пакет pip (в случае, создайте виртуальную среду с 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 DICT «Оригинал: замены» струнных кортежей, которые будут использоваться в качестве дополнительных простых и простых «замены на лету» с текстом, например, replace = {'-': ''} Заменяет все тире на пробелы; Оставьте empty для обычного использования и использования {';': ',', ':': ' '} с фонематическими кодировкамиsep_abbreviation Специальный сепаратор, используемый для транслитерации сокращений; Это в основном полезно только для фонематического кодирования текста в качестве следующего шага в трубопроводе TTS; Оставьте empty для нормального использования и использования ' -- ' с фонематическими кодировкамиmake_lowercase Если True, текст сделан строчным (оставляйте empty по умолчанию) Примечание . Большинство операций трансляции работают только с make_lowercase=True - это связано с различными словарями, работающими только с строчными. Пожалуйста, используйте make_lowercase=False только тогда, когда transliterate_ops не слишком используется, в противном случае большинство из них не работают! Параметры, используемые для параметра конфигурации transliterate_ops , следующие:
acronym_phoneme Transliterates Сокращения, таких как ABC в фонематическую версию ah beh zeeaccent_peculiarity Удаляет своеобразные кодирования Unicode и отображает их в совместимые ASCII-подобные версии (чистка OP)amount_money Transliterates Vurrance и Money Symbols, такие как $, €, Eur и т. Д.date транслитерации даты, например, 12.10.2019timestamp Transetraters TimeStass, например, 13H: 15M: 45Sweekday ( экспериментальный ), трантерации сокращений в Mo дни, например, в настоящее время это довольно подвержено ошибкам (многие ложные позиции)month ( экспериментальный ), транслитерации сокращений в течение нескольких месяцев, например, Jan или Dez - в настоящее время это довольно подвержено ошибкам (многие ложные позиции)time_of_day Transliteraters Time Day, например, 13: 15Hordinal транслитерации порядковых чисел, например zweite 2. пытается найти компромисс для правильного суффикса, то есть zweiten или zweitem )special транслитераты краев и особые термины, например, 8/10 в acht von zehnmath_symbol ( экспериментальный ), транслитерирует небольшой выбор математических символов, plus , minus и т. Д. (Также применяется: может иметь много ложных позитивах, поэтому используйте с осторожностью)spoken_symbol позволяет транслитерации кронштейнов или знаков цитирования на разговорной язык, например, «(текст)» в -- in klammern -- text -- (если sep_abbreviation установлен на ' -'), в основном полезно для задач TTS Текущее состояние в основном основано на использовании ручных отображений и регулярных выражениях для замены и расширения строк (слов или терминов). Следовательно, текущая производительность должна быть достаточно хорошей, чтобы использоваться с онлайн -выводом или использованием «в реальном времени» в текстовой обработке. Поскольку дополнительные модули или OPS добавляются с течением времени, могут также быть довольно медленные методы, выполняющие тяжелые вычисления и, таким образом, подходят в основном для обучения или офлайн -обработки.
Пожалуйста, откройте проблемы на GitHub для ошибок или запросов функций. Вы также можете обратиться ко мне по электронной почте.