NLTK-抛出tem()缺少1个必需的参数错误

问题描述 投票:0回答:1

我正在这里学习有关使用anaconda的深度学习教程:https://www.youtube.com/watch?v=ICL7VRKvS_A&list=PLzMcBGfZo4-ndH9FoC4YWHGXG5RZekt-Q&index=4

它抱怨的行:(根据michotross的建议编辑)

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'

我对编码还很陌生,有点谷歌,但是我已经复制了可用于视频的教程中的文本,因此正在寻求一些帮助,这将非常感激:)

安娜x

python anaconda nltk list-comprehension curses
1个回答
0
投票

将其更改为此:

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(), '<-')
© www.soinside.com 2019 - 2024. All rights reserved.