بخشی از مقاله
چکیده
متون منتشرشده در اینترنت به زبانهای مختلف نوشتهشدهاند. در حال حاضر توانایی سیستمهای بازیابی اطلاعات برای جستجوی اطلاعات بینزبانی ضعیف است. یکی از بزرگترین موانع این کار، عدم تطبیق لفظبهلفظ کلمات در زبانهای مختلف است. به عبارت دیگر ممکن است دو عبارت در دو زبان مختلف هممعنی باشند ولی هیچ شباهت تحتاللفظیای نداشتهباشند. در این مقاله با کمک پیکرههای یکزبانه و دوزبانه، عبارات معادل در زبانهای انگلیسی و فارسی شناسایی میشوند. روش ارائهشده قابلیت توزیعپذیری دارد. با افزایش حجم پیکرهها بدون افت کارایی کیفیت خروجی بهبود خواهدیافت. آزمایش و بررسی اصطلاحات معادل در دادههایی از متون فارسی، انگلیسی و ترکیبی که هر متن معادل آن در زبان دیگر نیز وجود دارد، بیانگردقّت مناسب این روش است. این روش به زبان اسکالا پیادهسازیشده و قابلتعمیم به زبانهای دیگر است.
علاوه بر این، کلمات فنی، اسامی خاص و کلمات جدید در واژهنامهها وجود ندارند. این مشکل با استفاده از روشهای تطابق واژههای همریشه5 میتواند تا حد زیادی برطرف شود .[3] بسیاری از اسامی خاصو کلمات فنّی نیز در زبانهای مختلف مشابه هستند .[4] روش دیگر، ترجمهی ماشینی است. این روش بر اساس قواعد صرف و نحوی عمل میکند. ترجمهی ماشینی محتملترین ترجمه بر اساس الگوریتم داخلی ماشین را برمیگرداند. در صورتی که جستار کاربر با این قواعد منطبق نباشد، نتیجهی مناسبی حاصل نمیشود. جستار کاربر معمولاً عبارت کوتاهی است که از این قواعد پیروی نمیکند .[5]
روشهای مبتنی بر پیکره، با به کارگیری روشهای آماری و یادگیری ماشین بر روی حجم زیادی از متون عمل میکنند. مناسبترین منبع در این روشها، پیکرههای دوزبانه هستند. این پیکرههای شامل جملات یک زبان و ترجمهی متناظر آن به زبان دیگر هستند. پیکرههای دوزبانه باید توسط نیروی انسانیمسلّط به هر دو زبان تولید شوند. به همین دلیل، حجم متون این نوع پیکرهها کم است. امکان تولید پیکرهی دوزبانه بهطور خودکار از وب نیز وجود دارد .[6] پیکرههای خودکار کیفیت خیلی کمتری نسبت به پیکرههای انسانی دارند.
از هر متنی اعم از نوشتههای وبلاگها، اخبار روزنامهها و پیامهای شبکههای اجتماعی میتوان به عنوان پیکرهی یکزبانه استفاده کرد. پیکرههای یکزبانه منبع دیگری برای روشهای مبتنی بر پیکره هستند. پیکرههای یکزبانه برخلاف پیکرههای دوزبانه به وفور موجود هستند. مطالعاتاوّلیه با فرض اینکه آمار تکرار یک کلمه و ترجمهاش در پیکرهای با یک موضوع یکسان است انجام شدهاند .[7] در مطالعهای، فانگ بر اساس تعداد کلمات متفاوت ظاهرشده در هر دو طرف یک کلمهی معیّن کار کردهاست.
[8] معیارهای شباهت گوناگون دیگری مانند TF6 و IDF7 نیز توسط وی مورد مطالعه قرار گرفتهاست .[9] پژوهشگرانی مانند تالونساری سعی داشتهاند تا از پیکرهها، دانش ترجمه استخراج کنند .[10] این مطالعات بر مبنای این فرض هستند که کلماتی که ترجمهی یکسانی در زبانهای متفاوت دارند، توزیعآماری مشابهی باید داشتهباشند .[11] یو و تسوجی نیز با روشی مشابه، دیکشنری دوزبانهای ایجاد کردهاند .[12]
در تحقیقی توسط آقای سادات مدل ترجمهی دو مرحلهای ارائه شدهاست .[13] در مرحلهیاوّل کلمات از زبان مبدأ به زبان مقصد و بالعکس ترجمه میشوند. سپس لیست ترجمهها با هم ترکیب میشود. در مرحلهی دوم ترجمههای استخراجشده بر اساس دانش ریختشناسی8 کلمات هرس میشوند. در مقالهی تائو و ژای از ضریب همبستگی پیرسون9 برای استنتاج همبستگی کلمات استفاده شدهاست .[14] آنها از همبستگی کلمات برای یافتن اسناد مشابه دو زبان انگلیسی و چینی استفاده کردهاند.
در این مقاله روشی مبتنی بر پیکره برای معادلسازی جستار کاربر از فارسی به انگلیسی و بالعکس ارائهشدهاست. در این روش از پیکرههای یکزبانه برای کشف عبارات مصطلح هر زبان استفاده میشود. پیکرههای دوزبانه برای معادلسازی عبارات بین دو زبان استفاده میشوند. الگوریتم مورد استفاده برای اینکار ضریب همبستگی X2 است. ضریب همبستگی بین عبارات 2 تا 4 کلمهای محاسبه میشود. کیفیت عبارات معادل استخراجشده در این روش بسیار بهتر از روشهای مبتنی بر واژهنامه و ماشین ترجمه است.
پیادهسازی الگوریتم بر بستر اسپارک10 و به زبان اسکالا11 انجام شدهاست. این الگوریتم توزیعپذیر12 و مقیاسپذیر است که تحلیل آنها در فصل 3 آورده شده است. در فصل 2 در مورد بسترهای دادههای بزرگ صحبت خواهیمکرد. دلیل پیدایش این بسترها و ضرورت استفاده از آنها در این فصل مورد بحث قرار خواهد گرفت. در فصل 3 روش مورد استفاده در این پژوهش شرح داده میشود. فصل 4 نتایج آزمایشهای تجربی این پژوهش را مورد بررسی قرار میدهد. نتیجهگیری و ایدههایی برای پژوهشهای آتی نیز در فصل 5 آمدهاست.
-2 بستر دادههای حجیم
عبارت دادههای حجیم13 به دادههایی گفته میشود که به دلیل سرعت زیاد تولید، گوناگونی و یا حجم بالای آنها، روشهای معمول قادر به پردازش آنها نیستند. به همین دلیل برای پردازش این دادهها در زمان قابل قبول، نیاز به روشهای متناسب است. مپریدیوس14 متداولترین روش مورد استفاده در حوزهی دادههای بزرگ است .[15] در این روش ابتدا دادهها به صورت کلید و مقدار در میآیند. سپس دادههای با کلید یکسان با هم تجمیع شده و عملیات مورد نظر بر روی آنها انجام میشود. چارچوب هدوپ15 پیادهسازیای متنباز از روش مپریدیوس دارد.
مپریدیوس در هدوپ بر روی HDFS16 کار میکند. HDFS وظیفهی ذخیرهسازی دادهها با افزونگی17 و به صورت توزیعشده را دارد. HDFS برای ذخیرهی فایلهای بزرگ طراحیشده و هر فایل را به بلاکهای توزیعشده تبدیل میکند. نتایج عملیاتدر هدوپ دائماً در HDFS ذخیره میشود. این امر باعث استفادهی زیاد از دیسک سخت و کاهش بازدهی میشود. اسپارک چارچوبی است که برای بهبود ضعفهای هدوپ ایجاد شدهاست.
اسپارک از حافظهی موقت برای ذخیرهسازی نتایج عملیات استفاده میکند. این کار باعث میشود سرعت دسترسی به اطلاعات بسیار بیشتر شود. نحوهی تعریف برنامهی مپریدیوس در هدوپ به طوری است که تنها یک مپ و یک ریدیوس قابل تعریف است. اگر نیاز به چند مپ و ریدیوس داشتهباشیم، باید چند برنامه را یکی پس از دیگری اجرا کنیم که هر کدام خروجی برنامهی قبل را به عنوان ورودی دریافت کند. در اسپارک امکان تعریف هر ترتیب و هر تعدادی مپ و ریدیوس به دلخواه وجود دارد.
-3 روش پژوهش
توضیحات
تعداد جملاتی که هر دو بخش عبارت در آن بهترتیب پشت سر هم وجود دارند.
تعداد جملاتی که بخش اوّل عبارت در آنها وجود دارد.
تعداد جملاتی که بخش دوم عبارت در آنها وجود دارد.
تعداد جملاتی که هیچ یک از بخشهای عبارت در آنها وجود ندارد. این پژوهش با هدف ترجمهی عبارات مصطلح فارسی و انگلیسی صورت گرفتهاست. الگوریتم ارائهشده در این مقاله، به ازای هر عبارت تمامی جملات پیکره را بررسی میکند. با توجه به حجم عظیم دادههای پیکرهها، نیاز به قدرت پردازش بالایی وجود دارد. برای سهولت توزیعپذیری و مقیاسپذیری برنامه، از بستر اسپارک استفاده شد. زبان برنامهنویسی اسکالا برای استفاده در محیط اسپارک طراحی شدهاست. الگوریتممان را به زبان اسکالا پیادهسازی کردیم. این پیادهسازی قابل تعمیم به زبانهای برنامهنویسی دیگر است.
برای محاسبهی متغیرهای جدول 1 باید برای هر عبارت، تمامی جملات پیکرهی یکزبانه بررسی شوند. برای بهبود کارایی19 و افزایش سرعت، محاسبهی همهی متغیرها در یک تکرار20 انجام میشود. ابتدا در حین استخراج عبارات، تعداد همهی عبارات و کلمات شمرده میشود. سپس متغیرهای مورد نیاز برای هر عبارت محاسبه میشود. نحوهی استخراج و شمارش عبارات و کلمات در شکل 2 آمدهاست. تابع getAllNeededPhrases هر جمله را به آرایهای از کلمات و عبارات تبدیل میکند.