موجودیت‌های نام‌دار در زبان به مجموعه‌ای از اسامی مانند نام افراد، سازمان‌ها، مکان‌ها، و... می‌باشد. شناسایی موجودیت‌های نام‌دار در متن مسئله پیدا کردن این موجودیت‌ها از متن خام و همچنین شناسایی نوع موجودیت است.

برای مثال:
آدولف بورن، طراح، کاریکاتوریست و نقاش در شهر بودجویس از جمهوری چک به دنیا آمد.

آدولف B-PERSON
بورن I-PERSON
،
کاریکاتوریست
و
نقاش
در
شهر
بودجویس B-LOCATION
از
جمهوری B-LOCATION
چک I-LOCATION
به
دنیا
آمد
.

در این پژوهش روش‌های تضحیص خودکار موجودیت‌های نام‌دار در متن معرفی شده و یکی از آن‌ها برای زبان فارسی پیاده‌سازی و آزمایش خواهد شد.

  • این پروژه توسط یک بنگاه تجاری تعریف شده است و اگر به خوبی انجام شود، مورد حمایت قرار می‌گیرد.

۱. مقدمه

موجودیتهای نامدار در متن به عباراتی گفته می شود که حاوی اسامی اشخاص، سازمانها و یا مکانها باشند[1].در سامانه های تشخیص موجودیتهای اسمی عمومی بیشتر به سمت پیدا نمودن اسامی اشخاص، مکانها و سازمانهایی که در یک متن معمولی خبری ذکر شده است، تمرکز می شود.اولین مرحله در اغلب کاربردهای استخراج اطلاعات از متن 1، تشخیص و دسته بندی موجودیتهای نامدار در یک متن است. به این عملیات تشخیص موجودیتهای نامدار 2 اطلاق میشود[2].
در واقع مساله تشخیص موجودیت های نامدار در متن عموما به دو زیر مساله تشخیص و دسته بندی موجودیت ها تقسیم می شود :
1.اسامی خاصی که تشخیص داده می شوند.
2.قالبی که برای دسته بندی آنها به کار میرود که وابسته به نوع کاربرد آن خواهد بود.

نیاز به شناسایی موجودیتهای نامدار، در دنیای امروز که عصر ارتباطات و اطلاعات است رو به رشد میباشد. شناسایی موجودیتهای نامدار برای جستجوهای معنادار، ترجمه ی خودکار، استخراج خودکار مفاهیم متن، کشف ارجاعات درمتن و بسیاری دیگر از زمینه های مربوط به پردازش زبان های طبیعی3 کاربرد دارد[3].کاربردهای دیگری برای تشخیص موجودیت های نامدار تعریف گردیده است:

  • طبقه بندی متون 4 : یک سیستم طبقه بندی کننده می تواند به جای اینکه ویژگی های خود را از کل متن استخراج کند ابتدا توسط NER اسامی را از متن استخراج کرده و سپس طبقه بندی را بر اساس این اسامی انجام دهد.استفاده از NER دقت طبقه بندی را تا حد قابل توجیهی افزایش می دهد.

  • سیستم پرسش و پاسخ 5 : پاسخ بسیاری از سوالات یک متن مانند کی؟ کجا؟چه زمانی؟ چه مقدار ؟ و ... در اسامی حاضر در متن قرار دارد که می توان آنها را توسط یک سیستم NER از متن استخراج کرد.

  • خلاصه سازی متون6 :داده های به دست آمده از یک سیستم NER شامل اطلاعات کلی از یک متن می باشد که در خلاصه سازی متون بسیار مفید است.

  • بهینه کردن جستجو: زمانی که ما یک کلمه را جستجو می کنیم با توجه به فرم و نقش آن نتایج متفاوتی به دست می آید .به طور مثال اگر "استاد یوسفی " را جستجو کنیم منظورمان اسم شخص است و نتایجی مانند "خیابان استاد یوسفی" که اسم مکان است غیرمفید هستند.

۲. کارهای مرتبط

در زیر ویژگی هایی که در اغلب سیستم های تشخیص موجودیت های اسمی استفاده می شود را مرور می کنیم. این ویژگی ها را می توان به سه قسمت تقسیم کرد: 1- ویژگی های کلمه ای 2- ویژگی های فهرستی 3- ویژگی های سندی

