Получение "плохого выхода" при использовании nltk в py3 - PullRequest
8 голосов
/ 30 октября 2019

NLTK версия 3.4.5. Python 3.7.4. Версия OSX 10.14.5.

Обновление кодовой базы с версии 2.7, столкнулось с этой проблемой только сейчас. Я сделал новую переустановку без кэширования всех пакетов и расширений, в новой виртуальной среде. Довольно озадачено, как это может происходить только со мной, и я не могу найти никого другого, у которого такая же ошибка в сети.

(venv3) gmoss$ python
Python 3.7.4 (default, Sep  7 2019, 18:27:02) 
[Clang 10.0.1 (clang-1001.0.46.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import nltk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/__init__.py", line 150, in <module>
    from nltk.translate import *
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/translate/__init__.py", line 23, in <module>
    from nltk.translate.meteor_score import meteor_score as meteor
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/translate/meteor_score.py", line 10, in <module>
    from nltk.stem.porter import PorterStemmer
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/stem/__init__.py", line 29, in <module>
    from nltk.stem.snowball import SnowballStemmer
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/stem/snowball.py", line 314, in <module>
    class ArabicStemmer(_StandardStemmer):
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/site-packages/nltk/stem/snowball.py", line 326, in ArabicStemmer
    r'[\u064b-\u064c-\u064d-\u064e-\u064f-\u0650-\u0651-\u0652]'
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/re.py", line 234, in compile
    return _compile(pattern, flags)
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/re.py", line 286, in _compile
    p = sre_compile.compile(pattern, flags)
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/sre_compile.py", line 764, in compile
    p = sre_parse.parse(p, flags)
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/sre_parse.py", line 930, in parse
    p = _parse_sub(source, pattern, flags & SRE_FLAG_VERBOSE, 0)
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/sre_parse.py", line 426, in _parse_sub
    not nested and not items))
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/sre_parse.py", line 536, in _parse
    code1 = _class_escape(source, this)
  File "/Users/gmoss/Documents/constructor/autocomplete/venv3/lib/python3.7/sre_parse.py", line 337, in _class_escape
    raise source.error('bad escape %s' % escape, len(escape))
re.error: bad escape \u at position 1

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Регулярные выражения Python не поддерживают экранирование \u, как говорится в сообщении об ошибке.

Странно, что ошибка происходит из пакета nltk. Авторы этого пакета точно знают, как писать регулярные выражения. Вы случайно выбрали версию пакета nltk для Python 2.7, даже если он находится в вашем каталоге 3.7? Я бы подал отчет об ошибке в этом пакете.

0 голосов
/ 07 ноября 2019

В случае, если кто-то еще столкнется с этим, понижение до 3.4.2 решит проблему, как это было до введения ArabicStemmer в соответствующий файл. Я открыл проблему с nltk и, надеюсь, она будет решена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...