فناوری پردازش زبان طبیعی (Natural Language Processing) یا به اختصار NLP به تعامل بین زبان بشر و کامپیوتر گفته میشود. این زبان فصل مشترک میان علوم کامپیوتر، هوش مصنوعی و زبان محاسباتی محسوب میشود.
فناوری پردازش زبان طبیعی (NLP) شاخهای از هوش مصنوعی است که در آن کامپیوترها معنی زبان انسانها را به شکل هوشمندانه و کاربردی آنالیز، درک و تفسیر میکنند. برنامه نویسان با به کارگیری NLP میتوانند دانش خود را برای انجام وظایفی مانند خلاصه سازی خودکار، ترجمه، شناسایی موجودیتهای نامدار (named entity recognition)، کشف و دسته بندی ارتباط معنایی (relationship extraction)، تحلیل احساسات (sentiment analysis,)، تشخیص گفتار (speech recognition) و بخشبندی موضوعات (topic segmentation) سازمانبندی کنند و ساختار دهند.
عملیات پردازش کنندهی کلمه، با متن مثل رشتهای از نمادها برخورد میکند،درحالیکه NLP زبان را ساختاری با سلسلهمراتب در نظر میگیرد.
مجموعهای از کلمات یک عبارت میسازند، چندین عبارت، یک جمله را تشکیل میدهند، در نهایت جملات یک ایده را به وجود میآورند. اکنون این سوال مطرح میشود که پردازش زبان طبیعی (NLP) چگونه میتواند به کشف احساسات مثبت و منفی در رسانههای اجتماعی کمک کند؟
فناوری NLP این کار را با تجزیه و تحلیل زبان به معنی آن انجام میدهد. سیستمهای NLP مدتها است در این زمینه عملکرد خوبی داشتهاند؛ مانند تصحیح گرامر، تبدیل گفتار به نوشتار و ترجمهی اتوماتیک زبانهای مختلف به یکدیگر از مثالهایی است که میتوان به آن اشاره کرد.NLP برای تجزیه و تحلیل متن مورد استفاده قرار میگیرد و به ماشینها این امکان را میدهد تا چگونگی صحبت انسان را درک کند و معمولا برای استخراج متن، ترجمه به وسیلهی ماشین و پاسخدهی خودکار به سوالات مورد استفاده قرار میگیرد. NLP در دنیای علوم کامپیوتر به عنوان مسئلهی سخت توصیف میشود. زبان انسان به ندرت دقیق یا ساده بیان میشود. ماشینها برای درک زبان انسان، لازم است مفاهیم و چگونگی ایجاد ارتباط آنها به منظور خلق معنا را درک کنند. به همین علت دانستن معنی تک تک کلمات کافی نیست. اگرچه یادگیری زبان یکی از سادهترین کارهایی است که ذهن انسان میتواند آن را بیاموزد، اما ابهام موجود در زبان، تسلط کامپیوتر به فرایند پردازش زبان را سخت و دشوار میکند.
الگوریتمهای NLP کاربردهای بسیار متنوعی دارد. این فناوری به برنامهنویسها اجازه میدهد، نرم افزاری طراحی کنند که زبان انسان را میفهمد. از آنجایی که زبان بشر ماهیت پیچیدهای دارد، یادگیری و اجرای صحیح زبان برای NLP میتواند کار دشواری باشد. بعضی از برنامهنویسها میتوانند از الگوریتمهای NLP برای اهداف زیر استفاده کنند:
با استفاده از خلاصه کنندهها، میتوان اطلاعات بیربط را نادیده گرفت و مطالب مهم و ایدههای اصلی را استخراج کرد.
گوگل با کمک Point-of-Speech مدلی برای تجزیه و تحلیل زبان با Deep Learning ساخته است.
آنالیز تشخیص خطی (Linear Discriminant Analysis) یا LDA تکنیکی است که به کمک آن میتوان موضوعات موجود در درون یک متن را تشخیص دارد.
درست مانند آنکه یک شخص، مکان یا سازمانی از شناسایی موجودیتهای نامدار استفاده میکند.
با استفاده از تحلیل احساسات میتوان حس و حال رشتهای از متون را از بسیار منفی گرفته تا خنثی و بسیار مثبت تشخیص داد.
این کتابخانهها، الگوریتمهای ساخت بلاک NLP را برای کاربردهای واقعی فراهم میکند.
یک ابزار یادگیری ماشینی است که توکن سازی، تقسیمبندی جملات، نقش دستوری کلمات، متنکاوی، قطعهبندی، تجزیه، تفکیک پذیری نقش را ارائه میدهد.
Natural Language Toolkit کتابخانهای است که ماژولهای متعددی برای پردازش متن، دستهبندی، توکن سازی، ریشهیابی، برچسبزنی، تجزیه و موارد دیگر در اختیار شما قرار میدهد.
مجموعهای از ابزارهای NLP است که نقش دستوری کلمات، متن کاوی، بازشناسی موجوديت اسمی، سیستم تفکیک پذیری نقش، تحلیل احساسات را عرضه میکند.
یک بستهی جاوا است که تخصیص پنهان دیریکله (Latent Dirichlet Allocation)، دستهبندی اسناد، خوشه بندی، مدلسازی موضوعی و استخراج اطلاعات را ارائه میدهد.
به مثالهای زیر که نمونههایی از نمونههایی از پردازش زبان طبیعی است، توجه کنید:
الگوریتمهای NLP معمولا بر اساس الگوریتمهای یادگیری ماشین است. NLP به جای کدنویسی مجموعهای بزرگ از قوانین، میتواند به یادگیری ماشینی اعتماد کند تا با آنالیز مجموعهای از مثالها این قوانین را به صورت خودکار بیاموزد. به طور کلی هرچه دادههای بیشتری مورد تحلیل قرار بگیرد، مدل دقیقتر خواهد شد. آنالیز رسانههای اجتماعی یک مثال عالی از کاربرد NLP است. برندها به صورت آنلاین مکالمات پیرامون مسائل مختلف را دنبال میکنند تا ببینند مشتریها چه میگویند و درک صحیحی از رفتار آنها به دست بیاورند.
این کتاب در نوع خود اولین اثری است که به طور کامل زبان فناوری، تمام سطوح آن و تمام فناوریهای مدرن را پوشش میدهد. این اثر با به کارگیری آمار و الگوریتمهای یادگیری ماشین برای نهادهای بزرگ، رویکردی تجربی را ارائه میدهد.
این کتاب اولین اثر کامل و جامع برای معرفی پردازش آماری زبان طبیعی بوده و شامل تئوریها و الگوریتمهای مورد نیاز ابزار NLP است. این اثر مباحث اساسی ریاضی و زبانی را به طور دقیق ارائه کرده و همچین دارای بحث و تبادل نظر روشهای آماری است که به دانشجویان و محققان اجازه میدهد تا نظریات خود را پیادهسازی کنند.
دومین ویرایش این کتاب، ابزارها و تکنیکهای کاربردی برای اجرای پردازش زبان طبیعی در کامپیوتر را ارائه میدهد. همچنین مطالب قدیمی و منسوخ از کتاب حذف شده است. این ویرایش هر فصل را با مطالب جدید و کاربردی نظیر تحلیل احساسات به روز رسانی کرده و محتوای آن را توسعه داده است.
تا همین سال ۱۹۹۰، مطالعات نشان میداد مردم ترجیح میدهند اطلاعات را از طریق افراد دیگر دریافت کنند تا اینکه آن را از سیستمهای بازیابی اطلاعات بگیرند. با این حال در طول دههی گذشته بهینهسازی بی وقفهی اطلاعات، کیفیت موتورهای جستجوی وب را به سطح کیفی مطلوبی سوق داده است که اکثر مردم از آن رضایت دارند. همچنین جستجوی در وب به یک منبع قابل اطمینان و ارجح برای یافتن اطلاعات تبدیل شده است. به عنوان مثال یافتهها در سال ۲۰۰۴ نشان میدهد که ۹۲ درصد از کابران اینترنت معتقدند اینترنت فضای بسیار خوبی برای دریافت اطلاعات روزانه است. در کمال تعجب بسیار، بازیابی اطلاعات از یک رشتهی دانشگاهی به مبنای اساسی برای دسترسی به اطلاعات بیشتر تبدیل شده است.
این کتاب دربارهی پردازش زبان طبیعی است. منظور از زبان طبیعی، زبانی است که افراد در گفتگوهای روزمرهی خود به کار میبرند مانند زبان انگلیسی، هندی یا پرتغالی. از سوی دیگر، این میتواند به سادگیِ شمارش تعداد کلمات برای مقایسهی سبکهای مختلف نگارش باشد.
این دوره طیف گستردهای از مباحث پردازش زبان طبیعی را به همراه کلمات، توکن سازی جملات، طبقهبندی متون، آنالیز احساسات، تصحیح املا، استخراج اطلاعات، تجزیه، استخراج معنی و پرسش و پاسخ پوشش میدهد. شما همچنین با تئوریهای اساسی از آمار، احتمالات، یادگیری ماشینی که برای این رشته بسیار پر اهمیت است، آشنا میشوید. این دوره الگوریتمهای اساسی مانند زبان مدلسازی n-gram، naive bayes، طبقهبندی متن، مدلهای متوالی مانند مدلهای پنهان مارکوف و وابستگی احتمالی را در اختیار شما قرار میدهد.
یادگیری ماشین علمِ عملی شدن کامپیوترها بدون برنامه ریزی مشخص است. همچنین بسیاری از متخصصین گمان میکنند که بهترین راه پیشرفت حرکت به سمت هوش مصنوعی است. در این دوره شما دربارهی کاربردیترین تکنیکهای یادگیری ماشین میآموزید و میتوانید آنها را به صورت عملی اجرا کنید تا تنها برای شما کار کند.
شما در این دوره، با فناوری NLP و با استفاده از زبان پایتون و NLTK آشنا میشوید. در واقع از طریق یک رویکرد عملی، به طور مستقیم، کار با تجزیه و تحلیل متن را تجربه خواهید کرد. شما به عنوان دانشجوی این دوره، جدیدترین مطالب که شامل مرور کنفرانسها و سخنرانیها، نمونه کدهای جدید و پروژههای جدید است را به صورت رایگان دریافت خواهید کرد.
زمانی که شما با تلفن همراه خود، یا سیستم مسیریابی خودرو صحبت میکنید یا به عکس زمانی که آنها با شما صحبت میکنند، در واقع شما نتیجهی توسعهی پردازش زبان طبیعی را مشاهده میکنید. این زمینه بر طراحی و خلق نرمافزارهایی که میتوانند زبان انسان را آنالیز کنند، تمرکز کرده در چند سال اخیر رشد بیسابقهای داشته است و در بسیاری از تکنولوژیها به گرفته میشود.
پردازش زبان طبیعی شاخهای از علوم کامپیوتر، هوش مصنوعی و زبان شناسی محاسباتی محسوب میشود که به تعامل میان کامپیوترها و زبان انسانها میپردازد. در سال ۱۹۵۰ آلن تورینگ مقالهای را تحت عنوان”Computing Machinery and Intelligence” منتشر کرد که اکنون ملاک هوش به شمار میآید و از آن به عنوان آزمون تورینگ یاد میشود. در اواخر سال ۱۹۸۰ با معرفی الگوریتمهای یادگیری ماشین برای پردازش زبان انقلاب بزرگی در NLP رخ داد.
این طرح یک مرور کلی و راهنمای موضوعی را از NLP فراهم کرده است: پردازش زبانهای طبیعی، فعالیت کامپیوترها که در آن کامپیوتر قادر است زبان طبیعی را آنالیز، درک و در نهایت تولید کند.
کتابخانه OpenNLP یک ابزار مبتنی بر یادگیری ماشینی برای پردازش متن زبان طبیعی به شمار میآید.
NTLK بستری برای ساخت برنامههای پایتون به منظور کار با دادههای زبانهای انسانی است. این بستر رابط کاربردی آسانی برای بیش از ۵۰ پیکره و منابع لغوی نظیر WordNet دارد و مجموعهای از کتابخانهها طبقهبندی شدهی پردازش متن، توکن سازی، ریشهیابی، برچسبزنی، تجزیه و استدلال معنایی و فرومهای فعال گفتگو را در اختیار شما قرار میدهد. پردازش زبان با پایتون مقدمهای عملی برای برنامهنویسی پردازش زبان را فراهم میکند.
از دیگر دورههای مفید برای یادگیری NLP میتوان به موارد زیر اشاره کرد: