مقدمه‌ای بر مدل‌سازی آماری زبان

مدل‌سازی زبان (Language Modeling) تقریبا در تمام کاربردهای پردازش زبان طبیعی استفاده می‌شه. در این مطلب هدفم اینه که کمی مدل‌سازی زبان رو توضیح بدم،‌ کاربرد‌هاش رو بگم و اشاره‌ای کوتاه (صرفا در حد گفتن اسم) به روش‌هایی که برای مدل کردن زبان استفاده میشه بکنم. برای همین این مطلب رو میشه در سه بخش دید:

  1. مسئله‌ی مدل‌سازی زبان
  2. مدل‌سازی آماری زبان
  3. انواع روش‌ها

۱. مسئله مدل‌سازی زبان

اول لازمه بگیم که اصلا مدل‌سازی زبان یعنی چی.  زبان‌های فرمال، مثل زبان‌های برنامه‌نویسی، میتونن به طور کامل و دقیق مدل شن. در این زبان‌ها تمام کلمه‌های رزرو شده تعریف میشن و روش‌هایی که این کلمات میتونن استفاده شوند به طور دقیق مشخص میشن. اگر با علوم کامپیوتر آشنا باشید، احتمالا با نظریه محاسبه هم آشنایید (اتوماتا؟ DFA ؟ NFA ؟ عبارات منظم؟ کتاب پیتر لینز؟ یادتون میاد؟) یکی از کارهای نظریه محاسبه فرموله کردن این زبان‌هاست. اما ما نمی‌تونیم زبان‌های طبیعی رو به این شیوه مدل کنیم. این زبان‌ها طراحی نشده‌اند که نظم دقیق داشته باشند. این زبان‌ها به مرور زمان به وجود اومدند و توسعه یافتند.

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

برای همین است که در مدل‌سازی زبان طبیعی، سعی میشه تا از مثال‌ها و جملات و به عبارت دیگه “دیتا” استفاده شه.

۲. مدلسازی‌ آماری زبان

مدل‌سازی آماری زبان به توسعه مدل‌های آماری‌ای گفته میشه که میتونن کلمه‌ی بعدی در یک توالی از کلمات تخمین بزنند. این مدل‌ها چند کلمه قبلی را به عنوان ورودی دریافت می‌کنند و حدس می‌زنند چه کلمه‌ای ممکنه کلمه بعدی باشه.

مدل‌سازی آماری زبان به هر جمله‌ یک احتمال اختصاص میره و آن احتمال، احتمال وقوع همچین جمله‌ای در آن زبان است. علاوه بر تخصیص احتمال به هر جمله، این مدل‌ها احتمال حضور یک کلمه در یک توالی، به شرط دانستن کلمه‌های قبلی، را تخمین میزد.

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

یک مدل زبانی ذاتا احتمالاتی است. یک مدل زبانی در واقع یک تابع است که به کلمات یک جمله و یا به کل جمله یک احتمال تخصیص می‌دهد.

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

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

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

  • تشخیص متن از روی عکس Optical Character Recognition
  • تشخیص دستخط Handwriting Recognition
  • ترجمه ماشین Machine Translation
  • نوشتن کپشن برای عکس Image Captioning
  • خلاصه‌سازی متن Text Summarization
  • و کاربردهای بسیار دیگر

۳. انواع روش‌ها

تا قبل از استفاده از شبکه‌های عصبی مصنوعی، استفاده از N-Gram رایج‌ترین روش براش ساخت مدل زبان بود. اما اخیرا استفاده از شبکه‌های عصبی مصنوعی در ساخت مدلهای آماری زبان اخیرا رایج شده است و می‌شه گفت بهترین روش‌ حال حاضر است چون این روش‌ها نتایج بهتری نسبت به روش های قدیمی‌تر گرفته‌اند. شاید بتوان گفت مهمترین ویژگی این روش‌ که باعث شده است از روش‌ها قبلی پیشی بگیرد قابلیت تعمیم آن باشد. قابلیت تعمیم بحث گسترده‌ایه که اگر بخوام ساده بگم میشه گفت به این معنیه که مدل از روی داده آموزشی طوری آموزش ببینه و ویژگی‌هایی رو یاد بگیره که بتونه روی داده‌ای که هنوز ندیده به درستی عمل کنه.

شبکه‌های عصبی معروفی که در این کار استفاده می‌شوند RNN و LSTM هستند. این شبکه‌ها تو دسته یادگیری عمیق قرار می‌گیرند و شاید در نوشته‌های بعدی بیشتر در موردشون حرف زدیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

android application Google I/O HomeBrew ImageMagick Material Design mobile PogressBar RecyclerView splash TEDxKish ux آموزش اندروید الوین تافلر اندروید اپلیکیشن برنامه نویسی برنامه نویسی اندروید برنامه‌نویسی برنامه‌نویسی اندروید تداکس کیش تعمیر تغییر سایز عکس با ترمینال خلاصه کتاب دانش داده دانشگاه دانشگاه ایده‌آل دزد دیتا ساینس رشته مهندسی کامپیوتر ریکامندرسیستم سیستم‌های توصیه‌گر فری‌لنس لپتاپ متریال دیزاین معرفی کتاب موج سوم نوار پیشرفت همایش هوش مصنوعی ُجزیره کیش کار کسب و کار یادگیری عمیق یادگیری ماشین