Тот случай, когда NLP меня чуть не сломал...

Решил попробовать текстовый анализ для своего небольшого проекта. Нашел какой-то онлайн сервис, там обещали классификацию текстов по эмоциям – простенький NLP, казалось бы.

Загрузил свою статью, пару постов из соцсетей. Жду. Система выдала: основной эмоциональный профиль – «агрессия» и «раздражение». Я чуть не лопнул. Это была статья про преимущества местного фермерского рынка, дружелюбная и нейтральная. Ахах.

Написал в поддержку. Ответ: «алгоритм обучен на общих данных, возможны погрешности». Короче, отмазались. Я тогда начал копать. Смотрел, какие слова могли вызвать такой вывод. Ну типа «свежий», «натуральный», «прямо с поля». Откуда инфа, что это агрессивные концепты? Не факт.

Потом нашел в их документации упоминание, что модель была обучена на англоязычных корпусах и просто адаптирована для русского без тонкой калибровки. Вот и весь сказ. Обработка естественного языка оказалась довольно грубой. Кмк, многие сервисы так работают – продают мощь, а внутри костыли.

Чем закончилось? Я на том проекте отказался от автоматической классификации. Сомневаюсь теперь в подобных готовых решениях. Если нет глубокого понимания, как модель работает на конкретных данных, лучше не рисковать. Вывод спорный, конечно, но мой.

Подробнее

Токенизатор сходит с ума на смешанном англо-русском контенте! Помогите!

Ребята, SOS. Делаю парсер для форумов по игровой тематике — там часто пишут на ломаном англо-русском, типа «го в раш, бро» или «Этот читер такой лузер»

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

Задача — просто корректно разбить текст на слова/токены для последующего анализа. Может, есть какая-то готовая библиотека или подход для такого код-свитчинга? Уже всю голову сломал. Может, кто сталкивался?

Подробнее