Flair_NER/evaluate_model.py

27 lines
1.0 KiB
Python

from flair.models import SequenceTagger
from flair.datasets import ColumnCorpus
# from funcs import read_file_by_address
def do_evaluate(model_path):
tagger = SequenceTagger.load(model_path)
# تعیین ستون‌های داده و بارگذاری مجموعه داده‌های آزمایشی
columns = {0: 'text', 1: 'ner'}
data_folder = "./data/" # محل ذخیره داده‌ها
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_text = f'''##### EVALUATION RESULT #####
F1 Score: {result.main_score}
************************************************
Detailed Results: {result.detailed_results}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n'''
return result_text
if __name__ == '__main__':
result = do_evaluate()
print(do_evaluate())