NLTK - в метании stem () отсутствует 1 обязательный аргумент - PullRequest
1 голос
/ 17 октября 2019

Я следую учебному пособию по глубокому обучению, в котором используется анаконда: https://www.youtube.com/watch?v=ICL7VRKvS_A&list=PLzMcBGfZo4-ndH9FoC4YWHGXG5RZekt-Q&index=4

Строка, на которую он жалуется: (отредактировано в соответствии с предложением микротросса)

words = [stemmer.stem(w.lower()) for w in words if w != "?" and w is not None]

Отображается ошибка:

Traceback (most recent call last):
File "C:/Users/HP X360/PycharmProjects/Mach_Lrn/bot.py", line 30, in <module>
words = [stemmer.stem(w.lower()) for w in words if w != "?" and w is not None]
File "C:/Users/HP X360/PycharmProjects/Mach_Lrn/bot.py", line 30, in <listcomp>
words = [stemmer.stem(w.lower()) for w in words if w != "?" and w is not None]

TypeError: stem() missing 1 required positional argument: 'word'

Я довольно новичок в кодировании, немного гугл, но я скопировал текст из учебника, который работает с видео, поэтому я обращаюсь кнебольшая помощь, которая была бы очень признательна:)

Анна х

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

Решено - была ошибка опечатки в предыдущем коде.

0 голосов
/ 17 октября 2019

Измените его следующим образом:

words = [stemmer.stem(w.lower()) for w in words if w.lower() != "?" and w.lower() is not None]

Если вы хотите увидеть, что передается в stemmer.stem, то конвертируйте из списка в обычный цикл:

stemmed_words = []
for w in words:
    try:
        stemmed_words.append(stemmer.stem(w.lower()))
    except:
        print('WORD ->', w.lower(), '<-')
...