C#を使用してPDFドキュメントを分類する

プログラムで、IAB-2、ドキュメント、およびセンチメント分類法内の事前定義されたタグまたはカテゴリを使用してドキュメントを分類できます。ドキュメントを分類することで、適切なタイミングで関連情報を簡単に見つけることができます。また、重要な情報を検索および取得するためのドキュメントの管理と並べ替えにも役立ちます。この記事では、C#を使用してPDFドキュメントを分類する方法を学習します。

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

PDF分類用のC#API

PDFファイルの分類にはGroupDocs.Classificationfor.NETAPIを使用します。事前定義されたカテゴリで高度なドキュメントとテキストの分類を提供します。 APIは、IAB-2、ドキュメント、センチメント分類法などのさまざまなタイプの分類法をサポートします。テキストを分析し、確率スコアとともに最高のクラスを含む分類情報を表示します。 PDF、Word、OpenDocument、RTF、TXTなどのさまざまな業界標準のドキュメント形式を分類できます。 APIは、言語の自動検出による感情分析も提供し、英語、中国語、スペイン語、およびドイツ語をサポートします。 .NETプラットフォームを対象とするあらゆる開発環境でアプリケーションを開発するために使用できます。

APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

Install-Package GroupDocs.Classification

C#を使用してIAB-2タクソノミーでPDFドキュメントを分類する

以下に示す簡単な手順に従うことで、プログラムでIAB-2分類法を使用してPDFドキュメントを簡単に分類できます。

  • 分類子クラスのインスタンスを作成します
  • ファイルパスを使用してClassifier.Classify()メソッドを呼び出します
  • bestClassesCountとTaxonomyを入力として設定します
  • ClassificationResponseクラスオブジェクトで結果を取得します

次のコードサンプルは、C#を使用してIAB-2分類法でPDFを分類する方法を示しています。

// 分類子を作成する
var classifier = new Classifier();

// IAB-2でドキュメントを分類する
var response = classifier.Classify("sample.pdf", @"C:\Files\", 3, Taxonomy.Iab2);

// 分類情報を表示する
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName: " + r.Name);
    Console.WriteLine("ClassProbability: " + r.Probability);
    Console.WriteLine("--------------------------------");
}
C#を使用してIAB-2タクソノミーでPDFドキュメントを分類する

C#を使用してIAB-2タクソノミーでPDFドキュメントを分類する

Classifierクラスは、ドキュメントを分類するためのさまざまなmethodsを提供するメインクラスです。このクラスのClassify()メソッドは、ファイル名とディレクトリ名でドキュメントを分類します。 bestClassesCountパラメーターは、返す最適なクラスの数を定義します。上記のコード例では、分類にTaxonomy.IAB2分類法を使用しました。

ClassificationResponseクラスは、取得した分類情報を表示するためのプロパティとメソッドを提供します。

C#を使用したドキュメント分類によるPDF分類

以下に示す簡単な手順に従って、プログラムでPDFドキュメントをドキュメント分類法で分類できます。

  • 分類子クラスのインスタンスを作成します
  • ファイルパスを使用してClassifier.Classify()メソッドを呼び出します
  • bestClassesCount、Taxonomy、PrecisionRecallBalanceを入力として設定します
  • ClassificationResponseクラスオブジェクトで結果を取得します

次のコードサンプルは、C#を使用してドキュメント分類法でPDFを分類する方法を示しています。

// 分類子を作成する
var classifier = new Classifier();

// ドキュメント分類法でドキュメントを分類する
var response = classifier.Classify("sample.pdf", @"C:\Files\", 4, Taxonomy.Documents, PrecisionRecallBalance.Precision);
                
// 分類情報を表示する
foreach (var r in response.BestResults)
{
    Console.WriteLine("ClassName: " + r.Name);
    Console.WriteLine("ClassProbability: " + r.Probability);
    Console.WriteLine("--------------------------------");
}
C#を使用してドキュメント分類法でPDFを分類する

C#を使用してドキュメント分類法でPDFを分類する

C#を使用したストリームからのPDFドキュメント分類

以下に示すいくつかの手順に従って、プログラムでファイルストリームからPDFドキュメントを分類できます。

  • FileStreamインスタンスでファイルを読み取ります
  • 分類子クラスのインスタンスを作成します
  • FileStreamインスタンスを使用してClassifier.Classify()メソッドを呼び出します
  • 入力としてbestClassesCountとTaxonomyを設定します
  • ClassificationResponseクラスオブジェクトで結果を取得します

次のコードサンプルは、C#を使用してドキュメントストリームからPDFを分類する方法を示しています。

using (var fs = File.OpenRead(Path.Combine(@"C:\Files\", "sample.pdf")))
{
    // 分類子を作成する
    var classifier = new Classifier();
    
    // ドキュメントを分類する
    var response = classifier.Classify(fs, "sample.pdf", 2, Taxonomy.Documents);
    
    // 分類情報を表示する
    Console.WriteLine($"{"sample.pdf"}: {response.BestClassName}, {response.BestClassProbability}");
}

C#を使用してパスワードで保護されたPDFファイルを分類する

以下の簡単な手順に従って、パスワードで保護されたPDFドキュメントをプログラムで簡単に分類できます。

  • 分類子クラスのインスタンスを作成します
  • ファイルパスを使用してClassifier.Classify()メソッドを呼び出します
  • ファイルのbestClassesCountとPasswordを入力として設定します
  • ClassificationResponseクラスオブジェクトで結果を取得します

次のコードサンプルは、C#を使用してパスワードで保護されたPDFファイルを分類する方法を示しています。

// 分類子を作成する
var classifier = new Classifier();

// パスワードで保護されたドキュメントを分類する
var response = classifier.Classify("password-protected.pdf", @"C:\Files\", password: "password");

// 分類情報を表示する
Console.WriteLine(response.BestClassName, response.BestClassProbability);

無料ライセンスを取得する

無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。

結論

この記事では、C#を使用してPDFドキュメントを分類する方法を学習しました。また、IAB-2タクソノミーとドキュメントタクソノミーを使用してドキュメントを分類する方法も学習しました。さらに、C#のファイルパスの代わりにファイルストリームを使用してドキュメントをロードしながらドキュメントを分類する方法を学習しました。 ドキュメントを使用して、GroupDocs.Classification for.NETAPIの詳細を確認できます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目