.NET で PDF ファイルを分類することは、ドキュメント ワークフローの自動化、インサイトの抽出、手動レビューなしでコンテンツをルーティングするために不可欠です。GroupDocs.Classification Cloud SDK for .NET は、PDF 分類を簡単かつスケーラブルに実現する強力な API を提供します。このチュートリアルでは、プロジェクトのセットアップやタクソノミー構成からバッチ処理、スキャン PDF の OCR 処理、パフォーマンスチューニングまで、実行可能なコード例とともに完全な PDF 分類ワークフローを学びます。
.NET で PDF ファイルを分類する手順
- NuGet パッケージを追加 -
dotnet add package GroupDocs.Classification-Cloudを実行して、プロジェクトにライブラリを含めます。 - API クライアントを作成および構成 -
ClassificationApiをクライアント ID とシークレットで初期化します。 - PDF をアップロード -
UploadFileエンドポイントを使用して、ドキュメントをクラウドストレージに送信します。 - タクソノミーを定義 - カテゴリをキーワードにマッピングした JSON ファイルを提供します。これにより分類エンジンがガイドされます。
- classify メソッドを呼び出す - ファイル ID、タクソノミー、オプションの信頼度閾値を指定して
ClassifyDocumentを呼び出します。 - 結果を処理 -
ClassificationResultオブジェクトを反復処理し、Confidenceプロパティを確認して低信頼度ラベルをフィルタリングします。
リクエスト オブジェクトの詳細については、API リファレンスをご覧ください。
.NET で PDF ファイルを効率的に分類する - 完全コード例
以下の例は、エラーハンドリングと結果処理を含む、単一の PDF ファイルのエンドツーエンドの完全な分類を示しています。
注: このコード例はコア機能を示しています。プロジェクトで使用する前に、ファイルパス(
sample.pdf、taxonomy.json)を更新し、プレースホルダーの認証情報を実際のYOUR_CLIENT_IDとYOUR_CLIENT_SECRETに置き換え、開発環境で徹底的にテストしてください。問題が発生した場合は、公式ドキュメント を参照するか、サポートチーム にお問い合わせください。
cURL を使用した REST API 経由の PDF 分類
SDK は REST API 上で動作するため、cURL を使用して直接呼び出すこともできます。以下は一般的な手順です。
- アクセストークンを取得する
curl -X POST "https://api.groupdocs.cloud/v1.0/oauth2/token" \
-H "Content-Type: application/json" \
-d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET","grant_type":"client_credentials"}'
- PDFファイルをアップロード
curl -X POST "https://api.groupdocs.cloud/v1.0/storage/file/upload" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@sample.pdf"
- ドキュメントを分類する
curl -X POST "https://api.groupdocs.cloud/v1.0/classification/classify" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"fileId": "sample.pdf",
"taxonomy": "{\"categories\":[{\"name\":\"Invoice\",\"keywords\":[\"amount\",\"total\",\"invoice\"]}]}",
"confidenceThreshold": 0.6
}'
- 結果をダウンロードする(必要な場合) - API は JSON を直接返します。ファイルにパイプで出力できます。
詳細については、公式 API ドキュメントをご覧ください。
.NET でのインストールとセットアップ
- NuGet パッケージをインストール
dotnet add package GroupDocs.Classification-Cloud - 最新のバイナリをダウンロード(オプション)リリースページ から。
- 一時ライセンスを追加(開発用のみ)ライセンスファイルをコピーし、コード例に示すように
Configurationオブジェクトを初期化します。 - 接続性を確認 - クライアントがサービスに到達できることを確認するために、シンプルな
GetSupportedFileTypes呼び出しを実行します。
Using GroupDocs.Classification Cloud SDK for PDF Classification in .NET
SDKはHTTP処理、シリアル化、エラーマッピングを抽象化し、ビジネスロジックに集中できるようにします。サポート対象は次のとおりです:
- 複数言語 - APIは言語非依存で、.NETクライアントも同じ契約に従います。
- 分類学駆動の分類 - カテゴリを一度定義すれば、プロジェクト間で再利用できます。
- 信頼度スコアリング - 各ラベルには信頼度の値が含まれ、しきい値ベースのフィルタリングが可能です。
これらの機能を理解することで、堅牢な PDF 分類ワークフローを設計できます。
GroupDocs.Classification Cloud SDK のこのタスクに重要な機能
- バッチ処理 - 1 回のリクエストで数千の PDF を分類します。
- OCR 統合 - 分類前にスキャンされた PDF からテキストを自動抽出します。
- カスタムタクソノミーサポート - JSON または XML タクソノミーをアップロードしてドメインに合わせます。
- 詳細なロギング - トラブルシューティングや監査トレイルのためにリクエスト ID を取得します。
分類タクソノミーと信頼度閾値の設定
taxonomy.json ファイルを作成し、カテゴリを記述します。
{
"categories": [
{
"name": "Invoice",
"keywords": ["invoice", "amount", "total", "due"]
},
{
"name": "Resume",
"keywords": ["experience", "education", "skills", "profile"]
}
]
}
ClassifyDocumentRequest を作成するときは、ConfidenceThreshold プロパティ(例: 0.6)を設定して、不確かな予測をフィルタリングします。この値は、ドメインの偽陽性に対する許容度に応じて調整してください。
大規模 PDF バッチのパフォーマンス最適化
- バッチを分割 - 大規模なコレクションを 100‑200 ファイルのグループに分割し、タイムアウトを回避します。
- 非同期処理を有効化 -
SubmitJobエンドポイントを使用し、GetJobStatusをポーリングしてスレッドを解放します。 - 同じタクソノミーを再利用 - タクソノミーを一度ロードし、すべてのリクエストで同じ JSON 文字列を再利用します。
- 並列アップロード -
Task.WhenAllを使用してファイルを同時にアップロードし、ネットワーク遅延を削減します。
| シナリオ | 推奨アプローチ |
|---|---|
| < 100 PDFs | 同期単一リクエスト |
| 100‑1,000 PDFs | チャンク化された同期バッチ |
| > 1,000 PDFs | 非同期ジョブ送信 + ポーリング |
スキャンされたPDFの処理とOCR統合
スキャンされたドキュメントは、選択可能なテキストの代わりに画像が含まれています。これらを分類するには:
- リクエストで
ocrフラグをtrueに設定します。 - オプションで
ocrLanguageを指定します(例: 英語の場合は"en")。 - サービスはタクソノミールールを適用する前に内部で OCR を実行します。
この2段階のプロセスにより、画像のみのPDFが分類時にネイティブPDFと同様に扱われます。
一般的な分類エラーのトラブルシューティング
- 401 Unauthorized -
ClientIdとClientSecretが正しいこと、トークン要求が成功したことを確認してください。 - 400 Bad Request (Invalid Taxonomy) - タクソノミー JSON が正しく構成されているか確認してください。括弧が欠けているとこのエラーが発生します。
- 404 Not Found (File ID) - ファイルが正常にアップロードされ、
fileIdがストレージパスと一致していることを確認してください。 - Low confidence scores - タクソノミーのキーワードを見直し、より代表的な用語を追加するか、トレーニングセットを増やしてください。
エラーコードの完全な一覧については、APIリファレンスをご参照ください。
.NET での PDF 分類のベストプラクティス
- タクソノミーは小さく、焦点を絞る - キーワードが重複しすぎると精度が低下します。
- バージョン管理されたタクソノミーファイルを使用 - 変更履歴を追跡できるようにソースコントロールに保存します。
- 適切な信頼度閾値を設定 -
0.6から開始し、検証結果に基づいて調整します。 - ジョブステータスを監視 - パフォーマンス分析のためにリクエスト ID と応答時間を記録します。
- 認証情報を保護 -
ClientIdとClientSecretを環境変数または Azure Key Vault に保存します。
結論
.NET で PDF ファイルを分類することは、GroupDocs.Classification Cloud SDK for .NET を使用するとシンプルになります。上記の手順に従い、SDK の設定、明確な分類体系の定義、スキャンされた PDF の OCR 処理、バッチ パフォーマンスの最適化を行うことで、文書集約型アプリケーション向けの信頼性が高く、スケーラブルな分類サービスを構築できます。本番環境で使用するには適切なライセンスを取得することを忘れないでください。まずは一時ライセンスページの一時ライセンスから開始し、ニーズが拡大するにつれてフルサブスクリプションへアップグレードできます。
よくある質問
Q: .NETでPDFファイルを高い信頼度で分類するにはどうすればよいですか?
A: リクエストで ConfidenceThreshold を設定し、信頼度の低い結果を除外します。SDK は各ラベルに対して信頼度スコアを返すため、選択したレベル以上の予測のみを保持できます。詳細については、公式ドキュメント をご覧ください。
Q: SDKはスキャンされたPDFのOCRをサポートしていますか?
A: はい。分類リクエストで ocr フラグを設定してOCRを有効にします。サービスは分類を適用する前に画像ベースのPDFからテキストを抽出し、スキャン文書の精度を向上させます。
Q: 数千の PDF を処理する最適な方法は何ですか?
A: 非同期ジョブを使用したバッチ分類を利用します。大規模なセットを管理しやすいチャンクに分割し、SubmitJob で送信し、GetJobStatus をポーリングして完了を待ちます。このアプローチはタイムアウトを回避し、スループットを最大化します。
Q: 開発用の一時ライセンスはどこで取得できますか?
A: 一時ライセンスページ にアクセスして、30日間のライセンスキーを生成してください。API 呼び出しを行う前に Configuration に適用します。
