← Вернуться в неделю 7
Неделя 7 · панорама

Текст тоже данные.
Но он сопротивляется.

На этой неделе мы научились превращать слова в признаки, строить sentiment-классификатор и — что важнее — не верить машине только потому, что она уверенно сказала «позитив».

BAG OF WORDSnot😡love!!!
↕️ Spearman
📰 Текст
🧼 Preprocess
👜 Bag of Words
🤖 Модель
🔎 Ошибки

Слова → числа

Модель не читает твит как человек. Сначала нужен числовой набор признаков.

Target → тоже данные

Плохая разметка не лечится нейросетью, кофе или очень серьёзным лицом аналитика.

Ошибка → улика

Confusion Matrix говорит, где искать. Corpus Viewer помогает понять, почему.

Робот: «В тексте есть слово “спасибо”, значит позитив!» Аналитик: «Спасибо. Больше так не делай». 😈

Главная линия недели: текст → признаки → модель → проверка → чтение ошибок.

Лист 1 · карта недели
Второстепенная тема, важная привычка

Spearman:
когда важен порядок

Spearman заменяет исходные значения их рангами и проверяет, насколько хорошо сохраняется порядок объектов. Он естественен для монотонных, но не обязательно линейных связей.

X12345Y246810001000 далеко, но всё ещё пятое место

Pearson

Работает с исходными значениями; особенно естественен для примерно линейной связи.

Spearman ρ

cor(rank(X), rank(Y)). Диапазон от −1 до +1.

Главная ловушка

Сильная зависимость может иметь низкую корреляцию: например, симметричное Y=X² немонотонно.

Не делайте из Spearman бронежилет от выбросов. Если экстремальное значение меняет порядок объектов, оно повлияет и на ранги.
Для пяти наблюдений без ties: ρₛ = 1 − 6Σd²/[n(n²−1)]. В примере урока n=5, Σd²=2 → ρₛ=0.90.
Spearman — преподаватель на экзамене: «Мне не важно, на сколько баллов ты обогнал соседа. Скажи, какое у тебя место». 😎

Правило: сначала график и форма связи, потом коэффициент.

Лист 2 · Spearman и ранги
Как компьютер «читает»

Bag of Words:
слова остаются, порядок исчезает

Один документ становится строкой, слова — столбцами, а значения — частотами или весами. Мы снова получаем привычную числовую таблицу.

кот ×2спит ×1ест ×1рыба ×1👜 порядок? нет
документ
кот
ест
рыбу
спит
кот ест рыбу
1
1
1
0
кот спит
1
0
0
1

Bag of Words

Простой, прозрачный baseline. Отлично объясняется — и отлично забывает порядок слов.

TF-IDF

Выше вес слов, которые важны в данном документе, но не встречаются почти везде.

Embeddings

Следующий уровень: более сложные представления могут лучше сохранять смысл и контекст.

«Отличный сервис! Никогда больше сюда не приду.» Отдельное слово «отличный» выглядит радостно. Весь текст — уже не очень.
Bag of Words помнит, кто пришёл на вечеринку. Но не помнит, кто с кем пришёл и кто после кого хлопнул дверью. 👜

Сначала понимание, потом усложнение. Хороший baseline полезнее магической модели без проверки.

Лист 3 · текст → числа
Target и preprocessing

Не мойте текст
до стерильности 🧼

Для 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. Удалить всё «лишнее» — иногда значит удалить смысл.

@AppleNOTgood!!!😡https://…
Плохой target нельзя вылечить сложной моделью. Если метка неверна, нейросеть просто научится ошибаться очень современно.
Стерилизатор 3000 удалил NOT, 😡 и !!!. Теперь «NOT good!!! 😡» официально стало «good». Прибор доволен. Пользователь — нет. 🤖

Методический вопрос перед каждым удалением: это шум или возможный сигнал для моей задачи?

Лист 4 · target и preprocessing
Orange · полный маршрут

Сначала посмотреть.
Потом моделировать.

В текстовом проекте особенно важно не прятаться сразу за моделью. Сырые данные сначала смотрим как обычную таблицу, затем переводим в Corpus и только после этого строим текстовый pipeline.

Этап 1 · обычный EDA: 📄 File → ▦ Data Table → смотрим поля, target, баланс классов, пропуски и повторы.
📄 тот же File
📚 Corpus
👀 Corpus Viewer / Word Cloud
🧼 Preprocess Text
👜 Bag of Words
🤖 Logistic Regression
📊 Test & Score
🧩 Confusion Matrix

До Corpus

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

После Corpus

Читайте документы глазами, сравнивайте Word Cloud до/после preprocessing, затем превращайте текст в числовые признаки.

Accuracyсколько верно
AUCкак ранжирует
Precisionточность +
Recallсколько + нашли
F1баланс P/R
Красивый Word Cloud ≠ хорошая модель. И качество на обучающих данных ≠ способность работать на новых данных.
Отличная память — это не всегда интеллект. Особенно если модель видела ответы вчера. 😅

Проверка: cross-validation или честный train/test, затем читаем типы ошибок отдельно.

Лист 5 · Orange pipeline
Финальная карта недели 7 · СТОП, ПРОВЕРЯЕМ!

Модель ошиблась.
Кто виноват? Не спешите отвечать.

ТЕКСТ
сарказм · контекст · короткие сообщения
PIPELINE
target · preprocessing · Bag of Words · модель
ПРОВЕРКА
Test & Score · Confusion Matrix · Corpus Viewer · Nomogram

1. Word Cloud стал красивее. Качество выросло?

Неизвестно. Облако — EDA-фонарик, а не метрика качества. Проверяем модель отдельно.

2. Nomogram показывает сильное слово. Оно вызывает sentiment?

Нет. Это вклад признака внутри модели, а не доказательство причинности.

3. Accuracy высокая, но spam почти не находится. Всё хорошо?

Нет. Смотрите Recall/Precision нужного класса и цену FP/FN.

4. Ошибки из Confusion Matrix просто пересчитать?

Нет. Отправьте misclassified в Corpus Viewer и прочитайте реальные тексты глазами.
1. SpearmanСмотрит порядок, не только расстояния.
2. Bag of WordsДаёт признаки, теряет порядок.
3. TargetТоже может быть плохим.
4. PreprocessingМожет помочь или уничтожить сигнал.
5. МетрикиНе влюбляемся в одну цифру.
6. ОшибкиЧитаем, расследуем, объясняем.
ДАННЫЕ → ВОПРОС → TARGET → PREPROCESSING → ПРИЗНАКИ → МОДЕЛЬ → ПРОВЕРКА → ИНТЕРПРЕТАЦИЯ → АНАЛИЗ ОШИБОК
Финальная мудрость: если модель уверенно говорит «позитив», а человек пишет «Спасибо, больше никогда» — возможно, пора читать текст, а не аплодировать AUC. 😂