new tests of ner models

This commit is contained in:
ajokar 2025-07-17 20:37:46 +03:30
parent cb9b414cd1
commit b2513ab714
5 changed files with 146 additions and 122 deletions

View File

@ -2488,3 +2488,101 @@ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
{'ner_value': 'پرونده های جنایی', 'ner_start_token': 441, 'ner_end_token': 444, 'ner_key': 'Sub', 'ner_score': '1.0'} {'ner_value': 'پرونده های جنایی', 'ner_start_token': 441, 'ner_end_token': 444, 'ner_key': 'Sub', 'ner_score': '1.0'}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
************************************************** **************************************************
**************************************************
####################################################################################################
Model Name: HooshvareLab/bert-base-parsbert-ner-uncased
Found Entity Count: 18
inference time: 2025-07-17 19:56:32.635128
####################################################################################################
Span[3:6]: "کلیه دستگاههای اجرائی"/ORG2 /%/ 1.0
Span[11:15]: "قانون مدیریت خدمات کشوری"/REF /%/ 1.0
Span[31:35]: "قانون محاسبات عمومی کشور"/REF /%/ 1.0
Span[47:52]: "نیروهای مسلح جمهوری اسلامی ایران"/ORG /%/ 1.0
Span[59:64]: "نیروی انتظامی جمهوری اسلامی ایران"/ORG /%/ 1.0
Span[136:147]: "روز نوزدهم دی ماه سال یکهزار وسیصد و نود و سه"/EVENT /%/ 1.0
Span[149:150]: "بار"/LOC2 /%/ 1.0
Span[166:168]: "مجلس ملی"/ORG /%/ 1.0
Span[175:177]: "شورای نگهبان"/ORG /%/ 1.0
Span[178:181]: "سازمان محیط زیست"/ORG /%/ 1.0
Span[183:185]: "سازمان جوانان"/ORG /%/ 1.0
Span[185:187]: "هلال احمر"/ORG /%/ 1.0
Span[199:202]: "قانون هوای پاک"/REF /%/ 1.0
Span[204:207]: "مجلس شورای اسلامی"/ORG /%/ 1.0
Span[208:211]: "سازمان محیط زیست"/ORG /%/ 1.0
Span[220:222]: "محمد سرمدی"/PER /%/ 1.0
Span[224:225]: "مشهد"/LOC2 /%/ 1.0
Span[226:227]: "سمنان"/LOC2 /%/ 1.0
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
{'ner_value': 'کلیه دستگاههای اجرائی', 'ner_start_token': 3, 'ner_end_token': 6, 'ner_key': 'ORG2', 'ner_score': '1.0'}
{'ner_value': 'قانون مدیریت خدمات کشوری', 'ner_start_token': 9, 'ner_end_token': 13, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'قانون محاسبات عمومی کشور', 'ner_start_token': 25, 'ner_end_token': 29, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'نیروهای مسلح جمهوری اسلامی ایران', 'ner_start_token': 39, 'ner_end_token': 44, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'نیروی انتظامی جمهوری اسلامی ایران', 'ner_start_token': 49, 'ner_end_token': 54, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'روز نوزدهم دی ماه سال یکهزار وسیصد و نود و سه', 'ner_start_token': 118, 'ner_end_token': 129, 'ner_key': 'EVENT', 'ner_score': '1.0'}
{'ner_value': 'بار', 'ner_start_token': 131, 'ner_end_token': 132, 'ner_key': 'LOC2', 'ner_score': '1.0'}
{'ner_value': 'مجلس ملی', 'ner_start_token': 147, 'ner_end_token': 149, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'شورای نگهبان', 'ner_start_token': 155, 'ner_end_token': 157, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'سازمان محیط زیست', 'ner_start_token': 158, 'ner_end_token': 161, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'سازمان جوانان', 'ner_start_token': 163, 'ner_end_token': 165, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'هلال احمر', 'ner_start_token': 165, 'ner_end_token': 167, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'قانون هوای پاک', 'ner_start_token': 179, 'ner_end_token': 182, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'مجلس شورای اسلامی', 'ner_start_token': 184, 'ner_end_token': 187, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'سازمان محیط زیست', 'ner_start_token': 188, 'ner_end_token': 191, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'محمد سرمدی', 'ner_start_token': 199, 'ner_end_token': 201, 'ner_key': 'PER', 'ner_score': '1.0'}
{'ner_value': 'مشهد', 'ner_start_token': 203, 'ner_end_token': 204, 'ner_key': 'LOC2', 'ner_score': '1.0'}
{'ner_value': 'سمنان', 'ner_start_token': 205, 'ner_end_token': 206, 'ner_key': 'LOC2', 'ner_score': '1.0'}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
**************************************************
**************************************************
####################################################################################################
Model Name: HooshvareLab/bert-fa-base-uncased-ner-peyma
Found Entity Count: 20
inference time: 2025-07-17 20:18:01.682614
####################################################################################################
Span[3:6]: "کلیه دستگاههای اجرائی"/ORG2 /%/ 0.96
Span[11:15]: "قانون مدیریت خدمات کشوری"/REF /%/ 1.0
Span[31:35]: "قانون محاسبات عمومی کشور"/REF /%/ 1.0
Span[47:49]: "نیروهای مسلح"/ORG /%/ 0.96
Span[49:50]: "جمهوری"/LOC /%/ 0.95
Span[50:52]: "اسلامی ایران"/ORG /%/ 0.99
Span[59:64]: "نیروی انتظامی جمهوری اسلامی ایران"/ORG /%/ 0.99
Span[80:81]: "شهرداری"/ORG /%/ 0.4
Span[136:147]: "روز نوزدهم دی ماه سال یکهزار وسیصد و نود و سه"/EVENT /%/ 0.95
Span[149:150]: "بار"/LOC2 /%/ 1.0
Span[166:168]: "مجلس ملی"/ORG /%/ 1.0
Span[175:177]: "شورای نگهبان"/ORG /%/ 1.0
Span[178:181]: "سازمان محیط زیست"/ORG /%/ 1.0
Span[185:187]: "هلال احمر"/ORG /%/ 0.65
Span[199:202]: "قانون هوای پاک"/REF /%/ 1.0
Span[204:207]: "مجلس شورای اسلامی"/ORG /%/ 1.0
Span[208:211]: "سازمان محیط زیست"/ORG /%/ 1.0
Span[220:222]: "محمد سرمدی"/PER /%/ 1.0
Span[224:225]: "مشهد"/LOC2 /%/ 0.99
Span[226:227]: "سمنان"/LOC2 /%/ 0.95
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
{'ner_value': 'کلیه دستگاههای اجرائی', 'ner_start_token': 3, 'ner_end_token': 6, 'ner_key': 'ORG2', 'ner_score': '0.96'}
{'ner_value': 'قانون مدیریت خدمات کشوری', 'ner_start_token': 9, 'ner_end_token': 13, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'قانون محاسبات عمومی کشور', 'ner_start_token': 25, 'ner_end_token': 29, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'نیروهای مسلح', 'ner_start_token': 39, 'ner_end_token': 41, 'ner_key': 'ORG', 'ner_score': '0.96'}
{'ner_value': 'جمهوری', 'ner_start_token': 41, 'ner_end_token': 42, 'ner_key': 'LOC', 'ner_score': '0.95'}
{'ner_value': 'اسلامی ایران', 'ner_start_token': 42, 'ner_end_token': 44, 'ner_key': 'ORG', 'ner_score': '0.99'}
{'ner_value': 'نیروی انتظامی جمهوری اسلامی ایران', 'ner_start_token': 49, 'ner_end_token': 54, 'ner_key': 'ORG', 'ner_score': '0.99'}
{'ner_value': 'شهرداری', 'ner_start_token': 68, 'ner_end_token': 69, 'ner_key': 'ORG', 'ner_score': '0.4'}
{'ner_value': 'روز نوزدهم دی ماه سال یکهزار وسیصد و نود و سه', 'ner_start_token': 118, 'ner_end_token': 129, 'ner_key': 'EVENT', 'ner_score': '0.95'}
{'ner_value': 'بار', 'ner_start_token': 131, 'ner_end_token': 132, 'ner_key': 'LOC2', 'ner_score': '1.0'}
{'ner_value': 'مجلس ملی', 'ner_start_token': 147, 'ner_end_token': 149, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'شورای نگهبان', 'ner_start_token': 155, 'ner_end_token': 157, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'سازمان محیط زیست', 'ner_start_token': 158, 'ner_end_token': 161, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'هلال احمر', 'ner_start_token': 165, 'ner_end_token': 167, 'ner_key': 'ORG', 'ner_score': '0.65'}
{'ner_value': 'قانون هوای پاک', 'ner_start_token': 179, 'ner_end_token': 182, 'ner_key': 'REF', 'ner_score': '1.0'}
{'ner_value': 'مجلس شورای اسلامی', 'ner_start_token': 184, 'ner_end_token': 187, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'سازمان محیط زیست', 'ner_start_token': 188, 'ner_end_token': 191, 'ner_key': 'ORG', 'ner_score': '1.0'}
{'ner_value': 'محمد سرمدی', 'ner_start_token': 199, 'ner_end_token': 201, 'ner_key': 'PER', 'ner_score': '1.0'}
{'ner_value': 'مشهد', 'ner_start_token': 203, 'ner_end_token': 204, 'ner_key': 'LOC2', 'ner_score': '0.99'}
{'ner_value': 'سمنان', 'ner_start_token': 205, 'ner_end_token': 206, 'ner_key': 'LOC2', 'ner_score': '0.95'}
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
**************************************************

