در مقالات قبل به مقایسه ویژگیهای کتابخانهها و ابزارهای پردازش زبان طبیعی اشاره شد. سپس 12 کتابخانه محبوب پردازش متن معرفی و نمونه کد آنها قرار داده شد. بخشهای دیگر این مقاله:
- بخش اول – معرفی بهترین کتابخانههای پردازش متن (NLTK, SpaCy, CoreNLP)
- بخش دوم – معرفی بهترین کتابخانههای پردازش متن (TextBlob, Pattern, StanfordNLP)
- بخش سوم – معرفی بهترین کتابخانههای پردازش متن (Polyglot, Gensim, Illinois NLP Curator)
- بخش چهارم – معرفی بهترین کتابخانههای پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)
- بخش پنجم – معرفی بهترین کتابخانههای پردازش متن (GATE, RapidMiner, MALLET, FreeLing)
در جدول زیر بطور خلاصه لیست کتابخانهها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگیهای مهم آنها و ابزارهای پیادهسازی شده در هریک را گردآوری کردیم.
مقایسه ویژگیها و امکانات کتابخانههای (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019
ذکر چند نکته درباره این جدول را لازم میدانیم. ستون دوم سال تولید و سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان میدهد. در ستون ششم، تعداد ستارهی داده شده به پروژه مربوط به هر کتابخانه در گیتهاب (یا پرستارهترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهرهبردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمعآوری شدند.
در این بخش به معرفی چند جعبه ابزار پردازش متن محبوب و کاربردی دیگر میپردازیم.
ابزار GATE (General Architecture for Text Engineering)
ابزار GATE، یک بستر نرمافزاری جهت متن کاوی بهمراه مجموعهای از افزونه (پلاگینها) و ابزارهای برچسبگذاری و پردازش متن است. در سال 1995، نرمافزار GATE توسط دانشگاه شفیلد با زبان جاوا ایجاد شده و تا کنون بخوبی پشتیبانی گشته و افزونههای متعددی بصورت سورسباز برای آن تهیه شده است. نرمافزار GATE علاوه بر واسط کاربری گرافیکی، دارای API و واسط برای توسعهدهندگان است و تا کنون افزونههای مختلف پردازش متن، برچسبگذاری متن، مهندسی هستانشناسی (آنتولوژی) و یادگیری ماشین برای آن توسعه داده شده است.
یکی از مشهورترین افزونههای این نرمافزار ANNIE (A Nearly-New Information Extraction System) نام دارد که شامل ابزارهای پایهای پردازش متن از قبیل تقطیع جملات و توکنبندی، برچسبزنی نقش ادات سخن، انواع موجودیتهای نامی، مرجعیابی ضمائر و … برای 12 زبان مختلف است. تصویری از محیط نرمافزار GATE در شکل زیر نشان داده شده است.
محیط نرمافزار GATE
منابع آموزشی بسیار خوبی برای این نرمافزار وجود دارد که پیشنهاد میکنیم برای آشنایی بیشتر به لینکهای زیر مراجعه بفرمایید:
ابزار RapidMiner
ابزار RapidMiner، یک نرمافزار قدرتمند و مشهور در زمینه داده کاوی است که توسط یک شرکت به همین نام در سال 2006 بوسیله زبان جاوا توسعه داده شده است. RapidMiner شامل محیطی برای آمادهسازی داده، یادگیری ماشین، یادگیری عمیق، متن کاوی، تحلیلهای پیشبینی و بصریسازی داده است. این ابزار مشابه GATE علاوه بر واسط کاربری گرافیکی دارای API برای محققین و پژوهشگران میباشد. البته برای کاربردهای واقعی (حجم داده بالا) باید لایسنس RapidMiner را خریداری کنید و تنها بصورت تجاری قابل استفاده است. هزینه لایسنس بسته به حجم داده ورودی بین 2500 الی 10000 دلار به ازای هر کاربر در هر سال است.
یکی از علل موفقیت این نرمافزار محیط بسیار ساده و طراحی مطابق نیاز یا اصطلاحاً کاربرپسند این نرمافزار است. تصویری از محیط نرمافزار RapidMiner در شکل زیر نشان داده شده است.
تصویری از محیط نرمافزار RapidMiner
با استفاده از افزونه آیلین (AYLIEN) میتوانید از کاربردهای مهم متنکاوی و عملیات اساسی داده کاوی برروی دادههای متنی بهرهمند شوید. در حال حاضر سرویسهای تشخیص نوع زبان متن، تحلیل حسی متن، استخراج مفاهیم و کلیدواژههای متن، دستهبندی موضوعی متون و حذف تبلیغات صفحات وب در این افزونه آماده شده است. استفاده از توابع API متن کاوی آیلین برای کاربردهای پژوهشی و آزمایشی تا سقف روزانه 1000 فراخوانی رایگان هستند. برای اطلاعات بیشتر درباره افزونه آیلین به این لینک مراجعه فرمایید.
کتابخانه FreeLing
کتابخانه FreeLing، مجموعهای از عملیات پایه پردازش زبان طبیعی (تحلیل لغوی، تحلیل نحوی، برچسبزنی نقش معنایی، ابهامزدایی معنایی کلمات و شناسایی موجودیتهای نامی) را برای بیش از 15 زبان مختلف آماده کرده است. این کتابخانه با زبان C++ و بصورت سورسباز توسعه داده شده ولی برای سایر زبانها از قبیل جاوا، پایتون، Perl و Ruby نیز API دارد. لیست الگوریتمهای پیادهسازی شده توسط این کتابخانه در شکل زیر نشان داده شده است.
برای اطلاع از نحوه نصب و راهاندازی و همچنین آشنایی بیشتر با این کتابخانه به مستندات رسمی آن مراجعه بفرمایید. همچنین دموی آنلاین ابزارهای مختلف این کتابخانه نیز در این آدرس قرار دارد.
کتابخانه MAchine Learning for LanguagE Toolkit (MALLET)
کتابخانه MALLET، یک بسته نرمافزاری جاوا برای پردازش آماری زبانهای طبیعی، دستهبندی و خوشهبندی متون،مدلسازی موضوع، استخراج اطلاعات و دیگر تکنیکهای یادگیری ماشین برای دادههای متنی است. اولین نسخه این کتابخانه به شکل سورسباز در سال 2002 منتشر شده است. متاسفانه بعد از سال 2010 (نسخه mallet-2.0.6) تا کنون نسخه رسمی جدید از این کتابخانه منتشر نشده و تنها پروژه آن در گیتهاب تعدادی بروزرسانی جزئی داشته است. لیست الگوریتمهای پیادهسازی شده توسط این کتابخانه در شکل زیر نشان داده شده است.
استفاده از این مقاله با ذکر منبع “سامانه متن کاوی فارسییار – text-mining.ir“، بلامانع است.