هضم ، برای پردازش زبان فارسی در پایتون

3/5 - (1 امتیاز)

ویژگی‌ها

  • تمیز و مرتب کردن متن
  • تقطیع جمله‌ها و واژه‌ها
  • ریشه‌یابی واژه‌ها
  • تحلیل صرفی جمله
  • تجزیه نحوی جمله
  • واسط استفاده از داده‌های زبان فارسی
  • سازگاری با بسته NLTK
  • پشتیبانی از پایتون نسخه ۲ و ۳
  • تست مداوم کدها: وضعیت تست

استفاده

>>> from __future__ import unicode_literals
>>> from hazm import *

>>> normalizer = Normalizer()
>>> normalizer.normalize('اصلاح نویسه ها و استفاده از نیم‌فاصله پردازش را آسان می کند')
'اصلاح نویسه‌ها و استفاده از نیم‌فاصله پردازش را آسان می‌کند'

>>> sent_tokenize('ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟')
['ما هم برای وصل کردن آمدیم!', 'ولی برای پردازش، جدا بهتر نیست؟']
>>> word_tokenize('ولی برای پردازش، جدا بهتر نیست؟')
['ولی', 'برای', 'پردازش', '،', 'جدا', 'بهتر', 'نیست', '؟']

>>> stemmer = Stemmer()
>>> stemmer.stem('کتاب‌ها')
'کتاب'
>>> lemmatizer = Lemmatizer()
>>> lemmatizer.lemmatize('می‌روم')
'رفت#رو'

>>> tagger = POSTagger(model='resources/postagger.model')
>>> tagger.tag(word_tokenize('ما بسیار کتاب می‌خوانیم'))
[('ما', 'PRO'), ('بسیار', 'ADV'), ('کتاب', 'N'), ('می‌خوانیم', 'V')]

>>> chunker = Chunker(model='resources/chunker.model')
>>> tagged = tagger.tag(word_tokenize('کتاب خواندن را دوست داریم'))
>>> tree2brackets(chunker.parse(tagged))
'[کتاب خواندن NP] [را POSTP] [دوست داریم VP]'

>>> parser = DependencyParser(tagger=tagger, lemmatizer=lemmatizer)
>>> parser.parse(word_tokenize('زنگ‌ها برای که به صدا درمی‌آید؟'))
<DependencyGraph with 8 nodes>
درخت وابستگی حاصل:
ریشهزنگ‌هابرایکهبهصدادرمی‌آید؟اسمحرف اضافه پیشیننقش نمای همپایگیحرف اضافه پیشیناسمفعلعلامت نگارشیفاعلقیدوابسته پسینمفعول حرف اضافه‌ایوابسته پسینریشه جملهعلائم نگارشی

نصب

هضم، یکی از بسته‌های زبان پایتون است و با این دستور نصب می‌شود:

pip install hazm

توجه کنید که برچسب‌زن صرفی و تجزیه‌گر نحوی نیاز به مدل‌های آموزش‌دیده دارند. ما این مدل‌ها را هم آماده کرده‌ایم، می‌توانید آنها را دریافت کنید و در پوشه‌ای با عنوان resources در پروژه خود قرار دهید. البته رویه‌های آموزش و ارزیابی مدل‌ها هم جزئی از کد هستند.

بیشتر بخوانید:   رفع مشکل وصل نشدن گوشی سامسونگ به کامپیوتر

برای نصب روی ویندوز، لازم است ویژگی WSL را فعال کرده و با اجرای دستور زیر، پایتون را برای نصب هضم آماده کنید:

sudo apt install python-pip

اجازه‌نامه

شما می‌توانید مطابق اجازه‌نامه، از این محصول در هر نوع پروژه‌ای از جمله تحقیقاتی یا تجاری استفاده کنید. فقط توجه کنید که اجازه‌نامه هضم تنها مربوط به کدهای این پروژه است و برای استفاده از مدل‌های آماده شده باید به مجوز داده‌های مورد استفاده در آموزش آنها مراجعه کنید؛ که خب هیچ‌کدام اجازه استفاده تجاری را نمی‌دهند 🙁

 

منبع http://www.sobhe.ir/hazm

Check Also

تفاوت ترافیک و پهنای باند چیست؟ Bandwidth & Traffic

تفاوت ترافیک و پهنای باند چیست؟ Bandwidth & Traffic

پهنای باند چیست Bandwidth ؟ پهنای باند به بیان بسیار ساده سرعت انتقال داده ها …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *