تولید حجم عظیمی از مقالات و مستندات، جامعه علمی را بر آن داشت تا با بهره گیری از مزایا و تواناییهای روشهای خودکار جهت پردازش این متون، به حوزهای تحت عنوان پردازش زبانهای طبیعی[1] روی آورد. همچنین با توجه به وجود لیستی از معانی کلمات و عبارات یا همان دیکشنری و حتی اختصاص موسساتی جهت تعیین نحوه استفاده از یک زبان در برخی از کشورها، اینطور به نظر میرسد که امکان مکانیزه کردن فهم یک زبان توسط کامپیوتر وجود دارد [1].
مبحث پردازش زبانهای طبیعی خود زیرمجموعه ای از حوزه گستردهی هوش مصنوعی است که توجهات دانشمندان و محققان فراوانی را به خود معطوف کرده است. شاید به ظاهر زبانهایی که ما در زندگی روزمره برای ایجاد ارتباط با دیگران به کار میگیریم، ساده باشند. اما در حقیقت این زبانهای انسانی پیچیدگیهای فراوانی دارند که همین پیچیدگیها منجر به شکل گیری زیرشاخههای متعددی همچون ترجمهی ماشینی[2]، بازیابی اطلاعات[3]، پردازش متون[4]، تشخیص صحبت[5]، تحلیل گرامری[6] ، رفع ابهام معنایی[7] و غیره در زمینه پردازش زبانهای طبیعی شده است.
در بین مباحث متفاوتی که در زمینه پردازش زبانهای طبیعی موجود است، برای اینجانب ابهام معنایی[8] جذابیت بیشتری داشته که در این پایان نامه به این موضوع پرداختهام. ابهام معنایی یکی از مباحث پیچیده و در عین حال پراهمیت است که در شاخههایی نظیر ترجمهی ماشینی و بازیابی اطلاعات نیز مطرح بوده و بعنوان جزء جدایی ناپذیری از اینگونه سیستمها دارای ارزش و حائز اهمیت است.
در واقع این مبحث نشأت گرفته از ابهامی است که در زبانهای طبیعی نهفته است؛ هرچند که وجود این ابهامها در اکثر مواقع از دید انسان پوشیده است. آنچه ابهامهای موجود بین سخنگویان بومی را مرتفع میسازد توانش زبانی آنها، اطلاعات آنها در خصوص جهان پیرامون، طرح پرسش مجدد در صورت وجود یا احساس ابهام و بطور کلی مجموعه ای از اطلاعات زبانی و غیرزبانی است که سخنگویان بومی به آن مجهزند [40].
مسأله ابهام معنایی شامل تشخیص معنای صحیح یک کلمه با توجه به متنی است که در آن آمده است و در زمینه پردازش زبانهای طبیعی به آن رفع ابهام معنایی گفته می شود. این مهم در بسیاری از شاخههای پردازش زبانهای طبیعی نیز مطرح بوده و کاربرد دارد که در این میان اصلیترین و مشهودترین مورد استفادهی آن در شاخه ترجمهی ماشینی است. لذا در این فصل ابتدا اشارهی کوتاهی به گسترهی پردازش زبانهای طبیعی و زیرشاخههای آن داشته، سپس مختصری به شرح مفهوم ترجمهی ماشینی و روشهای آن میپردازیم.
1-2- پردازش زبانهای طبیعی
پردازش زبانهای طبیعی كه معمولاً به اختصار به آن NLP گفته می شود یکی از نیازهای عصر فناوری جهت استفادهی بهینه از منابع اطلاعاتی است که امروزه با رشد حجم مستندات تولید شده و نیاز به نگهداری، دسته بندی، بازیابی و پردازش ماشینی و سریع آنها، توجه به این شاخه بیش از پیش خودنمایی می کند.
زبان طبیعی، زبانی است که ما در تعاملات اجتماعی روزمره با بهره گرفتن از آن مینویسیم و صحبت میکنیم. زبانهای طبیعی متنوع و فراوانی وجود دارند که ممکن است فرم گفتاری و نوشتاری متفاوتی داشته باشند و از هم مستقل باشند. پردازش زبانها و مکالمات طبیعی یکی از اموریست که با ورود فناوری رایانهای به زندگی بشر مورد توجه بسیاری از دانشمندان قرار گرفته است. حتی اندیشهای که آلن تورینگ[9] از ماشین هوشمند خود و تعریفی که او از هوش مصنوعی[10] داشت، در مرحله اول مربوط به پردازش زبانهای طبیعی میشد. بعلاوه تلاشهای بسیاری توسط بشر برای پیگیری این امر صورت گرفته بود که به عنوان مثال ماشین لیزا یکی از محصولات این تلاشهاست. ماشین لیزا ماشینی بود که با تایپ از راه دور با یک انسان، جملات او را پردازش میکرد و جوابی درخور به او میداد.
بنابراین میتوان گفت که یکی از زیرشاخههای با اهمیت در حوزه گستردهی هوش مصنوعی پردازش زبانهای طبیعی است؛ تا حدی که بسیاری از متخصصین در زمینه هوش مصنوعی بر این باورند كه مهمترین وظیفه ای كه هوش مصنوعی باید به آن بپردازد NLP است. دلیلی كه ایشان برای این اعتقاد خود ارائه میكنند آن است كه پردازش زبان طبیعی راه ارتباط مستقیم انسان و كامپیوتر را از طریق مكالمه باز میكند. به این ترتیب دیگر برنامه نویسی معمولی و قراردادهای مربوط به سیستمهای عامل كنار گذاشته خواهد شد. همچنین اگر یک كامپیوتر بتواند یک زبان انسانی را درك كرده و به وسیله آن صحبت كند، دیگر به بسیاری از وظایفی كه باید توسط مهندسین نرم افزار طراحی شوند نیازی نخواهد بود. اما ابعاد و پیچیدگیهای زبانهای بشری دستیابی كامل به این قابلیت را دشوار ساخته است.
در پردازش زبانهای طبیعی، سعی می شود تا قابلیت درك دستوراتی كه به زبانهای انسانی استاندارد نوشته شده اند، به كامپیوتر داده شود. یعنی كامپیوتری داشته باشیم که قادر باشد زبان انسان را تحلیل كند، بفهمد و حتی بتواند زبان طبیعی تولید كند. بدیهی است كه در راستای تحقق این هدف، نیاز به دانشی وسیع از زبان است. بنابراین علاوه بر محققان علوم كامپیوتر، دانش زبانشناسان نیز مورد لزوم میباشد. در زمینه پردازش زبانهای طبیعی باید پاسخ چهار سوال زیر مورد مطالعه قرار گیرد:
- یک زبان از چه کلماتی تشکیل شده است؟
- چگونه کلمات ترکیب میشوند تا جملات زبان تشکیل شوند؟
- معنی کلمات زبان چیست؟
- معانی کلمات چگونه به کار گرفته میشوند تا معنی جملات ساخته شود؟
در حقیقت هدف اصلی در NLP، ماشینی کردن فرایند درک و برداشت مفاهیم بیان گردیده با یک زبان طبیعی انسانی میباشد. به تعریف دقیقتر پردازش زبانهای طبیعی عبارت است از استفاده از کامپیوتر برای پردازش زبان گفتاری و نوشتاری به نحوی که کامپیوترها از زبان طبیعی به عنوان ورودی و خروجی استفاده نمایند. بدین وسیله میتوان به ترجمهی زبانها پرداخت، از صفحات وب و بانکهای اطلاعاتیِ نوشتاری جهت پاسخ دادن به پرسشها استفاده کرد، یا با دستگاهها مثلاً برای مشورت گرفتن به گفتگو پرداخت.
به طوركلی نحوه كار این شاخه این است كه زبانهای طبیعیِ انسان را تقلید كند. در این میان، پیچیدگی انسان از بعد روانشناسی بر روی ارتباط متعامل تأثیر میگذارد. لذا پردازش زبانهای طبیعی رهیافت بسیار جذابی برای ارتباط بین انسان و ماشین محسوب میشود و در صورت عملی شدنش به طور کامل، میتواند تحولات شگفتانگیزی را در پی داشته باشد. شکل زیر یک شمای کلی از معماری پردازش زبانهای طبیعی را نشان میدهد:
فرم در حال بارگذاری ...