SciBERT
SciBERT adalah model BERT yang dilatih pada teks ilmiah.
SciBERT dilatih di atas kertas dari corpus semanticscholar.org. Ukuran corpus adalah 1,14 juta makalah, token 3.1b. Kami menggunakan teks lengkap dari makalah dalam pelatihan, bukan hanya abstrak.
SciBERT memiliki kosakata sendiri ( scivocab ) yang dibangun untuk paling cocok dengan corpus pelatihan. Kami melatih versi cased dan uncased. Kami juga menyertakan model yang dilatih pada kosakata Bert asli ( basevocab ) untuk perbandingan.
Ini menghasilkan kinerja canggih pada berbagai tugas nlp domain ilmiah. Rincian evaluasi ada di koran. Kode evaluasi dan data termasuk dalam repo ini.
Memperbarui! Model Scibert sekarang dapat diinstal langsung dalam kerangka HuggingFace di bawah org allenai :
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')
Kami merilis TensorFlow dan versi Pytorch dari model yang terlatih. Versi TensorFlow kompatibel dengan kode yang berfungsi dengan model dari Google Research. Versi Pytorch dibuat menggunakan perpustakaan Face Hugging, dan repo ini menunjukkan cara menggunakannya di Allennlp. Semua kombinasi scivocab dan basevocab , model cased dan uncased tersedia di bawah ini. Evaluasi kami menunjukkan bahwa scivocab-uncased biasanya memberikan hasil terbaik.
scibert-scivocab-uncased (disarankan)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedscibert-scivocab-uncased (disarankan)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedscibert-scivocab-uncased (disarankan)scibert-scivocab-casedscibert-basevocab-uncasedscibert-basevocab-casedModel Scibert mencakup semua file yang diperlukan untuk dicolokkan dalam model Anda sendiri dan dalam format yang sama seperti Bert. Jika Anda menggunakan TensorFlow, lihat repo Bert Google dan jika Anda menggunakan Pytorch, lihat repo Hugging Face di mana instruksi terperinci tentang menggunakan model BERT disediakan.
Untuk menjalankan eksperimen pada tugas yang berbeda dan mereproduksi hasil kami di koran, Anda harus terlebih dahulu mengatur lingkungan Python 3.6:
pip install -r requirements.txt
yang akan menginstal dependensi seperti AllenNlp.
Gunakan skrip scibert/scripts/train_allennlp_local.sh sebagai contoh cara menjalankan percobaan (Anda harus memodifikasi jalur dan nama variabel seperti TASK dan DATASET ).
Kami menyertakan serangkaian dataset NLP ilmiah yang luas di bawah data/ direktori di seluruh tugas berikut. Setiap tugas memiliki sub-direktori dataset yang tersedia.
├── ner
│ ├── JNLPBA
│ ├── NCBI-disease
│ ├── bc5cdr
│ └── sciie
├── parsing
│ └── genia
├── pico
│ └── ebmnlp
└── text_classification
├── chemprot
├── citation_intent
├── mag
├── rct-20k
├── sci-cite
└── sciie-relation-extraction
Misalnya untuk menjalankan model pada tugas pengenalan entitas bernama ( NER ) dan pada dataset BC5CDR (biocreative v cdr), memodifikasi skrip scibert/train_allennlp_local.sh menurut:
DATASET='bc5cdr'
TASK='ner'
...
Mendekompres model pytorch yang Anda unduh gunakan
tar -xvf scibert_scivocab_uncased.tar
Hasilnya akan ada di direktori scibert_scivocab_uncased yang berisi dua file: file kosa kata ( vocab.txt ) dan file bobot ( weights.tar.gz ). Salin file ke lokasi yang Anda inginkan dan kemudian atur jalur yang benar untuk BERT_WEIGHTS dan BERT_VOCAB di skrip:
export BERT_VOCAB=path-to/scibert_scivocab_uncased.vocab
export BERT_WEIGHTS=path-to/scibert_scivocab_uncased.tar.gz
Akhirnya jalankan skrip:
./scibert/scripts/train_allennlp_local.sh [serialization-directory]
Di mana [serialization-directory] adalah jalur ke direktori output di mana file model akan disimpan.
Jika Anda menggunakan SciBERT dalam penelitian Anda, silakan kutip Scibert: Model bahasa pretrained untuk teks ilmiah.
@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 adalah proyek open-source yang dikembangkan oleh Allen Institute for Artificial Intelligence (AI2). AI2 adalah lembaga nirlaba dengan misi untuk berkontribusi pada kemanusiaan melalui penelitian dan rekayasa AI berdampak tinggi.