/ Модель

Характеристики

Параметры
7,5 млн
Лицензия
MIT
Архитектура
t5 · dense
Базовая модель
Homo-GE2PE-Persian
Библиотека
transformers
Опубликована
9 сен 2026

Homo-GE2PE-Persian-HF

Синтез речиТекст → аудио3 профессии

Небольшая модель на базе T5 преобразует персидский текст в фонетическую запись, восстанавливая произношение кратких гласных и эзაფе и разрешая омографы.

5 842скачиваний за 30 дней1лайквеса обновлены9 сен 2026

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Homo-GE2PE-Persian-HF — версия модели Homo-GE2PE-Persian, перепакованная Elnaz Rahmati и соавторами в формат Transformers. Веса идентичны исходным; это не новая версия. Модель построена на архитектуре T5 и содержит 7,5 млн параметров. Она преобразует персидский текст в фонетическую запись внутреннего формата GE2PE, восстанавливая произношение кратких гласных, вставляя эзაფе и различая омографы по контексту. Модель предназначена для использования как фонетический фронтенд в конвейерах синтеза персидской речи.

В README приведены результаты SentenceBench: после отказа от Parsivar показатели улучшились до PER 3,22%, WER 16,07%, точности разрешения омографов 70,28% и F1 эзაფе 85,04%. Выходная запись GE2PE отличается от общепринятой фонетической транскрипции и требует преобразования перед прямым сравнением с другими системами. Для реальных входных данных рекомендуется нормализация: модель не обучалась на вариантах арабских букв ی/ي и ک/ك, произвольных цифрах и непоследовательном использовании ZWNJ. Лицензия — MIT.

Сценарии применения

  • преобразование персидского текста в фонетическую запись для синтеза речи
  • восстановление эзაფе в персидских фразах
  • разрешение омографов персидского языка по контексту
  • определение произношения персидских слов с пропущенными гласными

Ограничения

Выход использует внутреннюю романизацию GE2PE, которую нужно преобразовать для сопоставления с обычной фонетической транскрипцией. Для реальных данных нужна нормализация арабских вариантов букв, цифр и ZWNJ; модель не обучалась на таких вариациях.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Homo-GE2PE-Persian-HF

This is not a new model. It is a repackaging of MahtaFetrat/Homo-GE2PE-Persian by Elnaz Rahmati et al. — the weights are byte-identical. All credit for the model belongs to the original authors.

The -HF suffix follows the Llama-2-7b-hf convention: same weights, packaged in transformers-native format rather than the original release format. It is not a new version of the model.

What changed is only the packaging: the original ships zipped weights plus a vendored copy of Parsivar and a custom GE2PE.py wrapper. This repo is a plain from_pretrained() model with no extra dependencies, so it can be dropped into an inference pipeline directly.

Repackaged for use as the pronunciation frontend of pocket-tts-farsi, a Persian TTS model that runs on CPU.

Why drop Parsivar

Parsivar was used only to normalize input text before the model. Measured on SentenceBench (400 sentences), removing it improves every metric, because it merges prepositions into the following word (beqadre where the reference has be qadar-e):

PER ↓WER ↓homograph ↑ezafe F1 ↑
original (with Parsivar)3.47%19.47%67.45%82.76%
this repo3.22%16.07%70.28%85.04%

Any reasonable Persian normalizer works in its place — or none at all on already-clean text. Do use one in production, though: real input contains Arabic ي/ك, stray digits, and ZWNJ inconsistencies that the model has not been trained to handle.

Usage

import torch
from transformers import AutoTokenizer, T5ForConditionalGeneration

REPO = "mehdi-hf/Homo-GE2PE-Persian-HF"
tok = AutoTokenizer.from_pretrained(REPO)
model = T5ForConditionalGeneration.from_pretrained(REPO).eval()

def g2p(sentences: list[str]) -> list[str]:
    # add_special_tokens=False and 5 beams match how the model was trained.
    enc = tok(sentences, padding=True, add_special_tokens=False,
              return_attention_mask=True, return_tensors="pt")
    with torch.no_grad():
        out = model.generate(enc["input_ids"], attention_mask=enc["attention_mask"],
                             num_beams=5, min_length=1, max_length=512,
                             early_stopping=True)
    return [s.strip() for s in tok.batch_decode(out, skip_special_tokens=True)]

print(g2p(["حملات برون‌مرزی", "من قدر تو را می‌دانم"]))
# ['h/m/late1 borunm/rzi', 'm/n q/dre1 to ra midan/m']

Output notation — read this before comparing to anything

The model emits GE2PE's internal romanization, which differs from the notation used in SentenceBench's phoneme column even though both come from the same authors. Comparing raw strings without mapping scores PER ~30% instead of ~3%.

model emitsconventionalmeaning
/ashort a
aAlong ā
@?glottal stop (ع / ء)
$Sš
cCč
1—internal ezafe flag, not a phoneme
_TO_REF = str.maketrans({"/": "a", "a": "A", "@": "?", "$": "S", "c": "C"})

def to_conventional(text: str) -> str:
    return text.translate(_TO_REF).replace("1", "")

to_conventional("h/m/late1 borunm/rzi")   # 'hamalAte borunmarzi'

The 1 marks where an ezafe was inserted. The original wrapper strips it via .replace('1', ''), but only on sentences whose word counts happen to align, so strip it unconditionally.

What it does well

Persian script omits short vowels and never writes the ezafe (the linking -e between a noun and its modifier), so pronunciation must be inferred:

inputoutput (mapped)
حملات برون‌مرزیhamalAte borunmarziezafe restored
کتاب منketAbe manezafe restored
از بزرگواری و کرم خداوند?az bozorgvAri va karame xodAvandکرم → karam (generosity), not kerem (cream)

That last one is homograph disambiguation, which is the original paper's main contribution.

Credit

The model, the training data, and the research are entirely the work of the original authors:

@article{rahmati2025fast,
  title={Fast, Not Fancy: Rethinking G2P with Rich Data and Rule-Based Models},
  author={Rahmati, Elnaz and others},
  journal={arXiv preprint arXiv:2505.12973},
  year={2025}
}

License

MIT, © 2025 Elnaz Rahmati — see LICENSE. Base model google/byt5-small is Apache 2.0, © Google LLC — see LICENSE-apache-2.0.md. Full attribution in NOTICE.md.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · transformers

Нельзя запустить

Для архитектуры t5 нет загрузчика под задачу text-to-speech.

Класс архитектуры
T5ForConditionalGeneration
Ревизия весов
e314087

0 моделей