پردازش زبان طبیعی (Natural Language Processing یا بهاختصار NLP) زیرشاخهای از هوش مصنوعی (AI) است. پردازش زبان طبیعی به ماشینها کمک میکند زبان انسان را پردازش و درک کنند تا بتوانند بهطور خودکار کارهایی تکراری را انجام دهند؛ برای مثال، میتوان به ترجمهی ماشینی، خلاصهنویسی، طبقهبندی متون و بررسی املای کلمات (Spell Check) اشاره کرد.
- 1. مقدمه
- 2. هوش مصنوعی به زبان ساده
- 3. هوش مصنوعی چیست؟
- 4. پردازش زبان طبیعی (Natural Language Processing) چیست؟
- 5. تاریخچه پردازش زبان طبیعی
- 6. چرا پردازش زبان طبیعی اهمیت دارد؟
- 7. پردازش زبان طبیعی چطور کار میکند؟
- 8. الگوریتمهای پردازش زبان طبیعی چیست؟
- 9. کاربردهای پردازش زبان طبیعی چیست؟
- 10. خلاصهی مطالب
- 11. آموزش دیتا ساینس با کلاسهای آنلاین آموزش علم داده کافهتدریس
مقدمه
کامپیوترها در کار با دادههای ساختاریافته، مانند صفحات گسترده (Spreadsheets) و جداول پایگاه داده، عالی عمل میکنند، اما ما انسانها معمولاً ازطریق کلمهها با هم ارتباط برقرار میکنیم، نه با جدولها. این برای رایانهها چالش بزرگی است. بسیاری از اطلاعات در جهان بدون ساختار است، مانند متن خام بههر زبان انسانی، مانند انگلیسی یا فارسی؛ اما سؤال اینجاست که چگونه میتوانیم کامپیوتر را به درک متن بدون ساختار و استخراج دادهها از آن وادار کنیم؟ جواب پردازش زبان طبیعی (Natural Language Processing) است. در این مقاله با پردازش زبان طبیعی آشنا میشویم، دلیل اهمیت آن را بررسی میکنیم، میفهمیم چطور کار میکند و درنهایت موارد کاربرد آن را برخواهیم شمرد.
هوش مصنوعی به زبان ساده
پردازش زبان طبیعی یا Natural Language Processing درواقع زیرشاخهای از حوزهی گستردهی هوش مصنوعی محسوب میشود. بنابراین شاید بهتر باشد. قبل از ورود به بحث پردازش زبان طبیعی، کمی درمورد هوش مصنوعی صحبت کنیم و ببینیم دقیقا به چه معناست.
هوش مصنوعی (AI) موضوعی است که دههها در فلسفه و داستانهای علمی تخیلی مورد بحث قرار گرفته است، اما به سرعت در حال تبدیل شدن به واقعیت است.
در سال ۲۰۱۷، هوش مصنوعی به یک نام آشنا تبدیل شد. با سرمایهگذاری میلیاردها دلاری شرکتهایی مانند گوگل برای توسعه هر چه بیشتر برنامههای کاربردی هوش مصنوعی، همه روزه در این زمینه اخبار منتشر میشد.
هوش مصنوعی موضوعات واقعاً جذابی را پوشش میدهد، از نحوه طراحی ماشینهای هوشمند گرفته تا اینکه وقتی این ماشینها بیشتر از انسانها در همه جا حضور دارند، آینده ما چگونه خواهد بود.
اما این هوش مصنوعی دقیقا چیست؟ و چرا همه تا این حد در مورد آن هیجان زده هستند؟
هوش مصنوعی علم ساخت ماشینهایی است که میتوانند مانند انسان فکر کنند و میتواند کارهایی را انجام دهد که «هوشمند» در نظر گرفته میشوند.
یک مثال ساده زمانی است که سیری (Siri) به شما میگوید امروز چه زمانی در شهر شما باران میبارد یا چه رستوران یا کافهای در نزدیکی شما وجود دارد. یا زمانی که گوگل ترنسلیت (Google Translate) متنی را که در اختیارش قرار دادهاید، به هر زبانی که بخواهید ترجمه میکند.
اما مردم واقعاً در مورد هوش مصنوعی چه فکر میکنند؟
وقتی از مردم در مورد هوش مصنوعی سوال میشود، معمولاً به فیلمهای پرفروش هالیوود مانند ترمیناتور (The Terminator) فکر میکنند.
تعجبآور نیست وقتی با کسی صحبت میکنید که قبلاً هیچ چیزی در مورد هوش مصنوعی (AI) نشنیده و ندیده است، اغلب تصاویری شبیه به آنچه در فیلمهایی مانند The Terminator یافت میشود را تداعی میکند. به هر حال چیزی که از هوش مصنوعی دیده یا شنیدهاند، معمولا همانی است که در این نوع فیلمها نمایش داده میشود.
آنها فکر میکنند ما در نقطهای هستیم که هوش مصنوعی میتواند هر کاری را برای ما انجام دهد، مثلا انجام کارهایی که در محل کار داریم یا تصمیمگیری در مورد همهچیز بدون مشورت با انسان و چیزهایی شبیه به اینها.
اما آیا هوش مصنوعی واقعا همان است که در ذهن عموم مردم جا افتاده است؟
بیایید تعریف دقیقتر و البته سادهای از هوشمصنوعی را داشته باشیم.
هوش مصنوعی چیست؟
هوش مصنوعی (AI)، استفاده از رایانه برای انجام کارهایی است که به طور سنتی به هوش انسانی نیاز دارد. هوش مصنوعی میتواند حجم زیادی از دادهها را به روشی پردازش کند که انسان نمیتواند. هدف هوش مصنوعی این است که بتواند کارهایی مانند تشخیص الگوها، تصمیمگیری و قضاوت را مانند انسانها انجام دهد. برای انجام این کار، ما به دادههای زیادی نیاز داریم که به ماشینها به عنوان ورودی داده شود. هوش مصنوعی اساس برخی از فناوریهای مهم حال حاضر، مانند تشخیص و طبقهبندی تصاویر است. هوشمصنوعی زیرشاخههای زیادی را دربرمیگیرد، به طور مثال پردازش زبان طبیعی (NLP) ، بینایی ماشین (Computer Vision) ، بازیهای ویدیویی، رباتیک (Robotics) و غیره.
پردازش زبان طبیعی (Natural Language Processing) چیست؟
پردازش زبان طبیعی (Natural Language Processing) به شاخهای از علوم رایانه (Computer Science) و بهطور خاص، شاخهای از هوش مصنوعی (AI) مربوط میشود. این شاخه به کامپیوترها این امکان را میدهد تا متن و کلمههای گفتاری را بههمان شیوهای درک کنند که انسان میتواند بفهمد.
پردازش زبان طبیعی (NLP) زبانشناسی محاسباتی (Computational Linguistics) را با مدلهای (Statistical Models)، یادگیری ماشین (Machine Learning) و یادگیری عمیق (Deep Leaning) ترکیب میکند که همان زیرشاخه یادگیری ماشین است. در کنار هم این فناوریها کامپیوترها را قادر میکنند تا زبان انسان را در قالب متن یا دادههای صوتی پردازش و معنای کامل آن را درک کنند.
برای مطالعه دربارهی هوش مصنوعی که درواقع زیربنای پردازش زبان طبیعی محسوب میشود روی این لینک کلیک کنید:
هوش مصنوعی چیست و چه کاربردهایی دارد؟
تاریخچه پردازش زبان طبیعی
حوزه پردازش زبان طبیعی در دهه ۱۹۴۰ و پس از جنگ جهانی دوم آغاز شد. در آن زمان، مردم اهمیت ترجمه از یک زبان به زبان دیگر را درک کردند و امیدوار بودند که ماشینی ایجاد کنند که بتواند این نوع ترجمه را به صورت خودکار انجام دهد. با این حال، واضح است که این کار آنطور که مردم در ابتدا تصور میکردند آسان نبود. در سال ۱۹۵۸، برخی از محققان مسائل مهمی را در توسعه NLP شناسایی کردند. یکی از این محققین نوام چامسکی (Noam Chomsky) بود که یکی از مشکلاتی که توجهش را جلب کرد این بود که مدلهای زبانی جملاتی را که بیمعنی هستند اما از نظر دستوری درست هستند را با جملاتی که بیمعنی هستند و از نظر گرامری صحیح نیستند، یکسان در نظر میگیرند.
تقریباً در همان زمان در تاریخ، از سال ۱۹۵۷ تا ۱۹۷۰، محققان در مورد NLP به دو بخش تقسیم شدند: نمادین (symbolic) و تصادفی (stochastic) . محققان نمادین یا مبتنی بر قانون، بر زبانهای رسمی و تولید نحو تمرکز کردند. این گروه متشکل از بسیاری از زبان شناسان و دانشمندان کامپیوتر بود که این شاخه را سرآغاز تحقیقات هوش مصنوعی میدانستند. محققان تصادفی بیشتر به روشهای آماری و احتمالی NLP علاقهمند بودند و بر روی مسائل مربوط به تشخیص کاراکترهای نوری و تشخیص الگوی بین متون کار میکردند.
پس از سال ۱۹۷۰، محققان حتی بیشتر از این هم تقسیم شدند و با در دسترس قرار گرفتن فناوری و دانش بیشتر، حوزههای جدیدی از NLP معرفی شد. یکی از این حوزههای جدید، پارادایمهای مبتنی بر منطق (logic-based paradigms) بود، زبانهایی که بر کدگذاری قواعد و زبان در منطقهای ریاضی تمرکز داشتند. این حوزه از تحقیقات NLP بعدها به توسعه زبان برنامه نویسی Prolog کمک کرد. درک زبان طبیعی (Natural Language Understanding) یکی دیگر از حوزههای NLP بود که به ویژه تحت تأثیر SHRDLU، پایان نامه دکتری پروفسور تری وینوگراد (Professor Terry Winograd’s doctoral thesis) قرار گرفت. این برنامه یک کامپیوتر را در دنیایی از بلوکها قرار می داد و آن را قادر میساخت تا بر اساس دستورالعملهای زبان طبیعی کاربر، سؤالات مربوط به بلوکها را دستکاری کرده و به آنها پاسخ دهد. بخش شگفت انگیز این سیستم توانایی آن برای یادگیری و درک، با دقت شگفت انگیز بود، چیزی که در حال حاضر فقط در حوزههای بسیار محدودی امکان پذیر است. در این حالت کامپیوتر به وضوح قادر بود روابط بین اشیاء را حل کند و ابهامات خاصی را درک کند. چهارمین حوزه NLP که پس از سال ۱۹۷۰ به وجود آمد، که مدلسازی گفتمان (discourse modeling)نام داشت. این حوزه، تبادلات بین افراد و رایانهها را بررسی میکرد و ایدههایی مانند نیاز به تغییر «تو» در سؤال گوینده به «من» در پاسخ رایانه را بررسی میکرد.
از سال ۱۹۸۳ تا ۱۹۹۳، محققان در تمرکز بر تجربهگرایی و مدلهای احتمالی متحدتر شدند. محققان توانستند برخی استدلالهای چامسکی و دیگران را در دهههای ۱۹۵۰ و ۶۰ آزمایش کنند و کشف کردند که بسیاری از استدلالهایی که در متن قانعکننده بودند، از نظر تجربی دقیق نیستند. بنابراین، تا سال ۱۹۹۳، روشهای احتمالی و آماری پردازش زبان طبیعی رایجترین انواع مدلها بودند. در دهه گذشته، NLP به دلیل حجم وسیعی از اطلاعات پراکنده در اینترنت، بیشتر بر استخراج و تولید اطلاعات متمرکز شده است. علاوه بر این، رایانههای شخصی اکنون در همه جا وجود دارند، و بنابراین کاربردهای NLP در سطح مصرفکننده بسیار رایجتر و انگیزهای برای تحقیقات بیشتر هستند.
چرا پردازش زبان طبیعی اهمیت دارد؟
یکی از دلایل اهمیت پردازش زبان طبیعی برای مشاغل این است که میتوان از آن برای تجزیهوتحلیل حجم زیادی از دادههای متنی، مانند نظرات کاربران رسانههای اجتماعی، نقدهای آنلاین، گزارشهای خبری و غیره، استفاده کرد.
همهی این دادههای تجاری حاوی تعداد زیادی اطلاعات ارزشمند هستند و پردازش زبان طبیعی (Natural Language Processing) میتواند به مشاغل کمک کند بهسرعت به این اطلاعات دست یابند.
پردازش زبان طبیعی با کمک به ماشینها امکان درک زبان انسان بهشیوهای سریعتر، دقیقتر و سازگارتر از انسان را فراهم میکند. ابزارهای پردازش زبان طبیعی دادهها را بهصورت بلادرنگ (Real-time)، 24ساعته و برای هفت روز هفته پردازش میکنند و معیارهای یکسانی را برای همه دادهها اعمال میکنند؛ بنابراین میتوان بهدقت نتایج خروجی اعتماد کرد.
پردازش زبان طبیعی چطور کار میکند؟
در پردازش زبان طبیعی زبان انسان به قطعاتی تقسیم میشود تا ساختار دستوری جملهها و معنی کلمهها در بستر متن (Context) تحلیل و درک شود. این امر به کامپیوترها کمک میکند تا متن گفتاری یا نوشتاری را مانند انسان بخوانند و درک کنند.
در اینجا به چند وظیفهی اساسی برای پیشپردازش دادهها اشاره میکنیم که محققان علم داده یا دیتا ساینس باید قبل از استفاده از ابزارهای پردازش زبان طبیعی انجام دهند:
- توکنسازی (Tokenization): در این روش متن را به واحدهای معنایی کوچکتر تقسیم میکنند.
- برچسبگذاری اجزای کلام (Part-of-speech-tagging): به علامتگذاری کلمهها بهعنوان اسم، فعل، صفت، قید، ضمیر و غیره گفته میشود.
- ریشهیابی کلمهها (Stemming & Lemmatization): استانداردسازی کلمهها با تبدیل آنها به ریشه.
- حذف کلمههای توقف (Stop Word Removal): حذفکردن کلمههای متداول که اطلاعات کم یا غیرمهم دارند، برای مثال، حروف اضافه در، به، روی و غیره.
تنها بعد از این مراحل است که ابزارهای پردازش زبان طبیعی میتوانند متن را به چیزی تبدیل کنند که یک ماشین میتواند درک کند.
مرحلهی بعدی ساخت الگوریتم پردازش زبان طبیعی (Natural Language Processing) است.
الگوریتمهای پردازش زبان طبیعی چیست؟
وقتی دادههای ما پیشپردازش شد، وقت آن است که به مرحلهی بعدی برویم، یعنی ایجاد یک الگوریتم NLP و آموزش آن بهگونهای که بتواند زبان طبیعی را تفسیر کند و کارهای خاصی را انجام دهد.
الگوریتمهای اصلی NLP
برای حل مسائل NLP میتوانیم از دو نوع الگوریتم اصلی استفاده کنیم:
- رویکردی مبتنی بر قانون (Rule-based approach): سیستمهای مبتنی بر قانون متکی بر قوانین دستوری هستند که باید متخصصان آنها را زبانشناسی کنند. این روش اولین رویکرد برای ایجاد الگوریتمهای NLP بوده است که امروزه نیز از آن استفاده میشود.
- الگوریتمهای یادگیری ماشین (Machine Learning Algorithms): مدلهای یادگیری ماشین مبتنی بر روشهای آماری هستند و پس از اینکه دادههای آموزشی را دریافت میکنند، یاد میگیرند وظایف مدنظر را انجام دهند.
بزرگترین مزیت الگوریتمهای یادگیری ماشین توانایی آنها در یادگیری خودکار است. در این روش به تعریف قوانین دستی نیازی نداریم؛ درعوض ماشینها از دادههای قبلی یاد میگیرند تا خودشان بهتنهایی خروجی را پیشبینی کنند.
الگوریتمهای یادگیری ماشین با دریافت دادههای آموزشی و خروجیهای موردانتظار برای آنها (برچسبها) ارتباط میان ورودی و خروجیها را یاد میگیرند؛ سپس ماشینها از روشهای تجزیهوتحلیل آماری برای استخراج ویژگیهای مهم متن استفاده میکنند. درنهایت از این ویژگیها برای پیشبینی خروجی دادههای دیدهنشده استفاده میکنند.
مطالعهی این مطلب اطلاعات بیشتری دربارهی یادگیری ماشین و الگوریتمهای در اختیار شما قرار میدهد:
یادگیری ماشین (Machine Learning) چیست و چگونه کار میکند؟
کاربردهای پردازش زبان طبیعی چیست؟
بسیاری از ابزارهایی که امروزه زندگی ما را آسان میکنند بهلطف پردازش زبان طبیعی (Natural Language Processing) امکانپذیر هستند. پردازش زبان طبیعی کاربردهای بسیار متنوعی دارد که برخی از آنها عبارتاند از:
- تحلیل احساسات (Sentiment Analysis)
- طبقهبندی متن (Text Classification)
- چتباتها و دستیاران مجازی (Chatbots & Virtual Assistants)
- استخراج متن (Text Extraction)
- ترجمهی ماشینی (Machine Translation)
- خلاصهسازی متن (Text Summarization)
- هوش اقتصادی (Market Intelligence)
- تصحیح خودکار (Auto-Correct)
- طبقهبندی قصد یا نیت (Intent Classification)
- تشخیص شرایط اضطراری (Urgency Detection)
- تشخیص گفتار (Speech Recognition)
برای مطالعه بیشتر درباره هر یک از این موارد کاربرد پردازش زبان طبیعی، میتوانید به این لینک سر بزنید استفاده کنید:
با ۱۱ کاربرد پردازش زبان طبیعی آشنا شوید!
خلاصهی مطالب
پردازش زبان طبیعی (Natural Language Processing) یکی از حوزههای در حال رشد و امیدوارکننده در هوش مصنوعی (AI) است. در حال حاضر این فناوری در بسیاری از برنامههای کاربردی که ما روزانه از آنها استفاده میکنیم، از چتباتها گرفته تا موتورهای جستوجو، حضور دارد.
بهلطف پردازش زبان طبیعی، مشاغل برخی از فرایندهای روزانهی خود را بهصورت خودکار انجام میدهند و از دادههای بدون ساختار خود حداکثر استفاده را میکنند. آنها از این دادهها بینشهای عملی را به دست میآورند که میتوانند برای بهبود رضایت مشتری و ارائهی تجربههای مشتری بهتر از آنها استفاده کنند.
آموزش دیتا ساینس با کلاسهای آنلاین آموزش علم داده کافهتدریس
اگر دوست دارید به دنیای دیتا ساینس وارد شوید، پیشنهاد ما شرکت در کلاسهای آنلاین آموزش علم داده کافهتدریس است.
کلاسهای آموزش علم داده کافهتدریس بهصورت کاملاً تعاملی و پویا و مبتنی بر پروژههای واقعی علم داده برگزار میشود و شکل کارگاهی دارد.
شما با شرکت در این کلاسهای آنلاین میتوانید از هر نقطهی جغرافیایی به جامعترین و بهروزترین آموزش علم داده دسترسی داشته باشید.
برای آشنایی بیشتر با کلاسهای آنلاین آموزش دیتا ساینس کافهتدریس و مشاورهی رایگان برای شروع یادگیری علم داده روی این لینک کلیک کنید: