Den4ik Research

Description
HuggingFace: https://huggingface.co/Den4ikAI
GitHub: https://github.com/Den4ikAI
Донат: https://pay.cloudtips.ru/p/b9d86686

Канал одного NLP-ресерчера
Advertising
We recommend to visit
HAYZON
HAYZON
6.442.108 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 2 Tage, 22 Stunden her

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 3 Monate her

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 Monate, 2 Wochen her

1 month, 4 weeks ago

ruaccent-turbo3.1 - улучшение модели в случаях с несколькими одинаковыми омографами

В предыдущих версиях руакцента была одна проблема - модель в случаях с двумя и более одинаковыми омографами (например "на горе стоит замок, а на его двери висит замок.") всегда ставила один и тот же (в нашем примере зам+ок). Также существовала проблема, что модель иногда путает контексты для омографа. В обновленной версии tiny2.1 и turbo3.1 над этими проблемами была проделана работа.

Метрики моделей (на усложненном датасете):

ruaccent-turbo3 -> 95.86%
ruaccent-turbo3.1 -> 95.98%
А вот на tiny качество выросло значительно:

tiny2 -> 90.18%
tiny2.1 -> 95.31%

Говоря о значительном росте и улучшениях, нельзя не отметить, что сегодня у меня особенный день - мой день рождения! Как и в работе над моделями руакцента, каждый новый год жизни приносит свои улучшения, опыт и достижения.

Бтв, я сегодня на AI Conf, так что если хотите поболтать, велком к зоне "Онтико AI Музыка". Я здесь со своим другом @varfolomeefff.

GitHub: https://github.com/Den4ikAI/ruaccent
Донат: https://pay.cloudtips.ru/p/b9d86686

2 months, 2 weeks ago

RUPhon - новый открытый IPA фонемизатор для русского языка!

Совместно с @intexcp мы разработали RUPhon - библиотеку для фонемизации русского текста, использующую модели RUAccent-encoder. Модель поддерживает два языка: русский и английский.

Ключевые особенности

  1. Модель может обрабатывать ударения на входе
  2. Модель имеет относительно небольшой размер (от 55 до 120 мегабайт)

Метрики (F1)
charsiuG2P -> 0.9236
Omogre -> 0.9601
ru_g2p_ipa_bert_large -> 0.9868
RUPhon-small -> 0.9970
RUPhon-big -> 0.9990

А если вы хотите автоматически расставлять ударения, установите RUAccent и используйте его вместе с RUPhon!
Ссылка на библиотеку: https://github.com/Den4ikAI/ruphon
Донат: https://pay.cloudtips.ru/p/b9d86686

@den4ikresearch

3 months, 1 week ago

IOAI — import openai

5 months, 2 weeks ago

RUAccent-1.5.7

  1. Добавлена новая модель Tiny. Главное преимущество - размер модели 10 мегабайт! Это в 36 раз меньше, чем RUAccent-turbo.
  2. Tiny-mode. Специальный режим, в котором загружается только часть словарей и моделей.
  3. Исправлены мелкие баги

В режиме tiny ruAccent потребляет всего 200 мегабайт
Метрики

ruaccent_big_poetry -> 0.93 avg
ruaccent_turbo -> 0.95 avg
ruaccent_turbo2 -> 0.97 avg
ruaccent_tiny -> 0.94 avg

Код использования:

```

from ruaccent import RUAccent

accentizer = RUAccent()
accentizer.load(omograph_model_size='tiny', use_dictionary=True, tiny_mode=True)

text = 'на двери висит замок.'
print(accentizer.process_all(text))

```

GitHub: ссылка
Поддержать автора: cloudtips

@den4ikresearch

6 months, 1 week ago

RUAccent-turbo2

Новая модель поддерживает омографы, которые поддерживала big_poetry (например глАза-глазА).
Отличие от turbo в обучающих данных (их больше) и токенизаторе (теперь токенизатор токенизирует омографы одним токеном).
Точность: 0.97 avg acc
Также были пофикшены мелкие баги с разбиением текста на предложения и работу с Windows.

Чтобы попробовать модель достаточно обновиться до последней версии.

Код использования:

```

from ruaccent import RUAccent

accentizer = RUAccent()
accentizer.load(omograph_model_size='turbo2', use_dictionary=True)

text = 'на двери висит замок.'
print(accentizer.process_all(text))

```

GitHub: ссылка
Поддержать автора: cloudtips

@den4ikresearch

6 months, 3 weeks ago

RUNorm v1 - открытый русскоязычный нормализатор текста перед TTS.

Примерно месяц назад был открытый бета-тест RUNorm в телеграм-боте. С этого момента было много экспериментов с тэггером и нормализатором. Отдельная модель для нормализации чисел была удалена.

Был обновлен набор моделей, теперь их 3:
- RUNorm_big (FRED-T5_LARGE 860M параметров)
- RUNorm_medium (ruT5-base 222M параметров)
- RUNorm_small (FRED-T5-95M. Дистиллят большой модели. 95M параметров)

Как и на чем обучались модели?

