سیستم ترجمه
آموزش‌های پیشرفته هوش مصنوعیپردازش زبان طبیعی

توسعه سیستم ترجمه زبانی در پایتون

0
زمان مطالعه: ۴ دقیقه

اگر برایتان جالب است که بدانید یک سیستم ترجمه و تشخیص زبان چگونه کار می‌کنند، بهتر است از کتابخانه‌های متن باز پایتون استفاده کنید و خودتان با اجرای چند خط کد چنین سیستمی را توسعه دهید.

تشخیص زبان Text language indentification به فرایند پیش‌بینی زبان یک متن اطلاق می‌شود. در مقابل ترجمه متنی به فرایندی گفته می‌شود که طی آن متنی از یک زبان به زبان دیگر ترجمه می‌شود. اغلب در پروژه‌های پردازش زبان طبیعی، به مواردی بر می‌خوریم که زبان متن مشخص نیست و یا اینکه زبان متن با مقاصد و اهداف ما همخوانی ندارد. از این روی تشخیص متن و ترجمه آن به زبان دیگر به نوبه خود مسئله حائز اهمیتی است.

در مقاله حاضر برای سیستم ترجمه به زبان مورد نظرمان و تشخیص متن از برخی از کتابخانه‌های متن‌باز (از گوگل) استفاده کردیم.

Compact Language Detector 3 (محصول شرکت گوگل)

سیستم ترجمه

Compact Language Detector 3 که به اختصار CLD3 نامیده می‌شود یک کتابخانه تشخیص زبان مبتنی بر شبکه های عصبی است. این پکیج شامل یک مدل آموزش دیده است که از آن برای تشخیص زبان نوشتاری متون استفاده می‌شود. در حال حاضر این کتابخانه از ۱۰۷ زبان پشتیبانی می‌کند و زبان خروجی را به صورت کدهای زبانی BCP 47 پیش‌بینی می‌کند.

Compact Language Detecto

محتویات پکیج CLD3

پکیج CLD3 شامل کد استنباطی Inference code و یک مدل آموزش‌دیده عصبی است. این پکیج رشته‌ کاراکترهای n-gram را از متن ورودی استخراج و سپس فراوانی هر کدام آن‌ها را در متن محاسبه می‌‌کند.

برای مثال، برای رشته “banana”، یونیگرام‌ها “b”، “a” و “n” و بایگرام‌ها “ba”، “na” و “an” و تریگرم‌ها “ban”، “ana” و “nan” هستند.

پکیج CLD3

در مرحله بعد n-gramها به یک id هَش می‌شوند و به هر id ، برای آموزش ، یک بردار متراکم تعبیه‌ کلمه Dense vector embedding به عنوان ورودی داده می‌شود.

چیت‌شیت کتابخانه سایکیت لرن در پایتون برای یادگیری ماشین

معماری شبکه عصبی

در یک سیستم ترجمه برای پیش‌بینی زبانِ متنِ ورودی، عملیات گذر به جلو (forward pass) را در سراسر شبکه انجام می‌دهیم. مدل، میانگین تعبیه‌­های مرتبط با هر یک از ngramها را به صورت کسری محاسبه می‌کند و تعبیه‌‌هایی که میانگین آن‌ها محاسبه شده به هم متصل می‌شوند تا لایه تعبیه‌ کلمات را ایجاد کنند. باقی اجزای شبکه شامل یک لایه پنهان ( تابع ReLu)  و یک لایه softmax می‌شود.

شبکه عصبی

نصب

پکیج CLD3 را می‌توان از PyP1 و با استفاده از فرمان مقابل نصب کرد:

موارد کاربرد

  • مقداردهی: پس از نصب کتابخانه CLD3، با استفاده از تابع NNetLanguageIdentifier()  آن می‌توانید شیِ تشخیص متن را مقداردهی کنید.

  • پیش‌بینی یک زبانه: با استفاده از تشخیص‌گر می‌توانید زبانی که بیشترین احتمال را دارد متن ورودی به آن نوشته شده باشد و میزان اعتبار و احتمال پیش‌بینی آن را پیش‌بینی کنید.

سیستم ترجمه

  • N زبان پیش‌بینی شده برتر: CLD3 می‌تواند فهرستی از N زبان با بیشترین احتمال و هم‌چنین میزان احتمال مرتبط با هر یک از آن‌ها را پیش‌بینی کند.

زبان پیش‌بینی شده برتر

سرویس ترجمه Google Translategoogletrans

googletrans

Googletrans یک کتابخانه متن‌باز به زبان پایتون است که API سرویس Google Translate را پیاده‌سازی می‌کند و از همان سرور translate.googel.com استفاده می‌کند. سرویس ترجمه گوگل می‌تواند به صورت خودکار زبان را تشخیص دهد و بنابراین لازم نیست در هنگام استفاده از این سرویس زبان متن ورودی را مشخیص کنید.

  • Googletrans از Ajax، API سرویس Google Translate استفاده می‌کند تا متدهای مورد نیار برای تشخیص و ترجمه زبان را فراخون کند.
  • حداکثر تعداد کاراکترهای Googletrans محدود است و برای یک متن واحد برابر با ۱۵۰۰۰ کاراکتر است.
آموزش رایگان محاسبات پایتون سه: ساختارهای داده

نصب

پکیج Googletrans را می‌توانید از PyPl و با استفاده از فرمان مقابل اجرا کنید:

موارد کاربرد

  • مقداردهی: پس از نصب کتابخانه Googletrans، با استفاده از تابع Translator()  می‌توانید شیِ مترجم متن را مقداردهی کنید.
  • ترجمه: سیستم ترجمه Google Translate یک تابع translate()  دارد که می‌تواند متن ورودی را از زبانی به زبان دیگر ترجمه کند. در صورتی‌که زبان متن مبدأ مشخص نشده باشد، Google Translate تلاش می‌کند زبان آن را تشخیص دهد.

موارد کاربرد

جمع‌بندی

در این مقاله مرتبط با سیستم ترجمه به شما نشان دادیم که چگونه می‌توان با استفاده از کتابخانه CLD3 زبان یک متن را تشخیص داد و با استفاده از کتابخانه Googletrans متن ورودی را به زبان دیگری ترجمه کرد و گفتیم که کتابخانه Googletrans می‌تواند زبان متن ورودی را هم تشخیص دهد.

این مطلب چه میزان برای شما مفید بوده است؟
[کل: ۱ میانگین: ۴]

هر کس بگوید هوش مصنوعی توانایی تشخیص دروغ را دارد فریبکار است!

مقاله قبلی

ساخت سنسور عواطف صوتی با استفاده از یادگیری عمیق

مقاله بعدی

شما همچنین ممکن است دوست داشته باشید

نظرات

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد.