انجمنهای فارسی اوبونتو
کمک و پشتیبانی => برنامهسازی => نویسنده: ابراهیم مشهدی تفرشی در 23 بهمن 1392، 04:30 بظ
-
سلام داشتم توی اینترنت می گشتم این رو دیدم
http://www.sobhe.ir/hazm/
دانلود هم کردم نتونستم ازش استفاده کنم
کسی تا حالا ازش استفاده کرده؟
-
سلام
چه اسمی داره! هضم ;D
نصبش کردی؟ اگه نه همونطوری که گفته نصبش کن و بعدش هم به ما یاد بده ;)
-
دانلود هم کردم نتونستم ازش استفاده کنم
سوالتون رو کامل بپرسید. دقیقا چیکار کردید و به چی میخواستید برسید که نرسیدید؟ متوجه شدید که این یک برنامه نیست و یک کتابخانه هستش؟
-
دانلود هم کردم نتونستم ازش استفاده کنم
سوالتون رو کامل بپرسید. دقیقا چیکار کردید و به چی میخواستید برسید که نرسیدید؟ متوجه شدید که این یک برنامه نیست و یک کتابخانه هستش؟
توی سایت یه لینک دانلود بود
https://github.com/sobhe/hazm/archive/master.zip
دانلود که کردم یه فایل زیپ بود باز که کردم یه سری فایل پایتون - *.py - توش بود یکیش اسمش setup.py بود
رفتم تو ترمینال نوشتم
python setup.py
جواب داد
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'install_requires'
warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied
بعد رفتم توی سیناپتیک دنبال hazm بگردم اونجا هم چیزی نبود.
من می خواستم از کدهاش استفاده کنم همونطوری که توی سایتش نوشته بود.
>>> 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>
-
ببینین اینطوری نصب میشه:
python setup.py install
اگه نشد شاید بهتر باشه با pip نصبش کنین و اگه pip هم نصب نیست اول با
easy_install pip
pip رو نصب کنین بعد با pip install hazm
اونو نصب کنین. اگه لازم بود sudo هم در اول دستورات قرار بدین
-
آقا من رفتم اول python-pip رو نصب کردم بعد زدم
pip install hazm
نصب شد
وقتی توی خط فرمان پایتون نوشتم
from __future__ import unicode_literals
قبول کرد
ولی وقتی نوشتم
from hazm import Normalizer
جواب می ده
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named hazm
الان چی کار کنم
-
این پیغام آخر یعنی اینکه درست نصب نشده. با sudo امتحان کنین:
sudo pip install hazm
و حتما نگاه کنین بعد از دانلود و نصب، پیغام موفقیت آمیز بودن عملیات رو بده.
-
درست که ...
راستش من دوتا پایتون دارم
Python 2.7.5+ (default, Sep 19 2013, 13:49:51)
[GCC 4.8.1] on linux2
و
Python 3.3.2+ (default, Oct 9 2013, 14:56:03)
[GCC 4.8.1] on linux
اصلیش همون اولیه که روی خودش نصب بود
دوباره که نصب کردم
sudo pip install hazm
توی Python 3.3.2+ می زنی
from hazm import Normalizer
هنوز جواب می ده
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'hazm'
ولی توی 2.7.5+ قبول کرد
با این حال وقتی خط بعدی رو زدم
normalizer = Normalizer()
>>> normalizer.normalize('اصلاح نويسه ها و استفاده از نیمفاصله پردازش را آسان مي كند')
جواب داد:
u'\u0627\u0635\u0644\u0627\u062d \u0646\u0648\u06cc\u0633\u0647\u200c\u0647\u0627 \u0648 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0646\u06cc\u0645\u200c\u0641\u0627\u0635\u0644\u0647 \u067e\u0631\u062f\u0627\u0632\u0634 \u0631\u0627 \u0622\u0633\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f'