.NET を使用して文書版をテキストと比較する方法

.NET を使用して文書版をテキストと比較する方法

契約、フォーム、またはビジネス文書のさまざまなスキャンバージョンのテキストを比較することは、法的審査および遵守に不可欠です。

現実世界問題

バージョンの変更の手動レビューは遅く、人間のエラーに敏感であり、スケールできない - 特に多くの文書の修正や法的契約を処理する場合。

ソリューション概要

2 つ以上のスキャンされた画像からテキストを抽出して比較を自動化し、その後、DIF論理を使用して、文法の変更を強調および記録します。

原則

  • Visual Studio 2019 以降
  • .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
  • ASPOSE.OCR for .NET から NuGet
PM> Install-Package Aspose.OCR

ステップ・ステップ・実施

ステップ1:ドキュメント版の準備

string original = "contract_v1.png";
string revised = "contract_v2.png";

ステップ2:画像からテキストを認識し、抽出する

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
string originalText = ocr.Recognize(new OcrInput(InputType.SingleImage) { original }, settings)[0].RecognitionText;
string revisedText = ocr.Recognize(new OcrInput(InputType.SingleImage) { revised }, settings)[0].RecognitionText;

ステップ3:テキストと差異を比較する

diff/compare テキストライブラリ(例えば、DifPlex、内蔵論理)を使用して、差を表示します。

using DiffPlex;
using DiffPlex.DiffBuilder;
using DiffPlex.DiffBuilder.Model;

var diffBuilder = new InlineDiffBuilder(new Differ());
var diff = diffBuilder.BuildDiffModel(originalText, revisedText);
foreach (var line in diff.Lines)
{
    if (line.Type != ChangeType.Unchanged)
        Console.WriteLine($"{line.Type}: {line.Text}");
}

ステップ4:収入と輸出比較結果

  • CSV、ログファイル、または人間読みやすいDIFレポートの変更を保存する
// Example: Write all changes to a report
File.AppendAllText("text_diff_report.txt", $"{line.Type}: {line.Text}\n");

ステップ5:バッチまたは自動バージョン制御

  • フォルダー内のすべてのバージョンを比較し、必要に応じて自動化します。

ステップ6:完璧な例

using Aspose.OCR;
using DiffPlex;
using DiffPlex.DiffBuilder;
using DiffPlex.DiffBuilder.Model;
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string original = "contract_v1.png";
        string revised = "contract_v2.png";
        RecognitionSettings settings = new RecognitionSettings();
        settings.Language = Language.English;
        AsposeOcr ocr = new AsposeOcr();
        string originalText = ocr.Recognize(new OcrInput(InputType.SingleImage) { original }, settings)[0].RecognitionText;
        string revisedText = ocr.Recognize(new OcrInput(InputType.SingleImage) { revised }, settings)[0].RecognitionText;
        var diffBuilder = new InlineDiffBuilder(new Differ());
        var diff = diffBuilder.BuildDiffModel(originalText, revisedText);
        foreach (var line in diff.Lines)
        {
            if (line.Type != ChangeType.Unchanged)
                File.AppendAllText("text_diff_report.txt", $"{line.Type}: {line.Text}\n");
        }
    }
}

ケースとアプリケーションの使用

法的・遵守審査

スキャンされた契約、ポリシー、または契約の変更を迅速に確認します。

ビジネスプロセス監査

デジタルアーカイブで許可されていない編集を検出する。

ドキュメント管理自動化

スキャンされたドキュメントのバージョンのすべての変更の完全な監査トラックを維持します。

共通の課題と解決策

課題1 : 小さなフォーマットまたはOCRエラー

ソリューション: 設定を調整し、フラッグされた変更について二次手順のレビューを実行します。

チャレンジ2:大型ドキュメンタリーセット

ソリューション: 自動化およびパラレル化、効率的な監査のためにすべての結果を記録します。

チャレンジ3:偽のポジティブ/否定

**ソリューション:**ディフアルゴリズムを再現し、リアルワールドサンプルで出力を確認します。

パフォーマンス考慮

  • Diff 論理は、大きな文書でゆっくりになる可能性があります - モニターと最適化
  • すべてのDIFレポートを遵守のために安全に保存する
  • 最良の認識のために強力なOCR設定を使用する

ベストプラクティス

  • すべてのバージョンで同じ OCR とスキャン設定を使用します。
  • 危険/高リスク文書の有効化
  • すべてのレポートをログイン・バックアップ
  • キードキュメントの定期バージョン比較の自動化

高度なシナリオ

シナリオ1:視覚出力の違いを強調する

法律チームの検出されたテキスト変更を強調する記録されたPDF/画像を生成します。

シナリオ2:重要な変化に関する自動通知

重要な法的条項が追加/削除された場合に通知/メールを送信します。

結論

ASPOSE.OCR Image Text Finder for .NET は、スキャンされたファイルの重要な変化を検出するための法的、ビジネス、および遵守チームを可能にする、自動化された、規模化可能で監査可能なドキュメントバージョンの比較を提供します。

より先進的な比較ワークフローについては、参照してください。 ASPOSE.OCR for .NET API リファレンス .

 日本語