C# の REST API を使用したテキストまたはドキュメントの分析

ドキュメントやテキストのセンチメント分析をプログラムで簡単に実行できます。これは、テキストまたはデータが肯定的、否定的、または中立的であるかを判断するために使用されます。また、ビジネス運営の利益のために使用する意見を特定して抽出するのにも役立ちます。この記事では、C# の REST API を使用してテキストまたはドキュメントのセンチメント分析を実行する方法を学習します。

この記事では次のトピックについて説明/取り上げます。

感情分析 REST API と .NET SDK

テキストまたはドキュメントのセンチメント分析には、GroupDocs.Classification Cloud の .NET SDK API を使用します。これにより、生のテキストとドキュメントを事前定義されたカテゴリに分類できます。 SDK は、IAB-2、ドキュメント、感情分類などの複数の分類タイプをサポートしています。 PDF、Word、OpenDocument、RTF、TXT など、サポートされているファイル形式のドキュメントを分類できます。分類情報には、最良のクラスとその確率スコアが表示されます。

GroupDocs.Classification Cloud は、NuGet パッケージ マネージャーから 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 ファイルをクラウドにアップロードします。

// APIの初期化
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 を使用してドキュメントのセンチメント分析を実行する方法を示しています。

// 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 を使用してテキストの感情分析を実行する方法を示しています。

// 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 に提供します
  • センチメント分析の分類を設定する
  • BatchRequest と分類法を使用して ClassifyBatchRequest を作成する
  • ClassifyBatchRequest で ClassificationApi.ClassifyBatch() メソッドを呼び出して結果を取得します

次のコード サンプルは、C# の REST API を使用してセンチメント分析でテキストのバッチを分類する方法を示しています。

// 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 リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目