در حال حاضر، چند موتور صرف وجود داردکه با قدرت و دقت نسبتاً مناسبی به کار تجزیه صرفی متون عربی میپردازد؛ اما عواملی منجر به آن شده که طراحی موتور جدیدی در دستور کار مرکز قرار گیرد که به برخی از آنها اشاره میکنیم:
- موتور «بوک والتر»(1) از جمله موتورهایی است که در این زمینه تدوین شده و از یک پایگاه بزرگ لغات تجزیهشده بهره میگیرد؛ اما تعداد برچسبهای اعلامشده توسط آن، محدود بوده و نیز عملکرد آن در متون اولیه اسلامی، چون آیات و روایات، دارای اشکالات بسیاری است و از طرفی، چون مالکیت معنوی آن برای مرکز نیست، جهت استفاده از آن باید هم اجازه گرفته و هم ارجاع دهیم.
- موتور «صرف مبین» نیز در مورد متون قرآنی عملکرد مناسبی دارد؛ ولی در دیگر متون عربی دقت آن کاهش مییابد. در ضمن، متن ورودی به این موتور نیز باید منحصراً دارای اعراب باشد تا پاسخ مرتبط ارائه شود. در این موتور به سماعیات زبان عربی نیز چندان پرداخته نشده و بر همین اساس، در مورد برخی لغات جواب صحیح ندارد و در ارتباط با خصوص متون اسلامی نیز در بسیاری از موارد برای هر کلمه، کدی مخصوص به آن نوشته شده است؛ بدون آنکه مجموعهای از کلمات مشابه در پایگاههای مجزا گردآوری شوند.
این مقاله درصدد آن است که با توجه به نیاز اصلی استفاده از موتور صرف در متون اسلامی، مقدمات مورد نیاز جهت تهیه موتور صرف در مرکز تحقیقات، مراحل تدوین، نقاط قوت و کارکردهای آن را بیان دارد.
تعریف علم صرف
موضوع علم صرف، «کلمه بما هو کلمه» است؛ یعنی بررسی یک کلمه بدون در نظر گرفتن کلمات قبل و بعد و بدون توجه به جایگاه آن در عبارات.
این علم به تبیین چگونگی تغییراتی میپردازد که در یک کلمه رخ میدهد که گاه، مانند تغییر کلمه از ماضی به مضارع، از این تغییر، معنای جدیدی به دست آمده و گاه در مواردی چون اعلال، تغییرات تنها در دامن? شکل ظاهری کلمات محدود شده و به معنای آنها سرایت نخواهد کرد.
همین امر موجب شده است تا در موتور صرف، تمام تغییرات انجام شده در هر کلمه به صورت جداگانه بررسی شود.
تعریف کلمه
واژه ی «کلمه» یا «word»، اخص از لفظ بوده و تنها بر الفاظ مفردی اطلاق میشود که دارای معنا باشند؛ اما از آنجا که پیشفرض موتور صرف آن است که متن ورودی، متنی صحیح از لحاظ قواعد صرفی باشد، موتور صرف هر لفظ ورودی را به عنوان یک کلمه در نظر میگیرد.
نشانه تفکیک دو گزاره ورودی در موتور صرف، آن است که میان آنها فاصله (space) وجود داشته باشد. گاه این گزاره فقط یک کلمه است و گاه شامل عبارتی است متشکل از یک کلمه میانوند به همراه کلمات پیشوند و پسوند.
چگونگی کار برنامه
در طراحی این موتور تلاش شده تا تمام قواعد صرفی پیادهسازی گردیده و هر چه از سماعیات زبان عرب که قابلیت قانونمند شدن ندارند نیز در پایگاههای مختلف جمعآوری شده و در پایگاه داده برنامه مورد استفاده قرار گیرد و در نهایت، تقریباً تمام اطلاعات صرفی مرتبط با یک کلمه، در اختیار کاربر قرار گیرد.
اینکه چگونه اطلاعات مرتبط با یک کلمه از میان انبوه عبارات موجود در یک متن استخراج شده و به صورت دقیق در اختیار کاربر قرار میگیرد، مستلزم شناخت مراحلی است که موتور صرف از میان آنها میگذرد. موتور صرف دارای چندین کلاس اختصاصی بوده که در ادامه، به طور اجمال، به آنها اشاره میشود.
وقتی متنی به برنامه داده میشود، در مرحل? اول با در نظر گرفتن فاصله (space)، جداسازی مقدماتی انجام شده و هر عبارت استخراج شده به طور جداگانه مورد بررسی قرار میگیرد.
در این مرحله، دو نکته قابل توجه است:
- اول: در عبارات دارای اعراب، موتور به صورت فرضی اقدام به حذف اعراب نموده و سپس حروف کلمه را تشخیص میدهد.
دوم: با توجه به اینکه یک عبارت در زبان عربی ممکن است دارای چندین رسمالخط باشد که شاید تمام آنها هم درست باشند، تابع بررسی اعراب به گونهای طراحی شده که برنامه قابلیت شناسایی تمام رسمالخطهای صحیح را داشته باشد؛ هرچند تناظر حرف به حرف (کاراکتری) میان آنها وجود نداشته باشد.
به عنوان نمونه، در زبان عربی برای کلماتی چون «مثلاً» که دارای تنوین نصب میباشند، چندین حالت صحیح نوشتاری داریم (مَثَلَاً، مَثَلًا، مَثَلاً) که تمام موارد آن از سوی برنامه قابل شناسایی است.
کلاس پسوندها و پیشوندها
هر کلمه میتواند دارای پیشوندها و یا پسوندهایی باشد که انواع آنها با ذکر خصوصیات در موتور صرف گردآوری شدهاند. پس از اینکه پسوندها و پیشوندهای کلمه اصلی از آن جدا شدند، وارد کلاس بعدی شده تا با پایگاه حروف موجود در موتور مورد مقایسه قرار گیرند. در این راستا، اگر آن پیشوند و یا پسوند در پایگاه ادات حرفی وجود داشت، آن را به عنوان حرف در نظر گرفته و اعلام میکند.
نکته قابل توجه این است که با توجه به بررسیهای انجامشده در زبان عربی این نتیجه به دست آمد که یک کلمه میتواند تا سه پیشوند بپذیرد که البته این اتفاق برای حروف و افعال رخ نداده و تنها برای اسم امکانپذیر است؛ به عنوان نمونه، در عبارت «فَلِلْمَالِکِ» علاوه بر کلم? اصلی «مالک»، سه پیشوند (فَ + لِ + الْ) نیز وجود دارد. همچنین یک کلمه میتواند حداکثر تا دو پسوند دریافت کند که این تعداد، هم برای اسم و هم برای فعل قابل تصور است.
کلاس شناسایی حروف
بعد از جدا شدن پیشوندها و پسوندها، آنچه باقی میماند، وارد کلاس حروف شده، توسط «پایگاه ادات حرفی» مورد سنجش قرار گرفته و در صورت انطباق، به عنوان حرف اعلام میشود.
«پایگاه ادات حرفی» پایگاهی است که با بیش از 150 رکورد، تمامی فیلدهای مورد نیاز جهت تجزیه صرفی را در اختیار دارد؛ به طور مثال، برای حرف «من» بیان میشود که نوع آن حرف جاره بوده و بالتبع عمل آن جر است و قابلیت میانوند و پیشوند شدن را دارد؛ اما تنها می تواند پیشوندی برای اسم باشد.
حروف زاید
برای تشخیص حرفهای زاید و غیر اصلی در افعال، میتوان از قواعد بهره جست؛ زیرا افعال دارای اوزان معینی هستند. از این رو، با در نظر گرفتن تمام ساختارهای موجود میتوان حروف زاید را از حروف اصلی تشخیص داد؛ اما تشخیص حروف اصلی اسما از پیچیدگی بیشتری برخوردار است؛ بدین ترتیب که اگر اسم از مشتقات اصطلاحی باشد، همانند فعل به علت داشتن وزن معین قابل تشخیص است؛ اما اگر از این گروه نبوده و از جوامد باشد، باید از قواعد معروف به «سألتمونیها» استفاده کنیم.(2) مجموعه حروف زاید عبارت از 10 حرفی است که در کلمه «سألتمونیها» جمع آمده است؛(3) بدین ترتیب که تنها این حروفاند که میتوانند در مواضع خاص و تعیین شدهای از اسم به صورت زاید قرار گیرند؛ مگر اینکه حرف زاید، تکرار حرف اصلی باشد، مانند علّم.
بدون شک، یکی از نقاط عطف این موتور، تشخیص حروف اصلی از زاید است.
کلاس افعال
«افعال» در یک تقسیمبندی کلی، به دو دسته متصرف و غیر متصرف تقسیم میشوند. افعال غیر متصرف، توسط قواعد قابل تشخیص نبوده و به صورت پایگاه کوچکی با تعداد محدودی رکورد، قابل دسترسی میباشند. اما در مورد افعال متصرف، با کمک قواعد بسیار دقیق علم صرف، تمامی گزینههای تجزیه صرفی آن قابل ارائه است.
وقتی یک کلمه از پیشوند و پسوند خالی شد، آنچه باقی میماند، به واسطه قواعد موجود تجزیه شده، حروف زاید آن حذف میشود و آنچه باقی میماند، حروف اصلی یک کلمه خواهد بود که از آن به «ریشه» تعبیر میشود. ریشهها در موتور صرف موجود بوده و اینکه هرکدام آنها در چه بابی استعمال میشوند نیز مشخص شدهاند.(4) در نتیجه، اگر حروف باقیمانده جزء ریشههای استعمالی بوده و حروف زاید نیز در جایگاه تعیین شده قرار گرفته باشند، کلمه به عنوان فعل اعلام میشود. موتور میتواند 6 باب ثلاثی مجرد، 12 باب ثلاثی مزید و 4 باب رباعی مجرد و مزید را بهدرستی تشخیص دهد.
مثلا برای کلمه «یَضرِبُون» موتور تمام حالات ممکن زاید بودن حروف را بررسی میکند و در نهایت، با حذف حروف «ی،و،ن» سه حرف «ضرب» را به عنوان ریشه تشخیص داده و سپس با توجه به جایگاه دو حرف زاید «یاء و نون» و جایگاه ضمیر «واو»، آن را به عنوان صیغه سوم از فعل مضارع معلوم اعلام میکند.
قواعد ادغام، اعلال و تخفیف
یکی از قابلیتهای چشمگیر در برنامهسازی موتور صرف، تشخیص کلماتی است که در ساختار خود دستخوش اعلال، ادغام و یا تخفیف شدهاند.
به حروف واو، یاء و الف «حرف عله» میگویند. کلمهای را که یک یا چند حرف اصلی آن عله باشد، «معتل» و کلمهای را که هیچکدام از حروف اصلی آن عله نباشد، «صحیح» مینامند. کلمهای که یک یا چند حرف اصلی آن همزه باشد نیز «مهموز» نامیده میشود که به سه دسته: مهموز الفاء، مهموز العین و مهموز اللام تقسیم میشود. کلمهای که عین الفعل و لام الفعل یا فاء الفعل و عین الفعل آن همجنس باشد، «مضاعف» اعلام شده و در نهایت، کلمهای را که نه معتل باشد و نه مهموز و نه مضاعف، «سالم» مینامند.
یک کلمه ممکن است ترکیبی از حالات فوق باشد، مانند «یَیس» که مهموز و معتل است و «حَیَّ» که مضاعف و معتل است؛ اما آنچه در استعمالات عرب از ترکیبهای فوق به کار رفته، تنها 30 حالت است، مانند لفیف مقرون مهموز الفاء که مثال آن «أوی» بوده و یا مثال واوی مضاعف که «وَدّ» را میتوان نمونهای از آن دانست.
کلمات معتل در معرض قواعد اعلال هستند که این قواعد به سه دسته: اعلال سکونی، قلبی و حذفی تقسیم میشوند؛ یعنی حرف علّه در یک کلمه معتل ممکن است اعراب خود را از دست داده و یا تبدیل به حرف دیگر یا حتی حذف شود؛ مثلا واو در فعل «یَقْوُلُ» اعراب خود را به ماقبل میدهد و ساکن میشود و در نهایت، تبدیل به «یَقُولُ» میشود و یا واو در فعل مجهول «دُعِوَ» تبدیل به یاء شده و فعل به شکل «دُعِیَ» در میآید و در نمونهای پیچیدهتر میتوان به کلمه «فِ» اشاره کرد که فعل امر از ریشه «وفی» بوده و حروف واو و یاء آن حذف شده است.
کلمات مضاعف، در معرض قواعد ادغام هستند؛ مثلا فعل ماضی «مَدَدَ» ادغام شده و تبدیل به «مَدَّ» میشود و کلمات مهموز نیز در معرض قواعد تخفیف همزه قرار دارند؛ به طور مثال، فعل ماضی «أَأمَنَ» که از باب افعال است تخفیف شده و تبدیل به «آمَنَ» میشود و همز? اصلی ریشه «أخذ» در فعل امر آن، «خُذ» حذف میشود.
قواعد پیچیده اعلال، ادغام و تخفیف به همراه چندین تبصره از استثنائات، در موتور صرف پیادهسازی شده است که البته در برخی قواعد هنوز باید کار و بررسی بیشتری به عمل آید.
کلاس اسما
اسما در تقسیمبندی اولیه، به دو دسته: جامد و مشتق تقسیم میشوند. مشتقات 8 قسم بوده و بیشتر آنها، به غیر از صفت مشبهه و صیغه مبالغه، دارای اوزان مشخصی هستند که توسط موتور ساخته میشود. جوامد نیز به دو دسته: مصدری و غیر مصدری تقسیم میشوند. مصادر، اعم از مصادر سماعی و قیاسی مانند مصدر میمی و مرّه و نوع نیز مانند بیشتر مشتقات، توسط موتور ساخته میشوند.
قواعد اعلال، ادغام و تخفیف اگرچه بیشتر در افعال اجرا میشوند، اما در پارهای از اسما نیز میتوان چنین قواعدی را مشاهده کرد؛ تا جایی که برخی قواعد اعلال مختص به اسما میباشند، مانند اسم فاعل «قاوِم» که تبدیل به «قایِم» میشود، مصدر «وَعد» که تبدیل به «عِدَة» میشود، مصدر «تَرَجُّو» که تبدیل به «تَرَجُّی» و سپس تبدیل به «تَرَجِّی» میشود.
بیشتر این قواعد در موتور صرف وارد شده و در تمامی اسمای مشتقی که قیاسی هستند، مانند: اسم فاعل، مفعول، مکان، زمان و آلت، اعمال میشود.
شناسایی اسامی خاص (اَعلام)
اسامی خاص، گروهی از جوامد غیر مصدریاند که شامل: نام انسانها، شهرها، کتابها و ... میباشند. پایگاهی از اسامی خاص با گستره بسیار مناسبی نسبت به متون قرآنی و روایی تهیه شده که موتور میتواند با استفاده از آنها، بیشتر اسامی خاص را با انواع استعمالاتشان تشخیص داده و مشخصات مربوط به یک اسم خاص را نیز اعلام نماید.
کلاس شناسایی جمعهای مکسر
پس از کلاس حروف، کلاس جمع قرار دارد و کلمه ورودی با آنچه در پایگاه جمع مکسر آمده، مقایسه میشود و در صورت موجود بودن در آن پایگاه، مفردش شناسایی شده و به عنوان کلمه مجزا به کلاس اسم میرود.
پایگاهِ جمع، بزرگترین پایگاه در پایگاه داده برنامه است که دارای بیش از 18 هزار رکورد بوده و در هر رکورد علاوه بر جمع، مفرد آن نیز اعلام شده که این پایگاه، یکی از نقاط قوت موتور به شمار میرود.
کلاس اسامی جامد غیر مصدری
پس از دو کلاس قبل، کلمه ورودی در این کلاس به پایگاه جوامد غیر مصدری ارجاع داده شده و با کلمات موجود در آن مقایسه میشود. همانطور که بیان شد، اسما اگر مشتق یا مصدر باشند، توسط موتور قابلیت شناسایی دارند؛ اما در مورد اسمای جامد غیر مصدری که سماعی بوده و قاعده مشخصی بر آن حاکم نیست، نیازمند پایگاه هستیم. پایگاه جامد غیر مصدری را با بیش از 6400 رکورد میتوان پر هزینهترین پایگاه موتور صرف دانست که در مدت 5 ماه آمادهسازی شد. این پایگاه شامل اسمایی میباشد که از لحاظ صرفی جامد بوده و مصدر هم نمیباشند، مانند: اسم اشیاء، مفهومات انتزاعی ذهن، حالات نفسانی و ... که در یک کار گروهی با استفاده از کتب مختلف و به ویژه کتاب «الافصاح» گردآوری شد.
در این پایگاه، تمامی مشخصات لازم جهت تجزیه صرفی یک اسم بدون استفاده از قواعد و به صورت غیر ماشینی جمعآوری شد؛ به طور مثال، برای کلمه «کتاب» چنین آمده است که اسمی است مفرد، دارای استعمال مذکر و مؤنث، متصرف، معرب و دارای ریشهای سالم (کتب).
یکی از کارهای بزرگ انجامشده در این پایگاه، تعیین جنسیت کلمات بود که از حیطه قاعدهپذیری تا حدود زیادی به دور بوده و تنها با مراجعه به استعمالات زبان عرب امکان آن فراهم آمد.
دسته دیگری از جوامد غیر مصدری، شامل اداتهای اسمی میباشد که در پایگاهی با عنوان «ادات اسمی» با بیش از 250 رکورد، شامل: ضمایر، موصولات، اشارات، ظروف و ... گردآوری شد. در این پایگاه، مشخصات کامل ادات ثبت شده و به طور مثال، برای ضمیر «ها» چنین اعلام شده است:
ضمیر متصل غائب منصوبی مجروری که قابلیت پسوند بودن را دارد. مفرد، مؤنث و معرفه بوده و فاقد ریشه است.
کلاس صفت مشبهه و صیغه مبالغه
با توجه به آنچه در ارتباط با اسمای سماعی بیان شد، طبیعی است که برای صفت مشبهه و صیغه مبالغه نیز وجود پایگاه مورد نیاز است. در این راستا، علاوه بر «پایگاه جامد غیر مصدری»، «پایگاه صفت مشبهه و صیغه مبالغه» نیز تدوین شد که البته با توجه به حجم عظیم چنین مشتقاتی در زبان عرب، روزآمد کردن آن به طور مستمر ادامه دارد.
در حال حاضر، پایگاه صفت مشبهه دارای بیش از 2000 رکورد با مشخصات نسبتاً کامل است.
تصرف اسما
اسما را نیز با برخی شرایط باید مانند افعال، دارای تثنیه و جمع دانست؛ اما قواعد و تبصرههای تثنیه و جمع در اسما پیچیدهتر بوده و پژوهش بیشتری را میطلبد که با وارد کردن آنها در موتور صرف میتوانیم حالات مختلف مثنی و جمع را (چه سالم و چه مکسر) تشخیص دهیم.
اسم متصرف از دو جهت دیگر نیز قابلیت صرف شدن دارد: یکی اینکه منسوب شود، مانند: «ایرانیّ» و «مهدویّ». دیگر اینکه مصغر شود، مانند: «بُنَیّ» و «حُسَین». امید است به یاری پروردگار در آیندهای نه چندان دور بتوانیم قواعد آنها را نیز پیادهسازی کرده و گامی دیگر رو به جلو برداریم.
فهرست برچسبها
فهرست مشخصاتی که موتور صرف به ازای کلمات سهگانه تولید میکند، به شرح زیر است:
افعال
اسما
حروف
کارکردهای موتور صرف
با توجه به برچسب مجموعههای خروجی موتور صرف و اطلاعاتی که درباره یک کلمه در اختیار کاربر قرار میگیرد، میتوان چشماندازهای جدیدی برای آن در نظر گرفت، از جمله:
- استفاده از اطلاعات صرفی کلمات در ترکیبهای نحوی و در نهایت، تجزیه و ترکیب ماشینی متون. در حال حاضر، کارهایی در زمینه تشخیص هوشمند جایگاههای نحوی و ابهامزدایی کلمات متشابه در دست اجرا است که اطلاعات برگرفته از موتور صرف، مبنای آن میباشد.
اگر بتوان جایگاههای صرفی و نحوی کلمات را تا حد مطلوبی تشخیص داد، بیشک، گام عظیمی در فهم هوشمند متون برداشته خواهد شد که ترجمه دقیق، تلخیص، نمایهزنی خودکار و یافتن موضوعات مشابه در متون عربی را میتوان از نتایج آن برشمرد. - استفاده از موتور صرف جهت پیراستهسازی و ریشهیابی تصریفی متون عربی. کاربر میتواند پیراسته یک جمله را با توجه به کلمات آن جمله به دست آورد؛ به طور مثال، در صورت روبهرو شدن با یک فعل بتواند به اسم فاعل، مصدر، صفت مشبهه و ... آن دست یابد و یا در برخورد با یک اسم جمع، مفرد آن را به دست آورد. با داشتن کلمات پیراسته میتوان نمایهزنی ماشینی متون عربی را نیز آغاز کرد.
- تشخیص ریشه دقیق کلمات و در نتیجه، انتقال صحیح به معاجم لغوی. چنین کاری در حال حاضر، بدون استفاده از ماشین در برخی نرمافزارهای مرکز انجام شده است؛ اما اشتباهات فراوانی نیز در آنها به چشم میخورد که به عنوان نمونه با اجرای موتور صرف در ریشهها و کلمات نرمافزار موضوعی بحار الانوار، بیش از 1000 مورد از کلمات جعلی غیر مستعمل در زبان عرب شناسایی و تغییر یافت.
- یافتن موضوعات مشابه به واسطه تشابه ریشهای کلمات. به طور مثال، کاربر میتواند تمامی روایاتی را در آن مشتقی از «عِلم» آمده است، در کنار یکدیگر گذاشته و آنها را بررسی نماید.
- استفاده از موتور به عنوان یک موتور تجزیه در کنار معاجم لغوی. چه بسا کاربری ریشه را میداند، ولی چون نوع کلمه و تجزیه دقیق را نمیداند، از ترجمه صحیح کلمه باز میماند.
- استفاده از موتور صرف در برنامههای آموزش زبان عربی. میتوان در برنامههای آموزشی حوزوی و دانشگاهی، از موتور صرف جهت تمرین، تصحیح و آموزش قواعد به کاربر بهره جست؛ زیرا این قابلیت در موتور صرف وجود دارد که بتواند تمامی قواعد اعلال، ادغام و غیره را که بر روی کلمه رخ داده است، برای کاربر نشان دهد.
- تصحیح املایی متون عربی با استفاده از قواعد نوشتاری حروف عربی، از جمله همزه و غیره.
نمونههای XML خروجی
1.فعل «یَخافَ» منصوب که دارای دو قاعده اعلال مشکل است:
<Phrase Entry="یَخَافَ">
<word Entry="یَخَافَ" Affix="میانوند" Pos="فعل" Decl="معرب" Genr="متصرف" Struct="ثلاثی مجرد" Categ="فَعِلَ یَفْعَلُ" Trans="لازم و متعدی" Root="خوف" RootT="اجوف واوی" Time="مضارع" TOV="1" Num="مفرد" Gend="مذکر" Prsn="غائب" Voic="معلوم" Case="منصوب" Temp="یَفْعَلَ" Pirasteh="الخَوْف/الخِیفَة/المَخَافَة" />
2.فعل «یُمَدُّونَ» که با اعمال قواعد ادغام میتواند فعل مضارع معلوم از باب تفعیل ریشه ناقص مدی، مضارع مجهول از باب افعال ریشه مضاعف مدد و مضارع مجهول از ثلاثی مجرد ریشه مدد باشد.
- <Phrase Entry="یُمَدُّونَ">
- <Ans number="1">
<word Entry="یُمَدُّونَ" Affix="میانوند" Pos="فعل" Decl="معرب" Genr="متصرف" Struct="ثلاثی مزید" Categ="تَفْعِیل" Trans="" Root="مدی" RootT="ناقص یایی" Time="مضارع" TOV="3" Num="جمع" Gend="مذکر" Prsn="غائب" Voic="معلوم" Case="مرفوع" Temp="یُفَعِّلُونَ" Pirasteh="التَّمْدِیء" />
</Ans>
- <Ans number="2">
<word Entry="یُمَدُّونَ" Affix="میانوند" Pos="فعل" Decl="معرب" Genr="متصرف" Struct="ثلاثی مزید" Categ="إِفْعَال" Trans="" Root="مدد" RootT="مضاعف" Time="مضارع" TOV="3" Num="جمع" Gend="مذکر" Prsn="غائب" Voic="مجهول" Case="مرفوع" Temp="یُفْعَلُونَ" Pirasteh="الْإِمْدَاد" />
</Ans>
- <Ans number="3">
<word Entry="یُمَدُّونَ" Affix="میانوند" Pos="فعل" Decl="معرب" Genr="متصرف" Struct="ثلاثی مجرد" Categ="فَعَلَ یَفْعُلُ" Trans="لازم و متعدی" Root="مدد" RootT="مضاعف" Time="مضارع" TOV="3" Num="جمع" Gend="مذکر" Prsn="غائب" Voic="مجهول" Case="مرفوع" Temp="یُفْعَلُونَ" Pirasteh="المَدّ/المِدَاد/المَدَد" />
</Ans>
</Phrase>
3.مانند فعل «إتَّحَدَ» از ریشه «وحد» که با اعمال قاعده خصوصی باب افتعال، حرف عله تبدیل به «تاء» و سپس در تاء باب ادغام شده است.
<Phrase Entry="إِتَّحَدَ">
<word Entry="إِتَّحَدَ" Affix="میانوند" Pos="فعل" Decl="مبنی" Genr="متصرف" Struct="ثلاثی مزید" Categ="إِفْتِعَال" Trans="لازم" Root="وحد" RootT="مثال واوی" Time="ماضی" TOV="1" Num="مفرد" Gend="مذکر" Prsn="غائب" Voic="معلوم" Case="" Temp="إِفْتَعَلَ" Pirasteh="الْإِوْتِحَاد" />
4.مانند مصدر «إِقَامَة» که با اعمال قواعد خصوصی باب افعال میتواند مصدر قیاسی از ریشه اجوف واوی و یایی «قوم» و «قیم» باشد.
<Phrase Entry="إِقَامَةٌ">
- <Ans number="1">
<word Entry="إِقَامَةٌ" Affix="میانوند" Pos="اسم" Root="قیم" RootT="اجوف یایی" Struct="ثلاثی مزید" Derv="جامد" DervT="مصدر" Categ="إِفْعَال" Num="مفرد" Gend="مونث" Def="نکره" Genr="" Varied="" Temp="إِفَالَةٌ" Decl="معرب" Case="مرفوع" Pirasteh="الإِقْیَام" />
</Ans>
- <Ans number="2">
<word Entry="إِقَامَةٌ" Affix="میانوند" Pos="اسم" Root="قوم" RootT="اجوف واوی" Struct="ثلاثی مزید" Derv="جامد" DervT="مصدر" Categ="إِفْعَال" Num="مفرد" Gend="مونث" Def="نکره" Genr="" Varied="" Temp="إِفَالَةٌ" Decl="معرب" Case="مرفوع" Pirasteh="الإِقْوَام" />
</Ans>
5.مانند جمع مکسر «خُضْرٌ» که با توجه به قواعد و استعمالات میتواند جمع «أَخضَر»، «خَضرَاء» و «خُضرَة» باشد.
<Phrase Entry="خُضرٌ">
- <Ans number="1">
<word Entry="خُضْرٌ" Affix="میانوند" Pos="اسم" Root="خضر" RootT="سالم" Struct="ثلاثی مزید" Derv="مشتق" DervT="صفت مشبهه" Categ="فَعِلَ یَفْعَلُ" Num="جمع مکسر" Gend="مذکر و مونث" Def="نکره" Genr="" Varied="" Temp="فُعْلٌ" Decl="معرب" Case="مرفوع" Mofrad="أَخْضَر" Pirasteh="الأَخْضَر" />
</Ans>
- <Ans number="1">
<word Entry="خُضْرٌ" Affix="میانوند" Pos="اسم" Root="خضر" RootT="سالم" Struct="ثلاثی مزید" Derv="مشتق" DervT="صفت مشبهه" Categ="" Num="جمع مکسر" Gend="مؤنث" Def="نکره" Genr="متصرف" Varied="" Temp="فُعْلٌ" Decl="معرب" Case="مرفوع" Mofrad="خَضْرَاء" Pirasteh="الخَضْرَاء" />
</Ans>
- <Ans number="1">
<word Entry="خُضْرٌ" Affix="میانوند" Pos="اسم" Root="خضر" RootT="سالم" Struct="ثلاثی مزید" Derv="جامد" DervT="مصدر" Categ="فَعِلَ یَفْعَلُ" Num="جمع مکسر" Gend="مؤنث" Def="نکره" Genr="" Varied="" Temp="فُعْلٌ" Decl="معرب" Case="مرفوع" Mofrad="خُضْرَة" Pirasteh="الخُضْرَة" />
6.مانند ظرف مکان متصرف «ألفَوق» که مُصدّر به ال تعریف است.
<Phrase Entry="الْفَوقُ">
<word Entry="الْ" Affix="پیشوند" Pos="حرف" Decl="مبنی" Case="مبنی بر سکون" Opr="تهی" Kol="تعریف" />
<word Entry="فَوْقُ" Affix="میانوند" Pos="اسم" Root="فوق" RootT="اجوف واوی" Struct="ثلاثی مجرد" Derv="جامد" DervT="ظرف" Categ="" Num="تهی" Gend="مونث" Def="نکره" Genr="غیر متصرف" Varied="منصرف" Temp="" Decl="معرب" Case="مرفوع" Pirasteh="ندارد" />
سپاسگزاری
در پایان این مقال، ذکر دو نکته ضروری است:
- آنچه از موتور هوشمند صرف در این مقاله توضیح داده شد، تمام کار نیست. مراحل ارزیابی کار و رفع اشکالات، در حال انجام است. سیستم عرضه شده کنونی، نسخه آلفای کار است.
- نگارندگان در انتها بر خود فرض میدانند علاوه بر تشکر از تشویقها وکمکهای هیأت امنا و مجموعه ریاست و معاونتهای پژوهش و فنی مرکز تحقیقات کامپیوتری علوم اسلامی (نور)، لازم است از دستاندرکاران اولیه و بدنه اجرایی پروژه سپاسگزاری و قدردانی کنند. سنگ بنای اولیه موتور صرف، با تلاشهای جناب آقای سید جواد ابنالرضا در پژوهش مرکز آغاز شد. بجا است از افرادی که در طی یک سال و نیم اخیر بعد از ایشان، در بدنه اجرایی کار اهتمام وافری داشتند، به نام تشکر کنیم:
آقایان: حسین عابدینی در مدیریت داخلی و کارشناسی کار، حسین جوزی در مدیریت فنی و توسعه پروژه، محمد دانش در بخش فنی موتور، محمد قمصری در برنامهسازی تشخیص اسامی خاص، حامد مقیسه در بعد فنی پیشپردازش و تهیه پایگاهها، احمد مقیسه در بعد پژوهشی تهیه پایگاه مذکر و مؤنث و اسامی خاص، رضا جوان، محمد امین الهیمنش و محسن مرادی در ابهامزدایی و در نهایت، دکتر محمود شکراللهیفر در امر مشاورهها و آموزش. از زحمات طاقتفرسای همگی این عزیزان، سپاسگزاری ویژه داریم.
پی نوشت ها:
1. BAMA, buckwalter (Buckwalter, T. 2004. Buckwalter Arabic Morphological Analyzer, Version 2.0. Linguistic Data Consortium (LDC) catalogue number LDC2004L02, ISBN 1-58563-324-0).2. با توجه به سماعی بودن جوامد و ایجاد پایگاهی از آنها و تعیین ریشه به شکل دستی، نیاز به این قواعد به حداقل رسیده است.3. علامه مرحوم رضی در شرح خود بر شافیه آوردهاند که شاگردی از استادش در مورد حروف زاید سؤال کرد. استاد به او گفت: «سألتمونیها». شاگرد گمان کرد استاد میگوید قبلا آن را از من پرسیدهاید. پس شاگرد گفت: قبلا از شما نپرسیدهام. استاد گفت: «الیوم تنساه». شاگرد پاسخ داد: به خدا قسم فراموش نکردهام. استاد گفت: «ای بیدقت! دو بار پاسخت را دادم!» (الیوم تنساه، دارای همان حروف «سألتمونیها» میباشد.)4. این قابلیت با استفاده از برنامهای که توسط «نظام الاشتقاق و التصریف فی اللغة العربیة» در تونس تهیه شده است، به دست آمد. در این برنامه شما با داشتن ریشه قادر به ساختن کلمات و صرف آنها در زمانها و ساختارهای مختلف فعلی و اسمی هستید؛ مثلا با دادن ریشه «ضرب» این برنامه برای شما تمامی بابهایی را که در آن استعمال شده، به همراه صرف تمامی اوزان فعلی و برخی از اسمای مشتق قیاسی و سماعی را نشان میدهد. این برنامه با آنچه در موتور صرف مرکز نور مورد استفاده قرار میگیرد، متفاوت است؛ زیرا در موتور صرف، یک کلمه به صورت گزاره ورودی داده میشود و از لحاظ ریشه، ساختار، باب، زمان و غیره مورد بررسی تجزیه صرفی قرار میگیرد