پردازش زبان‌های طبیعی

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

پردازش زبان‌های طبیعی چطور کار می‌کند؟

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

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

پردازش زبان طبیعی

سطوح و تکنیک‌های پردازش زبان طبیعی

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

سطوح پردازش زبان‌های طبیعی

ترکیب:

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

نشانه‌گذاری

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

در اینجا مثالی از علامت‌گذاری یک جمله ساده آورده شده است:

علی به مدرسه رفت. = [ “علی” ، “به”، “مدرسه”، “رفت”]

 

برچسب‌گذاری بخشی از گفتار

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

“علی”: فاعل، “به”: حرف اضافه، “مدرسه”: قید، “رفت”: فعل، “.”: نقطه‌گذاری

برچسب زدن PoS برای شناسایی روابط بین کلمات مفید است و باعث درک مفهوم جملات می‌شود.

 

مواد و روش‌ها

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

رویکرد مبتنی بر قوانین

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

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

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

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

رویکرد یادگیری ماشین

این رویکرد شامل الگوریتم‌هایی برای درک زبان براساس مشاهدات قبلی هستند. این سیستم از روش‌های آماری برای ایجاد “بانک اطلاعاتی” خود استفاده می‌کنند. همچنین آموزش آن‌ها به‌منظور ایجاد ارتباط بین ورودی خاص و خروجی مربوط به آن است.

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

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

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

رویکرد ترکیبی

رویکرد سوم مربوط  به ترکیب سیستم‌های مبتنی بر قانون و سیستم‌های یادگیری ماشینی است. از این طریق می‌توان از مزایای هر دو روش بهره‌مند شد و نتایج خوبی را بدست آورد.

NLP

 

الگوریتم‌های پردازش زبان‌های طبیعی

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

الگوریتم طبقه‌بندی متن

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

برخی از محبوب‌ترین الگوریتم‌های طبقه‌بندی متن به شرح ذیل هستند:

Naive Bayes: مجموعه‌ای از الگوریتم‌های احتمالاتی است که از قضیه بیز نتیجه گرفته شده تا برچسب‌های یک متن را پیش‌بینی کند. براساس قضیه بیز احتمال وقوع رویداد (A) درصورت وقوع ویداد قبلی (B) قابل محاسبه است. این مدل فرض می‌کند که هر متغیر (ویژگی‌ها و پیش‌بینی کننده‌ها) مستقل است، هیچ تاثیری بر سایرین ندارد و هر متغیر تاثیر برابر برنتیجه دارد. از این الگوریتم برای طبقه‌بندی متن، آنالیز احساس، سیستم‌های توصیه و فیلترهای اسپم استفاده می‌شود.

ماشین بردار پشتیبان (SVM): االگوریتمی است که بیشتر برای حل مشکلات طبقه‌بندی با دقت بالا استفاده می‌شود. مدل‌های طبقه‌بندی نظارت شده برای پیش‌بینی طبقه‌بندی یک متن از مجموعه‌ایی از نمونه‌های برچسب‌گذاری شده دستی استفاده می‌کند.

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

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

 

الگوریتم استخراج متن

استخراج متن شامل استخراج تکه‌های خاصِ داده از متن می‌شود. برای بیرون کشیدن کلمات کلیدی، ماهیت‌ها (مانند نام شرکت یا مکان) یا خلاصه کردن متن از مدل‌های استخراج استفاده می‌گردد. در ادامه رایج‌ترین الگوها برای استخراج متن بیان می‌شود:

فراوانی وزنی کلمه کلیدی (TF-IDF): این رویکرد آماری، نحوی ارتباط یک کلمه با متن در مجموعه‌ای از اسناد را مشخص می‌کند و اغلب برای استخراج ارتباط کلمات کلیدی متن کاربرد دارد. اهمیت یک کلمه براساس تعداد دفعات ظهور بیشتر در متن افزایش می‌یابد  اما بر اثر ظهور بیشتر در اسناد کاهش می‌یابد. به این معنی که کلمه‌ای که در اسناد زیادی ظاهر شود احتمالاً رایج و اهمیت کمتری دارد.

عبارت منظم (Regex): یک عبارت منظم دنباله‌ای ازکاراکترهاست که الگویی را تعریف می‌کند. اگر یک رشته شامل الگوی جستجوی تعیین شده باشد، Regex آن را بررسی می‌کند. این الگو اغلب برای استخراج کلمات کلیدی و ماهیت‌ها از داخل متن استفاده می‌شود.

میدان تصادفی شرطی (CRF): این رویکرد یادگیری ماشین الگوها را یاد می‌گیرد و داده‌ها را از طریق اختصاص وزن به مجموعه‌ای از ویژگی‌ها استخراج می‌کند. این الگو بمراتب از Regex بهتر و کاراتر است و نتایج بهتری را برای بیان‌های مبهم ایجاد می‌کند.

استخراج سریع کلیدواژه (RAKE): این الگوریتم برای استخراج کلمه کلیدی با استفاده از لیستی از ایست‌واژه‌ها (کلماتی که توسط موتور جستجوگر نادیده گرفته می‌شوند) و اصطلاحات تعیین شده به شناسایی کلمات یا عبارات مربوط در متن می‌پردازد. به عبارتی ساده‌تر فراوانی کلمه و همبستگی آن با سایر کلمات را تحلیل می‌کند.

{{ time }}

{{ date }}

گروه دانش‌بنیان پارسانیس با بهره‌گیری از کادری مجرب آماده ارائه‌ خدمات نوین پردازش صوت و متن به شما عزیزان است.



صفحه اصلی

parsanis.com