language:
- fa
tags:
- sentence-transformers
- cross-encoder
- generated_from_trainer
- dataset_size:74175
- loss:CrossEntropyLoss
base_model: PartAI/TookaBERT-Large
datasets:
- IRI2070/legal-entity-name-validation
pipeline_tag: text-classification
library_name: sentence-transformers
metrics:
- f1_macro
- f1_micro
- f1_weighted
model-index:
- name: CrossEncoder based on PartAI/TookaBERT-Large
results:
- task:
type: cross-encoder-classification
name: Cross Encoder Classification
dataset:
name: legal entity name validation dev
type: legal-entity-name-validation-dev
metrics:
- type: f1_macro
value: 0.7852258332086219
name: F1 Macro
- type: f1_micro
value: 0.7844401461422738
name: F1 Micro
- type: f1_weighted
value: 0.7845793554746281
name: F1 Weighted
- task:
type: cross-encoder-classification
name: Cross Encoder Classification
dataset:
name: legal entity name validation test
type: legal-entity-name-validation-test
metrics:
- type: f1_macro
value: 0.7896516023007826
name: F1 Macro
- type: f1_micro
value: 0.7892745161639096
name: F1 Micro
- type: f1_weighted
value: 0.7895610677834681
name: F1 Weighted
license: apache-2.0
🧩 مدل CrossEncoder مبتنی بر مدل پایه PartAI/TookaBERT-Large
این مدل یک Cross Encoder است که از پایهی PartAI/TookaBERT-Large گرفته شده و بر روی دیتاست legal-names-cross-encoder-dataset با استفاده از کتابخانهی Sentence Transformers آموزش داده شده است. مدل برای طبقهبندی زوجهای متنی طراحی شده و امتیاز شباهت یا ارتباط میان دو متن را محاسبه میکند. CrossEncoder ها مدلی از خانوادهی Sentence Transformers هستند که برای مقایسه و طبقهبندی زوجهای متنی به کار میروند. در این روش، برخلاف مدلهای دومسیره (Bi-Encoder) که هر متن را جداگانه به بردار تبدیل میکنند، هر دو متن به صورت همزمان وارد یک شبکهی زبانی میشوند و خروجی مدل مستقیماً یک امتیاز یا برچسب برای آن زوج تولید میکند. این کار باعث میشود مدل بتواند وابستگیها و ظرافتهای معنایی میان دو متن را دقیقتر درک کند و برای وظایفی مثل تشخیص شباهت، اعتبارسنجی نامها، یا طبقهبندی روابط متنی بسیار کارآمد باشد. به بیان ساده، CrossEncoder مثل یک داور است که هر بار دو متن را کنار هم میگذارد و با دقت بالا تصمیم میگیرد این دو چقدر به هم مرتبط یا متفاوت هستند.
📌 جزئیات مدل
- نوع مدل: Cross Encoder
- مدل پایه: PartAI/TookaBERT-Large
- حداکثر طول توالی: 512 توکن
- تعداد برچسبها: 13 کلاس
- زبان: فارسی
- دیتاست آموزشی: legal-names-cross-encoder-dataset
🚀 نحوه نصب و استفاده
pip install -U sentence-transformers
from sentence_transformers import CrossEncoder
model = CrossEncoder("IRI2070/legal-entity-name-validation-rules-classifier")
pairs = [
('خدماتی بهار گستر گله', 'خدماتی بهار گستر کشاورزی'),
('پوینده دانش نوید', 'پوینده دانش نویدان'),
('بازرگانی ماه نسیم پایدار گیل منطقه آزاد انزلی', 'نسیم بازرگانی خزر'),
('صنایع پیچ لوتوس', 'شرکت پیچ لوتوس'),
]
scores = model.predict(pairs)
label_mapping = ['abbreviation_shortening', 'activity_change', 'adjective_removal', 'domain_similarity', 'generic_word', 'minor_spelling_variations', 'morphological_variation', 'no_rule', 'prefix_suffix', 'singular_plural', 'synonym', 'word_order', 'word_removal']
lebels = [label_mapping[score_max] for score_max in scores.argmax(axis=1)]
print(lebels)
#['activity_change', 'singular_plural', 'no_rule', 'synonym']
📊 ارزیابی مدل
مدل بر روی مجموعههای dev و test ارزیابی شده است.
| معیار | dev | test |
|---|---|---|
| f1_macro | 0.785 | 0.790 |
| f1_micro | 0.784 | 0.789 |
| f1_weighted | 0.785 | 0.790 |
امتیازهای F1 معیارهایی هستند برای سنجش کیفیت یک مدل در طبقهبندی دادهها، بهویژه زمانی که دادهها چندکلاسه یا نامتوازن باشند.
- در F1-macro ابتدا برای هر کلاس جداگانه امتیاز F1 محاسبه میشود و سپس میانگین سادهی همهی کلاسها گرفته میشود؛ بنابراین همهی کلاسها وزن برابر دارند، حتی اگر تعداد نمونههایشان کم باشد.
- در F1-micro همهی پیشبینیها در سطح کلی جمع میشوند و سپس بر اساس مجموع درستها و غلطها امتیاز F1 محاسبه میشود؛ این معیار بیشتر تحت تأثیر کلاسهای پرنمونه است.
- در F1-weighted مشابه F1-macro است، اما میانگین با توجه به تعداد نمونههای هر کلاس وزندهی میشود؛ یعنی کلاسهای بزرگتر سهم بیشتری در نتیجه دارند.
به زبان ساده، macro عدالت را میان همهی کلاسها رعایت میکند، micro بیشتر به عملکرد کلی روی دادههای پرشمار توجه دارد، و weighted تعادلی میان این دو برقرار میکند تا هم کلاسهای بزرگ و هم کوچک در نظر گرفته شوند.
📂 دیتاست آموزشی
- حجم: 87,673 نمونه آموزشی
- ویژگیها:
- ستونها:
candidate،registered،label - میانگین طول رشتهها: حدود 22 کاراکتر
- توزیع برچسبها: متوازن میان 13 کلاس
- ستونها:
🙌 تشکر
این پروژه بخشی از فعالیتهای آموزشی و پژوهشی در آکادمی همراه اول است و با هدف ارتقای دانش در حوزهی NLP و یادگیری عمیق منتشر شده است.