为了账号安全,请及时绑定邮箱和手机立即绑定

NLP,使用NLTK的情感分析和使用ML方法之间的区别

NLP,使用NLTK的情感分析和使用ML方法之间的区别

红糖糍粑 2023-09-05 19:50:46
我最近开始使用 Python 学习 NLP 和 ML。我从情感分析开始。在进行情感分析时,我无法理解机器学习的作用。假设我正在使用 NLTK 的 SentimentIntensityAnalyzer 分析推文或新闻标题,并且正在加载与案例相关的词典,因此我会得到极性和消极性、积极性、中性分数。现在我不明白的是,在这种情况下我应该使用本文中的代码:ML 的情感图解或者只是像 NLTK 那样内置,甚至像 Google 的 BERT 之类的东西?欢迎任何答案或博客或教程的链接!
查看完整描述

2 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

SentimentIntensityAnalyzer是专门为分析情绪而构建的工具,它很容易使用,但可能会错过一些情况,例如:


In [52]: from nltk.sentiment.vader import SentimentIntensityAnalyzer                                                


In [53]: sia = SentimentIntensityAnalyzer()                                                                         


In [54]: sia.polarity_scores("I am not going to miss using this product.")                                          

Out[54]: {'neg': 0.0, 'neu': 0.829, 'pos': 0.171, 'compound': 0.1139}

一种机器学习方法,例如您链接中概述的方法,它更注重创建功能,通常使用 TF-IDF,但当然不限于此。然后在此基础上使用机器学习。这种方法依赖于足够好的和足够大的训练数据集的可用性。通常特征提取是更重要的部分,并且选择简单的模型,例如逻辑回归。

BERT 是预训练模型,可以进行微调,但我认为不一定要这样,我发现微调对我的经验有所帮助。

BERT的主要优点:

  1. 有了足够的训练数据,BERT 就会非常强大,有了足够的训练数据,它应该能够正确地获得我文章开头的示例。这是一个巨大的优势。

  2. 由于 BERT 已经经过预训练,因此可能需要相对较少数量的训练样本才能给出良好合理的结果。

  3. 由于 BERT 不需要(或需要少得多)特征工程,因此在 ML 工程工作方面可以快速获得良好的初始结果。

BERT 的主要局限性是:

  1. 学习曲线,主要是从概念上理解它是如何工作的。使用 BERT 并不是很难。

  2. BERT 的训练和预测速度很慢。即使对于小型数据集,您也必须至少使用中等 GPU。

  3. 缺乏透明度。真的很难知道为什么基于 BERT 的模型会提出它的建议。


查看完整回答
反对 回复 2023-09-05
?
慕容708150

TA贡献1831条经验 获得超4个赞

NLP 本质上是 ML 的一部分,或者换句话说,使用 ML。它是“计算机和信息科学、人工智能和语言学的跨学科领域,探索文本或语音中的自然语言”。

NLP 任务之一就是您提到的情感分析,为此您可以使用各种 NLP 和 ML 工具。有各种各样的 NLP 任务及其各自的库,具体取决于您的目的,例如情感分析、主题建模和命名实体识别 (NER)。

即使针对同一任务,也有多个 NLP 库。例如,在情感分析中,Huggingface、NLKT和spaCy可以实现相同的目的。您可以建议他们的文档,并根据他们的性能和要求决定哪个适合您的任务。

查看完整回答
反对 回复 2023-09-05
  • 2 回答
  • 0 关注
  • 204 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信