在 C# 中使用 REST API 對文本或文檔進行實體分析

您可以輕鬆地以編程方式對文檔或文本執行情緒分析。它用於確定文本或數據是正面的、負面的還是中性的。它還可以幫助您識別和提取意見以用於您的業務運營。在本文中,您將學習如何使用 C# 中的 REST API 對文本或文檔執行情感分析。

本文討論/涵蓋以下主題:

情緒分析 REST API 和 .NET SDK

對於文本或文檔的情感分析,我將使用 GroupDocs.Classification Cloud 的 .NET SDK API。它允許您將原始文本和文檔分類到預定義的類別中。 SDK 支持 IAB-2、Documents 和 Sentiment 等多種分類法類型。它使您能夠對支持的文件格式(例如 PDF、Word、OpenDocument、RTF 和 TXT)的文檔進行分類。分類信息顯示最佳類別及其概率得分。

您可以從 NuGet 包管理器將 GroupDocs.Classification Cloud 安裝到您的 Visual Studio 項目中。您可以在包管理器控制台中使用以下命令來安裝它:

Install-Package GroupDocs.Classification-Cloud

在開始執行步驟和可用代碼示例之前,請從 儀表板 獲取您的客戶端 ID 和密碼。獲得客戶端 ID 和密碼後,添加如下所示的代碼:

var configuration = new Configuration();
configuration.ClientId = "659fe7da-715b-4744-a0f7-cf469a392b73";
configuration.ClientSecret = "b377c36cfa28fa69960ebac6b6e36421";

在 C# 中使用 REST API 對文檔進行情感分析

請按照以下步驟在雲端對您的文檔進行情感分析。

上傳文件

首先,使用下面給出的代碼示例將 DOCX 文件上傳到雲端:

// 接口初始化
var apiInstance = new FileApi(configuration);

// 在 IOStream 中打開文件
var fileStream = File.Open("C:\\Files\\Classification\\sample.docx", FileMode.Open);

// 創建文件上傳請求
var request = new UploadFileRequest("sample.docx", fileStream, "");

// 上傳文件
var response = apiInstance.UploadFile(request);

因此,上傳的 DOCX 文件將在雲端儀表板的 文件部分 中可用。

使用 C# 對文檔進行情感分析分類

您可以按照以下步驟輕鬆地對文檔進行情感分析並在雲端對其進行分類:

  • 創建 ClassificationApi 的實例
  • 創建 BaseRequest 的實例
  • 在 FileInfo 模型中設置 DOCX 文件路徑
  • 將 FileInfo 設置為 BaseRequest 文檔
  • 使用 BaseRequest 創建一個 ClassifyRequest
  • 設置情緒分析分類
  • 通過使用 ClassifyRequest 調用 ClassificationApi.Classify() 方法獲取結果

以下代碼示例展示瞭如何在 C# 中使用 REST API 對文檔執行情感分析。

// 接口初始化
var apiInstance = new ClassificationApi(configuration);

// 創建基礎請求
BaseRequest baseRequest = new BaseRequest();
baseRequest.Document = new GroupDocs.Classification.Cloud.Sdk.Model.FileInfo()
{
    Name = "sample.docx",
    Folder = ""
};

// 創建分類請求
var request = new ClassifyRequest(baseRequest);

// 情感分析分類法
request.Taxonomy = "sentiment3";

// 得到分類結果
ClassificationResponse response = apiInstance.Classify(request);

// 顯示結果
foreach(var r in response.BestResults)
{
    Console.WriteLine("ClassName :" + r.ClassName);
    Console.WriteLine("ClassProbability :" + r.ClassProbability);
    Console.WriteLine("--------------------------------");
}
ClassName :Positive
ClassProbability :83.35
--------------------------------
ClassName :Neutral
ClassProbability :9.69
--------------------------------
ClassName :Negative
ClassProbability :6.96
--------------------------------

在 C# 中使用 REST API 通過情感分析對文本進行分類

您可以執行原始文本的情感分析,並按照以下步驟在雲端以編程方式對其進行分類。

  • 創建 ClassificationApi 的實例
  • 創建 BaseRequest 的實例
  • 為 BaseRequest 描述提供原始文本
  • 使用 BaseRequest 創建一個 ClassifyRequest
  • 設置情緒分析分類
  • 使用 ClassifyRequest 調用 ClassificationApi.Classify() 方法獲取結果

以下代碼示例展示瞭如何在 C# 中使用 REST API 對文本執行情感分析。

// 接口初始化
var apiInstance = new ClassificationApi(configuration);

// 創建基礎請求
BaseRequest baseRequest = new BaseRequest();
baseRequest.Description = "We support some of the most popular file formats in business, "
    + "including Microsoft Word documents, Excel spreadsheets, PowerPoint presentations, "
    + "Outlook emails and archives, Visio diagrams, Project files, and Adobe Acrobat PDF documents..";

// 創建分類請求
var request = new ClassifyRequest(baseRequest);
request.Taxonomy = "sentiment3";

// 得到分類結果
var response = apiInstance.Classify(request);

// 顯示結果
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName : " + r.ClassName);
    Console.WriteLine("ClassProbability : " + r.ClassProbability);
    Console.WriteLine("--------------------------------");
}
ClassName : Positive
ClassProbability : 69.41
--------------------------------
ClassName : Neutral
ClassProbability : 22.08
--------------------------------
ClassName : Negative
ClassProbability : 8.51
--------------------------------

C#多句情感分析

您可以按照以下步驟對一批文本中給出的多個句子進行分類,並以編程方式在雲端執行情感分析:

  • 創建 ClassificationApi 的實例
  • 創建 BatchRequest 的實例
  • 將一批文本中的多個句子提供給 BatchRequest
  • 設置情緒分析 Taxonomy
  • 使用 BatchRequest 和 Taxonomy 創建 ClassifyBatchRequest
  • 使用 ClassifyBatchRequest 調用 ClassificationApi.ClassifyBatch() 方法獲取結果

以下代碼示例展示瞭如何使用 C# 中的 REST API 對一批文本進行情感分析分類。

// 接口初始化
var apiInstance = new ClassificationApi(configuration);

// 創建批量文本請求
var batchRequest = new BatchRequest
{
    Batch = new List<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." },
        { "Excellent work done!" }
    }
};

// 創建分類批處理請求
var request = new ClassifyBatchRequest(batchRequest, taxonomy: "sentiment");

// 得到分類結果
var response = apiInstance.ClassifyBatch(request);

// 顯示結果
for (int x=0; x<response.Results.Count; x++)
{
    var res = response.Results[x];
    Console.WriteLine("Text : " + batchRequest.Batch[x]);
    Console.WriteLine("ClassName : " + res.BestClassName);
    Console.WriteLine("ClassProbability : " + res.BestClassProbability);
    Console.WriteLine("--------------------------------");
}
Text : Now that is out of the way, this thing is a beast. It is fast and runs cool.
ClassName : Positive
ClassProbability : 85.27
--------------------------------
Text : Experience is simply the name we give our mistakes
ClassName : Negative
ClassProbability : 72.56
--------------------------------
Text : When I used compressed air a cloud of dust bellowed out from the card (small scuffs and scratches).
ClassName : Negative
ClassProbability : 70.84
--------------------------------
Text : This is Pathetic.
ClassName : Negative
ClassProbability : 88.48
--------------------------------
Text : Excellent work done!
ClassName : Positive
ClassProbability : 90.41
--------------------------------

在線試用

請試用以下免費在線分類工具,該工具是使用上述API開發的。 https://products.groupdocs.app/分類[/](https:/ /products.groupdocs.app/splitter/pdf)

結論

在本文中,您學習瞭如何使用 REST API 通過情感分析對文檔進行分類。您還學習瞭如何在 C# 中對文本批處理執行情感分析。此外,您還學習瞭如何以編程方式將 DOCX 文件上傳到雲端。您可以使用 文檔 了解有關 GroupDocs.Classification Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看