Как исправить проблему "кодирования" в Python с помощью пакета vaderSentiment
Я работаю над проблемой анализа настроений и обнаружил пакет vaderSentiment, но не могу запустить его. Это дает мне ошибку "кодирования".
Я попытался добавить 'из 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
1 ответ
Решение
vaderSentiment
Пакет не поддерживает Python 2.
Вы должны использовать Python 3 или немного изменить исходный код пакета
Откройте этот файл с помощью текстового редактора
<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