分類とは、基本的に、テキストを体系的に識別し、ルールに従って編成するアプローチです。分類法は、そのような分類の科学を定義します。大量のテキストドキュメントを扱っている場合、コンテンツの分類学的分類が行われるまで、ドキュメントのトピックを見つけるのは困難です。この記事では、** IAB-2に従ってプログラムでドキュメントを分類する方法と、C#を使用してドキュメントの分類法**を学習します。
以下のトピックについて説明します。
ドキュメントの分類学的分類のための.NETAPI
GroupDocs.Classificationは、さまざまな種類のアプリケーションの分類ソリューションを提供します。その.NETAPIを使用すると、.NETアプリケーション内のさまざまな分類カテゴリに従ってさまざまなファイル形式のドキュメントを分類できます。 C#を使用したPDFおよびWordドキュメントの分類には、GroupDocs.Classification for .NETAPIを使用します。
ダウンロードセクションからDLLまたはMSIインストーラーをダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。
PM> Install-Package GroupDocs.Classification
C#を使用してIAB-2タクソノミーでドキュメントを分類する
IAB-2は、ドキュメントのコンテンツを複数のトピックに分類し、深度レベルに基づいて分類します。以下は、C#を使用してIAB-2分類でドキュメントの分類分類を識別する手順です。
- Classifierクラスを使用して分類子をインスタンス化します。
- 入力ドキュメントと入力フォルダを定義します。
- 分類法をIAB2として定義します。
- 応答の最初のいくつかの最良の結果のカウントを設定します。 (オプション)
- 定義されたパラメータを使用してClassifyメソッドを呼び出して、分類カテゴリを取得します。
- Classifyメソッドのclassificationresponseを使用して、Best ClassNameとProbabilityを出力します。
次のC#ソースコードは、** IAB-2タクソノミー**を使用してドキュメントを分類し、上位のドキュメント分類結果の一部を取得する方法を示しています。
/*
* C#を使用してIAB-2タクソノミーでドキュメント(PDF、Word、...) を分類します
*/
Classifier classifier = new Classifier();
var filename = "document.pdf";
var response = classifier.Classify(filename, "<inputFolderPath>" , 4, Taxonomy.Iab2);
response.BestResults.ToList().ForEach(bestResult => Console.WriteLine($"Class: {bestResult.Name}, \t Probability: {bestResult.Probability}"));
Class: Technology\_&Computing, Probability: 0.8188434
Class: Video\_Gaming, Probability: 0.12686
Class: Hobbies&\_Interests, Probability: 0.03112753
Class: Music\_and\_Audio, Probability: 0.006756512
C#を使用してドキュメント分類法でドキュメントを分類する
ドキュメントの分類法は、請求書、CV、フォーム、電子メールなど、さまざまなドキュメントクラスを識別するために使用されます。以下は、C#を使用してドキュメントの分類法でドキュメントの分類を識別する手順です。
- Classifierクラスを使用して分類子をインスタンス化します。
- 入力ドキュメントとフォルダを設定します。
- 分類法をドキュメントとして定義します。
- 応答の上位の結果の数のカウントを設定します。 (オプション)
- 上記で定義されたパラメータを使用してClassifyメソッドを呼び出して、分類グループを取得します。
- Classifyメソッドのclassificationresponseを使用して、Best ClassNameとProbabilityを出力します。
次のC#ソースコードは、ドキュメントを分類し、ドキュメント分類法を使用していくつかの最良の分類カテゴリを取得する方法を示しています。
/*
* C#を使用してドキュメント分類法でドキュメント(PDF、Word、...) を分類します
*/
Classifier classifier = new Classifier();
var filename = "document.pdf";
var response = classifier.Classify(filename, "<inputFolderPath>" , 4, Taxonomy.Documents);
response.BestResults.ToList().ForEach(bestResult => Console.WriteLine($"Class: {bestResult.Name}, \t Probability: {bestResult.Probability}"));
Class: ADVE, Probability: 0.3874436
Class: Resume, Probability: 0.2438204
Class: News, Probability: 0.1357582
Class: Memo, Probability: 0.0641943
C#を使用してパスワードで保護されたドキュメントを分類する
ドキュメントがパスワードで保護されている場合は、分類中にクレデンシャルを提供するだけで済みます。以下は、C#を使用してパスワードで保護されたドキュメントを分類するための手順です。
- 分類子をインスタンス化します。
- 保護されたドキュメントの入力ドキュメント、入力フォルダ、およびパスワードを定義します。
- 分類法をドキュメントとして定義します。
- 定義されたパラメーターを使用してClassifyメソッドを呼び出して、分類グループを取得します。
- ClassifyメソッドのresponseからBestClassNameとProbabilityを取得します。
次のコードスニペットは、パスワードで保護されたドキュメントを分類し、デフォルトの分類法(IAB-2) を使用して最適な分類法のカテゴリを取得する方法を示しています。
/*
* C#を使用してパスワードで保護されたドキュメントを分類する
*/
Classifier classifier = new Classifier();
var filename = "password-protected.docx";
var response = classifier.Classify(filename, "<inputFolderPath>", password: "password");
Console.WriteLine($"Best Class: {response.BestClassName}, \t Probability: {response.BestClassProbability}");
Best Class: Hobbies\_&\_Interests, Probability: 0.4548415
分類法のデフォルト値はIAB-2であり、最良の結果のカウントは1になります。
無料ライセンスを取得する
評価の制限なしにAPIを使用するために、無料の一時ライセンスを取得できます。
結論
結論として、さまざまな分類法を使用してさまざまな種類のドキュメントを分類することを学びました。より正確には、PDFドキュメントをIAB-2に従って分類し、C#を使用して分類をドキュメント化しました。さらに、パスワードで保護されたWordドキュメントをデフォルトまたは特定の分類分類で分類する方法についても説明しました。これで、ドキュメント分類機能を.NETアプリケーションに統合できます。
APIの詳細については、ドキュメントにアクセスしてください。お問い合わせは、フォーラムまでお問い合わせください。