Neuroner เป็นโปรแกรมที่ดำเนินการจดจำเอนทิตี (NER) เว็บไซต์: Neuroner.com
หน้านี้ให้คำแนะนำทีละขั้นตอนในการติดตั้งและใช้เซลล์ประสาท
Neuroner อาศัย Python 3, Tensorflow 1.0+ และเป็นทางเลือกเกี่ยวกับ BRAT:
สำหรับการสนับสนุน GPU ข้อกำหนดของ GPU สำหรับ TensorFlow จะต้องเป็นที่พอใจ หากระบบของคุณไม่เป็นไปตามข้อกำหนดเหล่านี้คุณควรใช้เวอร์ชัน CPU เพื่อติดตั้งเซลล์ประสาท:
# For CPU support (no GPU support):
pip3 install pyneuroner[cpu]
# For GPU support:
pip3 install pyneuroner[gpu]
คุณจะต้องดาวน์โหลดแพ็คเกจสนับสนุนบางอย่าง
# Download the SpaCy English module
python -m spacy download en
./data/word_vectors word_vectors # Get word embeddings
wget -P data/word_vectors http://neuroner.com/data/word_vectors/glove.6B.100d.zip
unzip data/word_vectors/glove.6B.100d.zip -d data/word_vectors/
neuromodel.fetch_data() จากล่าม Python หรือด้วยอาร์กิวเมนต์ --fetch_data ที่บรรทัดคำสั่ง # Load a dataset from the command line
neuroner --fetch_data=conll2003
neuroner --fetch_data=example_unannotated_texts
neuroner --fetch_data=i2b2_2014_deid
# Load a dataset from a Python interpreter
from neuroner import neuromodel
neuromodel.fetch_data('conll2003')
neuromodel.fetch_data('example_unannotated_texts')
neuromodel.fetch_data('i2b2_2014_deid')
neuromodel.fetch_model() จากล่าม Python หรือด้วยอาร์กิวเมนต์ --fetch_trained_models ที่บรรทัดคำสั่ง # Load a pre-trained model from the command line
neuroner --fetch_trained_model=conll_2003_en
neuroner --fetch_trained_model=i2b2_2014_glove_spacy_bioes
neuroner --fetch_trained_model=i2b2_2014_glove_stanford_bioes
neuroner --fetch_trained_model=mimic_glove_spacy_bioes
neuroner --fetch_trained_model=mimic_glove_stanford_bioes
# Load a pre-trained model from a Python interpreter
from neuroner import neuromodel
neuromodel.fetch_model('conll_2003_en')
neuromodel.fetch_model('i2b2_2014_glove_spacy_bioes')
neuromodel.fetch_model('i2b2_2014_glove_stanford_bioes')
neuromodel.fetch_model('mimic_glove_spacy_bioes')
neuromodel.fetch_model('mimic_glove_stanford_bioes')
BRAT เป็นเครื่องมือที่สามารถใช้ในการสร้างเปลี่ยนหรือดูคำอธิบายประกอบสไตล์ BRAT สำหรับคำแนะนำในการติดตั้งและการใช้งานโปรดดูที่เว็บไซต์ BRAT
ต้องใช้ Perl เนื่องจากสคริปต์การประเมินผลอย่างเป็นทางการของ Conll-2003 ถูกเขียนขึ้นในภาษานี้: http://strawberryperl.com สำหรับระบบ UNIX และ MAC OSX ควรติดตั้ง PERL แล้ว สำหรับระบบ Windows คุณอาจต้องติดตั้ง
เซลล์ประสาทสามารถเรียกใช้จากบรรทัดคำสั่งหรือจากล่าม Python
หากต้องการใช้เซลล์ประสาทจากบรรทัดคำสั่งให้สร้างอินสแตนซ์ของ neuromodel ด้วยอาร์กิวเมนต์ที่คุณต้องการแล้วเรียกใช้วิธีการที่เกี่ยวข้อง พารามิเตอร์เพิ่มเติมสามารถตั้งค่าได้จากไฟล์ parameters.ini ในไดเรกทอรีการทำงาน ตัวอย่างเช่น:
from neuroner import neuromodel
nn = neuromodel.NeuroNER(train_model=False, use_pretrained_model=True)
รายละเอียดเพิ่มเติมที่จะติดตาม
โดยค่าเริ่มต้นของเซลล์ประสาทได้รับการกำหนดค่าให้ฝึกอบรมและทดสอบในชุดข้อมูล Conll-2003 การรันเซลล์ประสาทด้วยการตั้งค่าเริ่มต้นเริ่มการฝึกอบรมในชุดข้อมูล CONLL-2003 (คะแนน F1 ในชุดทดสอบควรอยู่ที่ประมาณ 0.90 เช่นเดียวกับระบบที่ทันสมัย) เพื่อเริ่มการฝึกอบรม:
# To use the CPU if you have installed tensorflow, or use the GPU if you have installed tensorflow-gpu:
neuroner
# To use the CPU only if you have installed tensorflow-gpu:
CUDA_VISIBLE_DEVICES="" neuroner
# To use the GPU 1 only if you have installed tensorflow-gpu:
CUDA_VISIBLE_DEVICES=1 neuroner
หากคุณต้องการเปลี่ยนพารามิเตอร์ของเซลล์ประสาทใด ๆ คุณสามารถแก้ไขไฟล์การกำหนดค่า parameters.ini ในไดเรกทอรีการทำงานของคุณหรือระบุว่าเป็นอาร์กิวเมนต์
ตัวอย่างเช่นเพื่อลดจำนวนของการฝึกอบรมและไม่ใช้การฝังโทเค็นที่ผ่านการฝึกอบรมมาก่อน:
neuroner --maximum_number_of_epochs=2 --token_pretrained_embedding_filepath=""
เพื่อดำเนินการ ner บนข้อความธรรมดาบางอย่างโดยใช้โมเดลที่ผ่านการฝึกอบรมมาก่อน:
neuroner --train_model=False --use_pretrained_model=True --dataset_text_folder=./data/example_unannotated_texts --pretrained_model_folder=./trained_models/conll_2003_en
หากมีการระบุพารามิเตอร์ในทั้ง parameters.ini ไฟล์การกำหนดค่าและเป็นอาร์กิวเมนต์แล้วอาร์กิวเมนต์จะมีความสำคัญกว่า (เช่นพารามิเตอร์ใน parameters.ini ถูกละเว้น) คุณสามารถระบุไฟล์การกำหนดค่าที่แตกต่างกันด้วยอาร์กิวเมนต์บรรทัดคำสั่ง --parameters_filepath อาร์กิวเมนต์บรรทัดคำสั่งไม่มีค่าเริ่มต้นยกเว้น --parameters_filepath ซึ่งชี้ไปที่ parameters.ini
เซลล์ประสาทมี 3 โหมดการทำงาน:
อาจมีชุดข้อมูลในรูปแบบ Conll-2003 หรือ BRAT ควรจัดไฟล์และโฟลเดอร์ชุดข้อมูลและตั้งชื่อดังนี้:
train.txt (รูปแบบ conll-2003) หรือโฟลเดอร์ train (รูปแบบ BRAT) ต้องมีป้ายกำกับvalid.txt (รูปแบบ conll-2003) หรือโฟลเดอร์ valid (รูปแบบ BRAT) ต้องมีป้ายกำกับtest.txt ไฟล์ (รูปแบบ conll-2003) หรือโฟลเดอร์ test (รูปแบบ BRAT) ต้องมีป้ายกำกับdeploy.txt (รูปแบบ conll-2003) หรือโฟลเดอร์ deploy (รูปแบบ BRAT) ไม่ควรมีป้ายกำกับใด ๆ (ถ้าเป็นเช่นนั้นป้ายกำกับจะถูกละเว้น)เราให้ตัวอย่างชุดข้อมูลหลายชุด:
data/conll2003/en : ชุดข้อมูลคำอธิบายประกอบพร้อมรูปแบบ conll-2003 ที่มี 3 ไฟล์ ( train.txt , valid.txt และ test.txt )data/example_unannotated_texts : ชุดข้อมูลที่ไม่ได้ย่อพร้อมรูปแบบ BRAT ที่มี 1 โฟลเดอร์ ( deploy/ ) โปรดทราบว่ารูปแบบ BRAT ที่ไม่มีคำอธิบายประกอบนั้นเหมือนกับข้อความธรรมดา ในการใช้แบบจำลองที่ผ่านการฝึกอบรมพารามิเตอร์ pretrained_model_folder ในไฟล์ parameters.ini การกำหนดค่าต้องตั้งค่าไว้ในโฟลเดอร์ที่มีโมเดลที่ผ่านการฝึกอบรม พารามิเตอร์ต่อไปนี้ใน parameters.ini ไฟล์การกำหนดค่าต้องตั้งค่าเป็นค่าเดียวกับในไฟล์การกำหนดค่าที่อยู่ใน pretrained_model_folder ที่ระบุ:
use_character_lstm
character_embedding_dimension
character_lstm_hidden_state_dimension
token_pretrained_embedding_filepath
token_embedding_dimension
token_lstm_hidden_state_dimension
use_crf
tagging_format
tokenizer
คุณได้รับการสนับสนุนอย่างสูงให้แชร์โมเดลที่ได้รับการฝึกฝนในชุดข้อมูลของตนเองเพื่อให้ผู้ใช้รายอื่นสามารถใช้โมเดลที่ผ่านการฝึกอบรมในชุดข้อมูลอื่น ๆ เราให้บริการสคริปต์ neuroner/prepare_pretrained_model.py เพื่อให้ง่ายต่อการเตรียมแบบจำลองที่ทำไว้ล่วงหน้าสำหรับการแบ่งปัน ในการใช้สคริปต์เราต้องระบุเฉพาะ output_folder_name , epoch_number และ model_name พารามิเตอร์ในสคริปต์
โดยค่าเริ่มต้นข้อมูลเพียงอย่างเดียวเกี่ยวกับชุดข้อมูลที่มีอยู่ในรูปแบบที่ผ่านการฝึกอบรมคือรายการโทเค็นที่ปรากฏในชุดข้อมูลที่ใช้สำหรับการฝึกอบรมและการฝังตัวที่เกี่ยวข้องกับชุดข้อมูล
หากคุณต้องการแชร์โมเดลที่ผ่านการฝึกอบรมโดยไม่ให้ข้อมูลใด ๆ เกี่ยวกับชุดข้อมูล (รวมถึงรายการโทเค็นที่ปรากฏในชุดข้อมูล) คุณสามารถทำได้โดยการตั้งค่า
delete_token_mappings = True
เมื่อเรียกใช้สคริปต์ ในกรณีนี้ขอแนะนำอย่างยิ่งให้ใช้การฝังโทเค็นที่ผ่านการฝึกอบรมล่วงหน้าจากภายนอกและแช่แข็งในขณะที่ฝึกอบรมแบบจำลองเพื่อให้ได้ประสิทธิภาพสูง สามารถทำได้โดยการระบุ token_pretrained_embedding_filepath และการตั้งค่า
freeze_token_embeddings = True
ในไฟล์การกำหนดค่า parameters.ini ระหว่างการฝึกอบรม
ในการแบ่งปันรูปแบบที่ได้รับการฝึกฝนโปรดส่งปัญหาใหม่เกี่ยวกับที่เก็บ GitHub
คุณสามารถเปิดตัว Tensorboard ในระหว่างหรือหลังขั้นตอนการฝึกอบรม หากต้องการทำเช่นนั้นให้วิ่งในเทอร์มินัลจากโฟลเดอร์เซลล์ประสาท:
tensorboard --logdir=output
สิ่งนี้เริ่มต้นเว็บเซิร์ฟเวอร์ที่สามารถเข้าถึงได้ที่ http://127.0.0.1:6006 จากเว็บเบราว์เซอร์ของคุณ
หากคุณใช้เซลล์ประสาทในสิ่งพิมพ์ของคุณโปรดอ้างอิงบทความนี้:
@article{2017neuroner,
title={{NeuroNER}: an easy-to-use program for named-entity recognition based on neural networks},
author={Dernoncourt, Franck and Lee, Ji Young and Szolovits, Peter},
journal={Conference on Empirical Methods on Natural Language Processing (EMNLP)},
year={2017}
}
สถาปัตยกรรมเครือข่ายประสาทที่ใช้ในเซลล์ประสาทอธิบายไว้ในบทความนี้:
@article{2016deidentification,
title={De-identification of Patient Notes with Recurrent Neural Networks},
author={Dernoncourt, Franck and Lee, Ji Young and Uzuner, Ozlem and Szolovits, Peter},
journal={Journal of the American Medical Informatics Association (JAMIA)},
year={2016}
}