أشهر مكتبات ال Python لمعالجة اللغات الطبيعية NLP

1٬856

معالجة اللغة الطبيعية (NLP) هو مجال مثير للاهتمام في علم البيانات والذكاء الاصطناعي والذي يتعامل مع أجهزة الكمبيوتر لتعليمها كيفية استخراج معنى الجمل والكلمات من النص المكتوب. في هذا المقال، سنتحدث عن افضل مكتبات لغة ال البايثون لمعالجة اللغات الطبيعية .

تتعامل هذه المكتبات مع مجموعة واسعة من المهام مثل: تمييز جزء من الكلمة (POS)، وتحليل المشاعر(sentiment analysis)، وتصنيف الوثائق (document classification)، ووضع النماذج (topic modeling)، والكثير من المهام الاخرى.

NLTK:

لا يمكننا الحديث عن الـ NLP في البايثون بدون ذكر ال NLTK  فهي تعتبر أشهر مكتبات معالجة اللغات الطبيعية , فهي توفر واجهة سهلة الاستخدام بالاضافة لدعمها لأكثر من 50 مصدر قواعدي مثل : WordNet و Word2Vec Sample و Twitter Samples بالإضافة إلى 9 نواخب ومرشحات للغة وعشرات الخوارزميات للاختيار من بينها .

فكما يقال عن ال NLTK  انها “an amazing library to play with natural language” فهي متوفرة على جميع انظمة التشغيل بالاضافة الى انها مجانية ومفتوحة المصدر وتملك مجتمع نشط من المطورين .

لكن إحدى أهم مساوئ مكتبة ال NLTK انها ثقيلة وتملك منحنى تعلم حاد(تحتاج وقت كثير للتعلم ) بالاضافة الى انها بطيئة وغير مناسبة للمشاريع الانتاجية.

مثال : { الحصول على ال token بالاضافة الى تحليل النص قواعديا}

TextBlob :

هي مكتبة خاصة لمعالجة البيانات النصية حيث انها تحتوي على واجهة API بسيطة للتعامل مع جميع الاوامر الخاصة بمعالجة اللغة كما انها تمتلك منحنى تعلم سلس بالإضافة إلى مجموعة من الوظائف مثل :

وسم جزء من الكلام، تحليل المشاعر، والتصنيف (Naive Bayes, Decision Tree)،ترجمة وكشف اللغات ( مدعوم من قبل   ( Google Translate , Tokenization(تقسيم الكلام الى مجموعة من الكلمات والجمل ) والعديد من الوظائف الاخرى.

مثال :{ تحليل المشاعر لنص معين }

Stanford CoreNLP :

أحد أشهر المكتبات والمقدمة  من جامعة Stanford  فهي تدعم جميع الاوامر الخاصة بمعالجة اللغات الطبيعية بالإضافة لدعمها للغة العربية بشكل جيد بالإضافة للغة الصينية والاسبانية والفرنسية والالمانية.

تستخدمcoreNLP  في العديد من الشركات بسبب الدقة والسرعة بالعمل بالاضافة لدعمها لاغلب اللغات الشائعة.

فهذه المكتبة مكتوبة بلغة ال JAVA  لكن يمكن استخدامها مع ال python  عن طريق مكتبة py-corenlp المعتمدة بشكل أساسي على CoreNLP

مثال  : {تحليل المشاعر لنص معين }

spaCy:

أحد اجدد المكتبات المتوفر حيث تم الترويج لها على انها مخصصة للتطبيقات العملية فالهدف الأساسي منها هو الحصول على افضل اداء ممكن .

ال spacy  تعتبر مكتبة مصغرة فهي لا تحوي على خيارات كثيرة كما الحال في ال NLTK  إنما تركز على تقديم خوارزمية واحدة ( الخوارزمية الافضل ) لكل مجال معين , بالاضافة الى انها مكتوبة بلغة Cython المشتقة من الـ python  مما يجعلها سريعة وعملية بشكل كبير بالإضافة الى دعمها إلى 26 لغة فهي تعتبر من اكثر مكتبة واعدة في مجال NLP.

مثال :{تحديد التشابه بين كلمتين}

Gensim:

هي احد المكتبات الغير مخصصة لجميع المهم فلا يمكن استخدامها في general  NLP  فهي مخصصة بشكل اساسي الى topic modeling و document similarity analysis فمن بين جميع المكتبات المذكورة سابقا فان ال Gensim هي الاكثر تخصصا بينهم .

في مجال ال topic modeling  فهي تعتمد على خوارزمية ال (Latent Dirichlet Allocation (LDA والتي تعتبر الافضل في هذا المجال بسبب قوتها وفعاليتها بالإضافة إلى قابليتها للتطوير.

مثال:{البحث في نص عن تشابه بين الكلمات }

المصدر

 

Comments
Loading...