1- ویژگی های کلمه ای:
این ویژگی ها مربوط به نویسه های سازنده ی کلمه است و از روی شکل وظاهر خود کلمه استخراج می گردد . این ویژگی ها توصیف گر حالت کلمه ، نقش کلمه ، حالت عددی و مانند آن است. ویژگی های زیر از این دسته اند [4]:

  • ویژگی هایی که مربوط به بزرگ یا کوچک بودن حروف در کلمه است ، مانند :1- شروع کلمه با حروف بزرگ 2- بزرگ بودن تمام حروف در کلمه 3- وجود حروف بزرگ در وسط کلمه مثل eBay

  • ویژگی های عددی کلمات مانند : الگوی اعداد به کار رفته(استفاده از 2 یا 4 عدد جهت نمایش تاریخ و مانند آن )

  • ویژگی های نویسه ی کلمات مانند : 1- ضمیر اول شخص 2- ضمیر ملکی 3- حروف یونانی

  • ویژگی های صرفی کلمات کانند : 1- پسوند 2- پیشوند 3-ریشه ی کلمات
    و ...

2- ویژگی های فهرستی
یک سری دیگر از ویژگی هایی که برای کلمات یک جمله در سیستم های NER در نظر گرفته می شود ، ویژگی هاییست که از یک سری فهرست ها استخراج می گردد ؛ برای استخراج این ویژگی ها از فهرست هایی که شامل اسامی افراد ، مکان ها ، شهرها ، کشورها ، افراد و ... است استفاده می شود. وجود کلمه در هر یک از این فهرست ها ، نشان دهنده ی یکی از ویژگی های کلمه است . بزرگ بودن این فهرست ها باعث می شود تا ویژگی هایی با دقت بالاتری استخراج گردد؛ اما در بسیار ی از موارد ، محدودیت وجود دارد که نمی توان از فهرست هایی بزرگ استفاده کرد . به همین دلیل از یک سری روش ها در جستجو استفاده می شود تا فهرست ها بتوانند تعداد کلمات بیشتری پوشش دهند [4].

3- ویژگی های سندی
این ویژگی ها مربوط به اطلاعاتی ازکلمه است که در کل سند وجو دارد . این اطلاعات از طریق پردازش کل اسناد به دست می آید . واضح است که اگر حجم اسناد و داد های ما زیاد باشد ، ویژگی های قوی تری استخراج می گردد.ویژگی های سندی ، ماورای ساختار کلمه است در واع از یک بررسی آماری از کل سند به دست می آید در ادامه چند نوع از این ویژگی ها رابررسی می کنیم:

  • وجود چند شکل از کلمه در سند : اگر یک کلمه در یک سند به چند شکل مختلف ظاهر شود ، مانند : boy و Boy آن گاه می توان نتیجه گرفت که شکل های دیگر کلمه مربوط به مسائل دیگری همچون شروع جمله است ، با استفاده از این نوع ویژگی می توان تا حدی از این ابهامات جلوگیری کرد .

  • ویژگی محلی : تعداد تکرار در متن یا پاراگراف ، موقعیت کلمه در متن یا پاراگراف
    .
    .
    .
    برای تشخیص موجودیت های نامدار چندین روش وجود دارد :

  • روش تشخیص موجودیتهای اسمی بر مبنای قواعد
    در روش برمبنای قواعد7 سعی میشود قالب و شکل کلی موجودیتهای اسمی را به صورت یک عبارت باقاعده نمایش داده شده تا سامانه اسامی خاص را بر مبنای این عبارات تشخیص دهد.
    برای مثال در زبان انگلیسی دو حرف بزرگ مجاور هم احتمالا یک اسم خواهد بود و یا عباراتی که در آنها کلمات و یا حروفی از قبیل Dr,Mr. و ...شروع می شود یا به حروفی از قبیل MD خاتمه می یابد احتمالا اسم یک شخص خواهدبود . شکل ظاهری بعضی از موجودیتهای اسمی را میتوان به صورت یک عبارات باقاعده نمایش داد. برای مثال نشانی ایمیل را می توان به صورت عبارت باقاعده ی زیر نوشت[6]:

    [A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})

