Highly recommended Persian python library for NLP: https://github.com/sobhe/hazm
Using:
>>> from __future__ import unicode_literals >>> from hazm import Normalizer >>> normalizer = Normalizer() >>> normalizer.normalize('اصلاح نويسه ها و استفاده از نیمفاصله پردازش را آسان مي كند') 'اصلاح نویسهها و استفاده از نیمفاصله پردازش را آسان میکند' >>> from hazm import sent_tokenize, word_tokenize >>> sent_tokenize('ما هم برای وصل کردن آمدیم! ولی برای پردازش، جدا بهتر نیست؟') ['ما هم برای وصل کردن آمدیم!', 'ولی برای پردازش، جدا بهتر نیست؟'] >>> word_tokenize('ولی برای پردازش، جدا بهتر نیست؟') ['ولی', 'برای', 'پردازش', '،', 'جدا', 'بهتر', 'نیست', '؟'] >>> from hazm import Stemmer, Lemmatizer >>> stemmer = Stemmer() >>> stemmer.stem('کتابها') 'کتاب' >>> lemmatizer = Lemmatizer() >>> lemmatizer.lemmatize('میروم') 'رفت#رو' >>> from hazm import POSTagger >>> tagger = POSTagger() >>> tagger.tag(word_tokenize('ما بسیار کتاب میخوانیم')) [('ما', 'PR'), ('بسیار', 'ADV'), ('کتاب', 'N'), ('میخوانیم', 'V')] >>> from hazm import DependencyParser >>> parser = DependencyParser(tagger=POSTagger()) >>> parser.parse(word_tokenize('زنگها برای که به صدا درمیآید؟')) <DependencyGraph with 8 nodes>
alvas source share