Filter by دسته‌ها
chatGTP
ابزارهای هوش مصنوعی
اخبار
گزارش
تیتر یک
چندرسانه ای
آموزش علوم داده
اینفوگرافیک
پادکست
ویدیو
دانش روز
آموزش‌های پایه‌ای هوش مصنوعی
اصول هوش مصنوعی
یادگیری بدون نظارت
یادگیری تقویتی
یادگیری عمیق
یادگیری نیمه نظارتی
آموزش‌های پیشرفته هوش مصنوعی
بینایی ماشین
پردازش زبان طبیعی
پردازش گفتار
چالش‌های عملیاتی
داده کاوی و بیگ دیتا
رایانش ابری و HPC
سیستم‌‌های امبدد
علوم شناختی
دیتاست
رویدادها
کاربردهای هوش مصنوعی
کتابخانه
اشخاص
شرکت‌های هوش مصنوعی
محصولات و مدل‌های هوش مصنوعی
مفاهیم
کسب‌و‌کار
تحلیل بازارهای هوش مصنوعی
کارآفرینی
هوش مصنوعی در ایران
هوش مصنوعی در جهان
مقاله
 توسعه سیستم ترجمه زبانی در پایتون

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

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

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

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

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

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

سیستم ترجمه

Compact Language Detector 3 که به اختصار CLD3 نامیده می‌شود یک کتابخانه تشخیص زبان مبتنی بر شبکه های عصبی است. این پکیج شامل یک مدل آموزش دیده است که از آن برای تشخیص زبان نوشتاری متون استفاده می‌شود. در حال حاضر این کتابخانه از 107 زبان پشتیبانی می‌کند و زبان خروجی را به صورت کدهای زبانی 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 به عنوان ورودی داده می‌شود.

[irp posts=”7626″]

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

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

شبکه عصبی

نصب

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

!pip install gcld3

موارد کاربرد

  • مقداردهی: پس از نصب کتابخانه CLD3، با استفاده از تابع NNetLanguageIdentifier()  آن می‌توانید شیِ تشخیص متن را مقداردهی کنید.
import gcld3
detector = gcld3.NNetLanguageIdentifier(min_num_bytes=0, 
max_num_bytes=1000)
  • پیش‌بینی یک زبانه: با استفاده از تشخیص‌گر می‌توانید زبانی که بیشترین احتمال را دارد متن ورودی به آن نوشته شده باشد و میزان اعتبار و احتمال پیش‌بینی آن را پیش‌بینی کنید.

سیستم ترجمه

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

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

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

googletrans

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

  • Googletrans از Ajax، API سرویس Google Translate استفاده می‌کند تا متدهای مورد نیار برای تشخیص و ترجمه زبان را فراخون کند.
  • حداکثر تعداد کاراکترهای Googletrans محدود است و برای یک متن واحد برابر با 15000 کاراکتر است.
[irp posts=”25548″]

نصب

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

pip install googletrans

موارد کاربرد

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

موارد کاربرد

جمع‌بندی

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

میانگین امتیاز / 5. تعداد ارا :

مطالب پیشنهادی مرتبط

اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
[wpforms id="48325"]