مشکل بزرگ این روش این است که در این روش باید تمامی قواعد را برنامه نویسی کرد و در صورتی که تعدادی از قواعد از قلم بیفتد بازده این روش کاهش پیدا می کند، و با گذشت زمان نیز قواعد جدیدی اضافه می شود بنابراین باید همواره به ، به روزکردن برنامه پرداخت.

  • روشهای مبتنی بر واژه نامه
    در این روش ها از واژه نامه هایی که در آن موجودیت ها و نوع آن ها در یک زمینه خاص ذکر شده است استفاده می شود و پس از پیدا کردن یک واژه در یک مقوله خاص از واژه نامه مربوط به آن مقوله استفاده می شود. در بسیاری از کاربردها، به نسبت ساده تر میباشد که یک لیست از موجودیتهای اسمی و نوع آنها تهیه شده و موجودیتهای اسمی داخل متن با استفاده از این لیست تشخیص داده شود. برای مثال: اسامی مکانها در فرهنگهای جغرافیایی که شامل میلیونها اسم مکان به همراه مشخصات جغرافیایی آن میباشد به عنوان یک واژه نامه مناسب برای تشخیص اسامی مکانها قابل استفاده است.معمولا واژهنامه میتواند در کنار روشهای تشخیص آماری برای بهبود تشخیص کلماتی که با روشهای آماری به سختی مشخص میشوند، به کار می رود .
    تهیه و به روز نگهداری این واژه نامه ها با صرف هزینه و زمان بسیار زیادی ممکن می شود و موضوع دیگری که این مشکل را بسیار بزرگتر و وخیم تر می کند این است که واژه نامه ها برای هر زبان باید به طور جداگانه استفاده شوند بنابر این هزینه بسیار بالا تر می شود. مشکل دیگر این روش این است که ممکن است کلمه اختصاری که نشان دهنده یک سرکلمه مانند هما است به جای اینکه هواپیمایی ملی ایران برگردانده شود به عنوان اسم یک شخص برگردانده شود[7].

  • روشهای آماری
    این روشها غالباً به عنوان روشهای اصلی جهت تشخیص اسامی خاص شناخته میشوند و سایر روشها به عنوان مکمل در کنار آن مورد استفاده قرار میگیرند.خیلی از مسائل در پردازش زبان های طبیعی را میتوان به صورت مساله های پردازش طبیعی زبان بیان کرد، یعنی بیان احتمال وقوع حالت "الف" با محتوای "ب" که در مساله ما محتوا کلمات یا عبارات هستند[8] .
    در این روش ابتدا سامانه به وسیله ی پیکره ای از داده های آموزشی که به صورت دستی و به وسیله ی انسان برچسب گذاری8 شده اند آموزش دیده، با یادگیری از طریق این داده ها به تشخیص خودکار اسامی خاص در متن می پردازد، که در بخش ویژگی های سندی اشاره شد.
    برای برچسب زنی داده ی آموزشی از روش برچسبزنی شروع-داخل- خارج 9 استفاده میشود. در این روش، برای تشخیص موجودیتهای اسمی، کلمات متن را تک تک برچسب زنی می نماییم[1].
    در این سیستم یک متن ،به عنوان ورودی به سیستم ارائه می شود و اسامی به تفکیک طبقه ی مربوط به آن به عنوان خروجی سیستم به دست می آید . مراحل لازم جهت شناسایی و طبقه بندی اسامی یک متن عبارتند از :
    1- یک متن به عنوان ورودی به سیستم ارائه می شود ، مانند جمله ی : " محمد جمعه به دانشگاه نرفت ."
    2- با استفاده از یک نشان گذار ، کلمات در متن ورودی از هم دیگر جدا می شوند. (محمد/جمعه /به/ دانشگاه /نرفت)
    3- با استفاده از برچسب زن دستوری نقش دستوری هر کلمه مشخص می شود(محمد/اسم| جمعه/اسم| به /حرف| دانشگاه/اسم| نرفت/فعل)
    4- یا استفاده از برچسب دستوری کلمات ، اسامی شناسایی شده و از بقیه ی کلمات متن جدا می شوند .(محمد/جمعه/دانشگاه)
    5-برای هر یک از اسامی بردار ویژگی لازم استخراج می شود.
    6- با استفاده از یک دسته بند آماری ، اسامی در طبقات مربوطه طبقه بندی می شوند .
    .
    *طبقه بندی با روش های زیر صورت می گیرد :

  • مدل پنهان مارکوف
    مدلهای پنهان مارکوف10 یکی از قویترین ابزارها برای پردازش سیگنالها میباشند. انواع مختلف مدلهای پنهان مارکوف علیرغم محدودیتهایی که دارند، هنوز پراستفاده ترین تکنیک در سیستمهای مدرن بازشناسی گفتار و تشخیص متون هستند. مدل پنهان مارکوف، کل الگوی ورودی را به عنوان یک بردار ویژگی تکی مدل نمیکند، بلکه رابطه بین بخشهای متوالی یک الگو را استخراج میکند، زیرا هر بخش نسبت به کل ورودی کوچکتر و بنابراین مدلسازی آن ساده تر است[9] .

  • طبقه کننده نایو بیز
    به طور ساده روش بیز روشی برای دسته بندی پدیده‌ها، بر پایه احتمال وقوع یا عدم وقوع یک پدیده‌است. براساس ویژگی‌های ذاتی احتمال(به ویژه اشتراک احتمال) نایو بیز 11 با دریافت تمرین اولیه نتایج خوبی ارایه خواهد کرد. تمرین دادن نایو بیز یک تمرین بانظارت 12 است.
    برای نمونه یک میوه ممکن است پرتغال باشد. اگر نارنجی و کروی با شعاع حدود ده سانتی متر باشد. اگر این احتمالات به درستی به همدیگر وابسته باشند نایو بیز در تخشیص اینکه این میوه پرتغال است یا نه بدرستی عمل خواهد کرد.. با وجود مسایل طراحی و پیش فرض‌هایی که در خصوص روش بیز وجود دارد، این روش برای طبقه بندی کردن بیشتر مسایل در جهان واقعی، مناسب است.

  • میدان تصادفی شرطی
    مدل میدان تصادفی شرطی13 بیشتر برای تشخیص الگو14 و آموزش ماشین15 به کار گزفته میشود . به خصوص در کارهایی چون برچسب زنی و پارس کردن 16 در نتیجه برای مساله ما که از دسته ی مسائل برچسب زنیست بسیار مناسب می باشد . ایده ی کلی آن برچسب زنی با توجه به برچسبهای همسایه است . مثلا در مساله ما برای انتخاب برچسب یک توکن برچسبهای توکن های قبلی را نیز مد نظرر قرار می دهیم.

