فعل مرکب فعلی است که از دو یا چند کلمه ساخته شده است و این کلمات روی هم رفته، نقش یک فعل را بازی میکنند و با هم به عنوان یک واحد واژگانی در واژگان اهل زبان ذخیره میشوند.
مثلا: بعضی از فروشندگان برای افزایش وزن به مرغها آب میزنند.
هدف از این پروژه ارائه روشی برای تشخیص خودکار افعال مرکب در زبان فارسی میباشد.
۱. مقدمه
امروزه استفاده از نرم افزارهای پردازش زبان طبیعی به طور گسترده ای در حال پیشرفت بوده و گسترش روز افزون آن ها باعث شده در بسیاری از حیطه ها بدون وجود این گونه نرم افزارها روند عادی کار ما دچار خلل شود .
انواع مختلفی از این گونه برنامه ها عبارتند از : غلط یاب های نحوی، مدلسازی معنایی، استخراج اطلاعات، ترجمه گر های ماشینی و همچین پردازشگرهایی که به طور طبیعی به وسیله ی صدا با کاربر تعامل می کنند مثل پردازشگرهای فرمان های صوتی در اکثر تلفن های هوشمند .
در پردازشگرهای صوتی روند کلی در تصویر زیر نشان داده شده :
اما در اینجا ما با پردازشگری مبتنی بر متن ارتباط خواهیم داشت ،
در تمامی سیستم های پردازش زبان طبیعی مبتنی بر متن یکی از مراحل اولیه و تاثیرگذار، تشخیص ( اجزای کلام ) یا (Part of Speech (POS
در جمله می باشد . این اجزای کلام در واقع همان نقش های دستوری می باشد که اجزای جمله آن را تشکیل می دهند .
به طور مثال در زبان انگلیسی صورت زیر را داریم :
در زبان فارسی به طور کلی گروه های زیر در جمله موجود می باشد :
تجزیه یک جمله در زبان فارسی با استفاده از درخت تجزیه :
در تعیین اجزای کلام تشخیص فعل مهمترین و تاثیرگذارترین بخش انجام کار است .
هچنین در میان نقشهای دستوری، فعل بیشترین حالت صرفی را در مقایسه با سایرین به خود میگیرد.
فارغ از دنیای نرم افزار و در حوزه ادبیات فارسی، مساله تشخیص فعل در جمله دارای پیچ و خم ها و نکات ظریفی است که گاهی بین ادبدانان اختلاف نظر در تشخیص فعل به وجود میآورد .
از دیدگاه ادبیات فارسی فعل در 6 ساختار شناسایی شده است .
فعل های ساده
فعل های پیشوندی
فعل های مرکب
فعل های پیشوندی مرکب
عبارت های فعلی
فعل های لازم یک شخصه
در اینجا تمرکز بر روی صورت ظاهری یا مدل صرف افعال است ، که این صورت ظاهری، در نتیجه کار در حوزه ادبیات استخراج
و ارایه میشود .
۲. کارهای مرتبط
در اینجا دسته بندی 6 گانه ی افعال را به دو دسته ی کلی ( افعال ساده ) و ( افعال مرکب ) تقسیم بندی می کنیم و مطالعات را بر روی این دو دسته انجام خواهیم داد .
افعال ساده : شامل یک ( ریشه فعل ) هستند که با کمک افعال کمکی و پیشوندها و پسوندها صرف میشود.
افعال مرکب : شامل یک ( ریشه فعل ) و یک ( بخش ثابت فعل ) هستند که صرف نمیشود و همیشه ثابت است . این بخش ثابت ممکن است شامل یک یا چند کلمه دیگر باشد . ممکن است بین بخشهای فعل فاصله باشد یا ترتیب بخشها عوض می شود .
برای تشخیص افعال و نقش کلمه به طور کلی از دو مفهوم استفاده می شود که شناسایی آن ها در زیر آمده است .
ریخت شناسی
که به ساختارهای کلمات و ریشه یابی واژگان می پردازد . به بیانی دیگر ریخت شناسی به علم شناختن اجزای معنی دار یک واژه گویند که آن واژه را میسازد . به این اجزای تک واژ گویند . ( morpheme )
به طور کلی دو طریق برای گسترش واژه ها وجود خواهد داشت .
روش اول تصریف ( inflection ) می باشد . در این روش از ترکیب یک واژه با اجزای دستوری دیگر ، واژه ای از نوع واژه ی اول ایجاد می کند ، این روش گسترش به ما ایم امکان را می دهد که با شناختن تعدادی از تک واژ ها و کلمات بتوانیم رده ی خیل زیادی از کلمات ترکیبی را نیز تشخیص دهیم
به طور مثال :
نشانه جمع فارسی ( ان ) زمانی که به یک اسم مثل درخت اضافه شود واژه ی درختان به وجود می آید که همانند درخت اسم بوده و نوع دستوری مشابه ی دارد .
روش دوم روش اشتقاق است . در اشتقاق با افزودن یک جز دستوری به یک واژه، یک واژه در رده جدیدی به وجود میآید .
یکی از متدوال ترین گونه های ریخت شناسی استفاده از ریخت شناسی حالت متناهی است . در این روش تعریف الگو بر اساس عبارات منظم انجام می شود و پیاده سازی آن بر اساس مدل ماشین متناهی صورت می گیرد .
برای انجام ریخت شناسی در زبان های مختلف نرم افزار هایی ارایه شده از جمله نرم افزار xerox اما به دلیل جهانی بودن کارایی پایینی دارند .
ارایه توصیفی جامع از ساختارهای زبان فارسی ( در این پروژه برای انواع افعال مرکب ) که بتوان از آن در برنامه های رایانه ای استفاده کرد ( مبتنی بر حالت متناهی یا همان DFA ) اولین و اساسی ترین گام در انجام این پروژه می باشد .
الگوریتم porter :
همچنین استفاده از الگوریتم هایی که بتواند ریشه ی کلمات را تشخیص دهد نیز در یافتن افعال بسیار کمک خواهد کرد ُ در زبان انگلیسی الگوریتمی برای یافتن ریشه کلمات وجود دارد که به الگوریتم porter شهرت دارد . این الگوریتم با استفاده از یک ساختار تصمیم گیری و همچین تشخیص وند ها و کاستن و اضافه کردن آن ها سعی در یافتن ریشه ی کلمات دارد ُ از این الگوریتم به طور گسترده در موتور های جست و جو برای بهبود نتایج نمایش داده شده استفاده می شود .
مثالی از روند کار این الگوریتم را از اینجا مشاهده کنید .
مثالی دیگر :
"alumnus" → "alumnu", "alumni" → "alumni", "alumna"/"alumnae" → "alumna"
با توجه به اینکه در فارسی مرز کلمات به طور دقیق مشخص نیست و بسیاری از کلمات دو بخشی بوده و جدا نوشته می شوند استفاده از این الگوریتم ها چندان کارا نیست.
استفاده از روش های بدون پایگاه داده
در این گونه الگوریتم ها قوانین ریخت شناسی مبتنی بر زبان و DFA نبوده و از پردازش حجم زیادی از متون به دست می آید که ذاتا دقیق نیست و عموما برای گسترش و غنی کردن پایگاه داده کاربرد دارد .
برچسب گذاری
در اینجا به کلمات تشکیل دهنده ی یک متن یک برچسب که حاوی نقش کلمات در جمله است نسبت داده می شود .
در تشخیص فعل ما نیازمند جداسازی وند و ریشه و ... هستیم که این امر باعث می شود ریخت شناسی حالت متناهی و استفاده از قوانین ماشین و اریه الگو های تشخیصی ما را در این کار یاری دهد .
ارایه ی الگوهای شناسایی برای انواع فعل مرکب مبتنی بر ریخت شناسی متناهی (DFA) در فاز بعدی انجام خواهد شد .