Nltk: "IndexError: Zeichenfolgenindex außerhalb des Bereichs" beim Versuch, das Wort "oing" einzudämmen

Erstellt am 8. Feb. 2017  ·  5Kommentare  ·  Quelle: nltk/nltk

Einfach zu reproduzieren:

>>> from nltk import PorterStemmer
>>> stemmer = PorterStemmer()
>>> stemmer.stem('oing')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/peterbe/virtualenvs/songsearch/lib/python3.5/site-packages/nltk/stem/porter.py", line 665, in stem
    stem = self._step1b(stem)
  File "/Users/peterbe/virtualenvs/songsearch/lib/python3.5/site-packages/nltk/stem/porter.py", line 376, in _step1b
    lambda stem: (self._measure(stem) == 1 and
  File "/Users/peterbe/virtualenvs/songsearch/lib/python3.5/site-packages/nltk/stem/porter.py", line 258, in _apply_rule_list
    if suffix == '*d' and self._ends_double_consonant(word):
  File "/Users/peterbe/virtualenvs/songsearch/lib/python3.5/site-packages/nltk/stem/porter.py", line 214, in _ends_double_consonant
    word[-1] == word[-2] and
IndexError: string index out of range
>>> import nltk
>>> nltk.__version__
'3.2.2'
bug pleaseverify stelemma

Hilfreichster Kommentar

Wurde das Problem behoben?

Alle 5 Kommentare

Ich habe diesen Fehler für das Wort "aed" :

from nltk.stem.porter import PorterStemmer
from nltk.corpus import stopwords
stemmer = PorterStemmer()
stemmer.stem('aed')

Fehler ist:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/peter.hurford/.virtualenvs/rex/lib/python2.7/site-packages/nltk/stem/porter.py", line 665, in stem
    stem = self._step1b(stem)
  File "/Users/peter.hurford/.virtualenvs/rex/lib/python2.7/site-packages/nltk/stem/porter.py", line 376, in _step1b
    lambda stem: (self._measure(stem) == 1 and
  File "/Users/peter.hurford/.virtualenvs/rex/lib/python2.7/site-packages/nltk/stem/porter.py", line 258, in _apply_rule_list
    if suffix == '*d' and self._ends_double_consonant(word):
  File "/Users/peter.hurford/.virtualenvs/rex/lib/python2.7/site-packages/nltk/stem/porter.py", line 214, in _ends_double_consonant
    word[-1] == word[-2] and
IndexError: string index out of range

Installiert mit:

pip install nltk
python -m nltk.downloader -d

Ausführung:

import nltk
nltk.__version__ # '3.2.2'

Duplikat von https://github.com/nltk/nltk/issues/1581. Mein Fehler; Es tut uns leid. :(

Der Fehler wurde in Version 3.2.2 eingeführt und ist auf dem Master behoben. Sie können entweder develop oder Version 3.2.1 verwenden, um den Fehler zu beseitigen.

Als fest schließen?

Wurde das Problem behoben?

Dieses Problem sollte von # 1582 😉 behoben worden sein

>>> import nltk
>>> nltk.__version__
'3.2.5'

>>> from nltk import PorterStemmer
>>> porter = PorterStemmer()
>>> porter.stem('oing')
u'o'

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen