독일인_translerate는 약어, 숫자, 타임 스탬프 등을 포함한 독일어 텍스트를 청소하고 번역하는 (예 : 정상화) 파이썬 모듈입니다. 지저분한 텍스트를 청소하는 데 사용될 수 있습니다 (예 : 다양한 텍스트 마이닝 작업과 함께 텍스트로 일반적인 약어를 대체 할 수 있습니다.
그러나 TTS (Text-To-Steece) 전처리 (교육 및 추론 모두)에 특히 유용하며, 이후에 프로세싱 파이프 라인의 다음 단계로 결과의 음성 인코딩 (예 : ESGIEK-NG)을 지원하는 기능이 있습니다.
IS는 교육 및 추론 파이프 라인에 대한 입력 데이터로서 espeak-ng Phonemes와 함께 Mozilla TTS와의 전처리에 성공적으로 적용되었습니다.
이 작품은 Creative Commons Adatribution 4.0 International License에 따라 라이센스가 부여됩니다. 이 라이센스의 사본을 보려면 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 및 약어, 여기 저기 고정 된 일부 사소한 물건 ( 적극 권장되는 업데이트 )0.1.2 기본 OP 목록에서 다음 OPS를 제거했습니다 (아래 문서에 언급 된 바와 같이) 오류가 발생하기 쉽습니다 (많은 허위 양성). 당신은 여전히 transliterate_ops=[...] 목록에 명시 적으로 추가하여 사용할 수 있습니다. 제거 된 OPS는 다음과 같습니다.monthweekdaymath_symbol0.1.1 기본 사용에 대한 추가 명령 줄 인터페이스 (음소 인코딩 및 실험적인 물건 없음)release 0.1 소프트웨어의 초기 릴리스, 여전히 많은 ToDo 와 더 실험적인 기능 (문서 참조); 또한 예외 처리가 개선 될 수 있습니다 현재는 하나의 외부 종속성 인 num2words 만 있습니다. 모든 종속성은 requirements.txt 에 따라 찾을 수 있으며 현재 setup.py 에도 포함됩니다.
setup.py 기반으로하는 pip 및 내장 git 패키지 설치를 사용하는 설치가 쉽습니다.
pip install git+https://github.com/repodiac/german_transliterate설정:
pip 패키지 (이전에 virtualenv 또는 conda 사용하여 가상 환경을 생성하는 경우)와 같이 현재 Python 환경으로 설치 및 동작 ( import german_transliterate.core )을 현재 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 "문자열 튜플의 DITT를 추가로 평범하고 단순한 "On-the-Fly"교체 텍스트와 함께 사용합니다. 예를 들어 교체 = { '-': ''} 모든 대시를 공백으로 대체합니다. 정상적인 사용을 위해 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 독특한 유니 코드 인코딩을 제거하고 호환 ASCII와 같은 버전 (Cleaning OP)에 매핑합니다.amount_money $, €, EUR 등과 같은 통화 및 돈 기호를 음역합니다.date 음역 날짜, 예를 들어 12.10.2019timestamp 타임 스탬프 (예 : 13h : 15m : 45s)를 음역합니다weekday ( 실험 ), 예를 들어 Mo 와 같은 평일의 약어를 음역합니다. 현재 이것은 오류가 발생하기 쉽습니다 (많은 허위 양성)month ( 실험 ), Jan 달 동안 약어 를 음역합니다 Deztime_of_day 는 시간의 시간, 예를 들어 13 : 15hordinal 음역은 서수 숫자, 예를 들어 2. zweite 로 향합니다 (올바른 사례 접미사, 즉 zweiten 또는 zweitem 에 대한 트레이드 오프를 찾으려고합니다)special 음역을 가장자리 케이스 및 특별 용어, 예를 들어 8/10 acht von zehnmath_symbol ( 실험 ), 수학 기호의 작은 선택 (예 : plus , minus 등)을 음역합니다.spoken_symbol 괄호 또는 인용 자국을 음성 언어로 번역 할 수 있습니다. 예를 들어 '(텍스트)' '' -- in klammern -- text -- ( sep_abbreviation ' -'로 설정된 경우)로 TTS 작업에 유용합니다. 현재 상태는 주로 수동 매핑 사용 및 문자열 (단어 또는 용어)의 대체 및 확장을위한 정규 표현식을 기반으로합니다. 따라서 현재 성능은 온라인 추론 또는 텍스트 처리 파이프 라인에서 "실시간"사용으로 사용하기에 충분해야합니다. 시간이 지남에 따라 추가 모듈이나 OPS가 추가되므로, 무거운 계산을 수행하는 방법이 다소 느리게 진행될 수 있으며 주로 교육 또는 오프라인 처리에 적합 할 수 있습니다.
버그 또는 기능 요청에 대한 GitHub에서 문제를 열어주십시오. 이메일을 통해 저에게 연락 할 수도 있습니다.