Анализатор тональности V.3.1: Замерил — результат так себе — кракен сайт ссылка тор браузере

Привет всем. Решил тут протестировать новый движок для анализа тональности, V.3.1. Обещают всякое, но мне интересны чисто технические параметры.

Загрузил им датасет из 10 тысяч отзывов о нашем ПО. Интересно было посмотреть, насколько точно он определяет негатив/позитив, и как обрабатывает сарказм. По ттх, заявлена точность 92% на нейтральных текстах и 85% на текстах с разной степенью эмоциональности.

  • Плюсы: скорость обработки — 10 тысяч отзывов заняли около 15 минут. Это реально быстро. Интерфейс минималистичный, тоже плюс.
  • Минусы: точность на саркастичных отзывах — ниже заявленной, где-то 70%. Часто путает иронию с прямой негативной оценкой. Обработка специфических терминов (типа 'кракен ссылка' или 'торговать через кракен') тоже вызывает вопросы, иногда выдает нерелевантные категории.

Ну, короче, если вам нужно просто понять общий настрой массы текстов — норм. Но для глубокой аналитики, где важна нюансировка, я бы пока не советовал.

В теории, с дообучением модели на наших данных, можно добиться лучших результатов. Но это уже мои проблемы, а не их. Посмотрим, что будет в V.3.2.

Подробнее

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

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

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

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

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

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

Подробнее

Инструмент для аннотации текстов Prodigy — дорого, но оно того стоит?

Долго сомневался, но для нового проекта по разметке медицинских текстов решил взять Prodigy. Делимся впечатлениями после месяца активного использования.

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

Плюсы, которые перевесили: Невероятная скорость разметки благодаря активному обучению. Ты не просто кликаешь на текст, а модель после каждого твоего действия предлагает следующие наиболее «полезные» для нее примеры. Это сократило объём необходимой ручной разметки в разы, наверное, в три. Встроенные рецепты для работы с трансформерами (например, для NER или text categorization) — просто волшебство. Запустил, и через 15 минут уже работает интерактивный цикл обучения и разметки. Качество итоговой модели, обученной на таких «умных» данных, оказалось выше, чем на данных, размеченных традиционно.

Минусы: Цена, о ней уже сказал. И привязка к экосистеме SpaCy. Если ты не используешь SpaCy в проекте, часть фишек будет избыточна. Ну и требует некоторого времени, чтобы понять философию «рецептов»

Вердикт: Если у тебя серьезный проект с большими объемами текстов для разметки, бюджет позволяет, и ты хочешь сэкономить самое ценное — время экспертов-аннотаторов, то Prodigy это must-have. Для разовых или небольших задач, возможно, есть смысл поискать более простые и дешёвые альтернативы вроде Label Studio

Подробнее

Интеграция с Google NLP API сломалась после их тихого обновления!

Все работало как часы полгода. Сегодня утром скрипты начали падать с ошибками аутентификации. В логах Google Cloud — ничего внятного. Ключи сервисного аккаунта те же, проект активен, квоты не исчерпаны.

Проверил — документацию по API они вроде бы не меняли. Пересоздал ключ, обновил библиотеку google-cloud-language — не помогает. Пишет «PERMISSION_DENIED». Но права у сервисного аккаунта в IAM те же, что и были: «Cloud Natural Language API User».

Коллеги, может, кто сталкивался в последние дни? Может, они что-то поменяли в политиках или обязательных параметрах запроса? Уже 4 часа бьюсь, дедлайн горит. Любая мысль будет полезна!

Подробнее

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

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

Первое и главное: определи язык каждого документа. Не доверяй метаданным. Используй библиотеки типа langdetect или fasttext. Раздели корпус на языковые группы. Дальнейшая обработка для каждой группы своя.

Шаги для каждой языковой группы:

  1. Токенизация Не используй один токенизатор для всех. Для английского — nltk.word_tokenize или токенизатор из SpaCy. Для русского — razdel или токенизатор из Natasha. Для китайского/японского — jieba или аналоги. Ключ — правильный выбор инструмента под язык
  2. Нормализация и очистка. Приводи к нижнему регистру для языков, где это уместно (не для немецкого, где существительные пишутся с заглавной!). Удаляй стоп-слова, но используй отдельные списки для каждого языка. Для лемматизации или стемминга — снова свои инструменты (SnowballStemmer для разных языков, pymorphy2 для русского).
  3. Векторизация для моделей. Если используешь подходы типа Bag of Words или TF-IDF, строй отдельную матрицу для каждого языка. Если используешь мультиязычные эмбеддинги (типа LaBSE или парафразы от SentenceTransformers), то можно работать со всем корпусом сразу — они обучены на многих языках и кладут тексты в общее пространство.
  4. Объединение результатов После анализа (классификации, кластеризации) для каждой языковой группы, аккуратно объединяй результаты, учитывая веса или пропорции, если это важно для задачи.

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

Подробнее

Как мы внедрили анализ тональности в поддержку и что из этого вышло

Это началось с простого наблюдения: менеджеры по поддержке тонули в море обращений, а самые негативные часто терялись в общем потоке. Ну и, как водится, проблема всплыла, когда один разгневанный клиент написал гневный пост в соцсетях. Начальство захотело «что-то с ИИ сделать»

Мне поручили разобраться. Было страшновато — я больше по бэкенду, а тут нужно было быстро закрутить систему анализа тональности входящих писем и чатов.

Выбрали путь наименьшего сопротивления: готовое API от одного провайдера. Интеграция заняла неделю. Суть: все входящие тексты летели в модель, которая возвращала оценку от -1 (очень негативно) до 1 (очень позитивно). Все, что ниже -0.6, автоматически поднималось наверх дашборда и летело тикетом старшему менеджеру

Первые дни были забавные. Система паниковала на отзывы типа «Ваш сервис — просто бомба!», распознавая слово «бомба» как негатив. Пришлось дообучать на наших данных, добавлять сленг и специфичные для продукта фразы.

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

Подробнее

Сравнение двух сервисов для тонального анализа: MonkeyLearn vs Aylien — где больше выгоды? — обработка естественного языка

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

Начну с MonkeyLearn. Плюсы очевидны: супер-дружелюбный интерфейс, можно быстро обучить свою модель на своих данных (это круто, если у теша своя специфика терминов). API работает стабильно, документация на уровне. Из минусов — цены. Когда поток текстов пошел на тысячи в день, счетчик начал вызывать легкую панику. И лимиты на кастомизацию модели есть.

Aylien выглядит более «профессионально». Их NLP-стеки глубокие, особенно понравилась работа с новостными текстами — лучше вычленяет сущности и связи. Но вот этот их интерфейс... Словно вернулся в 2010 год. И порог входа выше, нужно больше времени на интеграцию.

  • Плюсы MonkeyLearn: Простота, быстрый старт, кастомизация.
  • Минусы MonkeyLearn: Цена на больших объемах.
  • Плюсы Aylien: Мощный анализ, хороша для новостей и длинных текстов.
  • Минусы Aylien: Сложный интерфейс, дольше интеграция

Итог: для стартапов и быстрых пилотов я бы взял MonkeyLearn. Для серьезных проектов с большими объёмами и акцентом на анализ новостей — стоит потратить время на Aylien. В общем, зависит от задачи.

Подробнее