【问题标题】:How to perform Sentiment Analysis on Noun Phrases in Pandas?如何对 Pandas 中的名词短语进行情感分析?
【发布时间】:2021-07-30 05:35:46
【问题描述】:

我需要您的帮助,因为我尝试了所有方法,但无法使用 TextBlob 对从数据框中的推文中提取的名词短语执行情感分析。我也认为 TextBlob.noun_phrases 函数没有产生正确的结果。请在下图中亲自查看。我真的是Python新手,请帮忙!!

所以我从数据框中提取名词短语的代码是:

from textblob import TextBlob
nltk.download('wordnet')
nltk.download('brown')
nltk.download('punkt')

def blob(text):
  return TextBlob(text).noun_phrases

df['Noun_Phrases'] = df['Tweets'].apply(blob)

df

enter image description here

接下来,我的情绪分析代码如下,我得到如下图所示的错误:

def getsubjectivity(text):
return TextBlob(text).sentiment.subjectivity 

df['Subjectivity'] = df['Noun_Phrases'].apply(getsubjectivity)

错误:TypeError:传递给__init__(text)text 参数必须是字符串,而不是

enter image description here

【问题讨论】:

    标签: python pandas twitter sentiment-analysis textblob


    【解决方案1】:

    不确定您的目标。在你的getsubjectivity 函数中,输入需要是字符串,看起来你正在给它一个列表。

    如果您进行以下更改,您将克服错误。

    def getsubjectivity(text):
        text=''.join(text)
        return TextBlob(text).sentiment.subjectivity 
    

    【讨论】:

    • 非常感谢,它成功了!基本上我的目标是从推文中提取名词短语并获得名词短语的极性和主观性。我还得再问你一个问题,如果你能帮忙的话。我实际上是在尝试对我的推文进行词干提取,所以我想知道在词干提取之前必须进行标记化吗?因为如果我进行标记化,那么它就会变成单词列表而不是字符串。当它变成单词列表时,我无法在列表中执行 WordCloud。对于 WordCloud,我猜它一定是一个字符串?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2017-11-15
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多