View File

@ -8,7 +8,7 @@ def do_evaluate():
# تعیین ستون‌های داده و بارگذاری مجموعه داده‌های آزمایشی # تعیین ستون‌های داده و بارگذاری مجموعه داده‌های آزمایشی
columns = {0: 'text', 1: 'ner'} columns = {0: 'text', 1: 'ner'}
data_folder = "./data/" # محل ذخیره داده‌ها data_folder = "./data/" # محل ذخیره داده‌ها
corpus = ColumnCorpus(data_folder, columns, test_file='test_ds.txt') # فایل داده‌های آزمایشی corpus = ColumnCorpus(data_folder, columns, test_file='test_ds_new.txt') # فایل داده‌های آزمایشی
result = tagger.evaluate(corpus.test, gold_label_type='ner', mini_batch_size=8) result = tagger.evaluate(corpus.test, gold_label_type='ner', mini_batch_size=8)
@ -21,4 +21,6 @@ Detailed Results: {result.detailed_results}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n''' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n'''
return result_text return result_text
# do_evaluate() if __name__ == '__main__':
result = do_evaluate()
print(do_evaluate())

View File

@ -1,21 +1,7 @@
# -*- coding: utf-8 -*-
"""Flair_NER_Inference .ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1e-Q1bzMvm1mtRuxwnZBeXRfb-E39hxKu
"""
from general_functions import normalize_content from general_functions import normalize_content
from funcs import separated_date_format_finder from funcs import separated_date_format_finder
from flair.data import Sentence from flair.data import Sentence
from flair.models import SequenceTagger from flair.models import SequenceTagger
from flair.nn import Classifier
from transformers import AutoTokenizer, AutoModelForMaskedLM
from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch
from transformers import AutoTokenizer
from flair.embeddings import TransformerWordEmbeddings
from find_law import find_related_law from find_law import find_related_law
# from train import model # from train import model
@ -198,52 +184,10 @@ def inference_main(trained_model,input_sentence):
if(input_sentence == ''): if(input_sentence == ''):
input_sentence = read_file() input_sentence = read_file()
input_sentence = normalize_content(input_sentence) input_sentence = normalize_content(input_sentence)
# p = len(input_sentence)
# print(p)
# # نام مدل
# model_name = "./data/xlm-roberta-base.pt"
# # بارگذاری توکنایزر
# tokenizer = AutoTokenizer.from_pretrained(model)
# # جمله مورد نظر
# sentence = input_sentence
# # توکن‌سازی جمله
# inputs = tokenizer(sentence, return_tensors="pt")
# from transformers import AutoModel
# # بارگذاری مدل
# model = AutoModel.from_pretrained(model_name)
# # اجرای مدل
# outputs = model(**inputs)
# hidden_states = outputs.last_hidden_state
#model = "./data/final-model.pt"
# model = "./data/final-model_01.pt"
'''model = "./taggers/final-model.pt"
# tokenizer = AutoTokenizer.from_pretrained('./taggers')
# tokens = tokenizer.tokenize(input_sentence)
# for index, token in enumerate(tokens):
# print(index + ' - ' + token)
#model = "/home/gpu/tnlp/jokar/Models/HooshvareLab--bert-base-parsbert-ner-uncased/train 01/final-model.pt"
# model = "./data/HooshvareLab--distilbert-fa-zwnj-base-ner"
#model = "./jokar/Models/HooshvareLab-bert-fa-base-uncased-finetuned-2-pt"
print('model read')
# embeddings = TransformerWordEmbeddings(allow_long_sentences=True )
# tagger = SequenceTagger(embeddings=embeddings)
tagger = SequenceTagger.load(model)
print('tagger initialized')'''
# tokenizer = AutoTokenizer.from_pretrained('./data')
# model = AutoModelForTokenClassification.from_pretrained("./data", num_labels=5)
if trained_model == '':
trained_model = "./taggers/final-model.pt"
result = [] result = []
# if(len(input_sentence>511)): # if(len(input_sentence>511)):
# sentence = Sentence(input_sentence) # sentence = Sentence(input_sentence)
@ -291,50 +235,27 @@ def inference_main(trained_model,input_sentence):
save_to_file(result_header + final_result + ner_addresss) save_to_file(result_header + final_result + ner_addresss)
return final_result return final_result
# tagger: SequenceTagger = SequenceTagger.load("./data/final-model.pt")
# # tagger: SequenceTagger = SequenceTagger.load(model)
# tagger: SequenceTagger = SequenceTagger.load("xlm-roberta-base")
# # sentence = Sentence(input_sentence)
# load the NER tagger
# tagger = Classifier.load('ner')
# tagger : Classifier = Classifier.load("sentiment")
#tagger = Classifier.load('sentiment')
# # tagger.predict(sentence)
# # for span in sentence.get_spans():
# # print(span)
# print()
# print(' <--- Predict Operation Finished! ---> ')
# print()
if __name__ == "__main__": if __name__ == "__main__":
text = """ماده 26 text = """چ‌ ـ عوارض: مبالغی که به موجب این قانون به‌ همراه مالیات برای شهرداری‌ ها و دهیاری‌ ها وضع می ‌شود. در این قانون، هر جا مراد، نوع دیگری از عوارض بوده، به صراحت بیان شده است؛ از جمله عوارض واحدهای آلایندگی و عوارض‌ سالانه خودرو
در موضوعات صلاحیت قضایی در رابطه با شرکت کنندگان در رزمایش از طرف فرستنده، آن طرف باید از اصول زیر تبعیت نماید:
پرونده های جرایمی که شرکت کنندگان در رزمایش علیه طرف فرستنده یا شهروندان آن مرتکب شده اند و جرایمی که آن ها در حین انجام وظیفه مرتکب شده اند، در صلاحیت طرف فرستنده خواهد بود. ح ـ مودی: شخصی است که به عرضه کالا، ارائه خدمت، واردات یا صادرات مبادرت می نماید.
موارد جرایم ارتکابی توسط شرکت کنندگان در رزمایش غیر از موارد مشمول بند دوم این ماده در صلاحیت طرف میزبان یا طرف گذر(ترانزیت) خواهد بود.
طرف فرستنده می تواند تحقیقات مقدماتی را در مورد افراد ناشناس که علیه طرف فرستنده یا شرکت کنندگان رزمایش در مکان های استقرار شرکت کنندگان در رزمایش مرتکب تخلف می شوند، انجام دهد. در تعیین متخلف، رویه مشخص شده در این موافقت نامه اعمال خواهد شد. خ ـ دوره مالیاتی: دوره مالیاتی هر سه ماه می باشد و منطبق بر فصول سال شمسی است.
مقام های ذی صلاح طرف های مجاز به انجام دادرسی باید مستقیماً تعامل داشته باشند و در تحقیقات، جمع آوری و تهیه شواهد مربوط به جرایم، در یافتن (جستجو)، دستگیری و بازداشت شرکت کنندگان در رزمایش مظنون یا متهم به یکدیگر کمک کنند.
حق برقراری روابط مستقیم نیز متعلق به سران شرکت کنندگان در رزمایش طرف ها در حوزه صلاحیت آن ها خواهد بود. د ـ اعتبار مالیاتی: مالیات و عوارضی که مودی بابت خرید کالا (اعم از نهاده و کالای نهائی) یا خدمت به موجب این قانون پرداخت کرده است.
طرف فرستنده باید فوراً طرف گیرنده را از بازداشت شرکت کنندگان در رزمایش طرف میزبان و سایر افراد مطلع کند.
طرف میزبان باید فوراً طرف فرستنده را از بازداشت شرکت کنندگان رزمایش طرف فرستنده مطلع کند. ذ ـ معافیت مالیاتی: عدم تعلق مالیات و عوارض موضوع این قانون بر کالاها و خدمات.
در جریان دستگیری، بازداشت و سایر اقدامات قانونی، و همچنین انتقال شرکت کنندگان در رزمایش مظنون به ارتکاب جرم یا کمک حقوقی، طرف ها باید تحت نظارت معاهدات بین المللی که عضو آن هستند و قوانین ملی عمل کنند.
در هر مورد هنگامی که شرکت کنندگان در رزمایش طرف فرستنده توسط طرف میزبان تحت تعقیب کیفری قرار می گیرند، نماینده طرف فرستنده حق دارد در محاکمه حضور داشته باشد، در حالی که شخص تحت تعقیب از حقوق ذیل برخوردار خواهد بود: ر ـ قانون مالیات های مستقیم: قانون مالیات های مستقیم مصوب 3 /12 /1366 و اصلاحات بعدی آن.
تحقیقات و محاکمه فوری و سریع؛
دریافت اطلاعات مربوط به اتهامات خاص علیه وی در ابتدای روند قضایی؛ ز ـ سازمان: سازمان امور مالیاتی کشور
رویا رویی با شاهدان دادستان و سایر شرکت کنندگان در دادرسی کیفری؛
حضور شهود برای دفاع در صورتی که تحت صلاحیت قضایی طرف میزبان باشند؛ ژ ـ پایانه فروشگاهی: پایانه موضوع بند «ب» ماده (1) قانون پایانه های فروشگاهی و سامانه مودیان مصوب 21 /7 /1398
وکیل حقوقی به انتخاب خود، یا مشاور حقوقی رایگان؛
وجود خدمات ترجمه؛ س ـ سامانه مودیان: سامانه موضوع بند «پ» ماده (1) قانون پایانه های فروشگاهی و سامانه مودیان
ارتباط با نماینده طرف فرستنده.
طرف ها می توانند درخواست هایی مبنی بر انتقال یا پذیرش پرونده های جنایی مربوط به جرایم ارتکابی توسط شرکت کنندگان در رزمایش را به یکدیگر ارجاع دهند. چنین درخواست هایی باید فورا مورد بررسی قرار گیرد.
مقام های ذی صلاح طرف ها که مجاز به انجام دادرسی هستند، طبق معاهدات بین المللی که عضو آن می باشند و قوانین طرف های آن ها، باید نتایج تحقیقات و دادرسی کلیه پرونده های جنایی را که طرف ها در رابطه با آن ها در حوزه های قضایی رقابت دارند، به اطلاع یکدیگر برسانند.
""" """
print("do inf ... ") print("do inf ... ")
result = inference_main('pourmand1376/NER_Farsi',text) result = inference_main('',text)
print(result) print(result)

