مقاله درمورد پیکره موازی، یادگیری ماشین، ترجمه ماشینی

یک جمله، ترجمه‌ای در جمله مقابل دارند. شکل 4-2 مثالی از دو جمله فارسی و انگلیسی است که در آن کلمات مشترک بین دو جمله، مشخص شده‌اند.
کلمات مشترک بین دو جمله فارسی و انگلیسی
فیلتر کلمات مشترک، یک حد آستانه است که بر روی نرخ کلمات مشترک در نظر گرفته می‌شود، و جفت جملاتی که نرخ کلمات مشترکشان از این حد آستانه کمتر باشد فیلتر شده و جفت جملاتی که نرخ کلمات مشترکی بالاتر از این حد آستانه دارند به عنوان کاندیدا برای موازی بودن انتخاب خواهند شد. مقدار حد آستانه را می‌توان به طور تجربی به دست آورد. برای مثال، حد آستانه 25% به این معنی است که حداقل 25% از کلمات جمله مقصد یا مبدأ باید ترجمه‌ای در جمله طرف دیگر داشته باشد. لازم به ذکر است که تنها منبع مورد نیاز در این مرحله لغت‌نامه است.
در اینجا با دو عدد نرخ کلمات مشترک رو به رو هستیم. زیرا از یک طرف لغت‌نامه مورد استفاده می‌تواند از طرف مبدأ به مقصد (از انگلیسی به فارسی) باشد و یا بالعکس، و این لغت‌نامه‌ها ضرورتا دارای مدخل‌های یکسانی نیستند؛ و از طرفی دیگر تعداد کلمات جمله‌های مبدأ و مقصد متفاوت است. از اینرو یکی نرخ تعداد کلمات مشترک جمله مبدأ به تعداد کل کلمات جمله مبدأ و دیگری نرخ تعداد کلمات مشترک جمله مقصد به تعداد کل کلمات جمله مقصد می‌باشد. ما با توجه به اینکه تنها لغت‌نامه انگلیسی به فارسی با کیفیت مطلوب در دسترس بود از نرخ تعداد کلمات مشترک انگلیسی به کل تعداد کلمات انگلیسی استفاده کردیم.
برای بدست آوردن کلمات هم‌ترجمه بین دو جمله می‌توان از لغت نامه احتمالاتی گرفته شده از یک پیکره موازی [43] و یا در صورت وجود از لغت‌نامه‌های الکترونیکی استفاده کرد. در اینجا از لغت‌نامه الکترونیکی استفاده کردیم چراکه لغات موجود در آن عمومی هستند و مربوط به دامنه خاصی نمی شوند، در حالی که لغت نامه‌های احتمالاتی که از پیکره‌های موازی گرفته می‌شوند تنها شامل لغات موجود در دامنه پیکره موازی می‌شوند. برای به دست آوردن نرخ کلمات مشترک، ابتدا باید یکسری عملیات پیش پردازشی بر روی جملات انجام شود این عملیات در ادامه می آیند.
تبدیل کدگذاری کاراکترها
به دلیل شباهت حروف زبان فارسی و عربی، گاهی اوقات در دنیای دیجیتال برای نوشتن حروف فارسی از کدگذاری حروف عربی استفاده می‌شود، و این باعث می‌شود برای یک حرف دو نگارش متفاوت و به عبارتی دو کاراکتر متفاوت وجود داشته باشد. به طور مثال برای حرف «کاف» دو کاراکتر « ك » عربی با یونیکد 1603 و «ک» فارسی با یونیکد 1705 وجود دارد. همچنین برای حرف «ی» دو کاراکتر «ي» عربی با یونیکد 1610 و «ی» فارسی با یونیکد 1740 وجود دارد. از اینرو اگر اینگونه ناهماهنگی بین کارکاترهای لغت‌نامه مورد استفاده و پیکره تطبیقی وجود داشته باشد (به طور مثال نگارش لغت‌نامه با کاراکترهای فارسی باشد و نگارش پیکره تطبیقی با کاراکترهای عربی)، در هنگام جستجوی ترجمه یک کلمه مبدأ که از لغت‌نامه استخراج شده، بین کلمات جمله مقصد با مشکل مواجه خواهیم شد. زیرا یک کلمه یکسان با کاراکترهای متفاوت نوشته شده و در نتیجه این کلمه به عنوان کلمه مشترک بین دو جمله تشخیص داده نمی شود. بنابراین در ابتدا تمام کدگذاری‌های مورد استفاده در منابع باید به یک کدگذاری واحد تبدیل شوند. در اینجا تمام کاراکترهای عربی به کاراکترهای فارسی تبدیل می‌شوند.
مشخص کردن مرز جمله‌ها و کلمه‌ها
در نگاه اول به نظر می‌آید مشخص کردن مرز جمله‌ها و کلمه‌ها یک مسئله بدیهی و حل شده باشد. یک راه حل ساده که در ابتدا به ذهن می‌رسد جدا کردن جملات با استفاده از کاراکتر نقطه و جداکردن کلمات با استفاده از کاراکتر فاصله است. مثال زیر نشان می‌دهد که این راه حل در همه‌جا جوابگو نیست:
Mr. Jones bought a coat for $92.5.
در این مثال تنها یک جمله وجود دارد، درحالی که با در نظر گرفتن نقطه به عنوان تعیین‌کننده مرز جمله‌ها این جمله بصورت نادرستی به سه جمله شکسته می‌شود. از طرف دیگر عبارت «$92.5» با اینکه دارای جداکننده فاصله نیست، بهتر است بصورت دو کلمه «92.5» و «$» در نظر گرفته شود زیرا ترجمه این عبارت «92.5 دلار» است که دو کلمه محسوب می‌شود.
همچنین علاوه بر نقطه، گاهی اوقات جمله با علامت سوال و علامت تعجب به پایان می‌رسد. این در حالی است که علامت سوال و علامت تعجب نیز همیشه نشان دهنده پایان جمله نیستند. برای غلبه بر این مشکل راههای هوشمندانه تری وجود دارد که در آنها از مسائل یادگیری ماشین و یادگیری با نظارت استفاده شده است. در این روش‌ها نقطه، علامت سوال و علامت تعجب به عنوان پایان‌دهنده‌های پیش فرض و نه قطعی جمله در نظر گرفته می‌شوند، و یک سری ویژگی از جمله کاراکترهای قبل و یا بعد از این نشانه‌ها، برای پیشگویی پایان‌ جمله‌ها در نظر گرفته می‌شود. در اینجا، تجزیه جملات انگلیسی با استفاده از طبقه‌بند آنتروپی بیشینه انجام می‌شود که نسخه‌ای از ابزار OpenNLP است.
ریشه‌یابی23
در اینجا از ریشه‌یابی کلمات به منظور تبدیل کلمات به شکلی که در لغت‌نامه ظاهر شده‌اند، استفاده می‌شود؛ تا آنگاه بتوان معنی کلمه مورد نظر را از لغت‌نامه استخراج کرد. منظور از ریشه‌یابی کلمات، حذف پسوندها، پیشوندها و میانوند‌های کلمه و به‌دست آوردن ریشه کلمه است.
برای زبان انگلیسی ریشه‌یاب‌های خودکار زیادی وجود دارد، در اینجا از یک ابزار پردازش صرفی کلمات انگلیسی به نام « morph» [46] استفاده کردیم که با گرفتن یک کلمه، جمله یا سند به عنوان ورودی، ریشه صرفی24 کلمات را می‌دهد. مثال زیر نمونه‌ای از خروجی تولید شده توسط این ابزار را نشان می‌دهد. با دادن جمله (1) به عنوان ورودی، جمله (2) خروجی تولید شده می‌باشد.
There are both technical and marketing reasons why ADSL is in many places the most common type offered to home users.
There be both technical and market reason why ADSL be in many place the most common type offer to home user.
کلمات برجسته شده کلماتی هستند که شکل آنها به کلمه اصل25 (ریشه) تغییر یافته است. لازم به ذکر است ریشه‌یابی که ما در اینجا لازم داریم در همین حد است که بیشتر به صرف کلمات مربوط است، و به ریشه‌یابی با استفاده از الگوریتم پرتر که ریشه کلمات را می‌یابند نیاز نداریم.
حذف کلمات پرتکرار
کلمات پرتکرار کلماتی هستند که نسبت به سایر کلمات زبان به دفعات بیشتری به کار می‌روند، از جمله حروف ربط یا حروف پیوند. کلمات پرتکرار که به آنها کلمات دستوری26 نیز گفته می‌شود، نقش بسیار کمی در بار معنایی جمله دارند. از اینرو بهتر است که در هنگام محاسبه تعداد کلمات مشترک بین دو جمله حذف شوند؛ چراکه حتی دو جمله که ترجمه یکدیگر نیستند نیز می‌توانند به تعداد زیادی کلمات پرتکرار مشترک داشت باشند. بنابراین حذف کلمات پرتکرار، دقت این مرحله را افزایش می‌دهد.
در علم کامپیوتر و پردازش زبان‌های طبیعی به این کلمات «کلمات توقف27» گفته می‌شود. این کلمات که لیست مشخصی از آنها وجود ندارد، قبل و یا بعد از برخی فرآیندهای پردازش زبان‌های طبیعی حذف می‌شوند. در زیر چند نمونه از کلمات توقف در زبان انگلیسی آمده است: a, am, an, and, any, are, as, at, be, been, by, did, do, does, every
رفع ابهام
«ابهام در معنی کلمه28» یکی از مهترین مسائل مورد توجه در حوزه ترجمه ماشینی است. معمولا هر کلمه دارای معانی مختلفی است و وقتی در جملات مختلف و یا در نقش‌های مختلف جمله قرار می‌گیرد، معنی خاص خود را می‌گیرد. از اینرو اینکه برای یک کلمه موجود در متن، کدامیک از معانیش مناسب‌تر است برای ماشین ترجمه دارای ابهام است. روش‌های زیادی برای رفع ابهام معنی کلمه وجود دارد، اما در اینجا، با توجه به متفاوت بودن نوع مسئله و وجود جملات هر دو طرف مبدأ و مقصد، از یک راهکار بسیار ساده برای غلبه بر این مشکل استفاده می‌شود. برای این منظور تمام معانی کلمه مبدأ را در نظر می‌گیریم و آنها را با کلمات جمله مقصد مقایسه می‌کنیم. با این کار زمانی که دو جمله موازی هستند، معنی مناسب از بین معانی کلمه مبدأ در جمله مقصد یافت می‌شود. لازم به ذکر است که در زمان مقایسه معانی کلمات جمله مبدأ با کلمات جمله مقصد، اگر یکی از معانی کلمه‌ای در جمله مبدأ با یکی از کلمات جمله مقصد برابر بود، معانی دیگر آن کلمه در مقایسه شرکت نخواهند کرد.
جستجوی معانی از دیکشنری
همانطور که در قسمت رفع ابهام گفته شد برای غلبه بر مشکل ابهام در معنی، تمام معانی یک کلمه را از لغت‌نامه استخراج می‌کنیم. سپس تمام معانی استخراج شده از لغت‌نامه برای تمام کلمات جمله را به همراه کلمه مربوطه‌شان در یک مجموعه واحد قرار می‌دهیم.
گروه بندی کلمات تکراری جمله به همراه تعداد رخدادشان در جمله
به دو جمله انگلیسی و فارسی زیر توجه کنید:
A nearby mountain is also named after her.
از کوه آراد با نام کوه (اراد) یاد شده است.
در هنگام مقایسه هر کلمه از جمله انگلیسی با کلمات جمله فارسی کلمه «mountain» به معنی «کوه» دو بار با کلمه «کوه» در جمله فارسی تطبیق داده می‌شود. این در حالی است که کلمه «mountain» تنها یک بار در جمله انگلیسی به کار رفته است و این دو جمله هم‌ترجمه نیستند. لذا از این طریق نرخ کلمات مشترک بیشتر از حد واقعی محاسبه می‌شود.
راه حل این است که تکرارهای هر کلمه در جمله (خواه انگلیسی خواه فارسی) را حذف و در عوض، تعداد این تکرارها را در کنار هر کلمه نگهداری کنیم. سپس در هنگام مقایسه کلمات دو جمله مبدأ و مقصد اگر دو کلمه هم‌ترجمه شناسایی شدند، تعداد تکرارهای هر کدام از کلمات در جمله‌هایشان را نیز باهم مقایسه کنیم. آنگاه در صورت مساوی بودن تعداد تکرارها به همان اندازه به تعداد کلمات مشترک بین دو جمله بیافزاییم. به این ترتیب نرخ کلمات مشترک واقعی‌تری را به دست خواهیم آورد.
الگوریتم یافتن نرخ کلمات مشترک (از طرف مبدأ)
شکل 4-3 الگوریتم یافتن نرخ کلمات مشترک را نشان می‌دهد. در اینجا ترجمه کلمات جمله مبدأ از دیکشنری بدست آمده، سپس اشتراک آنها با کلمات جمله مقصد محاسبه می‌شود.
الگوریتم یافتن نرخ کلمات مشترک
انتخاب جفت جملات موازی از بین جفت جملات کاندید
در این مرحله، جفت جملات موازی از میان جفت جملات کاندیدای موازی بودن که در مرحله قبل بدست آمدند انتخاب می‌شوند. برای این کار از طبقه‌بند آنتروپی بیشینه استفاده می‌کنیم. این طبقه‌بند با استفاده از ویژگی‌هایی که برای یک جفت جمله در نظر گرفته می‌شود (که در ادامه معرفی خواهند شد) تعیین می‌کند که جفت جمله مورد نظر «موازی» یا «غیرموازی» است. در ادامه ابتدا شرح مختصری از طبقه‌بند آنتروپی بیشینه می‌آید و سپس ویژگی‌هایی را که می‌توان برای یک جفت جمله در نظر گرفت تا در طبقه‌بندی به کار روند معرفی خواهند شد.
طبقه‌بند آنتروپی بیشینه29
اصل آنتروپی بیشینه بیان می‌کند که با محدودیت‌های داده شده، توزیع احتمالاتی که بیشترین آنتروپی (بی نظمی) را دارد، حالت جاری دانش را بهتر می‌تواند نمایش دهد. مدل‌های آنتروپی بیشینه‌ای که بر پایه این اصل هستند، به طور وسیعی در پردازش زبان‌های طبیعی به کار گرفته می‌شوند از جمله در تگ گذاری، تجزیه جمله و تشخیص موجودیت اسمی [47]. تقی پور و همکاران در [48] برای فیلتر کردن جفت جمله‌های نویزی از پیکره موازی، از چهار طبقه‌بند استفاده کردند، و با ارزیابی آن چهار مدل نشان دادند که طبقه‌بند آنتروپی بیشینه از دیگر الگوریتم‌های طبقه‌بند بهتر عمل می‌کند. ما در اینجا از طبقه‌بند آنتروپی بیشینه برای طبقه‌بندی کردن جفت جمله‌ها به دو دسته «جفت جمله موازی» و یا «جفت جمله غیر

تکه های دیگری از این پایان نامه را می توانید

در شماره بندی فوق بخوانید

متن کامل پایان نامه ها در سایت homatez.com موجود است

You may also like...

Add a Comment