# RUAccent
RUAccent - это библиотека для автоматической расстановки ударений на русском языке.
**По вопросам коммерческого использования пишите на [telegram аккаунт](https://t.me/bceloss)**
## Установка
С помощью pip
```
pip install ruaccent
```
С помощью GIT
```
pip install git+https://github.com/Den4ikAI/ruaccent.git
```
## Параметры работы
load(omograph_model_size='turbo2', use_dictionary=True, custom_dict={}, device="CPU", workdir=None)
- На данный момент доступно 6 моделей - **tiny**, **tiny2**, **tiny2.1**, **turbo2**, **turbo3**, **turbo3.1**, **turbo**, **big_poetry**.
- Переменная **use_dictionary** отвечает за загрузку всего словаря (требуется больше ОЗУ), иначе все ударения расставляет нейросеть.
- Функция **custom_dict** отвечает за добавление своих вариантов ударений в словарь. Формат такой: `{'слово': 'сл+ово с удар+ением'}`
- Выбор устройства CPU или CUDA. **Для работы с CUDA требуется установить onnxruntime-gpu и CUDA.**
- workdir - принимает строку. Является путём, куда скачиваются модели.
- tiny_mode - принимает True или False. При True отключает руловый пайплайн и часть моделей. Также не загружается словарь ударений.
**Для стабильной работы требуется минимум 512 мегабайт ОЗУ (модель омографов - tiny)**
## Пример использования
```python
from ruaccent import RUAccent
accentizer = RUAccent()
accentizer.load(omograph_model_size='turbo3.1', use_dictionary=True, tiny_mode=False)
text = 'на двери висит замок.'
print(accentizer.process_all(text))
```
Файлы моделей и словарей располагаются по [ссылке](https://huggingface.co/ruaccent/accentuator). Мы будем признательны фидбеку на [telegram аккаунт](https://t.me/bceloss)
## Донат
Вы можете поддержать проект деньгами. Это поможет быстрее разрабатывать более качественные новые версии.
CloudTips: https://pay.cloudtips.ru/p/b9d86686
Raw data
{
"_id": null,
"home_page": null,
"name": "ruaccent",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": null,
"author_email": "Denis Petrov <arduino4b@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/88/38/ba7b9caf3a6875f403eb7ac9674dc3ac0ea3769de641a0e6080e8b2638b9/ruaccent-1.5.8.3.tar.gz",
"platform": null,
"description": "# RUAccent\n\nRUAccent - \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u0439 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.\n\n**\u041f\u043e \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0438\u0448\u0438\u0442\u0435 \u043d\u0430 [telegram \u0430\u043a\u043a\u0430\u0443\u043d\u0442](https://t.me/bceloss)**\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip\n ```\n pip install ruaccent\n ```\n \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e GIT\n ```\n pip install git+https://github.com/Den4ikAI/ruaccent.git\n ```\n## \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u044b\n\n load(omograph_model_size='turbo2', use_dictionary=True, custom_dict={}, device=\"CPU\", workdir=None)\n\n - \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e 6 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 - **tiny**, **tiny2**, **tiny2.1**, **turbo2**, **turbo3**, **turbo3.1**, **turbo**, **big_poetry**.\n - \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f **use_dictionary** \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0432\u0441\u0435\u0433\u043e \u0441\u043b\u043e\u0432\u0430\u0440\u044f (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u041e\u0417\u0423), \u0438\u043d\u0430\u0447\u0435 \u0432\u0441\u0435 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c. \n - \u0424\u0443\u043d\u043a\u0446\u0438\u044f **custom_dict** \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u0439 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c. \u0424\u043e\u0440\u043c\u0430\u0442 \u0442\u0430\u043a\u043e\u0439: `{'\u0441\u043b\u043e\u0432\u043e': '\u0441\u043b+\u043e\u0432\u043e \u0441 \u0443\u0434\u0430\u0440+\u0435\u043d\u0438\u0435\u043c'}`\n- \u0412\u044b\u0431\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 CPU \u0438\u043b\u0438 CUDA. **\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 CUDA \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c onnxruntime-gpu \u0438 CUDA.**\n- workdir - \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0451\u043c, \u043a\u0443\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0435\u043b\u0438.\n- tiny_mode - \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 True \u0438\u043b\u0438 False. \u041f\u0440\u0438 True \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0443\u043b\u043e\u0432\u044b\u0439 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u0438 \u0447\u0430\u0441\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0435\u0439. \u0422\u0430\u043a\u0436\u0435 \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u0439.\n\n **\u0414\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0443\u043c 512 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u041e\u0417\u0423 (\u043c\u043e\u0434\u0435\u043b\u044c \u043e\u043c\u043e\u0433\u0440\u0430\u0444\u043e\u0432 - tiny)**\n\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n```python\nfrom ruaccent import RUAccent\n\naccentizer = RUAccent()\naccentizer.load(omograph_model_size='turbo3.1', use_dictionary=True, tiny_mode=False)\n\ntext = '\u043d\u0430 \u0434\u0432\u0435\u0440\u0438 \u0432\u0438\u0441\u0438\u0442 \u0437\u0430\u043c\u043e\u043a.'\nprint(accentizer.process_all(text))\n```\n\n\u0424\u0430\u0439\u043b\u044b \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u043f\u043e [\u0441\u0441\u044b\u043b\u043a\u0435](https://huggingface.co/ruaccent/accentuator). \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0438\u0437\u043d\u0430\u0442\u0435\u043b\u044c\u043d\u044b \u0444\u0438\u0434\u0431\u0435\u043a\u0443 \u043d\u0430 [telegram \u0430\u043a\u043a\u0430\u0443\u043d\u0442](https://t.me/bceloss)\n\n## \u0414\u043e\u043d\u0430\u0442\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0434\u0435\u043d\u044c\u0433\u0430\u043c\u0438. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438. \nCloudTips: https://pay.cloudtips.ru/p/b9d86686\n",
"bugtrack_url": null,
"license": null,
"summary": "Russian accentizer",
"version": "1.5.8.3",
"project_urls": {
"Home": "https://github.com/Den4ikAI/ruaccent"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0fbad0033444205367e6eaeacc6a141013dab67ee483edaa0e0278ac0389a8ce",
"md5": "75dc4bdac71b932dd659560c74e5339a",
"sha256": "35c220a07aa9c3c11574a6be7eb5a4dbe4c5f60be58cafb80e9c6d0796eb05b1"
},
"downloads": -1,
"filename": "ruaccent-1.5.8.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "75dc4bdac71b932dd659560c74e5339a",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 22304,
"upload_time": "2024-10-23T15:58:11",
"upload_time_iso_8601": "2024-10-23T15:58:11.376414Z",
"url": "https://files.pythonhosted.org/packages/0f/ba/d0033444205367e6eaeacc6a141013dab67ee483edaa0e0278ac0389a8ce/ruaccent-1.5.8.3-py2.py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8838ba7b9caf3a6875f403eb7ac9674dc3ac0ea3769de641a0e6080e8b2638b9",
"md5": "99b9b7654e6c96da341a449d23eb8258",
"sha256": "13434d89497917572ca65be1f8b4dfbed3f4621657fd3bcfa1c844f3af25d5fe"
},
"downloads": -1,
"filename": "ruaccent-1.5.8.3.tar.gz",
"has_sig": false,
"md5_digest": "99b9b7654e6c96da341a449d23eb8258",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19184,
"upload_time": "2024-10-23T15:58:15",
"upload_time_iso_8601": "2024-10-23T15:58:15.185166Z",
"url": "https://files.pythonhosted.org/packages/88/38/ba7b9caf3a6875f403eb7ac9674dc3ac0ea3769de641a0e6080e8b2638b9/ruaccent-1.5.8.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-23 15:58:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Den4ikAI",
"github_project": "ruaccent",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "huggingface_hub",
"specs": []
},
{
"name": "onnxruntime",
"specs": []
},
{
"name": "transformers",
"specs": []
},
{
"name": "sentencepiece",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "python-crfsuite",
"specs": []
}
],
"lcname": "ruaccent"
}