View File

@ -1,6 +1,6 @@
learning_rate = 0.65e-4 # 0.65e-4 - 0.4e-4 learning_rate = 0.65e-4 # 0.65e-4 - 0.4e-4
mini_batch_size = 8 mini_batch_size = 8
max_epochs = 100 max_epochs = 200
from funcs import save_to_file_by_address from funcs import save_to_file_by_address
import json import json
@ -14,27 +14,16 @@ from flair.trainers import ModelTrainer
from flair.models import SequenceTagger from flair.models import SequenceTagger
from flair.embeddings import TransformerDocumentEmbeddings from flair.embeddings import TransformerDocumentEmbeddings
# from funcs import remove_signs
# from inference import main
#model = os.getcwd() + "\\data\\final-model.pt" #model = os.getcwd() + "\\data\\final-model.pt"
#model = os.getcwd() + "/data/HooshvareLab--distilbert-fa-zwnj-base-ner" # مدل اولیه که تست شد و تا حدود 70 درصد در آخرین آموزش خوب جواب می داد #model = os.getcwd() + "/data/HooshvareLab--distilbert-fa-zwnj-base-ner" # مدل اولیه که تست شد و تا حدود 70 درصد در آخرین آموزش خوب جواب می داد
#model = os.getcwd() + "/data/distilbert-base-multilingual-cased-tavasi" #model = os.getcwd() + "/data/distilbert-base-multilingual-cased-tavasi"
# model = "HooshvareLab/bert-fa-base-uncased-ner-peyma" # model = "HooshvareLab/bert-fa-base-uncased-ner-peyma"
# model = "PooryaPiroozfar/Flair-Persian-NER" # 111111111111111 # model = "PooryaPiroozfar/Flair-Persian-NER" # 111111111111111
model_ad = "/home/gpu/tnlp/jokar/Models/catorg/14030906_before_aitools_ds_finetune/final-model.pt"
model = SequenceTagger.load(model_ad)
#model = "Helsinki-NLP/opus-mt-tc-big-fa-itc" # خطا میدهد، برای نر آموزش ندیده
#model = "zedfum/arman-longformer-8k-finetuned-ensani" # خطا میدهد، برای نر آموزش ندیده
#model = "AliGhiasvand86/gisha_qa" # خطا میدهد، برای نر آموزش ندیده
## --------------------------------------------------------- ## ---------------------------------------------------------
## --- آخرین کار مورد استفاده در سامانه قانون یار از این آموزش دیده است ## --- آخرین کار مورد استفاده در سامانه قانون یار از این آموزش دیده است
#model = "orgcatorg/xlm-v-base-ner" # بهترین توکنایزر فارسی *********************** #model = "orgcatorg/xlm-v-base-ner" # بهترین توکنایزر فارسی ***********************
## --------------------------------------------------------- ## ---------------------------------------------------------
# from transformers import AutoModel
# print('1sdfsdf')
# model = AutoModel.from_pretrained("/home/gpu/HFHOME/hub/models--orgcatorg--xlm-v-base-ner") # model = AutoModel.from_pretrained("/home/gpu/HFHOME/hub/models--orgcatorg--xlm-v-base-ner")
#model = "pourmand1376/NER_Farsi" # #model = "pourmand1376/NER_Farsi" #
@ -42,7 +31,19 @@ model = SequenceTagger.load(model_ad)
#model = "SeyedAli/Persian-Text-NER-Bert-V1" # ***** خیلی خوب جواب داد #model = "SeyedAli/Persian-Text-NER-Bert-V1" # ***** خیلی خوب جواب داد
#model = "HooshvareLab/bert-base-parsbert-peymaner-uncased" # جالب نبود! #model = "HooshvareLab/bert-base-parsbert-peymaner-uncased" # جالب نبود!
#model = "HooshvareLab/bert-base-parsbert-armanner-uncased" # جالب نبود! #model = "HooshvareLab/bert-base-parsbert-armanner-uncased" # جالب نبود!
#model = "HooshvareLab/bert-base-parsbert-ner-uncased" # جالب نبود! """
HooshvareLab/bert-base-parsbert-ner-uncased
HooshvareLab/bert-fa-base-uncased-ner-peyma
HooshvareLab/bert-base-parsbert-armanner-uncased
HooshvareLab/bert-fa-base-uncased-ner-arman
HooshvareLab/bert-base-parsbert-peymaner-uncased
HooshvareLab/distilbert-fa-zwnj-base-ner
nicolauduran45/affilgood-ner-multilingual-v2 - error
Amirmerfan/bert-base-uncased-persian-ner-50k-base - error
AliFartout/Roberta-fa-en-ner - error
"""
model = 'HooshvareLab/bert-base-parsbert-ner-uncased'
print(model) print(model)
print('#'*50) print('#'*50)
print('#'*50) print('#'*50)
@ -161,6 +162,13 @@ operation_time = datetime.datetime.now()
print(f' ********** {operation_time} ********** ') print(f' ********** {operation_time} ********** ')
print('#'*70) print('#'*70)
# ###################################################
# تست مدل بر یک مقدار مشخص شده
print(' Try to test trained model! ')
from inference import inference_main
inference_main(model,'')
print(' Testing model finished! ')
# ################################################### # ###################################################
# ارزیابی مدل آموزش دیده # ارزیابی مدل آموزش دیده
try: try:
@ -182,11 +190,6 @@ Fine_Tune time: {operation_time}
""" """
save_to_file_by_address('./data/train_log.txt', final_result) save_to_file_by_address('./data/train_log.txt', final_result)
print(' Saving results finished! ') print(' Saving results finished! ')
# ###################################################
# تست مدل بر یک مقدار مشخص شده
print(' Try to test trained model! ')
from inference import inference_main
inference_main(model,'')
print(' Testing model finished! ')

View File

@ -1,5 +1,5 @@
{ {
"learning_rate": 6.5e-05, "learning_rate": 6.5e-05,
"mini_batch_size": 8, "mini_batch_size": 8,
"max_epochs": 200 "max_epochs": 10
} }