Neuroner هو برنامج يؤدي التعرف على الدار (NER). الموقع الإلكتروني: neuroner.com.
تقدم هذه الصفحة إرشادات خطوة بخطوة لتثبيت الخلايا العصبية واستخدامها.
يعتمد Neuroner على Python 3 و TensorFlow 1.0+ واختياريًا على Brat:
لدعم GPU ، يجب أن تكون متطلبات GPU لـ TensorFlow راضية. إذا كان نظامك لا يفي بهذه المتطلبات ، فيجب عليك استخدام إصدار وحدة المعالجة المركزية. لتثبيت الخلايا العصبية:
# 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 # 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() من مترجم بيثون أو مع وسيطة --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() من مترجم بيثون أو مع وسيطة --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.
مطلوب Perl لأن البرنامج النصي للتقييم الرسمي Conll-2003 مكتوب في هذه اللغة: http://strawberryperl.com. بالنسبة لأنظمة UNIX و MAC OSX ، ينبغي بالفعل تثبيت PERL. بالنسبة لأنظمة Windows ، قد تحتاج إلى تثبيته.
يمكن تشغيل الخلايا العصبية من سطر الأوامر أو من مترجم بيثون.
لاستخدام الخلايا العصبية من سطر الأوامر ، قم بإنشاء مثيل من 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 ini وكوسيطة ، فإن الوسيطة لها الأسبقية (أي ، يتم تجاهل المعلمة في parameters.ini . يمكنك تحديد ملف تكوين مختلف مع وسيطة سطر أوامر --parameters_filepath . لا تحتوي وسيطات سطر الأوامر على قيمة افتراضية باستثناء --parameters_filepath ، والتي تشير إلى parameters.ini .
يحتوي Neuroner على 3 أوضاع للتشغيل:
يمكن توفير مجموعة بيانات إما بتنسيق Conll-2003 أو Brat. يجب تنظيم ملفات ومجلدات مجموعة البيانات على النحو التالي:
train.txt (تنسيق Conll-2003) أو مجلد train (تنسيق الشقي). يجب أن تحتوي على ملصقات.valid.txt (تنسيق CONLL-2003) أو مجلد valid (تنسيق BRAT). يجب أن تحتوي على ملصقات.test.txt (تنسيق conll-2003) أو مجلد test (تنسيق شقي). يجب أن تحتوي على ملصقات.deploy.txt (تنسيق CONLL-2003) أو مجلد deploy (تنسيق BRAT). لا ينبغي أن تحتوي على أي تسمية (إذا حدث ذلك ، يتم تجاهل الملصقات).نحن نقدم عدة أمثلة لمجموعات البيانات:
data/conll2003/en : مجموعة بيانات مشروحة مع تنسيق Conll-2003 ، يحتوي على 3 ملفات ( train.txt ، valid.txt و test.txt ).data/example_unannotated_texts : مجموعة بيانات غير مضللة مع تنسيق شقي ، يحتوي على مجلد واحد ( deploy/ ). لاحظ أن تنسيق شقي مع عدم وجود شرح هو نفس النصوص العادية. من أجل استخدام نموذج pretRained ، يجب تعيين معلمة pretrained_model_folder في ملف تكوين parameters.ini . يجب أيضًا تعيين المعلمات التالية pretrained_model_folder ملف تكوين parameters.ini .
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}
}