8
правок
Изменения
м
Нет описания правки
=== Представление данных ===
[[Файл:BERT_input-repr.png|450px|thumb|right|Рисунок 1, представление . Представление входных данных модели]]
При подаче текста на вход сети сначала выполняется его [[Обработка_естественного_языка#.D0.9F.D1.80.D0.B5.D0.B4.D0.BE.D0.B1.D1.80.D0.B0.D0.B1.D0.BE.D1.82.D0.BA.D0.B0_.D1.82.D0.B5.D0.BA.D1.81.D1.82.D0.B0 | токенизация]]. Токенами служат слова, доступные в словаре, или их составные части {{---}} если слово отсутствует в словаре, оно разбивается на части, которые в словаре присутствуют (см. рис. 1).
Словарь является составляющей модели {{---}} так, в BERT-Base<ref>[https://github.com/google-research/bert#bert Github — Google Research — BERT]</ref> используется словарь около 30,000 слов.
=== Предобучение ===
[[Файл:BERT_pre-training.png|350px|thumb|right|Рисунок 2, . Схема этапа предобучения BERT]]
BERT обучается одновременно на двух задачах {{---}} предсказания следующего предложения (англ. ''next sentence prediction'') и генерации пропущенного токена (англ. ''masked language modeling''). На вход BERT подаются токенизированные пары предложений, в которых некоторые токены скрыты (см. рис. 2). Таким образом, благодаря маскированию токенов, сеть обучается глубокому двунаправленному представлению языка, учится понимать контекст предложения. Задача же предсказания следующего предложения есть задача бинарной классификации {{---}} является ли второе предложение продолжением первого. Благодаря ей сеть можно обучить различать наличие связи между предложениями в тексте.
=== Пример использования ===
Приведём пример предказания пропущенного токена при помощи BERT в составе PyTorch:. Скрытый токен {{---}} первое слово второго предложения.
<font color=darkgreen># Загрузка токенизатора и входные данные</font>
tokenizer = torch.hub.load('huggingface/pytorch-transformers', 'tokenizer', 'bert-base-cased')