3.0 KiB
3.0 KiB
اسکریپت تشخیص موجودیتهای نامدار (NER)
این پروژه شامل یک اسکریپت پایتون (p2_ner_recognizer.py
) برای استخراج موجودیتهای نامدار از بخشهای متنی با استفاده از یک مدل آموزشدیده NER است. این اسکریپت برای شناسایی موجودیتهایی مانند نام افراد، سازمانها، مکانها و ... کاربرد دارد و برای استخراج اطلاعات و تحلیل متون مفید است.
پیشنیازها
قبل از استفاده از این اسکریپت، کتابخانه زیر را نصب کنید:
pip install flair
همچنین به یک مدل آموزشدیده NER نیاز دارید. مسیر مدل را در اسکریپت به فایل مدل خودتان تغییر دهید.
نحوه عملکرد
- اسکریپت با استفاده از کتابخانه Flair یک مدل NER آموزشدیده را بارگذاری میکند.
- هر بخش متنی را پردازش میکند، در صورت نیاز متنهای طولانی را به بخشهای کوچکتر تقسیم میکند و موجودیتهای نامدار را استخراج میکند.
- نتایج در یک فایل JSON برای استفادههای بعدی ذخیره میشود.
توابع اصلی
single_ner_recognizer(input_sentence)
: موجودیتهای نامدار را از یک جمله یا متن استخراج میکند.do_ner_recognize(sections)
: همه بخشها را پردازش کرده، موجودیتها را استخراج و نتایج را ذخیره میکند.
مثال استفاده
فرض کنید دادههای بخشهای شما به صورت دیکشنری زیر است:
sections = {
"1": {"content": "متن بخش اول"},
"2": {"content": "متن بخش دوم"}
}
میتوانید موجودیتهای نامدار همه بخشها را به شکل زیر استخراج کنید:
from p2_ner_recognizer import do_ner_recognize
result = do_ner_recognize(sections)
پس از اجرا، نتایج در یک فایل JSON در مسیر ./data/ner/
ذخیره میشود.
ساختار خروجی
برای هر بخش، یک فیلد جدید به نام ners_v2
با موجودیتهای استخراجشده اضافه میشود:
"1": {
"content": "متن بخش اول",
"ners_v2": [
{"key": "PERSON", "value": "علی رضایی", "begin": 0, "end": 2, "score": 0.98},
...
]
}
نکات
- مطمئن شوید مسیر مدل صحیح است و فایل مدل در دسترس است.
- اگر مدل برای زبان فارسی آموزش دیده باشد، اسکریپت از زبان فارسی پشتیبانی میکند.
- فایل خروجی JSON در مسیر
./data/ner/
ذخیره خواهد شد.