Русский графемно-фонемный преобразователь (G2P) с выводом в формате IPA.
Использует Transformer encoder-decoder модель и словарь на ~400K слов для быстрого преобразования русского текста в фонемную транскрипцию.
pip install git+https://github.com/NikiPshg/TryIPaG2P.gitИли для локальной разработки:
git clone https://github.com/NikiPshg/TryIPaG2P.git
cd TryIPaG2P
pip install -e .from tryiparu import G2PModel
g2p = G2PModel()
result = g2p("текст в фонемы ипа формата")
print(result)
# ['tʲ', 'e', 'k', 's', 't', ' ', 'v', ' ', 'f', 'ɐ', 'n', 'ɛ', 'm', 'ɨ', ' ', 'ɪ', 'p', 'a', ' ', 'f', 'ɐ', 'r', 'm', 'a', 't', 'ə']| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
device |
str | None |
None |
Устройство ("cpu", "cuda"). Автоопределение если None |
tokenizer_file |
str | None |
None |
Путь к BPE tokenizer JSON |
model_weights |
str | None |
None |
Путь к весам модели (.pt) |
load_dataset |
bool |
True |
Загрузить словарь для ускорения (lookup вместо inference) |
- Входной текст разбивается на токены (слова и пунктуация)
- Каждое слово ищется в словаре (~400K записей)
- Если слова нет в словаре — запускается Transformer для генерации фонем
- Результат кешируется для повторных запросов
- Пост-обработка объединяет диакритики, аффрикаты, ударения
torch >= 2.0tokenizers >= 0.13
MIT