Изначально, датасет состоял из очень грязных данных, частично написанных руками, частично размеченных chatGPT. После, был обучен FRED-T5-1.7B. Потом взял большой текстовый датасет (pikabu) и регуляркой вытащил предложения, где предположительно должны быть сокращения и прогнал через этого фреда.

Идея пайплайна для чисел была взята отсюда, но с небольшими доработками, в виде нормализации чисел еще до подачи в модель. Таким образом, модели не обязательно знать, как число перевести в текст, остается только склонить.

Модель для английских слов училась транслитерировать небольшие последовательности из разных английских слов в русские. Датасет также полусинтетический, часть размечена руками, часть взята из датасета с соревы от гугла на каггле, часть размечена chatGPT.

За основу датасета модели-тэггер был взят тот же с соревы гугла по нормализации текста, но с небольшим обогащением сокращениями.

Модели можно потыкать тут: ссылка
GitHub: ссылка

P.S Возможна некоторая деградация качества для больших чисел, постараюсь поправить в будущих релизах.

@den4ikresearch

8 months, 2 weeks ago

Релиз RUAccent-turbo!
1. Была добавлена новая модель Turbo.
Данная модель была обучена на 200 гб размеченных разными пайплайнами текстов. Размер модели сопоставим с medium_poetry, но качество выше big_poetry. Размер модели 80m параметров.

Метрики:
ruaccent_big -> 0.93 avg
ruaccent_turbo -> 0.95 avg

  1. Отказ от собственного тяжеловесного пайплайна морфологического анализатора, в сторону проекта Ильи Козиева rupostagger.
  2. Доработка пайплайна с нейросетью для расстановки ударений в обычных словах
  3. Исправлены некоторые ошибки работы системы. (вылеты и т.д)

Colab: link
GitHub: link
Модель вместе с TeraTTS: link

8 months, 2 weeks ago

RUNorm и char level number tokenization

  1. Немного о RUNorm

Сейчас помимо RUAccent, я начал заниматься проектом RUNorm. Данная система должна нормализовывать текст перед акцентуацией и собственно синтезом речи.
Нормализацию текстов можно подразделить на следующие подзадачи:
1. Нормализация сокращений (1990 г. -> 1990 год, г. Москва -> город. Москва)
2. Нормализация аббревиатур (ПТСР -> пэ тэ эс эр)
3. Нормализация английских слов (Microsoft -> майкрософт)
4. Нормализация чисел (в 2009 -> в две тысячи девятом)

Нормализация сокращений уже работает довольно неплохо:

:> Моя зп. всего 15 тыс. руб.

Моя зарплата всего пятнадцать тысяч рублей

:> Мой адрес : г. Москва, р-н Бутово, д. 12, кв. 20

Мой адрес город Москва, район Бутово, дом двенадцать, квартира двадцать

:> Я родился в 1900 г.

Я родился в 1900 году.

Текущий пайплайн сейчас состоит из двух моделей - ruT5-base, bert на 3м параметров и некоторых правил взятых отсюда.

  1. Как посимвольная токенизация цифр должна помочь в нормализации?

Эксперимент с решением задачи "в лоб" показал, что модель часто галлюцинирует и путает некоторые числа.
Пример таких галлюцинаций:

:> Конец света будет в 2045 г.

Конец света будет в тысяча сорок пятом году.

:> В 1987 г. произошло самое большое падение Промышленного индекса Доу Джонса за всю его историю, — 22,6 %

В тысяча девятьсот семьдесят седьмом году произошло самое большое падение Промышленного индекса Доу Джонса за всю его историю, — двадцать два целых и шесть десятых процента.

Возможное решение подобных проблем - правильная токенизация чисел.

Стандартный токенизатор модели ruT5-base работает примерно так:
:> tokenizer_orig.tokenize("Я родился 12.09.1923")

['▁Я', '▁родился', '▁12', '.09.', '1923']

Новый токенизатор:
:> tokenizer.tokenize("Я родился 12.09.1923")

['▁Я', '▁родился', '▁1', '2', '.', '0', '9', '.', '1', '9', '2', '3']

Доработка токенизатора очень простая, все токены являющиеся числами и длиной более 1 символа (без учета пунктуации), были заменены на "".

Подробнее можно ознакомиться в данном ноутбуке

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

По результатам тестирования были получены следующие метрики:

Arith acc digit5_ft: 0.586286056492664
Arith acc rut5_ft: 0.2418904082243737
P.S. Все тесты проводились без сэмплинга

Модель с модифицированным токенизатором ушла вперед с огромным отрывом.

We recommend to visit
HAYZON
HAYZON
6.442.108 @hayzonn

💼 How to create capital and increase it using cryptocurrency

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 2 Tage, 22 Stunden her

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 3 Monate her

Новые и перспективные Web3 игры с добычей токенов.

Чат: https://t.me/Crypto_Wolf_Chat

Правила чата смотрите в описании чата.

Все свои вопросы направляйте в чат или главному модератору чата: @Exudna_118

По теме сотрудничества: @Zombini

Last updated 2 Monate, 2 Wochen her