假設您有機會收到客戶或其他來源的評論或評論,並且您想評估他們的積極程度。有一種方法可以分析此類評論,稱為情緒分析。這篇文章重點介紹基於深度神經網絡模型的情感分析工具,使用 C#。該模型適用於廣泛的任務。

.NET 的情緒分析 API

如果您想以編程方式進行情緒分析,GroupDocs.Classification 可以滿足您的需求。它實現了一個通用的情感分類器,可用於評估產品評論、商店評論、應用程序評論、反饋等的基調。

.NET 的 GroupDocs.Classification

本文將指導您使用 C# 和 GroupDocs.Classification for .NET 對評論進行分類並分析積極性。因此,在開始之前,請確保通過以下任一方法安裝 API:

  • 使用 NuGet 包管理器安裝。
  • 下載 the DLL and reference it into the project.

如何在 C# 中使用情感分析對文本進行分類

為了解決這樣的任務,我們可以使用一個名為 Classifier 的通用類,或者我們可以使用更簡單、更輕量級的 Sentiment Classifier。以下是步驟:

  • 初始化 SentimentClassifier
  • 調用SentimentClassifier類的PositiveProbability方法,將需要分析的文本作為參數傳入。
  • PositiveProbability 方法將返回 0 到 1 範圍內的積極性。

這是使用情感分類查找任何語句的語氣的 C# 代碼。我們選擇以下情緒作為示例:

“經驗只是我們給錯誤起的名字”

// Analyze the positivity of text using sentiment classifier in C#.
var sentiment = "Experience is simply the name we give our mistakes";
var sentimentClassifier = new SentimentClassifier();
/// PositiveProbability method returns the positive probability of the sentiment.
var positiveProbability = sentimentClassifier.PositiveProbability(sentiment);
Console.WriteLine($"Positive Probability of the sentiment { positiveProbability }");
Positive Probability of the sentiment: **0.1118**

任何大於 0.5 的值都表示情緒是積極的,0 到 0.5 之間的範圍表明情緒是消極的。

現在根據提取的積極性,您可以獲得該最佳類別的情緒和概率的最佳類別。我們發現它的正面概率是 0.11,所以它應該被歸類為負面評論,它的 Best Class 應該是 Negative 而不是 Positive。

那麼它的最佳類別概率是多少?是的,它將是 0.89。現在讓我們看看代碼:

var sentiment = "Experience is simply the name we give our mistakes";
/// Classify method returns ClassificationResult object with the best class probability and name.
var response = sentimentClassifier.Classify(sentiment);
Console.WriteLine($"Best Class Name: {response.BestClassName}");
Console.WriteLine($"Best Class Probability: { response.BestClassProbability}");
Best Class Name: **Negative**
Best Class Probability: **0.8882**

在 C# 中使用情感分析對多個評論進行分類

通常我們有成千上萬的評論和反饋,那麼我們如何分析客戶的反饋呢?很簡單,只需將反饋放在一個數組中即可。讓字符串數組成為評論的來源。它也可以是文件或來自數據庫或服務的已解析響應。我們可以將字符串數組轉換為正面情緒概率的浮點數組。

var sentiments = new string\[\] {
                "Now that is out of the way, this thing is a beast. It is fast and runs cool.",
                "Experience is simply the name we give our mistakes",
                "When I used compressed air a cloud of dust bellowed out from the card (small scuffs and scratches).",
                "This is Pathetic."
            };
            var classifier = new GroupDocs.Classification.SentimentClassifier();
            var sentimentPositivity = sentiments.Select(x => classifier.PositiveProbability(x)).ToArray();
            Console.WriteLine(string.Join("\\n", sentimentPositivity));
**0.8959** - "Now that is out of the way, this thing is a beast..."
**0.1118** - "Experience is simply the name we give our mistakes"
**0.1252** - "When I used compressed air a cloud ..."
**0.0970** - "This is Pathetic."

我們可以用目標情緒做什麼?我們可以衡量目標產品、商店等的平均或中值積極性。選擇最差的值並回應客戶。我們還可以進行分析,例如發現產品的正面概率值與其評級之間的不一致。

我們希望您覺得這篇文章有用。您可以從上述資源中找到有關 C# 中的文本分類或情感分析的更多信息。

了解有關 GroupDocs.Classification API 的更多信息

下載並運行 GitHub 示例是最好和最簡單的入門方法。

也可以看看