В зависимости от того, как вы предварительно обрабатываете данные тренировки, вам может понадобиться UNK
во время тренировки. Даже если вы используете BPE или другую сегментацию подслов, OOV может появляться в обучающих данных, обычно это какие-то странные вещи UTF-8, фрагменты алфавитов, которые вас совсем не интересуют и т. Д.
Например, еслиВы берете данные обучения WMT для перевода с английского на немецкий язык, делаете BPE и берете словарный запас, ваш словарный запас будет содержать тысячи китайских иероглифов, которые встречаются ровно один раз в данных обучения. Даже если вы сохраните их в словаре, у модели нет никаких шансов узнать о них что-либо, даже скопировать их. Имеет смысл представлять их как UNK
с.
Конечно, что вы обычно делаете во время вывода, так это то, что вы не позволяете модели прогнозировать UNK
токенов, UNK
всегда неверно.