هضم

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

ویژگی‌ها

شروع کار با هضم

برای شروع کار با هضم ابتدا باید این کتابخانه را نصب کنید.
هضم روی پایتون ۳.۸ و بالاتر قابل نصب است. برای نصب، دستور زیر را در ترمینال وارد کنید:

pip install hazm

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

نمونه کد

>>> normalizer = Normalizer()
>>> normalizer.normalize ( 'اصلاح نویسه ها و استفاده از نیم فاصله پردازش را آسان می کند' )
result open path close path
'اصلاح نویسه‌ها و استفاده از نیم‌فاصله پردازش را آسان می‌کند'
>>> sent_tokenize ( 'ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟' )
result open path close path
[ 'ما هم برای وصل کردن آمدیم!' , 'ولی برای پردازش، جدا بهتر نیست؟' ]
>>> word_tokenize ( 'ولی برای پردازش، جدا بهتر نیست؟' )
result open path close path
[ 'ولی', 'برای', 'پردازش', '،', 'جدا', 'بهتر', 'نیست', '؟' ]
>>> lemmatizer Lemmatizer()
>>> lemmatizer.lemmatize ( 'می‌روم' )
result open path close path
'رفت#رو'
>>> tagger = POSTagger ( model = 'pos_tagger.model' )
>>> tagger.tag ( word_tokenize( 'سلام من را برسان.' ))
result open path close path
[
( 'سلام', 'NOUN,EZ' ),
( 'من', 'PRON' ),
( 'را', 'ADP' ),
( 'برسان' , 'VERB' )
( '.' , 'PUNCT' )
]
>>> chunker Chunker( model= 'chunker.model' )
>>> tagged = tagger.tag word_tokenize( 'کتاب خواندن را دوست داریم' ))
>>> tree2brackets( chunker.parse (tagged))
result open path close path
'[کتاب خواندن NP] [را POSTP] [دوست داریم VP]'
>>> word_embedding = WordEmbedding (model_type 'fasttext', model_path 'word2vec.bin' )
>>> word_embedding.doesnt_match ([ 'پنجره' , 'خداحافظ' , 'درود' , 'سلام' ])
result open path close path
'پنجره'
>>> parser  DependencyParser (tagger tagger, lemmatizer lemmatizer )
>>> parser.parse word_tokenize( 'زنگ‌ها برای که به صدا درمی‌آید؟' ))
result open path close path
<DependencyGraph with nodes>
>>> from hazm import *
>>> normalizer = Normalizer()
>>> normalizer.normalize ( 'اصلاح نویسه ها و استفاده از نیم فاصله پردازش را آسان می کند' )
'اصلاح نویسه‌ها و استفاده از نیم‌فاصله پردازش را آسان می‌کند'
>>> sent_tokenize ( 'ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟' )
[ 'ما هم برای وصل کردن آمدیم!' , 'ولی برای پردازش، جدا بهتر نیست؟' ]
>>> word_tokenize ( 'ولی برای پردازش، جدا بهتر نیست؟' )
[ 'ولی', 'برای', 'پردازش'، '،'، 'جدا', 'بهتر', 'نیست', '؟' ]
>>> lemmatizer Lemmatizer()
>>> lemmatizer.lemmatize ( 'می‌روم' )
'رفت#رو'
>>> tagger = POSTagger ( model = 'pos_tagger.model' )
>>> tagger.tag ( word_tokenize( 'سلام من را برسان.' ))
[
( 'سلام' , 'NOUN,EZ' ),
( 'من' , 'PRON' ),
( 'را' , 'ADP' ),
( 'برسان' , 'VERB' )
( '.' , 'PUNCT' )
]
>>> chunker Chunker( model= 'chunker.model' )
>>> tagged = tagger.tag word_tokenize( 'کتاب خواندن را دوست داریم' ))
>>> tree2brackets( chunker.parse (tagged))
'[کتاب خواندن NP] [را POSTP] [دوست داریم VP]'
>>> word_embedding = WordEmbedding (model_type 'fasttext', model_path 'word2vec.bin' )
>>> word_embedding.doesnt_match ([ 'پنجره' , 'خداحافظ' , 'درود' , 'سلام' ])
'پنجره'
>>> parser = DependencyParser (tagger tagger, lemmatizer lemmatizer )
>>> parser.parse word_tokenize( 'زنگ‌ها برای که به صدا درمی‌آید؟' ))
<DependencyGraph with nodes>

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

اجازه‌نامه

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

سپاس