微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决NLP,使用NLTK情绪分析和使用ML方法之间的区别

我最近开始使用Python学习NLP和ML。 我从情感分析开始。 在进行情感分析时,我很难理解机器学习的作用。

假设我正在使用NLTK的SentimentIntensityAnalyzer分析推文或新闻标题,并且正在加载与案例相关的词典,因此我得到了极性和负性,阳性,中性分数。 现在我不明白的是,在这种情况下,我应该使用本文中的代码

Sentiment with ML toturial

还是只是NLTK中的内置文件,甚至是Google的BERT之类的文件

欢迎回答或链接博客或教程!

解决方法

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

您可以参考Sentiment Analysis来执行NLP任务之一,您可以使用各种NLP和ML工具。根据您的目的,有各种各样的NLP任务及其相应的库,例如情感分析,主题建模和命名实体识别(NER)。

即使对于同一任务,也有几个NLP库。在情感分析的情况下,例如HuggingfaceNLKTspaCy可以达到相同的目的。您可以建议他们的文档,并根据其性能和要求决定适合您的任务。

说明性教程:Text Classification in Python Using spaCyTraining your own Sentiment Analyzer with spaCyFine-tuning BERT for Sentiment AnalysisSimplifying Sentiment Analysis in Python

,

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,但不限于此。然后在此之上使用机器学习。这种方法依赖于足够好和足够大的训练数据集的可用性。通常,特征提取是更重要的部分,并且选择了简单模型,例如Logistic回归。

BERT是经过预训练的模型,可以微调,以为不一定非要我发现微调对我的经验有所帮助。

BERT的主要优点:

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

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

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

BERT的主要限制是:

  1. 学习曲线,主要是在概念上了解其工作原理。使用BERT并不是很难。

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

  3. 缺乏透明度。真的很难知道为什么基于BERT的模型在暗示它的暗示。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。