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

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

Погнали:

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

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

Подробнее

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

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

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

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

Подробнее