【NLP】Python3.7使用NLTK进行情感分析

【NLP】Python3.7使用NLTK进行情感分析

以前系统的玩过NLP,对于相关的知识较为熟悉,这次需要对一些英文评论性的语料做一些情感分析,本来这段时间好不容易搞定了中文的SnowNlp,发现用已有代码效果不好,本次拿出以前用了很多次的NLTK,好久不用会有一些坑的,那记录一下吧,希望大家可以顺利,不要安装使用上打击了积极性哇!

1.NLTK情感分析

自然语言工具包(NLTK)是最受欢迎的自然语言处理(NLP)库。它是用 Python 语言编写的,背后有强大的社区支持。

NLTK 也很容易入门,实际上,它将是你用到的最简单的自然语言处理(NLP)库。

2.安装使用上的一些坑

这次在python 3.7环境下。
其实一般只需要pip install nltk就可以,在pycharm下直接add也可,这个时候import nltk一般是没问题的。
但是如果想用Nltk下的自带data,一般使用import nltk后用,

nltk.download()

这时候会弹出?
正常下载需要的包就可以了。
但有可能会像我一样出错,连接不到winerror巴拉巴拉。。。。。
在这里插入图片描述
那就看这里吧
详细步骤,去他的github自己下载
在github上下载nltk_data,网址为https://github.com/nltk/nltk_data,支持python3。下载packages目录,把目录名改为nltk_data,保存在任意目录下,比如D:/nltk_data这样都可以。
在这里插入图片描述
一般这样就会可以用啦!

3.实战结果

我从数据库里读出自己的内容,主要nltk情感分析写在这个函数里了!
不要忘了?
from nltk.sentiment.vader import SentimentIntensityAnalyzer

def nltkSentiment(view):
    sid = SentimentIntensityAnalyzer()
    view_sen=[]
    for sen in view:
        print(sen)
        senti = sid.polarity_scores(sen)
        for k in senti:
            print('{0}:{1},'.format(k, senti[k]), end='\n')

输出的结果大概是这样:
在这里插入图片描述compound是复杂度,基本今天这个结果暂时满意啦~

3.后续需解决

一些思考和后续需要解决的问题
这个解决给了每个句子的pos ,neg, neu三个方向的值,不确定怎么用一个值来衡量,大多都属于中立的范畴,但这样对情感分析不适合,最好是以pos 和neu为主找到一个衡量值,除了pos:0;neg:0;neu:1,就认为他是中立的。

或许可以?!继续试试,会回来填坑~

—————EchoZhang——2019/10/28——————————

  • 3
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: NLTK(自然语言工具包)是一个流行的Python库,用于自然语言处理。情感分析是其中一个重要的应用领域,可以使用NLTK进行情感分析。首先,需要下载NLTK库并安装。 然后,可以使用NLTK提供的情感分析模块VADER进行情感分析VADER使用一种基于规则的方法,可以分析出文本中的情感极性(positive、negative或neutral),以及情感强度(强、中等或弱)。 以下是一个简单的例子,使用NLTK对一些文本进行情感分析: ``` python import nltk from nltk.sentiment.vader import SentimentIntensityAnalyzer nltk.download('vader_lexicon') # 初始化情感分析器 sia = SentimentIntensityAnalyzer() # 要分析的文本 text = "This movie is really great, I enjoyed it a lot!" # 进行情感分析 sentiment = sia.polarity_scores(text) # 输出情感分析结果 print(sentiment) ``` 输出结果为: ``` {'neg': 0.0, 'neu': 0.473, 'pos': 0.527, 'compound': 0.6114} ``` 其中,`compound`是一个综合指标,可以表示文本的整体情感极性和强度。在这个例子中,分析结果为正向情感,且强度较强(`compound`值为0.6114)。 ### 回答2: Pythonnltk库(Natural Language Toolkit)提供了许多自然语言处理的功能,其中包括情感分析情感分析是一种通过分析文本来确定其中蕴含的情感或情绪的技术。 在nltk库中,有几种方式可以进行情感分析。其中一种常用的方法是使用情感词典。情感词典是一个包含单词和对应情感极性(如正面、负面、中性)的列表。通过计算文本中出现的情感词的数量和其极性,可以对整段文本的情感进行评估。 另一种方法是通过训练情感分类器来进行情感分析。这可以通过使用已标记的文本数据集进行监督学习来实现。训练过程中,计算机会学习如何将文本与特定情感类别相关联。然后,使用训练好的分类器可以对新的文本进行情感分析。 除此之外,nltk库还提供了其他处理文本的功能,如分词、词干提取、词性标注等。这些功能可以结合情感分析一起使用,以进一步提高情感分析的准确性和效果。 总的来说,Pythonnltk库提供了强大的情感分析工具,可以帮助我们分析文本中的情感和情绪。无论是通过情感词典还是训练分类器,都可以在实际应用中对情感进行有效的分析和评估。 ### 回答3: Python nltk是一个常用的自然语言处理工具库,其提供了丰富的功能以支持情感分析任务。 首先,nltk中提供了一组用于处理文本数据的方法和函数。通过nltk,我们可以对文本进行预处理,例如清除噪声、分词、标记标点和词性等等。这些预处理步骤对于情感分析非常重要,因为它可以提供干净、规范化的文本数据作为输入。 其次,nltk还包括了一些常用的情感分析算法和库。其中最常用的是情感词典,它包含了一系列单词和短语以及与之相关的情感分数。使用情感词典可以对文本中的每个词进行情感打分,并根据打分结果对整个文本的情感进行统计和分析。 此外,nltk还提供了一些机器学习算法用于情感分析。我们可以使用这些算法从标记好的训练数据中学习情感分类器,然后将其应用于新的文本数据进行情感分类。这种方法需要一定的训练数据,并且需要进行特征提取和模型训练等步骤,但通常可以获得更高的准确性和泛化能力。 除了上述功能,nltk还提供了一些额外的辅助功能,如词干提取、词形还原、情感分析可视化等。这些功能可以进一步提升情感分析的效果和可视化分析的结果。 总结而言,Python nltk是一个支持情感分析的强大工具库,它提供了丰富的处理文本数据的方法和函数,包括预处理、情感打分和分类等功能。无论是基于词典的情感分析还是机器学习算法,我们都可以通过nltk进行实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值