هضم

برای پردازش زبان فارسی menu icon close icon

ویژگی‌ها

استفاده

>>> from __future__ import unicode_literals
>>> from hazm import *
>>> normalizer = Normalizer()
>>> normalizer.normalize ( 'اصلاح نویسه ها و استفاده از نیم فاصله پردازش را آسان می کند' )
result open path close path
'اصلاح نویسه ها و استفاده از نیم فاصله پردازش را آسان می کند'
>>> sent_tokenize ( 'ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟' )
result open path close path
[ 'ما هم برای وصل کردن آمدیم!' , 'ولی برای پردازش، جدا بهتر نیست؟' ]
>>> word_tokenize ( 'ولی برای پردازش، جدا بهتر نیست؟' )
result open path close path
[ 'ولی', 'برای', 'پردازش'، '،'، 'جدا', 'بهتر', 'نیست', '؟' ]
>>> stemmer = Stemmer()
>>> stemmer.stem ( 'کتاب ها' )
result open path close path
'کتاب'
>>> lemmatizer Lemmatizer()
>>> lemmatizer.lemmatize ( 'می روم' )
result open path close path
'رفت#رو'
>>> tagger = POSTagger ( model = 'resources/postagger.model' )
>>> tagger.tag ( word_tokenize( 'ما بسیار کتاب می‌خوانیم' ))
result open path close path
[
( 'ما', 'PRO' ),
( 'بسیار', 'ADV' ),
( 'کتاب', 'N' ),
( 'می خوانیم' , 'V' )
]
>>> chunker Chunker( model= 'resources/chunker.model' )
>>> tagged = tagger.tag word_tokenize( 'کتاب خواندن را دوست داریم' ))
>>> tree2brackets( chunker.parse (tagged))
result open path close path
'[کتاب خواندن NP] [را POSTP] [دوست داریم VP]'
>>> parser  DependencyParser (tagger tagger, lemmatizer lemmatizer )
>>> parser.parse word_tokenize( 'زنگ‌ها برای که به صدا درمی‌آید؟' ))
result open path close path
<DependencyGraph with nodes>
>>> 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 nodes>

درخت تحلیل نحوی

نصب

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

pip install hazm

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

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

sudo apt install python-pip

اجازه‌نامه

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

آخرین تغییرات

سپاس