German_transliterate adalah modul Python untuk membersihkan dan menerjemahkan (yaitu menormalkan) teks Jerman termasuk singkatan, angka, stempel waktu dll. Ini dapat digunakan untuk membersihkan teks yang berantakan (misalnya peta pengkodean unicode yang aneh ke ASCII) atau mengganti singkatan umum dalam teks dalam kombinasi dengan berbagai teks penambangan teks.
Namun, ini sangat berguna untuk preprocessing text-to-speech (TTS) (baik dalam pelatihan dan inferensi) dan memiliki fitur untuk mendukung pengkodean fonemik hasil (misalnya dengan ESPEAK-NG) setelah itu sebagai langkah selanjutnya dalam pipa pemrosesan.
IS telah berhasil diterapkan untuk preprocessing dengan mozilla TTS dalam kombinasi dengan fonem espeak-ng sebagai data input untuk pelatihan dan pipa inferensi.
Karya ini dilisensikan di bawah Lisensi Internasional Creative Commons Attribution 4.0. Untuk melihat salinan lisensi ini, kunjungi http://creativecommons.org/licenses/by/4.0/ atau kirim surat ke Creative Commons, PO Box 1866, Mountain View, CA 94042, AS.
Untuk memberikan atribusi atau mengutip karya ini, silakan gunakan cuplikan teks berikut:
german_transliterate, Copyright 2020 by repodiac, see https://github.com/repodiac for updates and further information
0.1.3 - Beberapa perbaikan bug di berbagai operasi: weekday , month , amount_money dan akronim, juga beberapa hal kecil yang ditetapkan di sana -sini ( perbarui sangat disarankan )0.1.2 -Menghapus OPS berikut dari daftar OP default, karena (seperti yang disebutkan dalam dokumentasi di bawah) mereka sangat rentan kesalahan (banyak positive palsu). Anda masih dapat menggunakannya melalui daftar eksplisit menambahkannya ke daftar transliterate_ops=[...] . OP yang dihapus adalah:monthweekdaymath_symbol0.1.1 - Antarmuka garis perintah yang ditambahkan untuk penggunaan default (tidak ada pengkodean fonem dan hal -hal eksperimental yang ditinggalkan)release 0.1 - Rilis awal perangkat lunak, masih banyak ToDo dan beberapa fitur eksperimental (lihat dokumentasi); Penanganan pengecualian juga bisa ditingkatkan Saat ini hanya memiliki satu ketergantungan eksternal, NUM2Words. Semua dependensi dapat ditemukan di requirements.txt dan termasuk dalam setup.py juga, saat ini.
Instalasi mudah menggunakan pip dan instalasi paket git bawaan berdasarkan setup.py :
pip install git+https://github.com/repodiac/german_transliteratePengaturan:
import german_transliterate.core ) ke lingkungan Python Anda saat ini seperti paket pip lainnya (jika, buat lingkungan virtual dengan virtualenv atau conda sebelumnya).Dalam kode Python atau sebagai perpustakaan:
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')
Baru dari baris perintah (di shell):
python core.py '1, 2, 3 - alles ist dabei'
Saat ini hanya ada satu metode untuk digunakan: transliterate('Das ist der Text.')
Ini memiliki parameter input berikut:
transliterate_ops , lihat di bawah untuk detailnyareplace dikte string "asli: penggantian" tupel yang akan digunakan sebagai pengganti "on-the-fly" tambahan tambahan dan sederhana dengan teks, misalnya ganti = {'-': ''} menggantikan semua tanda hubung dengan whitespace; tinggalkan empty untuk penggunaan dan gunakan {';': ',', ':': ' '} dengan pengkodean fonemik dengan pengkodean fonemiksep_abbreviation Pemisah khusus yang digunakan untuk transliterasi singkatan; Ini sebagian besar hanya berguna dengan pengkodean fonemik teks sebagai langkah berikutnya dalam pipa TTS; Biarkan empty untuk penggunaan dan penggunaan normal ' -- ' dengan pengkodean fonemikmake_lowercase Jika benar, teks dibuat huruf kecil (tinggalkan empty secara default) Catatan : Sebagian besar operasi transliterat hanya berfungsi dengan make_lowercase=True - ini karena berbagai kamus yang beroperasi dengan huruf kecil saja. Harap gunakan make_lowercase=False hanya ketika transliterate_ops tidak terlalu digunakan, jika tidak kebanyakan dari mereka tidak berfungsi! Parameter yang digunakan untuk parameter konfigurasi transliterate_ops adalah sebagai berikut:
acronym_phoneme transliterasi singkatan seperti ABC ke dalam versi fonemik ah beh zeeaccent_peculiarity Menghapus penyandian unicode yang aneh dan memetakannya ke versi seperti ASCII yang kompatibel (OP pembersih)amount_money menerjemahkan simbol mata uang dan uang seperti $, €, EUR dll.date transliterat tanggal, mis. 12.10.2019timestamp Transliterasi Timestamps, misalnya 13H: 15M: 45Sweekday ( eksperimental ), mentransliterasikan singkatan untuk hari kerja, misalnya Mo - saat ini ini agak rentan kesalahan (banyak positive palsu)month ( Eksperimental ), mentransliterasikan singkatan selama berbulan-bulan, misalnya Jan atau Dez - saat ini ini agak rentan kesalahan (banyak orang palsu)time_of_day mentransliterasikan waktu hari, misalnya 13: 15hordinal mentransliterasi angka ordinal, misalnya 2. Ke dalam zweite (mencoba menemukan tradeoff untuk akhiran kasus yang benar, yaitu zweiten atau zweitem )special Kasus Edge dan istilah khusus, misalnya 8/10 menjadi acht von zehnmath_symbol ( eksperimental ), mentransliterasikan sejumlah kecil simbol matematika, misalnya plus , minus dll. (Juga di sini berlaku: dapat memiliki banyak positif palsu, jadi gunakan dengan hati-hati)spoken_symbol memungkinkan untuk menerjemahkan tanda kurung atau tanda kutipan menjadi bahasa lisan, misalnya '(teks)' menjadi -- in klammern -- text -- (jika sep_abbreviation diatur ke ' -'), terutama berguna untuk tugas TTS Keadaan saat ini terutama didasarkan pada penggunaan pemetaan manual dan ekspresi reguler untuk substitusi dan perluasan string (kata atau istilah). Oleh karena itu, kinerja saat ini harus cukup baik untuk digunakan dengan inferensi online atau penggunaan "realtime" dalam pipa pemrosesan teks. Karena modul atau OP lebih lanjut ditambahkan dari waktu ke waktu, mungkin ada juga metode yang agak lambat melakukan perhitungan berat dan dengan demikian cocok terutama untuk pelatihan atau pemrosesan offline.
Harap buka masalah di GitHub untuk bug atau permintaan fitur. Anda juga dapat menghubungi saya melalui email.