شناسایی موجودیتهای نامدار (NER)
شناسایی موجودیتهای نامدار: استخراج نام اشخاص، مکانها، سازمانها و تاریخها از متن — قلب استخراج اطلاعات
NER چیست؟
شناسایی موجودیتهای نامدار (Named Entity Recognition) یعنی پیدا کردن و دستهبندی نامهای خاص در متن:
"علی احمدی دیروز در شرکت پارس به ملاقات مدیر رفت"
علی احمدی ← شخص (PER)
دیروز ← زمان (TIME)
پارس ← سازمان (ORG)
انواع موجودیت
| نوع | برچسب رایج | مثال |
|---|---|---|
| شخص | PER | علی احمدی، رضا شاه |
| مکان | LOC | تهران، کوه دماوند |
| سازمان | ORG | شرکت پارس، دانشگاه تهران |
| زمان | DATE/TIME | فردا، ۱۴۰۳/۰۵/۰۱ |
| مبلغ/عدد | MONEY/NUM | ۲۵۰ میلیون تومان |
| رویداد | EVENT | جام جهانی |
چرا سخت است؟
- ابهام: «کرمان» شهر است اما «کرمانی» ممکن است نام خانوادگی!
- نامهای جدید: مدل نامهای دیدهنشده را چطور بشناسد؟
- ترکیب: «دانشگاه صنعتی شریف» یک موجودیت چندکلمهای است
- بافتمحور: «آریا» اسم شخص است یا برند؟
روشها
- دیکشنری + قواعد: لیست نامها + قواعد (بعد از «آقای» اسم است)
- ML کلاسیک: ویژگیهای بافتی + CRF/SVM
- یادگیری عمیق: BiLSTM-CRF و امروز ترنسفورمرها — دقت بالای ۹۰٪
کاربردهای واقعی
- موتور جستجو: «اخبار اپل» ← شرکت، نه میوه!
- پایش خبر: چه کسانی/کشوریها در اخبار؟
- CRM هوشمند: استخراج خودکار اطلاعات از ایمیلها
- پاسخ به سؤال: «مدیر چه کیست؟» ← موجودیت PER
- تحلیل حقوقی/پزشکی: استخراج طرفین، داروها، تشخیصها
- ساخت پایگاه دانش: گراف روابط بین موجودیتها
نکته: NER + استخراج رابطه (Relation Extraction) = گراف دانش! «علی — مدیرِ — پارس» — این پایه موتورهای دانش و پاسخگویی هوشمند است.
جمعبندی
- NER: پیدا کردن و دستهبندی نامهای خاص
- انواع: شخص، مکان، سازمان، زمان، مبلغ...
- چالش: ابهام، نام جدید، موجودیت چندکلمهای
- کاربرد: جستجو، پایش، CRM، پاسخ به سؤال
این مبحث بخشی از دوره آموزش کامل پردازش زبان طبیعی (NLP) است.