Думали, всё просто? А вот и нет...
Знаете, когда начинаешь заниматься текстовым анализом, кажется, что все сводится к банальной классификации текстов. Ставишь триггеры, выбираешь алгоритм — и готово. Я тоже так думал. Работал над одним проектом, где нужно было отсеивать спам из отзывов клиентов. Типа, все счастливы, довольны, ну и мы с ними. Простая задача, казалось бы.
Выбрали мы, значит, какое-то модное NLP решение, настроили, запустили. Результаты поначалу радовали: процент отсева спама был весьма приличный. Но потом начали просачиваться жалобы от реальных пользователей. Кто-то писал, что его вполне конструктивный отзыв улетел в бан. Ну, типа, не прошел фильтр, ага
Были, конечно, всякие нюансы. Например, очень саркастичные, но полезные отзывы. Или клиенты, которые использовали специфическую профессиональную лексику, которую модель просто не понимала. И вот тут я понял, что простая классификация — это верхушка айсберга. На практике, такие лингвистические сервисы требуют куда более тонкой настройки.
Мы потратили еще пару недель, чтобы дообучить модель на специфических данных, добавить кучу эвристик и правил. Пришлось даже привлечь настоящего лингвиста, чтобы он объяснил тонкости языка, который использовали наши пользователи. В итоге, конечно, всё получилось, но урок я усвоил: для качественной обработки естественного языка нельзя просто полагаться на готовые решения.

Комментарии 3