Hazm
====

Python library for digesting Persian text.

-  Text cleaning
-  Sentence and word tokenizer
-  Word lemmatizer
-  POS tagger
-  Dependency parser
-  Corpus readers for `Hamshahri <http://ece.ut.ac.ir/dbrg/hamshahri/>`_
   and `Bijankhan <http://ece.ut.ac.ir/dbrg/bijankhan/>`_
-  `NLTK <http://nltk.org/>`_ compatible
-  Python 2.7, 3.2, 3.3 and 3.4 support
-  `|Build Status| <https://travis-ci.org/sobhe/hazm>`_

Usage
-----

::

    >>> 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>

Installation
------------

::

    pip install hazm

We have also trained `tagger and parser
models <http://dl.dropboxusercontent.com/u/90405495/resources.zip>`_.
You may put these models in the ``resources`` folder of your project.

Thanks
------

-  to constributors: `Mojtaba
   Khallash <https://github.com/mojtaba-khallash>`_ and `Mohsen
   Imany <https://github.com/imani>`_.
-  to `Virastyar <http://virastyar.ir/>`_ project for persian word list.

.. |Build Status| image:: https://travis-ci.org/sobhe/hazm.png
