我最近开始学习使用Python进行NLP和ML。
我从情感分析开始入手,但是我不太理解在进行情感分析时机器学习的作用。
假设我正在使用NLTK的SentimentIntensityAnalyzer分析推文或新闻标题,并加载相关词典使我获取情感极性、负面情感、正面情感和中性得分。
现在我不理解的是,在什么情况下应该像本文中的代码那样使用:
还是只使用内置的NLTK工具,甚至像Google的BERT这样的东西呢?
欢迎任何回答或Blog或教程链接!
我最近开始学习使用Python进行NLP和ML。
我从情感分析开始入手,但是我不太理解在进行情感分析时机器学习的作用。
假设我正在使用NLTK的SentimentIntensityAnalyzer分析推文或新闻标题,并加载相关词典使我获取情感极性、负面情感、正面情感和中性得分。
现在我不理解的是,在什么情况下应该像本文中的代码那样使用:
还是只使用内置的NLTK工具,甚至像Google的BERT这样的东西呢?
欢迎任何回答或Blog或教程链接!
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}
NLP本质上是机器学习的一部分,或者说使用了机器学习。它是“计算机和信息科学、人工智能和语言学的交叉学科领域,探索文本或语音中的自然语言”(reference)。
NLP的任务之一可以是您提到的情感分析,您可以使用各种NLP和ML工具。根据您的目的,有各种各样的NLP任务及其相应的库,例如情感分析、主题建模和命名实体识别(NER)。
对于同一任务,甚至有多个自然语言处理(NLP)库可供选择。例如,在情感分析方面,Huggingface、NLKT和spaCy都可以实现相同的目的。您可以参考它们的文档,并根据它们的性能和要求来决定哪个最适合您的任务。
示例教程:使用spaCy进行Python文本分类, 使用spaCy训练你自己的情感分析器, 微调BERT进行情感分析, 简化Python情感分析。