【问题标题】:VaderSentiment: emoji analyzer does not work in Jupyter NotebookVaderSentiment:表情符号分析器在 Jupyter Notebook 中不起作用
【发布时间】:2021-04-22 14:41:33
【问题描述】:

我正在尝试对 r/wallstreetbets 内容进行一些情感分析,并且还想使用表情符号的含义。

这是我的代码:

from nltk.sentiment.vader import SentimentIntensityAnalyzer

wsb_lingo = {
    "bullish": 4.0,
    "bearish": -4.0,
    "bagholder": -4.0,
    "BTFD": 4.0,
    "FD": 4.0,
    "diamond hands": 0.0,
    "paper hands": 0.0,
    "DD": 4.0,
    "GUH": -4.0,
    "pump": 4.0,
    "dump": -4.0,
    "gem stone": 4.0, # emoji
    "rocket": 4.0, # emoji
    "andromeda": 0.0,
    "to the moon": 4.0,
    "stonks": -4.0,
    "tendies": 4.0,
    "buy": 4.0,
    "sell": -4.0,
    "hold": 4.0,
    "short": 4.0,
    "long": 4.0,
    "overvalued": -4.0,
    "undervalued": 4.0,
    "calls": 4.0,
    "call": 4.0,
    "puts": -4.0,
    "put": -4.0,
}

sid = SentimentIntensityAnalyzer()
sid.lexicon.update(wsb_lingo)

# Test
print(sid.polarity_scores('????'))
print(sid.polarity_scores('????'))

输出如下:

{'neg': 0.0, 'neu': 0.0, 'pos': 0.0, 'compound': 0.0}
{'neg': 0.0, 'neu': 0.0, 'pos': 0.0, 'compound': 0.0}

它怎么可能无法对表情符号表达任何情感(例如,由于 Jupyter Notebook)?我在这里忘记了什么吗?所有库都是最新的。

【问题讨论】:

  • 所以这在脚本(不是笔记本)中运行时有效吗?根据这个answer,它应该可以工作。

标签: python emoji sentiment-analysis vader


【解决方案1】:

如果我使用 vaderSentiment 而不是 nltk.sentiment.vader 它对我有用

from vaderSentiment.vaderSentiment import SentimentIntensityAnalyzer

new = { "rocket": 4.0 }
sia = SentimentIntensityAnalyzer()
sia.polarity_scores('?')
# Outputs: {'neg': 0.0, 'neu': 1.0, 'pos': 0.0, 'compound': 0.0}

sia.lexicon.update(new)
sia.polarity_scores('?')
# Outputs: {'neg': 0.0, 'neu': 0.0, 'pos': 1.0, 'compound': 0.7184}

另见this issue

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多