SciBERT
SciBERT 、科学的なテキストで訓練されたBERTモデルです。
SciBERT 、Semanticcholar.orgのコーパスの論文で訓練されています。コーパスサイズは1.14mの論文、3.1bトークンです。アブストラクトだけでなく、トレーニングで論文の全文を使用しています。
SciBERTは、トレーニングコーパスに最適に構築された独自の語彙( scivocab )があります。ケースで覆われたバージョンを訓練しました。また、比較のために元のBert語彙( basevocab )でトレーニングされたモデルも含めます。
その結果、幅広い科学ドメインNLPタスクで最先端のパフォーマンスが発生します。評価の詳細は論文にあります。評価コードとデータはこのレポに含まれています。
アップデート! Scibertモデルは、 allenai組織の下でHuggingfaceのフレームワーク内に直接インストールできるようになりました。
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バージョンは、Hugging Face Libraryを使用して作成されており、このレポはAllennlpで使用する方法を示しています。 scivocabとbasevocab 、 casedおよびuncased Modelsのすべての組み合わせを以下に入手できます。私たちの評価は、 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-casedScibertモデルには、独自のモデルにプラグインするために必要なすべてのファイルが含まれており、Bertと同じ形式です。 Tensorflowを使用している場合は、GoogleのBert Repoを参照してください。Pytorchを使用している場合は、Bertモデルの使用に関する詳細な指示が提供されているHugging Faceのリポジトリを参照してください。
さまざまなタスクで実験を実行し、紙の中で結果を再現するには、最初にPython 3.6環境をセットアップする必要があります。
pip install -r requirements.txt
allennlpのような依存関係をインストールします。
scibert/scripts/train_allennlp_local.shスクリプトを使用して、実験の実行方法の例として( TASKやDATASETなどのパスと変数名を変更する必要があります)。
次のタスクにわたって、 data/ディレクトリの下に幅広い科学的NLPデータセットを含めます。各タスクには、利用可能なデータセットのサブディレクトリがあります。
├── 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
結果は、語彙ファイル( vocab.txt )とweightsファイル( weights.tar.gz )の2つのファイルを含むscibert_scivocab_uncasedディレクトリにあります。ファイルを目的の場所にコピーしてから、スクリプト内の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は、衝撃的なAIの研究と工学を通じて人類に貢献するという使命を備えた非営利団体です。