2013-07-16 19 views
6

ペルシア語のNLTKの機能の使い方は?ペルシア語のNLTK

例: 'concordance' 'concordance'を使うと答えは 'not match'ですが、私のテキストには一致のパラメータがあります。

入力は非常に簡単です。「helloسلام」が含まれています。「concordance」のパラメータが「hello」の場合は正解ですが、「سلام」の場合は「not matches」です。私のための出力は「1の一致の1を表示する」です。

import nltk 
    from urllib import urlopen 
    url = "file:///home/.../1.html" 
    raw = urlopen(url).read() 
    raw = nltk.clean_html(raw) 
    tokens = nltk.word_tokenize(raw) 
    tokens = tokens[:12] 
    text = nltk.Text(tokens) 
    print text.concordance('سلام') 
+2

最小限のコード例と最小限の入力例を試してみることはできますか?あなたは起こると思った? – jogojapan

答えて

19

NLPのための強く推奨パイソンペルシャライブラリ:https://github.com/sobhe/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> 
+0

C#と同様のものはありますか? –

+1

彼らは非公式のC#ポートも持っています。私はそれを試したことはありません: https://github.com/mojtaba-khallash/NHazm – Mohsen

0

が実は、私は窓にhazmを使用している、と私はHAzmをインストールすることもできますが、私はこのコードを実行すると:

from __future__ import unicode_literals 
from hazm import * 
I have such Error: 

from hazm import x 
    File "C:\Python34\lib\site-packages\hazm\__init__.py", line 13, in <module> 
    from .SequenceTagger import SequenceTagger, IOBTagger 
    File "C:\Python34\lib\site-packages\hazm\SequenceTagger.py", line 6, in <module> 
    from wapiti import Model 
ImportError: No module named 'wapiti' 
+0

これは正しくフォーマットされるように編集する必要があります – nbryans

+0

Hazmが動作するにはWapitiというPythonパッケージが必要です。問題は、Windows上でWapitiをコンパイルするのは簡単ではないことです... Visual CやMingWでもコンパイルできません – wmac

関連する問題