Что такое OOV-токен и как с ним борется subword-токенизация?
Answer from AI
sobes.tech AI
Что хотят услышать интервьюеры:
OOV-токен — это слово или символ, которого нет в словаре модели. Классическая word-level токенизация заменяет такие случаи на специальный токен вроде <UNK>. Subword-токенизация уменьшает проблему OOV, разбивая неизвестные слова на более мелкие части, которые уже есть в словаре.
Определение:
OOV (out-of-vocabulary) — это объект текста, который не встречался при построении словаря и не может быть напрямую сопоставлен токену модели. Это происходит, когда модель обучали на ограниченном словаре, а на входе встречается редкое слово, опечатка, имя собственное или слово на другом языке. Subword-токенизация решает проблему не через хранение всех слов целиком, а через разбиение слов на устойчивые части — префиксы, суффиксы, часто встречающиеся фрагменты или символы.
Пример использования:
Допустим, словарь модели содержит слово compute, но не содержит computational. При word-level подходе computational может стать <UNK>. При subword-подходе слово можно разбить на части вроде comput, ation, al или на другие доступные фрагменты, и модель всё равно получит полезное представление.
Словарь: ["compute", "ation", "al", "<UNK>"]
Вход: "computational"
Word-level:
"computational" -> "<UNK>"
Subword-level:
"computational" -> ["comput", "ation", "al"]
Пояснение кода:
Код не требуется. На примере видно, что при обычной токенизации неизвестное слово теряет смысл и превращается в один общий маркер. При subword-токенизации модель получает набор частичных токенов, из которых можно восстановить структуру слова и использовать морфологическое сходство с уже известными словами. Это особенно полезно для редких терминов, новых слов и языков с богатой морфологией.
Ключевые моменты:
- OOV возникает, когда слово отсутствует в словаре модели.
- Наивная word-level токенизация часто заменяет такие слова на
<UNK>. - Subword-токенизация разбивает слово на более мелкие известные части.
- Это снижает число
<UNK>и улучшает обработку редких и новых слов. - Подход помогает лучше работать с морфологией, именами и неологизмами.
- Полностью проблему OOV он не убирает, но делает её значительно менее критичной.