NLP FastText BPE
Основная идея FastText в том, что будем составлять словарь не слов в предложении, а частей слов.
К примеру, есть слово number. Это слово разделяем на части: num, umb, mbe, ber. Эти части слова называются N-граммы.
Затем эти части слов, на основе словаря, переводим в one-hot вектора, и складываем их. Получаем bag-of-words.
Далее полученный вектор передаем в нейронную сеть или в Embedding.
Можно также обучать используя skipgram.
Данный подход хорош тем, что он решает задачи:
- Редко встречаемые слова.
- Опечятки в словах.
- Решается вопрос добавление новых слов, на которых модель не обучалась.
Как улучшение алгоритма, можно не рандомно делить, а разделять слово на составные слова, выделять корень, приставку, суффикс и окончание. Этот алгоритм называется BPE (Byte Pair Encoding).