1

我在这里为阿拉伯语安装了这个词干分析器。我用这段代码运行它:

from snowballstemmer import stemmer
ar_stemmer = stemmer("arabic")
ar_stemmer.stemWord(u"فسميتموها")

当我运行它时,我得到了这个:

Traceback (most recent call last):
File "C:\Users\CLIENT\Desktop\snowballstemmer-1.1.0.tar\snowballstemmer-   1.1.0\stemmer.py", line 9, in <module>
ar_stemmer = stemmer("arabic")
File "C:\Anaconda2\lib\site-packages\snowballstemmer\__init__.py", line 57,   in stemmer
raise KeyError("Stemming algorithm '%s' not found" % lang)
KeyError: "Stemming algorithm 'arabic' not found"
4

2 回答 2

2

不要从 PyPi 安装 snowballstemmer 版本,因为它还不支持阿拉伯语。安装链接中提供的版本。它里面有这个阿拉伯语词干分析器。您可以通过下载 tarball 并执行 setup.py 来做到这一点:

sudo python setup.py install

这是一个例子:

>>> from snowballstemmer import stemmer
>>> ar_stemmer = stemmer("arabic")
>>> stem = ar_stemmer.stemWord(u"فسميتموها")
>>> print stem
سمي
>>> stem
u'\u0633\u0645\u064a'
于 2016-05-30T18:07:44.207 回答
1

我曾经与 SnowballStemmer 合作过,这就是它为我工作的方式:

>>> from nltk.stem import SnowballStemmer
>>> print(" ".join(SnowballStemmer.languages)) # See which languages are supported
danish dutch english finnish french german hungarian
italian norwegian porter portuguese romanian russian
spanish swedish
>>> stemmer = SnowballStemmer("german") # Choose a language
>>> stemmer.stem("Autobahnen") # Stem a word
'autobahn'

我不确定阿拉伯语是否在这里有效

于 2016-05-30T14:51:01.857 回答