Когда NLP решил, что я schizophrenic... ну почти

Ахах, ну типа, помните, как я тут ныл, что надо бы моему мега-проекту по прогнозированию трендов в моде придать немного 'интеллекта'? Ну так вот. Взял я, значит, один из этих популярных NLP сервисов, типа, 'чтобы все было по-умному'. Обещали золотые горы, мол, классификация текстов — это их профиль, ага.

Начал я его кормить всякой всячиной: блоги дизайнеров, модные журналы, даже комменты под фотками с Инстаграма, где народ спорил, идет ли этой блогерше тот новый шарф. Думал, щас как он мне выдаст: 'оверсайз', 'минимализм', 'гранж'. Ну, вы поняли.

А он выдал. Только не то, что я ожидал. Вместо анализа трендов, он начал мне выдавать рекомендации типа: 'сменить цвет стен', 'поговорить с близкими', 'может, к доктору сходить, автор демонстрирует признаки двойной личности'. Я чуть клаву не уронил. Серьезно. Этот ваш текстовый анализ подумал, что я пишу одному человеку, потом пишу другому, а потом пишу третьему, и все это в рамках одного поста.

Короче, пришлось этот 'умный' сервис отправить обратно в песочницу. Пока сам руками не разгребу, как там обработка естественного языка на самом деле работает, а не как ее маркетинговые отделы описывают. Может, потом, когда научу его отличать мои рассуждения о моде от экзистенциального кризиса, вернусь. А пока — удачи всем с вашими 'интеллектуальными' проектами! :)

Подробнее

Как сделать текстовый анализ соцсетей: пошаговый гайд для новичков

Ну че, привет всем! Решил запилить гайд по текстовому анализу, а то вижу, тема вроде как заходит в нашем разделе. Сам через это прошел, так что делюсь опытом. Кароч, будет полезно если хочешь научиться вытаскивать инфу из постов в соцсетях.

Погнали:

  1. Выбираем данные. Определись с темой, которую будешь анализировать. Что хочешь узнать? Какие соцсети интересны? Собирай посты, комменты, все подряд. Тут пригодится знание нужных API или парсеры. Где-то можно и вручную все собирать, но это геморрой, конечно
  2. Очистка текста. Это прям база. Убираем лишнее: html-теги, смайлики (ну, если они не важны для анализа), ссылки. Замени все переносы строк на пробелы. Все эти моменты серьезно влияют на качество будущего текстового анализа.
  3. Токенизация. Разбиваем текст на слова или фразы. Тут уже можно использовать библиотеки Python, например, NLTK или spaCy. Они умеют это делать хорошо и быстро
  4. Лемматизация/стемминг. Приводим слова к нормальной форме. Лемматизация лучше, она учитывает контекст, но стемминг быстрее. Выбирай, что тебе больше подходит.
  5. Удаление стоп-слов. Забудь про предлоги, союзы, местоимения и прочую фигню. Они обычно не несут смысловой нагрузки. Иначе анализ будет замусорен.
  6. Анализ тональности/эмоций. Важный момент. Хочешь знать, что люди думают о твоём продукте/бренде? Используй готовые модели или обучи свою модель для классификации текстов
  7. Извлечение ключевых слов. Часто используется TF-IDF или другие методы. Тут будет полезным умение работать с лингвистическими сервисами которые упрощают эту задачу
  8. Визуализация. Графики, облака слов — все это помогает понять общую картину. Смотрится красиво, да и инфу легче воспринимать.
  9. Повторение. Анализируй, улучшай, повторяй и снова повторяй. Важно постоянно улучшать итерации.

Вроде все. Если будут вопросы — пишите, а то я тут долго распинался. Удачи в ваших начинаниях с NLP ;)

Подробнее

NLP-ад: никак не могу подружить BERT и русские тексты!

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

Пробовал разные предобученные модели, русскоязычные в том числе. Экспериментировал с параметрами, оптимизаторами, предобработкой — вообще ничего не помогает. Если смотреть характеристики, качество вообще нулевое, хотя на английском та же самая модель работает вполне сносно. В чем может быть проблема? Может, я что-то упускаю в специфике русского языка, или с предобработкой что-то не так? Подскажите, кто сталкивался.

