تکنیک‌های پردازش زبان طبیعی (NLP) که هر دانشمند داده باید بداند.

منتشر‌ شده در towardsdatascience به تاریخ ۲۱ ژانویه ۲۰۲۱
لینک منبع: 6 NLP Techniques Every Data Scientist Should Know

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

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

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

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

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

بن‌واژه‌سازی (Lemmatization) و ریشه‌یابی (Stemming) در پردازش زبان طبیعی

بن‌واژه‌سازی و ریشه‌یابی احتمالاً دو مرحله اولیه برای ساخت یک پروژه NLP هستند. شما اغلب از یکی از این دو مرحله استفاده می‌کنید. آن‌ها مفاهیم اصلی این رشته را نشان می‌دهند و اغلب اولین تکنیک‌هایی هستند که شما در سفر خود برای تبدیل‌شدن به یک استاد NLP اجرا خواهید کرد.

اغلب، مبتدیان معمولاً این دو تکنیک را اشتباه می‌گیرند. اگرچه آن‌ها شباهت‌های خود را دارند، اما کاملاً متفاوت هستند.

  • ریشه‌یابی (Stemming): ریشه‌یابی مجموعه‌ای از الگوریتم‌هاست که با حذف انتهای هر کلمه برای رسیدن به شکل مصدری آن کار می‌کند. این الگوریتم‌ها این کار را با در نظر گرفتن پیشوندها و پسوندهای مشترک زبان که مورد تجزیه‌وتحلیل قرار می‌گیرند، انجام می‌دهند. حذف انتهای کلمات می‌تواند منجر به ایجاد شکل مصدری صحیح آن شود، اما همیشه این‌طور نیست. الگوریتم‌های زیادی برای انجام ریشه‌یابی کلمه وجود دارد؛ رایج‌ترین الگوریتم مورداستفاده در زبان انگلیسیPorter stemmer است. این الگوریتم شامل ۵ مرحله است که به ترتیب برای به دست آوردن ریشه کلمه کار می‌کنند.
  • بن‌واژه‌سازی (Lemmatization): برای غلبه بر معایب ناشی از ریشه‌یابی، الگوریتم‌های بن‌واژه‌سازی طراحی شدند. در این نوع الگوریتم‌ها، برخی از دانش‌های زبانی و دستورهای زبان باید به الگوریتم داده شود تا در زمان استخراج شکل مصدری یک کلمه، تصمیمات بهتری بگیرد. برای اجرای دقیق الگوریتم‌های بن‌واژه‌سازی، آن‌ها نیاز به استخراج صحیح هر کلمه دارند. بنابراین آن‌ها اغلب به یک فرهنگ لغت زبان نیاز دارند تا بتوانند هر کلمه را به‌درستی طبقه‌بندی کنند.
شکل 2: ریشه‌یابی در مقابل بن‌واژه‌سازی
شکل 2: ریشه‌یابی در مقابل بن‌واژه‌سازی

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

استخراج کلمات کلیدی

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

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

استخراج کلمات کلیدی کاربردهای زیادی در دنیای امروز از جمله نظارت بر رسانه‌های اجتماعی، خدمات مشتری / بازخورد، تجزیه‌وتحلیل محصول و بهینه‌سازی موتور جستجو دارد.

شناسایی نهادهای دارای نام (NER)

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

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

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

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

مدل‌سازی موضوعی در پردازش زبان طبیعی

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

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

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

شکل ۳: مدل‌سازی موضوعی
شکل ۳: مدل‌سازی موضوعی

خلاصه‌سازی در پردازش زبان طبیعی

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

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

در مرحله استخراج، الگوریتم‌ها با استخراج بخش‌های مهم متنی بر اساس فرکانس آن‌ها، خلاصه‌ای را ایجاد می‌کنند. پس از آن، الگوریتم خلاصه دیگری را تولید می‌کند، این بار با ایجاد یک متن کاملاً جدید که همان پیام متن اصلی را منتقل می‌کند. الگوریتم‌های خلاصه‌سازی متن زیادی، مانند LexRank and TextRank وجود دارند.

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

تجزیه ‌و تحلیل احساسات

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

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

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

سخن پایانی

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

پردازش زبان طبیعی یکی از موضوعات داغ امروز و حوزه جذب استعداد است. شرکت‌ها و مؤسسات تحقیقاتی در حال رقابت برای ایجاد برنامه‌های کامپیوتری هستند که به‌طور کامل زبان‌های انسانی را درک کرده و از آن‌ها استفاده می‌کنند. عوامل و مترجمان مجازی از زمانی که برای اولین بار در دهه ۱۹۶۰ظاهر شدند، به‌سرعت بهبود یافتند.

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

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