با سلام
شما برای این کار نیاز به یک تجزیه گر یا پارسر (Parser) دارید. برای زبان فارسی متاسفانه علیرغم تحقیقات زیادی که در این زمینه انجام شده، ابزار مناسبی وجود نداره. به جز Link Grammar Parser که به راحتی میتونید اون رو دانلود کرده و استفاده کنید. این ابزار به زبان Perl نوشته شده ولی دقت خوبی نداره.
البته اگه شما نقش دستوری کلمات رو نمیخوای و فقط میخوای اسم و صفت و قید و فعل رو تشخیص بدید میتونید از برچسب زن معنایی کلمات (POS tagger) استفاده کنید. این برچسب زنها معمولا وابسته به زبان نیستند و با انجام یک مرحله آموزش میشه اونها رو برای هر زبانی تعلیم داد و بکار گرفت. خوشبختانه برای زبان فارسی منابع خوبی در این زمینه وجود داره که میتونید استفاده کنید.
اما اگه با این نوع برچسب زن ها کارتون حل نمیشه و پارسری که بهتون معرفی کردم هم مشکلتون رو حل نمیکنه میتونید قطعه بندها (Chunker) رو هم تست کنید. البته برای زبان فارسی قطعه بندی که در دسترس همه باشه وجود نداره (حداقل من ندیدم) و خودتون باید زحمت توسعه اون رو بکشید.
امیدوارم که این اطلاعات مفید باشه. اگه باز هم نیاز به توضیحات بیشتر داشتید بنده در خدمتم.
سلام
تشکر از شما aminfarajian
من میخواهم که برنامه ا ی بنویسم که این کار رو بکند. یعنی جمله ای را بگیرد و اجزای ان را مشخص کند مثلا علی امد علی= فاعل امد =فعل
ایا link Grammar Parser را باید نصب کرد چون من دانلود کردم فایل اجرایی نداره.
میشه یک منبع خوب در مورد برچسب زن معنایی کلمات معرفی کنید .
اولا خدمتتون عرض کنم که این پارسر با زبان پرل (Perl) نوشته شده و نیاز به نصب نداره. شما اول باید مفسر پرل رو روی سیستمتون نصب کنید. (البته اگه از Linux استفاده میکنید به صورت پیش فرض براتون نصب شده). بعد از طریق خط فرمان (Command Line) اون پارسر رو فراخوانی و اجرا می کنید.
اگه هنوز موردی بود من در خدمتتون هستم.
شما علاوه بر داشتن یک پارسر، میبایستی آن را با داده زبانی آموزش دهید. از اینجا میتوانید داده آموزش مورد نیاز برای فارسی را دانلود کنید: Persian Treebank (PerTreeBank)
با سلام
شما برای این کار نیاز به یک تجزیه گر یا پارسر (parser) دارید. برای زبان فارسی متاسفانه علیرغم تحقیقات زیادی که در این زمینه انجام شده، ابزار مناسبی وجود نداره. به جز link grammar parser که به راحتی میتونید اون رو دانلود کرده و استفاده کنید. این ابزار به زبان perl نوشته شده ولی دقت خوبی نداره.
البته اگه شما نقش دستوری کلمات رو نمیخوای و فقط میخوای اسم و صفت و قید و فعل رو تشخیص بدید میتونید از برچسب زن معنایی کلمات (pos tagger) استفاده کنید. این برچسب زنها معمولا وابسته به زبان نیستند و با انجام یک مرحله آموزش میشه اونها رو برای هر زبانی تعلیم داد و بکار گرفت. خوشبختانه برای زبان فارسی منابع خوبی در این زمینه وجود داره که میتونید استفاده کنید.
اما اگه با این نوع برچسب زن ها کارتون حل نمیشه و پارسری که بهتون معرفی کردم هم مشکلتون رو حل نمیکنه میتونید قطعه بندها (chunker) رو هم تست کنید. البته برای زبان فارسی قطعه بندی که در دسترس همه باشه وجود نداره (حداقل من ندیدم) و خودتون باید زحمت توسعه اون رو بکشید.
امیدوارم که این اطلاعات مفید باشه. اگه باز هم نیاز به توضیحات بیشتر داشتید بنده در خدمتم.