Итак, есть 3 вопроса:
Во-первых,
Итак, на этапе предварительной обработки я должен изменить текст на дождливые дни, приводящие к [МАСКЕ] или что-то вроде дождливые дни приводят к [MASK] [MASK]?
С точки зрения слова, вы должны установить [MASK] [MASK]. Но помните, что в BERT маска устанавливается с точки зрения токена. Фактически, «влажная погода» может быть разбита на что-то вроде: [влажная] [weath] [## er], и в этом случае вы должны иметь [MASK] [MASK] [MASK]. Таким образом, один [MASK] на токен.
Second,
Я знаю, что замаскированный LM хорошо работает для предсказания одиночного токена, как вы думаете, замаскированный LM может хорошо работать на предсказание с несколькими токенами?
Как вы можете прочитать в оригинальной статье , они сказали:
Генератор обучающих данных выбирает 15% от позиции токенов наугад для прогнозирования. Если выбран i-й токен, мы заменяем i-й токен на (1) токен [MASK] 80% времени (2) случайный токен 10% времени (3) неизмененный i-й токен 10% времени.
Они не замечают никаких ограничений в количестве жетона MASKED на предложение, у вас есть несколько жетонов MASKED во время предварительной подготовки BERT. Исходя из своего собственного опыта, я несколько раз предварительно тренировал BERT и заметил, что между предсказаниями, сделанными на токене MASKED, почти нет различий, если в моих входных данных был только один или несколько токенов MASKED.
В-третьих,
Если нет, есть ли у вас какие-либо предложения по предварительной обработке и обучению такого рода данных?
Итак, ответ - да, но если вы действительно хотите Элементы MASK, которые вы выбираете (а не случайно, как в статье), вы должны адаптировать MASK, когда данные будут токенизированы, потому что число токенов MASKED будет больше (или равно), чем количество MASK в установленном вами словесном пространстве ( Как и в примере, который я вам дал: 1 слово не равно 1 токену, поэтому в основном 1 слово MASKED будет равно 1 или более токену MASK). Но, честно говоря, процесс лабелизации будет настолько огромным, что я рекомендую вам увеличить 15% вероятности для токена MASK или сделать процесс, который MASK 1 или 2, следующий токен для каждого токена MASKED (или что-то в этом роде) ..