如何解决TypeError: polarity_scores()缺少必填位置参数'text'的问题
问题原因
TypeError: polarity_scores() missing 1 required positional argument: 'text' 报错是因为你没有正确实例化VADER的情感分析类,直接以类调用实例方法导致参数不匹配:实例方法默认第一个参数为实例自身
self,未实例化直接调用时,你传入的文本会被识别为self参数,系统就会提示缺少text参数。
解决步骤
- 第一步:安装依赖并下载vader语料
如果还没有安装nltk包,先运行安装命令:pip install nltk
然后在代码中下载vader所需的词典文件:
import nltk nltk.download('vader_lexicon')
- 第二步:修正代码逻辑,先实例化再调用方法
正确代码示例:
# 引入VADER类 from nltk.sentiment.vader import SentimentIntensityAnalyzer # 先完成实例化 vader = SentimentIntensityAnalyzer() # 再运行你原有业务代码 df=[] DataTab['scores'] = DataTab['headline_text'].apply(lambda x: vader.polarity_scores(x)) DataTab.head()
内容的提问来源于stack exchange,提问作者Sarvadnya Navti
相关产品推荐
相关产品推荐

