SciBERT
SciBERT - это модель BERT , обученная научному тексту.
SciBERT обучается документам из корпуса Semanticscholar.org. Размер корпуса составляет 1,14 млн. Документ, токены 3,1b. Мы используем полный текст документов в обучении, а не только тезисы.
У SciBERT есть собственный словарь ( scivocab ), который построен, чтобы лучше всего соответствовать учебному корпусу. Мы обучили обстановку и не устоявшиеся версии. Мы также включаем модели, обученные оригинальному словарному запасу BERT ( basevocab ) для сравнения.
Это приводит к современной производительности в широком спектре задач НЛП научных доменов. Детали оценки находятся в статье. Код оценки и данные включены в это репо.
Обновлять! Модели Scibert теперь можно установить непосредственно в рамках Huggingface в allenai Org:
from transformers import *
tokenizer = AutoTokenizer.from_pretrained('allenai/scibert_scivocab_uncased')
model = AutoModel.from_pretrained('allenai/scibert_scivocab_uncased')
tokenizer = AutoTokenizer.from_pretrained('allenai/scibert_scivocab_cased')
model = AutoModel.from_pretrained('allenai/scibert_scivocab_cased')
Мы выпускаем Tensorflow и версию обученных моделей Pytorch. Версия TensorFlow совместима с кодом, который работает с моделью Google Research. Версия Pytorch создается с использованием библиотеки обнимающих лиц, и в этом репо показывает, как использовать ее в Allennlp. Все комбинации scivocab и basevocab , моделей cased и uncased доступны ниже. Наша оценка показывает, что scivocab-uncased обычно дают наилучшие результаты.
scibert-scivocab-uncased (рекомендуется)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedscibert-scivocab-uncased (рекомендуется)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedscibert-scivocab-uncased (рекомендуется)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedМодели Scibert включают все необходимые файлы, которые будут подключены к вашей собственной модели, и находятся в том же формате, что и BERT. Если вы используете TensorFlow, обратитесь к Google Bert Repo, и если вы используете Pytorch, см. Repo Hugging Face, где предоставляются подробные инструкции по использованию моделей BERT.
Чтобы провести эксперименты по различным задачам и воспроизвести наши результаты в статье, вам нужно сначала настроить среду Python 3.6:
pip install -r requirements.txt
который установит такие зависимости, как Allennlp.
Используйте сценарий scibert/scripts/train_allennlp_local.sh в качестве примера того, как запустить эксперимент (вам нужно изменить пути и имена переменных, такие как TASK и DATASET ).
Мы включаем широкий набор научных наборов данных NLP в data/ каталог по следующим задачам. Каждое задание имеет подчиненную наборов данных.
├── ner
│ ├── JNLPBA
│ ├── NCBI-disease
│ ├── bc5cdr
│ └── sciie
├── parsing
│ └── genia
├── pico
│ └── ebmnlp
└── text_classification
├── chemprot
├── citation_intent
├── mag
├── rct-20k
├── sci-cite
└── sciie-relation-extraction
Например, чтобы запустить модель по именованной задаче распознавания объектов ( NER ) и на наборе данных BC5CDR (BioCreative V CDR), измените скрипт scibert/train_allennlp_local.sh в соответствии с:
DATASET='bc5cdr'
TASK='ner'
...
Распаковывать модель Pytorch, которую вы загрузили с помощью
tar -xvf scibert_scivocab_uncased.tar
Результаты будут в каталоге scibert_scivocab_uncased содержащий два файла: файл словаря ( vocab.txt ) и файл веса ( weights.tar.gz ). Скопируйте файлы в желаемое местоположение, а затем установите правильные пути для BERT_WEIGHTS и BERT_VOCAB в скрипте:
export BERT_VOCAB=path-to/scibert_scivocab_uncased.vocab
export BERT_WEIGHTS=path-to/scibert_scivocab_uncased.tar.gz
Наконец -то запустите сценарий:
./scibert/scripts/train_allennlp_local.sh [serialization-directory]
Где [serialization-directory] является пути к выходному каталогу, где будут храниться файлы модели.
Если вы используете SciBERT в своем исследовании, пожалуйста, цитируйте Scibert: модель на предварительном языке для научного текста.
@inproceedings{Beltagy2019SciBERT,
title={SciBERT: Pretrained Language Model for Scientific Text},
author={Iz Beltagy and Kyle Lo and Arman Cohan},
year={2019},
booktitle={EMNLP},
Eprint={arXiv:1903.10676}
}
SciBERT -это проект с открытым исходным кодом, разработанный Институтом искусственного интеллекта Аллена (AI2). AI2 является некоммерческим институтом с миссией внести свой вклад в человечество с помощью высокоэффективных исследований и инженерии ИИ.