Текст тоже данные.
Но он сопротивляется.
На этой неделе мы научились превращать слова в признаки, строить sentiment-классификатор и — что важнее — не верить машине только потому, что она уверенно сказала «позитив».
Слова → числа
Модель не читает твит как человек. Сначала нужен числовой набор признаков.
Target → тоже данные
Плохая разметка не лечится нейросетью, кофе или очень серьёзным лицом аналитика.
Ошибка → улика
Confusion Matrix говорит, где искать. Corpus Viewer помогает понять, почему.
Главная линия недели: текст → признаки → модель → проверка → чтение ошибок.
Spearman:
когда важен порядок
Spearman заменяет исходные значения их рангами и проверяет, насколько хорошо сохраняется порядок объектов. Он естественен для монотонных, но не обязательно линейных связей.
Pearson
Работает с исходными значениями; особенно естественен для примерно линейной связи.
Spearman ρ
cor(rank(X), rank(Y)). Диапазон от −1 до +1.
Главная ловушка
Сильная зависимость может иметь низкую корреляцию: например, симметричное Y=X² немонотонно.
Правило: сначала график и форма связи, потом коэффициент.
Bag of Words:
слова остаются, порядок исчезает
Один документ становится строкой, слова — столбцами, а значения — частотами или весами. Мы снова получаем привычную числовую таблицу.
Bag of Words
Простой, прозрачный baseline. Отлично объясняется — и отлично забывает порядок слов.
TF-IDF
Выше вес слов, которые важны в данном документе, но не встречаются почти везде.
Embeddings
Следующий уровень: более сложные представления могут лучше сохранять смысл и контекст.
Сначала понимание, потом усложнение. Хороший baseline полезнее магической модели без проверки.
Не мойте текст
до стерильности 🧼
Для supervised sentiment analysis нужен Y — метка тональности. А перед Bag of Words текст часто очищают, токенизируют и нормализуют. Но каждый шаг может убрать не только шум, но и сигнал.
🏷️ Откуда берётся target?
Ручная разметка, crowdsourcing или ИИ-разметка. Практичный вариант: ИИ размечает, человек проверяет выборку и спорные случаи.
👥 Apple-кейс
Пять workers оценивали твит по шкале −2…+2; итоговый Avg — среднее пяти оценок. Затем число можно бинаризовать в Positive / Negative.
🧼 Что делает preprocessing
lowercase · tokenization · stemming/lemmatization · stop words · regex для URL/@/# и других шаблонов.
🚨 Что может быть сигналом
not · 😍/😡 · !!! · #fail. Удалить всё «лишнее» — иногда значит удалить смысл.
Методический вопрос перед каждым удалением: это шум или возможный сигнал для моей задачи?
Сначала посмотреть.
Потом моделировать.
В текстовом проекте особенно важно не прятаться сразу за моделью. Сырые данные сначала смотрим как обычную таблицу, затем переводим в Corpus и только после этого строим текстовый pipeline.
До Corpus
Проверьте строки и столбцы, типы переменных, target, баланс классов, пропуски и повторы. Никакая текстовая магия не отменяет обычный EDA.
После Corpus
Читайте документы глазами, сравнивайте Word Cloud до/после preprocessing, затем превращайте текст в числовые признаки.
Проверка: cross-validation или честный train/test, затем читаем типы ошибок отдельно.
Модель ошиблась.
Кто виноват? Не спешите отвечать.
сарказм · контекст · короткие сообщения
target · preprocessing · Bag of Words · модель
Test & Score · Confusion Matrix · Corpus Viewer · Nomogram