SentencePiece решает проблемы в обучении модели с фиксированным словарным запасом следующим образом: в отличие от большинства алгоритмов безнадзорной сегментации слов, которые предполагают бесконечный словарный запас, SentencePiece обучает модель сегментации так, что конечный размер словаря фиксирован (например, 8к, 16к или 32к). 2
Для этого SentencePiece сначала собирает больше подсловных токенов, чем ему действительно нужно. 4 Затем выполняет «раунды обрезки», во время которых оптимизирует алгоритм EM, после чего удаляет наименее вероятные 20% токенов. 4 Процедуру повторяют до достижения желаемого размера словаря. 4
Кроме того, SentencePiece легко обрабатывает слова, не входящие в словарный запас. 1 Разбивая слова на подсловные единицы, он гарантирует, что даже слова, не встречавшиеся во время обучения, могут быть представлены с использованием известных подслов. 1