Токенизация, Bag of Words, TF-IDF и embeddings
Что такое токенизация и зачем она нужна в задачах обработки текста? Чем отличаются Bag of Words, TF-IDF и embeddings, например word2vec?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Токенизация разбивает текст на единицы, которым модель может сопоставить ids. Bag of Words считает вхождения токенов, TF-IDF перевзвешивает частоты по редкости в корпусе, а embeddings учат dense-векторы, где слова с похожими контекстами оказываются ближе.
Полный разбор
Токенизация переводит текст в последовательность model units: words, subwords, characters или byte-level tokens. Каждому token назначается integer id, который потом можно использовать в embedding table или классических sparse features.
Bag of Words игнорирует порядок слов и представляет документ счетчиками токенов. TF-IDF остается sparse-представлением, но уменьшает вес очень частых слов и повышает вес слов, более специфичных для документа. Это простой и сильный baseline для линейных моделей.
Embeddings вроде word2vec - dense learned vectors. Они не просто считают слова в документе, а учат геометрию по контекстам: слова, встречающиеся в похожих окружениях, получают близкие векторы. В современных transformers embeddings становятся contextual: одно и то же слово может иметь разные представления в разных предложениях.
Теория
Классические sparse NLP features кодируют статистику встречаемости; embeddings учат semantic geometry из контекста.
Типичные ошибки
- Считать токенизацию только split по пробелам.
- Забывать, что BoW и TF-IDF теряют порядок слов.
- Говорить, что word2vec дает contextual embeddings.
Как отвечать на собеседовании
- Приведите пример, где TF-IDF лучше raw counts.
- Упомяните subword tokenization для современных моделей.