【问题标题】:How to fix 'encoding' issue in Python using vaderSentiment package如何使用 vaderSentiment 包修复 Python 中的“编码”问题
【发布时间】:2019-01-17 14:37:33
【问题描述】:

我正在处理一个情绪分析问题,并找到了 vaderSentiment 包,但无法让它运行。它给了我一个“编码”错误。

我尝试添加“从 io 导入打开”,但这并没有解决我的问题。请看下面的代码。

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

【问题讨论】:

  • 请包含错误的完整堆栈跟踪。没有它,我们就没有足够的动力继续前进。
  • 更新了错误。
  • python2 open 没有提供 'encoding' 关键字参数,所以你应该使用 python3
  • this issue它也可能有帮助
  • 最新的是3.7

标签: python encoding nlp sentiment-analysis vader


【解决方案1】:

vaderSentiment 包不支持 python 2。

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

【讨论】:

    【解决方案2】:

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

    &lt;your python2 instalation path&gt;\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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      • 2017-07-19
      相关资源
      最近更新 更多