Цифрократия
город данных
Уровень 10 / 100 XP
0
Антон
ур. 1
← Назад// цифровое общество
🔍 Как изучают людей
сложный🪙 35 · ✦ 50

Классификация текста через ML

Зачем это нужно

Словарь тональности из прошлого урока считает слова по спискам «хороших» и «плохих». Но язык хитрее: «не советую» — из хороших слов, а смысл плохой; «дорого, но стоит того» — оба лагеря сразу. Машинное обучение решает это иначе: не мы задаём слова, а модель сама выучивает, какие сочетания слов о чём говорят, — на примерах, которые мы разметили.

Как это работает

Идея та же, что у словаря, но перевёрнутая. В словарном подходе мы пишем правила заранее. В ML мы даём модели обучающую выборку — тексты, где ответ уже известен (например, 500 отзывов, каждый вручную помечен «позитив/негатив»), и модель сама находит закономерности.

Конвейер такой: (1) векторизация — текст превращается в числа; простейший способ — «мешок слов» (bag of words): для каждого текста считаем, сколько раз встретилось каждое слово; (2) обучающая и тестовая выборки — делим размеченные данные на две части: на одной учим, на другой проверяем. Модель нельзя проверять на тех же текстах, на которых она училась, — она их «запомнит», а не поймёт; (3) обучение — модель (например, наивный Байес или логистическая регрессия) находит, какие слова тянут к какому классу; (4) проверка — прогоняем на отложенной выборке и смотрим долю верных ответов (accuracy); (5) применение — обученная модель размечает новые тексты, которых никто не видел. Ключевое отличие от словаря: модель учитывает сочетания и частоты слов, а не просто их наличие, и её можно обучить на любую задачу — не только тональность, но и тему, спам, язык вражды. Цена — нужна размеченная выборка, и качество модели не выше качества разметки.

Пример

800 обращений в поддержку, размечены на «жалоба / вопрос / благодарность». Обучили модель на 600, проверили на 200 — 88% верных. Теперь новые обращения сортируются автоматически: жалобы сразу к старшему оператору. Словарь так не смог бы: «спасибо, что хоть что-то работает» по словам позитив, а по смыслу жалоба — модель, обученная на живых примерах, это различает.

🧪 Интерактивная лаборатория

Модель уже видит 10 размеченных отзывов (позитив/негатив). Нажми «Обучить и проверить» — она выучит, какие слова к какому классу тянут, покажет точность на отложенных примерах и разберёт твой текст.

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

Цель: проверь и позитивный, и негативный текст — увидь, что модель различает оба класса.

🧭 Как это использовать

Когда брать ML вместо словаря: когда важны нюансы (сарказм, отрицание, смешанные оценки) и есть кому разметить хотя бы несколько сотен примеров. Когда достаточно словаря: быстрая прикидка, нет размеченных данных, нужна полная прозрачность правил. Главная ловушка ML — качество разметки: если размечали небрежно или предвзято, модель выучит эту предвзятость. И всегда проверяй на отложенной выборке: точность на обучающих данных врёт, потому что модель их помнит.

🎯 Быстрый вопрос

Почему модель нельзя проверять на тех же текстах, на которых она обучалась?