Может, есть какие-то проверенные методы работы с русским текстом для NLP, которые я не знаю? Буду благодарен за любой совет - хоть куда копать, уже сил нет, реально.

Подробнее

Классификация текстов не работает, что делать?! — NLP

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

Подробнее

А кто-нибудь реально юзает лингвистические сервисы для анализа новостей?

Всем привет! Интересно, есть тут кто-то, кто реально внедрил в свой рабочий процесс готовые лингвистические сервисы для обработки больших объемов новостного контента? Я вот тут пытаюсь понять, насколько это реально ускоряет классификацию текстов и насколько точен их текстовый анализ, особенно когда речь идет о тонкостях, которые NLP модели могут упустить.

Есть ощущение, что многие решения больше для галочки, чем реально рабочие. Как у вас с этим?

Подробнее

Lingua-Analyzer v3.0: Почти как в старые добрые

Вспоминая времена, когда сам сидел над кучами бумаг, анализируя каждое слово, я с некоторым скепсисом воспринял очередной новый лингвистический сервис. Повелся на громкие обещания разработчиков Lingua-Analyzer v3.0, мол, текстовый анализ на уровне. Ну, запустил, конечно. Интересно же, далеко ли ушел прогресс.

Что сказать? С одной стороны, быстро. Вот уж чего не отнять — скорость обработки впечатляет. Закинул пару тысяч документов, а он мне через полчаса уже готов отчет предоставить. Это вам не вручную, это уже почти настоящая обработка естественного языка.

Плюсы, которые бросились в глаза:

  • Скорость, как уже говорил. Огромный плюс для моих текущих задач.
  • Интерфейс, в целом, понятный. Разобраться можно без трех высших образований.
  • Функционал классификации текстов вполне себе рабочий, хотя и без изысков.

Минусы тоже есть, куда же без них:

  • Глубина анализа. Иногда кажется, что сервис воспринимает текст слишком буквально, упуская тонкие смысловые оттенки. В мое время мы бы сказали, что он «не догоняет».
  • Поддержка. Обращался с парой вопросов, отвечали долго, будто вручную разбирались с проблемой.

Итоговое впечатление? Весьма неплохо, но до уровня действительно «умного» инструмента ещё расти и расти. Для первичного анализа и быстрой обработки — годится. Но для глубоких научных изысканий, где важна каждая нюансировка, я бы пока остался при своих, проверенных временем методах. Хотя, признаюсь, будущее за такими штуками, как ни крути. Раньше бы такое и не снилось.

Подробнее

TextAnalyzer: ну такое

Решил тут затестить очередной лингвистический сервис, TextAnalyzer называется. Зацепила реклама про автоматическую классификацию текстов. Ну, думаю, посмотрим, что за зверь.

Интерфейс, скажем так, не самый современный. Какие-то устаревшие дизайны, ну такое. Загрузил несколько своих текстов, разных жанров, объёмов. Обещали быструю обработку.

Первое впечатление — скорость действительно порадовала. Но вот результаты... Слишком много ошибок. Анализ тональности местами вообще мимо кассы. Да и, если честно, не очень-то он понимает сложные конструкции.

Из плюсов:

  • Быстрая обработка.
  • Более-менее понятный интерфейс хотя и устаревший.

Минусы:

  • Низкое качество анализа.
  • Много ошибок в классификации.
  • Цена не соответствует качеству, имхо.

Короче, потратил время. Ждал чего-то большего. Надежда умирает последней, ага. Попробовал инструменты для NLP, рассчитывал на крутой текстовый анализ, а получил разочарование. Не рекомендую тратить время и деньги. Лучше поискать что-то другое. Где пруфы про точность, кстати?

Подробнее

Как вам современные NLP-сервисы для классификации текстов?

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

Есть тут опытные пользователи, которые могут посоветовать что-то действительно рабочее? Может, есть какие-то неочевидные фишки или менее известные, но качественные лингвистические сервисы для классификации текстов?

Подробнее

Эх, помню, как первые нейронки тексты мучили...

