Об этом проекте

Haqumei (薄明/拍命) — это библиотека японского преобразования графем в фонемы (G2P), реализованная на Rust, с привязками к Python и интерфейсом командной строки. Она преобразует японский текст в последовательности фонем, обеспечивая точный и детальный лингвистический анализ для синтеза речи и фронтендов преобразования текста в речь. **Основные возможности** - `g2p`: базовое преобразование текста в фонемы - `g2k`: преобразование текста в чтение катаканой - `g2p_prosody`: последовательности фонем с аннотированными просодическими символами (повышение/понижение тона, границы фраз, паузы) - `g2p_mapping`: сопоставление слов и фонем с обнаружением неизвестных слов - `g2p_mapping_detailed`: детальное сопоставление, включающее информацию о части речи и акценте - `g2p_mapping_prosody`: структурированное сопоставление с просодической, тоновой и морфологической информацией - `g2p_candidates`: несколько вариантов чтения для неоднозначного текста **Точность** Haqumei достигает 0,83% частоты ошибок на фонему (PER) в бенчмарке jsut-label и 0,78% частоты ошибок на катакану (KER) в ROHAN, превосходя pyopenjtalk (1,31% PER, 5,02% KER) и pyopenjtalk-plus (1,09% PER, 1,60% KER). Улучшения точности основаны на словаре и методах pyopenjtalk-plus. **Возможности** - **Сопоставление слов и фонем**: обеспечивает соответствие между словами и фонемами, включая обнаружение неизвестных слов (`unk`) и пробелов (`sp`), что позволяет минимизировать потерю информации из входного текста. - **Просодическая информация**: поддерживает несколько форматов просодии (Default, Prefix, Numeric) с аннотациями высокого/низкого тона, границами акцентных фраз и просодическими символами. - **Обработка аллофонов**: обрабатывает мораические носовые (撥音) и геминатные согласные (促音) с отдельными метками фонем. - **Запасные варианты для неизвестных слов**: оценка чтения английских слов через haqumei-kanalizer, запасной вариант онъёми для кандзи и коррекция акцента для слов, записанных только катаканой. - **Параллельность**: методы пакетной обработки для многопоточных операций G2P. - **Пользовательские параметры**: гибкая настройка меток аллофонов, нормализации Unicode и поведения чтения. - **Пользовательские словари**: поддержка сборки с пользовательскими встроенными словарями. **Установка** - Rust: `cargo add haqumei` - Python: `pip install haqumei` (предварительно собранные wheels для Linux x86_64/aarch64, macOS aarch64, Windows x86_64) - CLI: `cargo install haqumei-cli` **Технические детали** Библиотека использует MeCab для морфологического анализа и расширяет формат полноконтекстных меток HTS. Во время процесса сборки в неё встраивается словарь (загружается из сети, если не предоставлен пользовательский словарь). Привязки Python используют предварительно собранные wheels, которые включают словарь, что не требует доступа к сети при установке. **Лицензия** Apache-2.0