Представляет слово суммой векторов его символьных n-грамм, что даёт эмбеддинги даже для незнакомых слов.
Ключевые тезисы
- Особенно полезен для морфологически богатых языков, включая русский.
- Решает проблему out-of-vocabulary без отдельного словаря.
- Встроенный быстрый классификатор — хороший бейзлайн.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Символьные n-граммы
Почему FastText особенно хорош для русского языка.
«машина» при n=3 даёт <ма, маш, аши, шин, ина, на>. Слово «машинка», ни разу не встреченное при обучении, получит близкий вектор — общие n-граммы обеспечивают это автоматически.
- Проблема out-of-vocabulary исчезает: вектор можно построить для любого слова.
- Опечатки и словоформы обрабатываются устойчиво.
- Есть встроенный классификатор — быстрый и сильный бейзлайн для коротких текстов.
2Встроенный классификатор
Бейзлайн, который обучается за секунды.
FastText-классификатор усредняет векторы n-грамм документа и подаёт результат в линейный слой с иерархическим softmax. Это делает обучение на миллионах документов вопросом минут на CPU.
import fasttext
model = fasttext.train_supervised("train.txt", epoch=25, wordNgrams=2, dim=100)
print(model.test("valid.txt")) # (N, precision@1, recall@1)Часто отстаёт от дообученного трансформера всего на несколько процентов, а стоит в тысячи раз дешевле — хороший выбор для больших потоков коротких текстов.
Связанные темы
От слов к векторам
Tokenization75%
Токенизация · Обработка естественного языкаРазбиение текста на единицы, с которыми работает модель: слова, подслова или байты.
Bag of Words75%
Мешок слов · Обработка естественного языкаТекст представляется вектором частот слов, порядок полностью игнорируется.
TF-IDF75%
TF-IDF · Обработка естественного языкаВзвешивает частоту слова в документе на его редкость в корпусе, подавляя общеупотребительные слова.
Word2Vec75%
Word2Vec · Обработка естественного языкаОбучает плотные векторы слов по контексту: близкие по смыслу слова оказываются рядом в пространстве.
GloVe75%
GloVe · Обработка естественного языкаСтроит эмбеддинги из глобальной матрицы совстречаемости слов, а не только из локальных окон.
Embeddings75%
Эмбеддинги · Обработка естественного языкаПлотные векторные представления объектов, где геометрическая близость означает смысловое сходство.