۳. آزمایش‌ها

۴. کارهای آینده

۵. مراجع

[1] Erik, F., Tjong, K. S., & Fien, D. M. (2003). Introduction to the CoNLL-2003 Shared Task: Language-
Independent Named Entity Recognition. CoNLL-2003 (p. 6). CNTS - Language Technology Group University of Antwerp.
[2] Jurafsky, Daniel, and James H. Martin. 2009. Speech and Language Processing: An Introduction to Natural Language Processing, Speech Recognition, and Computational Linguistics. 2nd edition. Prentice-Hall.
[3] پونه سادات مرتضوی، مهرنوش شمس فرد، "شناسایی موجودیت های نام دار در متون فارسی"، پانزدهمین کنفرانس بین المللی سالانه انجمن کامپیوتر ایران، 1388
[4] Nadeau, David, and Satoshi Sekine. "A survey of named entity recognition and classification." Lingvisticae Investigationes 30.1 (2007): 3-26.
[5] M. Asgari Bidhendi, et al., "Extracting person names from ancient Islamic Arabic texts", in Proceedings of LREC-Rel, pp. 1-6, 2012.
[6] LingePipe: Named Entity Tutorial. (2003 - 2009). Retrieved June 28, 2010, from allias-i.com:
http://alias-i.com/lingpipe/demos/tutorial/ne/read-me.html
[7] Jurafsky, D., & Martin, J. H. (2007). Speech and Language Processing: An introduction to natural
language processing,. Draft.
[8] Ratnaparkhi, A. (1997). A Simple Introduction to Maximum Entropy Models for Natural Language
Processing. Pennsylvania: Institute for Research in Cognitive Science.
[9] محمدمهدی حاجی،مدل سازی آماری زبان فارسی ،بهار 1384

۶. پیوندهای مفید


  1. Information Extraction

  2. Named – Entity Recognition(NER)

  3. Natural Language Processing

  4. Text categorization

  5. Question Answering

  6. Text Summarization

  7. Rule – Based

  8. labelling

  9. BIO tagging

  10. Hidden Markov Model

  11. Naive Bayes classifier

  12. Supervised learning

  13. (CRF)Conditional Random Fields

  14. pattern recognition

  15. machine learning

  16. parsing

محسن ایمانی

شما بخش زیادی از متن پژوهش‌نامه خود را از چند پژوهش دیگر عینا کپی کرده‌اید بدون این که به آن‌ها ارجاع بدهید. به همین جهت نقد و امتیازدهی تنها به بخش مراجع شما محدود خواهد شد.
مراجع شماره یک و هفت شما ویرایش‌های متفاوت از یک کتاب هستند که لزومی به آوردن هر دو به عنوان مرجع وجود نداشت.
همچنین مرجع شماره ۵ شما هیچ ارجاعی در متن ندارد و اگر می‌خواهید آن را به عنوان یکی از مراجعی که در آینده مطالعه خواهید نمود معرفی کنید، بهتر بود آن را در انتهای مراجع مورد استفاده بیاورید.
مراجع شما (غیر از مرجع شماره ۵ که استفاده نشده) تقریبا همگی قدیمی هستند و انتظار می‌رود با توجه به پژوهش‌های قبلی انجام شده در این زمینه که در دسترس شما هم قرار دارند. تلاش شما معطوف به روش‌های جدیدتر و بهبود کارهای قبلی باشد و این امر نیازمند بررسی مقالات به روز تر از آن‌چه که هم اکنون در مراجع شما وجود دارد، می‌باشد.

حتما در فازهای بعدی این نکته را در نظر داشته باشید که با توجه به پژوهش‌های انجام شده در این زمینه در ترم‌های گذشته که متن و کد آن‌ها نیز در دسترس شما قرار دارد. انتظار ما برای این پروژه بهبود و پیشرفت کارهای قبلی می‌باشد و طبیعتا تکرار کارهای قبلی امتیازی زیادی برای شما در بر نخواهد داشت.