Facebook открыл код библиотеки классификации текста fastText

Лаборатория искусственного интеллекта Facebook объявила об открытии исходных текстов библиотеки fastText, предоставляющей средства для классификации текста с использованием методов машинного обучения. Код написан на языке C++ и открыт под лицензией BSD. Библиотека позволяет организовать автоматическое назначение категорий для произвольного текста, на основании предварительно проведённого обучения по наборам текстов с уже известными категориями. Например, fastText может оценить является ли письмо спамом или определить к какой категории относится статья (научная, спорт, финансы, развлечения и т.п.), после обучения по типовым базам спама и тематических статей.

Из достоинств fastText отмечается поддержка различных языков и очень высокая скорость обучения. Например, обучение fastText по базе Yahoo длится всего 5 секунд и обеспечивает точность классификации 72.3%, в то время как char-CNN выполняет эту работу за 1 день при точности 71.2%, а VDCNN за 2 часа при точности 73.4%. Результирующая классификация также выполняется на несколько порядков быстрее существующих аналогов.

Для увеличения производительности работы с большим числом категорий в fastText применяется иерархический классификатор, организующих хранение категорий в древовидной структуре, вместо обычно применяемых плоских моделей. При этом дерево строится с учётом популярности категорий, что позволяет повысить скорость доступа к часто используемым элементам. При тестировании модели, в обучении которой применялась база в 1 миллиард слов и более 300 тысяч категорий, на обучение было потрачено менее 10 минут, а на классификацию выборки из 500 тысяч записей менее 5 минут (около 1700 сопоставлений в секунду) на системе с обычным многоядерным CPU.