آشنایی با پلتفرم NLTK در پایتون

با نام خدا و سلام

با توجه به موضوع پایانه نامه دوره ارشدم که در زمینه پردازش زبان طبیعی هست، خوشبختانه منجر شد که در قدم اول با زبان python آشنا بشم و بعدشم با کتابخانه ارزشمند NLTK.

NLTK یک پلتفرم برجسته برای ساخت برنامه های پایتون جهت کار کردن با داده های زبان انسان می باشد، NLTK یک واسط که استفاده ازون خیلی ساده هست رو برای بیش از 50 مجموعه نوشنه ها (corpora یا corpus که تا امروز که دارم در موردش می نویسم نمیدونممعادل پارسی بهترش چی هست) و منابع لغوی و وابسته به فرهنگ لغت مانند WordNet ، همراه با مجموعه کتابخانه هایی از پردازش متون برای طبقه بندی(classification)، توکن کردن(tokenization)، ریشه یابی لغات (stemming)، پارس کردن(parsing)، به دست آوردن تگ لغات (tagging) و استفاده های معنایی (semantic) ارائه کرده است. (انجمن گفتگو NLTK)

NLTK برای سیستم عامل های Windows، Mac و لینوکس سازگار هست (من خودم روی مک به راحتی باهاش کار می کردم و اخیرا نیز با لینوکس و توزیع اویونتو کاملا بدون مشکل دارم باهاش کار می کنم – ویندوز نیز همواره باهاش مخصوصا با پایتون سختم بوده و زیاد باهاش کار نکردم)، لازم به ذکر هست که پروژه ای کاملا رایگان و متن باز هست.

اینم یه کتاب که پردازش زبان طبیعی با پایتون نام داره و خود NLTK پیشنهادش داده (کتاب – NLTK Python) ، کتاب برای پایتون 3 و NLTK3 بروزرسانی شده.

 

اما استفاده ی من از NLTK تا الان که فکر کنم حدود 40 درصد از کار پایان نامم رو پیش رفتم از Word-tokenizer ، Sentence tokenizer، POS Tagger، استفاده از واسط wordnet و sentiwordnet و … استفاده کردم که سعی می کنم در مورد همشون به طور مختصر در آینده صحبت کنم.

 

یه مثال از خود سایت NLTK : 

 

Tokenize and tag some text:

>>> import nltk
>>> sentence = """At eight o'clock on Thursday morning
... Arthur didn't feel very good."""
>>> tokens = nltk.word_tokenize(sentence)
>>> tokens
['At', 'eight', "o'clock", 'on', 'Thursday', 'morning',
'Arthur', 'did', "n't", 'feel', 'very', 'good', '.']
>>> tagged = nltk.pos_tag(tokens)
>>> tagged[0:6]
[('At', 'IN'), ('eight', 'CD'), ("o'clock", 'JJ'), ('on', 'IN'),
('Thursday', 'NNP'), ('morning', 'NN')]

نصب و راه اندازی NLTK :

1- اول از همه باید پایتون نصب باشه (دانلود پایتون) فکرکنم نسخه 3.6 خوب باشه (ولی حداقل از نسخه 3.5 استفاده کنید تا بتویند اکثر قابلیت هار ا داشته باشید).

  • باید توجه کنید که پایتون روی نسخه های stable از ubuntu یا mac به صورت پیش فرض نصب هست. برای فهمیدن ورژن نصب شده کافیه داخل ترمینال دستور زیر رو بزنید:

python -V

  • اما برای نصب نیز کافیه دستور زیر رو داخل ترمینال بزنید (نصب روی لینوکس یا مک و نصب ورژن 3.4، هر ورژنی رو که قصد نصب دارید بجای 3.4 بنویسید):
sudo apt-get install idle-python3.4
  • برای نصب روی ویندوز نیز نسخه exe رو از لینک داخل مرحله 1 دانلود کنید و به راحتی نصب کنید.

 

2- ریپوزیتوری pip رو حتمن نصب داشته باشید.

برای نصب pip کافیه setup-tools رو نصب کنید، دستور زیر رو داخل ترمینال بزنید:

sudo apt-get install python-setuptools python-dev build-essential

توجه : برای نسخه های جدید تر از دستور زیر استفاده کنید:

sudo apt-get install python-pip python-dev build-essential

3- numpy رو نیز نصب کنید (اختیاری):

sudo pip install -U numpy

4- نصب NLTK حالا کافیه python رو اجرا کنید و دستور import nltk رو بزنید.(داخل ترمینال بزنید python import nltk)

روش دوم برای نصب NLTK اینه که از این آدرس (GitHub – NLTK) سورس NLTK رو دانلود و unzip کنید و داخل پوشه ساخته شده ترمینال رو باز کرده و دستور زیر رو بزنید :

python setup.py

 

در ادامه نحوه کار کردن با توابع و کتابخانه های NLTK رو خواهم گذاشت.