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的主要優點:
有了足夠的訓練數據,BERT 就會非常強大,有了足夠的訓練數據,它應該能夠正確地獲得我文章開頭的示例。這是一個巨大的優勢。
由于 BERT 已經經過預訓練,因此可能需要相對較少數量的訓練樣本才能給出良好合理的結果。
由于 BERT 不需要(或需要少得多)特征工程,因此在 ML 工程工作方面可以快速獲得良好的初始結果。
BERT 的主要局限性是:
學習曲線,主要是從概念上理解它是如何工作的。使用 BERT 并不是很難。
BERT 的訓練和預測速度很慢。即使對于小型數據集,您也必須至少使用中等 GPU。
缺乏透明度。真的很難知道為什么基于 BERT 的模型會提出它的建議。

TA貢獻1831條經驗 獲得超4個贊
NLP 本質上是 ML 的一部分,或者換句話說,使用 ML。它是“計算機和信息科學、人工智能和語言學的跨學科領域,探索文本或語音中的自然語言”。
NLP 任務之一就是您提到的情感分析,為此您可以使用各種 NLP 和 ML 工具。有各種各樣的 NLP 任務及其各自的庫,具體取決于您的目的,例如情感分析、主題建模和命名實體識別 (NER)。
即使針對同一任務,也有多個 NLP 庫。例如,在情感分析中,Huggingface、NLKT和spaCy可以實現相同的目的。您可以建議他們的文檔,并根據他們的性能和要求決定哪個適合您的任務。
添加回答
舉報