如何使用vaderSentiment包修复Python中的``编码''问题

时间:2019-01-17 14:37:34

标签: python encoding nlp sentiment-analysis vader

我正在研究情绪分析问题,找到了vaderSentiment软件包,但无法运行它。它给了我一个“编码”错误。

我尝试添加'from io import open',但这不能解决我的问题。请参见下面的代码。

from io import open
from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer

analyser = SentimentIntensityAnalyzer()

def sentiment_analyzer_scores(sentence):
    score = analyser.polarity_scores(sentence)
    print("{:-<40} {}".format(sentence, str(score)))

sentiment_analyzer_scores("The phone is super cool.") 

这是我想要的结果:

"The phone is super cool----------------- {'neg': 0.0, 'neu': 0.326, 'pos':         
0.674, 'compound': 0.7351}"

我得到的结果:

File "<ipython-input-27-bbb91818db04>", line 6, in <module>
analyser = SentimentIntensityAnalyzer()

File "C:\Users\mr110e\AppData\Local\Continuum\anaconda2\lib\site
packages\vaderSentiment\vaderSentiment.py", line 212, in __init__
with open(lexicon_full_filepath, encoding='utf-8') as f:

TypeError: 'encoding' is an invalid keyword argument for this function

2 个答案:

答案 0 :(得分:1)

vaderSentiment软件包不支持python 2。

您应该使用python 3little bit edit the package's source code

答案 1 :(得分:0)

使用文本编辑器打开此文件

<your python2 instalation path>\lib\site-packages\vaderSentiment\vaderSentiment.py

在文件顶部添加以下行:

from io import open
#------------------
import os
import re
import math
import string
import requests
import json
from itertools import product
from inspect import getsourcefile