Вот листаю я тут ваши современные статьи про NLP, классификацию текстов и всякие лингвистические сервисы, и прямо накатывает ностальгия. Помню еще, когда только-только начинали эти штуки внедрять в массы, и это была песня. Совсем не то, что сейчас, когда любая молодая компания может выдать продукт, который за секунды тебе весь текстовый анализ сделает.

У меня как-то был случай, еще лет... дай бог памяти, лет семь назад, мы с ребятами пробовали построить систему для автоматической модерации комментариев на одном крупном портале. Это был ад. Тогдашние модели, даже те, что считались передовыми, постоянно чудили. Они могли совершенно безобидный комментарий забанить, а вот откровенный мат пропускали, как ни в чём не бывало. Помню, как сидели мы ночами, перебирали параметры, учили модели на каких-то чудовищных датасетах, которые сами же заранее собирали и размечали.

Разметка – это вообще отдельная история. Десятки тысяч строк текста, и ты сам, или твои коллеги, сидишь и тупо ставишь галочки: спам, оскорбление, реклама... Глаза на лоб лезли. А потом, когда вроде бы что-то получалось, приходил заказчик и говорил: 'А вот тут, где написано 'дурак', это ведь не оскорбление, а дружеское подтрунивание!'. И ты снова возвращался к началу.

Были моменты, когда хотелось всё бросить и уйти в разведение уток. Но вот что интересно: когда что-то получалось, когда модель вдруг начинала работать как надо, пусть и на очень узкой задаче, эйфория была неимоверная. Это было наше, родное, созданное с нуля. Не то, что сейчас, когда кучу готовых библиотек взял, накидал, и оно 'работает'. Конечно, прогресс – это здорово, и я рад, что обработка естественного языка шагнула так далеко. Но иногда скучаю по тем временам, когда каждый успех был выстрадан.

Подробнее

Крутое СПАРСИВАНИЕ текстов: от хаоса к пониманию (и обратно, ахах) — NLP

Ну что, братва по цифровому разуму? Смотрю, тут все уже научились ловить инфоповоды раньше, чем они успевают родиться, и даже нашли своего Кракэна (или он вас, кто знает?). А вот с разбором всего этого текстового мусора который на нас сыплется, – дело другое, правда? Имхо, текстовый анализ – это как уборка в квартире после вечеринки: вроде и весело было, а потом начинается самое интересное. И чтобы не утонуть в этом море букв, ловите гайд от бывалого!

Шаг 1: Определитесь ЧТО именно вы хотите извлечь. Это мозг всей операции, ребята. Хотите понять, что народ думает о вашей новой шапке-ушанке? Или ищете, где политики опять ляпнули что-то смешное? Четкая цель – половина успеха. А вторая половина – это кофе и немного везения.

Шаг 2: Почистите, почистите и еще раз почистите! Ну типа, удаляем всякий мусор: ссылки, смайлики (если они не несут смысловой нагрузки, ну типа сердечки в предложении «люблю свою жизнь»), разные знаки препинания, которые только мешаются. Тут вам и NLP в помощь, если руки не из того места растут. Это как с овощами: шкурку почистил, семечки выкинул – и вкуснее, и полезнее.

  • Удаление стоп-слов: «и», «в», «на», «это» – они вам не друзья, если вы ищете смысл
  • Стемминг/Лемматизация: Приводим слова к их основе. «Бегу», «бежит», «бегает» – все станет «бег». Логично же?

Шаг 3: Классификация текстов – ваш верный конь. Это когда вы учите машину отличать одно от другого. Пример: «Хочу купить пылесос» – это «куплю», а «Обзор нового пылесоса» – это «инфо». Либо задайте категории сами, либо используйте готовые лингвистические сервисы. Главное – не перепутать кошек с собаками, иначе получите странные результаты.

Шаг 4: Анализируйте и делайте выводы Вот и вся магия! Теперь у вас есть структурированные данные. Смотрите, какие темы чаще всего всплывают, кто их поднимает, в каком контексте. Это как детектив: собрать улики, сопоставить факты – и вот он, преступник (или инфоповод, ахах)

Бонус-совет: Не бойтесь экспериментировать! Иногда самые неожиданные методы дают лучший результат. И да, иногда проще довериться готовым NLP-решениям, чем изобретать велосипед. Главное – чтобы вам было весело и понятно, что происходит. )

Подробнее