مقدمة عن NLTK
NLTK (Natural Language Toolkit) هي واحدة من أشهر مكتبات Python وأكثرها استخدامًا في معالجة اللغة الطبيعية (NLP). تم تطويرها في عام 2001 بجامعة بنسلفانيا، وتوفر أدوات وموارد شاملة للعمل مع النصوص، بما في ذلك التقطيع (Tokenization)، التحليل الصرفي، التحليل النحوي، بناء التوزيعات التكرارية، وغير ذلك الكثير. تُستخدم المكتبة على نطاق واسع في الأغراض التعليمية والمشاريع التطبيقية لتحليل النصوص.
تحتوي NLTK على أكثر من 50 مجموعة نصية (Corpora) وموارد معجمية، بما في ذلك Penn Treebank وBrown Corpus وWordNet وغيرها. وهذا يجعلها أداة لا غنى عنها للباحثين والطلاب والمطورين العاملين في مهام معالجة اللغة الطبيعية.
بنية NLTK ومكوناتها
الوحدات الأساسية للمكتبة
تم بناء NLTK على مبدأ نمطي، حيث تتولى كل وحدة مجالًا معينًا من مجالات NLP:
وحدة tokenize - توفر خوارزميات مختلفة لتقسيم النص إلى وحدات (Tokens) وحدة stem - تحتوي على خوارزميات الاشتقاق (Stemming) والتجذيع (Lemmatization) وحدة tag - مسؤولة عن وسم أجزاء الكلام (POS Tagging) وحدة parse - تتضمن محللات للتحليل النحوي وحدة chunk - تنفذ خوارزميات استخراج العبارات وحدة classify - تحتوي على مصنفات التعلم الآلي وحدة corpus - توفر الوصول إلى المجموعات النصية والموارد المعجمية
المجموعات النصية والموارد المعجمية
توفر NLTK الوصول إلى مجموعة واسعة من المجموعات النصية، بما في ذلك الأعمال الأدبية الكلاسيكية والمقالات الإخبارية والنصوص الموسومة والقواميس المتخصصة. تعمل هذه الموارد كأساس لتدريب واختبار خوارزميات NLP.
إمكانيات ومزايا NLTK
دعم عدد كبير من المجموعات اللغوية - أكثر من 50 مجموعة بلغات مختلفة
تنوع الخوارزميات للتقطيع والاشتقاق والتجذيع - من الطرق البسيطة إلى المعقدة
أدوات للتحليل الصرفي والنحوي - بما في ذلك محللات من أنواع مختلفة
وسائل للتحليل الإحصائي للنصوص - التوزيعات التكرارية، المتلازمات اللفظية، n-grams
بنية مرنة لتخصيص خطوط المعالجة - إمكانية إنشاء معالجات مخصصة
توثيق نشط وموارد تعليمية - كتب، أدلة، أمثلة برمجية
التكامل مع المكتبات الشائعة - NumPy، Matplotlib، scikit-learn
التثبيت والإعداد الأولي
تثبيت المكتبة
pip install nltk
للحصول على إمكانيات إضافية، يُوصى أيضًا بتثبيت:
pip install numpy matplotlib
الاستيراد وتحميل الموارد
import nltk
# تحميل الموارد بشكل تفاعلي
nltk.download()
# تحميل موارد محددة
nltk.download('punkt') # للتقطيع
nltk.download('wordnet') # للتجذيع
nltk.download('stopwords') # كلمات التوقف
nltk.download('averaged_perceptron_tagger') # وسوم أجزاء الكلام
nltk.download('maxent_ne_chunker') # التعرف على الكيانات المسماة
nltk.download('words') # قاموس الكلمات الإنجليزية
التحقق من التثبيت
import nltk
print(nltk.__version__)
nltk.data.find('tokenizers/punkt')
العمل مع المجموعات النصية والبيانات النصية
تحميل المجموعات النصية المدمجة
تحتوي NLTK على مجموعة غنية من النصوص المعالجة مسبقًا:
from nltk.corpus import gutenberg, brown, reuters, inaugural
# تحميل مجموعة جوتنبرج
nltk.download('gutenberg')
sample_text = gutenberg.raw('austen-emma.txt')