Представляет слово суммой его символьных n-грамм, что даёт даже для незнакомых слов.
Ключевые тезисы
- Особенно полезен для морфологически богатых языков, включая русский.
- Решает проблему out-of-vocabulary без отдельного словаря.
- Встроенный быстрый классификатор — хороший .
Подробный разбор
«машина» при n=3 даёт <ма, маш, аши, шин, ина, на>. Слово «машинка», ни разу не встреченное при обучении, получит близкий — общие n-граммы обеспечивают это автоматически.
- Проблема out-of-vocabulary исчезает: можно построить для любого слова.
- Опечатки и словоформы обрабатываются устойчиво.
- Есть встроенный классификатор — быстрый и сильный для коротких текстов.
FastText-классификатор усредняет n-грамм документа и подаёт результат в линейный слой с иерархическим . Это делает обучение на миллионах документов вопросом минут на 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%
Эмбеддинги · Обработка естественного языкаПлотные векторные представления объектов, где геометрическая близость означает смысловое сходство.
Глава «Обработка естественного языка» последний раз правилась . Нашли ошибку — напишите.