parsner
1.0.0
يحتوي هذا الريبو على جميع النماذج الحالية المسبقة التي يتم ضبطها بشكل جيد لمهمة التعرف على الكيان (NER) المسماة. تم تدريب هذه النماذج على مجموعة بيانات مختلطة تم جمعها من Arman و Peyma و Wikiann التي غطت عشرة أنواع من الكيانات:
| السجلات | ب dat | ب | ب-فاك | كتلة | ب مون | ب | B-PCT | ب | ب | ب-تيم | أنا | أنا | أنا فاك | أنا لوك | أنا | i-org | I-PCT | أنا | أنا برو | أنا | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| يدرب | 29133 | 1423 | 1487 | 1400 | 13919 | 417 | 15926 | 355 | 12347 | 1855 | 150 | 1947 | 5018 | 2421 | 4118 | 1059 | 19579 | 573 | 7699 | 1914 | 332 |
| صالح | 5142 | 267 | 253 | 250 | 2362 | 100 | 2651 | 64 | 2173 | 317 | 19 | 373 | 799 | 387 | 717 | 270 | 3260 | 101 | 1382 | 303 | 35 |
| امتحان | 6049 | 407 | 256 | 248 | 2886 | 98 | 3216 | 94 | 2646 | 318 | 43 | 568 | 888 | 408 | 858 | 263 | 3967 | 141 | 1707 | 296 | 78 |
تنزيل يمكنك تنزيل مجموعة البيانات من هنا
تلخص الجداول التالية الدرجات التي تم الحصول عليها من قبل النماذج المسبقة بشكل عام وبالنسبة لكل فئة.
| نموذج | دقة | دقة | يتذكر | F1 |
|---|---|---|---|---|
| بيرت | 0.995086 | 0.953454 | 0.961113 | 0.957268 |
| روبرتا | 0.994849 | 0.949816 | 0.960235 | 0.954997 |
| Distilbert | 0.994534 | 0.946326 | 0.95504 | 0.950663 |
| ألبرت | 0.993405 | 0.938907 | 0.943966 | 0.941429 |
| رقم | دقة | يتذكر | F1 | |
|---|---|---|---|---|
| دات | 407 | 0.860636 | 0.864865 | 0.862745 |
| حواء | 256 | 0.969582 | 0.996094 | 0.982659 |
| الوجه | 248 | 0.976190 | 0.991935 | 0.984000 |
| لوك | 2884 | 0.970232 | 0.971914 | 0.971072 |
| الاثنين | 98 | 0.905263 | 0.877551 | 0.891192 |
| ORG | 3216 | 0.939125 | 0.954602 | 0.946800 |
| معاهدة التعاون بشأن البراءات | 94 | 1.000000 | 0.968085 | 0.983784 |
| لكل | 2645 | 0.965244 | 0.965974 | 0.965608 |
| المحترف | 318 | 0.981481 | 1.000000 | 0.990654 |
| تيم | 43 | 0.692308 | 0.837209 | 0.757895 |
| رقم | دقة | يتذكر | F1 | |
|---|---|---|---|---|
| دات | 407 | 0.844869 | 0.869779 | 0.857143 |
| حواء | 256 | 0.948148 | 1.000000 | 0.973384 |
| الوجه | 248 | 0.957529 | 1.000000 | 0.978304 |
| لوك | 2884 | 0.965422 | 0.968100 | 0.966759 |
| الاثنين | 98 | 0.937500 | 0.918367 | 0.927835 |
| ORG | 3216 | 0.943662 | 0.958333 | 0.950941 |
| معاهدة التعاون بشأن البراءات | 94 | 1.000000 | 0.968085 | 0.983784 |
| لكل | 2646 | 0.957030 | 0.959562 | 0.958294 |
| المحترف | 318 | 0.963636 | 1.000000 | 0.981481 |
| تيم | 43 | 0.739130 | 0.790698 | 0.764045 |
| رقم | دقة | يتذكر | F1 | |
|---|---|---|---|---|
| دات | 407 | 0.812048 | 0.828010 | 0.819951 |
| حواء | 256 | 0.955056 | 0.996094 | 0.975143 |
| الوجه | 248 | 0.972549 | 1.000000 | 0.986083 |
| لوك | 2884 | 0.968403 | 0.967060 | 0.967731 |
| الاثنين | 98 | 0.925532 | 0.887755 | 0.906250 |
| ORG | 3216 | 0.932095 | 0.951803 | 0.941846 |
| معاهدة التعاون بشأن البراءات | 94 | 0.936842 | 0.946809 | 0.941799 |
| لكل | 2645 | 0.959818 | 0.957278 | 0.958546 |
| المحترف | 318 | 0.963526 | 0.996855 | 0.979907 |
| تيم | 43 | 0.760870 | 0.813953 | 0.786517 |
| رقم | دقة | يتذكر | F1 | |
|---|---|---|---|---|
| دات | 407 | 0.820639 | 0.820639 | 0.820639 |
| حواء | 256 | 0.936803 | 0.984375 | 0.960000 |
| الوجه | 248 | 0.925373 | 1.000000 | 0.961240 |
| لوك | 2884 | 0.960818 | 0.960818 | 0.960818 |
| الاثنين | 98 | 0.913978 | 0.867347 | 0.890052 |
| ORG | 3216 | 0.920892 | 0.937500 | 0.929122 |
| معاهدة التعاون بشأن البراءات | 94 | 0.946809 | 0.946809 | 0.946809 |
| لكل | 2644 | 0.960000 | 0.944024 | 0.951945 |
| المحترف | 318 | 0.942943 | 0.987421 | 0.964670 |
| تيم | 43 | 0.780488 | 0.744186 | 0.761905 |
يمكنك استخدام هذا النموذج مع خط أنابيب Transformers لـ NER.
pip install sentencepiece
pip install transformers from transformers import AutoTokenizer
from transformers import AutoModelForTokenClassification # for pytorch
from transformers import TFAutoModelForTokenClassification # for tensorflow
from transformers import pipeline
# model_name_or_path = "HooshvareLab/bert-fa-zwnj-base-ner" # Roberta
# model_name_or_path = "HooshvareLab/roberta-fa-zwnj-base-ner" # Roberta
model_name_or_path = "HooshvareLab/distilbert-fa-zwnj-base-ner" # Distilbert
# model_name_or_path = "HooshvareLab/albert-fa-zwnj-base-v2-ner" # Albert
tokenizer = AutoTokenizer . from_pretrained ( model_name_or_path )
model = AutoModelForTokenClassification . from_pretrained ( model_name_or_path ) # Pytorch
# model = TFAutoModelForTokenClassification.from_pretrained(model_name_or_path) # Tensorflow
nlp = pipeline ( "ner" , model = model , tokenizer = tokenizer )
example = "در سال ۲۰۱۳ درگذشت و آندرتیکر و کین برای او مراسم یادبود گرفتند."
ner_results = nlp ( example )
print ( ner_results )تم تدريب جميع النماذج على وحدة معالجة الرسومات NVIDIA P100 واحدة مع المعلمات التالية.
الحجج
" task_name " : " ner "
" model_name_or_path " : model_name_or_path
" train_file " : " /content/ner/train.csv "
" validation_file " : " /content/ner/valid.csv "
" test_file " : " /content/ner/test.csv "
" output_dir " : output_dir
" cache_dir " : " /content/cache "
" per_device_train_batch_size " : 16
" per_device_eval_batch_size " : 16
" use_fast_tokenizer " : True
" num_train_epochs " : 5.0
" do_train " : True
" do_eval " : True
" do_predict " : True
" learning_rate " : 2e-5
" evaluation_strategy " : " steps "
" logging_steps " : 1000
" save_steps " : 1000
" save_total_limit " : 2
" overwrite_output_dir " : True
" fp16 " : True
" preprocessing_num_workers " : 4يرجى الاستشهاد بهذا المستودع في المنشورات على النحو التالي:
@misc{ParsNER,
author = {Hooshvare Team},
title = {Pre-Trained NER models for Persian},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/hooshvare/parsner}},
}
بعد قضية github حول قضايا Parsner repo.