Практические кейсы
В этой части книги собраны практические кейсы, которые показывают, как Bag of Words и TF–IDF работают в реальных задачах, а не только в формулах и абстрактных примерах. Все шесть кейсов объединены одной идеей: текст – это данные, и если мы научились превращать слова в числа, дальше с ними можно делать почти всё то же самое, что и с обычными табличными признаками, с поправкой на высокую размерность и разреженность.
Кейсы подобраны так, чтобы постепенно расширять картину. Сначала мы решаем самые базовые задачи – поиск похожих текстов и сравнение документов. Затем переходим к классификации, категоризации и фильтрации спама. В конце смотрим на объяснимость и сравниваем Bag of Words и TF–IDF напрямую, на одних и тех же данных. Важно, что эти примеры не являются искусственными. Это типовые сценарии, которые десятилетиями используются в поисковых системах, корпоративных порталах, helpdesk‑системах, новостных агрегаторах и аналитических инструментах. Во многих случаях такие решения до сих пор выигрывают у сложных нейросетей за счёт простоты, скорости и прозрачности.
С технической точки зрения кейсы разделены на два подхода. Часть из них реализована на чистом PHP — максимально прямо и буквально, чтобы можно было увидеть, как формулы TF–IDF превращаются в код. Другая часть использует библиотеку RubixML, чтобы показать, как те же идеи выглядят в виде стандартного ML‑pipeline и как их применяют на практике.
При чтении этих кейсов полезно держать в голове две цели. Первая – понять механику: откуда берутся веса, почему одни слова оказываются важнее других и как это влияет на результат. Вторая — увидеть границы подхода: где Bag of Words и TF–IDF работают отлично, а где начинают требовать более сложных моделей.
Если после этих примеров вам станет понятно, почему TF–IDF до сих пор остаётся рабочей лошадкой NLP, значит цель этой части достигнута. С этим пониманием можно уверенно двигаться дальше — к метрикам сходства, эмбеддингам и более современным архитектурам.
Last updated