Реализация Pytorch Bert Google AI 2018 с простым аннотацией
BERT 2018 BERT: предварительное обучение глубоких двунаправленных трансформаторов для понимания языка URL: https://arxiv.org/abs/1810.04805
Google AI Bert Paper показывает удивительный результат по различным задачам NLP (новые 17 задач NLP SOTA), в том числе опередить оценку человека F1 в команде V1.1 QA. В этом документе доказано, что энкодер на основе трансформатора (самопринятого) может быть мощно использован в качестве альтернативы предыдущей языковой модели с правильным методом обучения модели языка. И что еще более важно, они показали нам, что эта предварительно обученная языковая модель может быть передана в любую задачу NLP без создания архитектуры модели конкретной задачи.
Этот удивительный результат будет записью в истории НЛП, и я ожидаю, что много дополнительных документов о Берте будет опубликовано очень скоро.
Это репо является реализацией Берта. Код очень прост и легко понять. Некоторые из этих кодов основаны на аннотированном трансформаторе
В настоящее время этот проект работает над прогрессом. И код еще не проверен.
pip install bert-pytorch
Примечание: ваш корпус должен быть подготовлен с двумя предложениями в одной строке с разделителем вкладок ( t)
Welcome to the t the junglen
I can stay t here all nightn
или токенизированный корпус (токенизация не в упаковке)
Wel_ _come _to _the t _the _junglen
_I _can _stay t _here _all _nightn
bert-vocab -c data/corpus.small -o data/vocab.smallbert -c data/corpus.small -v data/vocab.small -o output/bert.modelВ статье авторы показывают новые методы обучения модели языка, которые представляют собой «модель маскированного языка» и «прогнозируют следующее предложение».
Оригинальная статья: 3.3.1 Задача № 1: маскированная LM
Input Sequence : The man went to [MASK] store with [MASK] dog
Target Sequence : the his
Случайно 15% токена ввода будет изменена на что-то, основываясь на подтолетах
[MASK][RANDOM] токеном (другое слово)Оригинальная статья: 3.3.2 Задача № 2: Предсказание следующего предложения
Input : [CLS] the man went to the store [SEP] he bought a gallon of milk [SEP]
Label : Is Next
Input = [CLS] the man heading to the store [SEP] penguin [MASK] are flight ##less birds [SEP]
Label = NotNext
"Это предложение может быть непрерывно связано?"
Понимание отношений между двумя текстовыми предложениями, которые напрямую не отражаются на языковом моделировании
Junseong Kim, Scatter Lab ([email protected] / [email protected])
Этот проект после лицензии Apache 2.0, как написано в файле лицензии
Copyright 2018 Junseong Kim, Scatter Lab, соответствующие участники BERT
Copyright (C) 2018 Александр Раш: аннотированный траснформатор