***** Baru 1 Nov 2020: bluebert dapat ditemukan di huggingface *****
***** Baru 5 Des 2019: NCBI_BERT diubah namanya menjadi bluebert *****
***** Baru 11 Juli 2019: teks PubMed yang telah diproses sebelumnya *****
Kami mengunggah teks PubMed yang telah diproses sebelumnya yang digunakan untuk melatih model bluebert terlebih dahulu.
Repositori ini menyediakan kode dan model bluebert , yang telah dilatih sebelumnya tentang abstrak PubMed dan catatan klinis (MIMIC-III). Silakan merujuk ke makalah kami Pembelajaran Transfer dalam Pemrosesan Bahasa Alami Biomedis: Evaluasi BERT dan ELMo pada Sepuluh Kumpulan Data Tolok Ukur untuk lebih jelasnya.
File bobot, vocab, dan konfigurasi bluebert yang telah dilatih sebelumnya dapat diunduh dari:
Beban terlatih juga dapat ditemukan di Huggingface:
Kumpulan data benchmark dapat diunduh dari https://github.com/ncbi-nlp/BLUE_Benchmark
Kami berasumsi model bluebert telah diunduh di $ bluebert _DIR
, dan kumpulan data telah diunduh di $DATASET_DIR
.
Tambahkan direktori lokal ke $PYTHONPATH
jika diperlukan.
export PYTHONPATH=. ; $PYTHONPATH
python bluebert /run_ bluebert _sts.py
--task_name= ' sts '
--do_train=true
--do_eval=false
--do_test=true
--vocab_file= $ bluebert _DIR /vocab.txt
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--max_seq_length=128
--num_train_epochs=30.0
--do_lower_case=true
--data_dir= $DATASET_DIR
--output_dir= $OUTPUT_DIR
python bluebert /run_ bluebert _ner.py
--do_prepare=true
--do_train=true
--do_eval=true
--do_predict=true
--task_name= " bc5cdr "
--vocab_file= $ bluebert _DIR /vocab.txt
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--num_train_epochs=30.0
--do_lower_case=true
--data_dir= $DATASET_DIR
--output_dir= $OUTPUT_DIR
Nama tugasnya bisa
bc5cdr
: tugas kimia atau penyakit BC5CDRclefe
: tugas Bagikan/CLEFEpython bluebert /run_ bluebert .py
--do_train=true
--do_eval=false
--do_predict=true
--task_name= " chemprot "
--vocab_file= $ bluebert _DIR /vocab.txt
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--num_train_epochs=10.0
--data_dir= $DATASET_DIR
--output_dir= $OUTPUT_DIR
--do_lower_case=true
Nama tugasnya bisa
chemprot
: tugas BC6 ChemProtddi
: tugas DDI 2013i2b2_2010
: tugas I2B2 2010python bluebert /run_ bluebert _multi_labels.py
--task_name= " hoc "
--do_train=true
--do_eval=true
--do_predict=true
--vocab_file= $ bluebert _DIR /vocab.txt
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--max_seq_length=128
--train_batch_size=4
--learning_rate=2e-5
--num_train_epochs=3
--num_classes=20
--num_aspects=10
--aspect_value_list= " 0,1 "
--data_dir= $DATASET_DIR
--output_dir= $OUTPUT_DIR
python bluebert /run_ bluebert .py
--do_train=true
--do_eval=false
--do_predict=true
--task_name= " mednli "
--vocab_file= $ bluebert _DIR /vocab.txt
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--num_train_epochs=10.0
--data_dir= $DATASET_DIR
--output_dir= $OUTPUT_DIR
--do_lower_case=true
Kami menyediakan teks PubMed yang telah diproses sebelumnya yang digunakan untuk melatih model bluebert terlebih dahulu. Korpus berisi ~4000 juta kata yang diekstrak dari versi kode ASCII PubMed. Operasi lainnya termasuk
x00
- x7F
Di bawah ini cuplikan kode untuk lebih jelasnya.
value = value . lower ()
value = re . sub ( r'[rn]+' , ' ' , value )
value = re . sub ( r'[^x00-x7F]+' , ' ' , value )
tokenized = TreebankWordTokenizer (). tokenize ( value )
sentence = ' ' . join ( tokenized )
sentence = re . sub ( r"s'sb" , "'s" , sentence )
Setelah itu, kami menggunakan kode berikut untuk menghasilkan data pra-pelatihan. Silakan lihat https://github.com/google-research/bert untuk detail lebih lanjut.
python bert/create_pretraining_data.py
--input_file=pubmed_uncased_sentence_nltk.txt
--output_file=pubmed_uncased_sentence_nltk.tfrecord
--vocab_file=bert_uncased_L-12_H-768_A-12_vocab.txt
--do_lower_case=True
--max_seq_length=128
--max_predictions_per_seq=20
--masked_lm_prob=0.15
--random_seed=12345
--dupe_factor=5
Kami menggunakan kode berikut untuk melatih model BERT. Harap jangan sertakan init_checkpoint
jika Anda melakukan pra-pelatihan dari awal. Silakan lihat https://github.com/google-research/bert untuk detail lebih lanjut.
python bert/run_pretraining.py
--input_file=pubmed_uncased_sentence_nltk.tfrecord
--output_dir= $ bluebert _DIR
--do_train=True
--do_eval=True
--bert_config_file= $ bluebert _DIR /bert_config.json
--init_checkpoint= $ bluebert _DIR /bert_model.ckpt
--train_batch_size=32
--max_seq_length=128
--max_predictions_per_seq=20
--num_train_steps=20000
--num_warmup_steps=10
--learning_rate=2e-5
@InProceedings{peng2019transfer,
author = {Yifan Peng and Shankai Yan and Zhiyong Lu},
title = {Transfer Learning in Biomedical Natural Language Processing: An Evaluation of BERT and ELMo on Ten Benchmarking Datasets},
booktitle = {Proceedings of the 2019 Workshop on Biomedical Natural Language Processing (BioNLP 2019)},
year = {2019},
pages = {58--65},
}
Pekerjaan ini didukung oleh Program Penelitian Intramural dari Institut Kesehatan Nasional, Perpustakaan Kedokteran Nasional dan Pusat Klinis. Pekerjaan ini didukung oleh Perpustakaan Kedokteran Nasional Institut Kesehatan Nasional dengan nomor penghargaan K99LM013001-01.
Kami juga berterima kasih kepada penulis BERT dan ELMo yang telah membuat data dan kode tersedia untuk umum.
Kami ingin mengucapkan terima kasih kepada Dr Sun Kim yang telah memproses teks PubMed.
Alat ini menunjukkan hasil penelitian yang dilakukan di Cabang Biologi Komputasi, NCBI. Informasi yang dihasilkan di situs web ini tidak dimaksudkan untuk penggunaan diagnostik langsung atau pengambilan keputusan medis tanpa tinjauan dan pengawasan oleh profesional klinis. Individu tidak boleh mengubah perilaku kesehatannya hanya berdasarkan informasi yang dihasilkan di situs ini. NIH tidak memverifikasi secara independen validitas atau kegunaan informasi yang dihasilkan oleh alat ini. Jika Anda memiliki pertanyaan tentang informasi yang dihasilkan di situs web ini, silakan temui ahli kesehatan. Informasi lebih lanjut tentang kebijakan penafian NCBI tersedia.