วิธีการตรวจจับความคล้ายคลึงกับข้อความและปลุกในภาพ

วิธีการตรวจจับความคล้ายคลึงกับข้อความและปลุกในภาพ

การตรวจพบข้อความที่คล้ายกันหรือปลุกในภาพที่สแกนเป็นสิ่งสําคัญสําหรับความสมบูรณ์ทางวิชาการการตรวจสอบเนื้อหาและการป้องกันทางกฎหมาย Aspose.OCR Image Text Finder for .NET ช่วยให้การตรวจจับแบบบูรณาการของความคลึงกันของเนื้อเยื่อผ่านไฟล์หรือชุดเอกสาร

ปัญหาโลกจริง

การตรวจจับด้วยตนเองของข้อความที่ซ้ําหรือคัดลอกในภาพที่สแกนไม่มีประสิทธิภาพและเป็นข้อผิดพลาด การเปรียบเทียบอัตโนมัติที่ขับเคลื่อนโดย OCR ช่วยให้มีขนาดและสามารถตอบสนองความต้องการทางวิชาการธุรกิจหรือทางกฎหมาย

ความคิดเห็นเกี่ยวกับโซลูชัน

extract text from each image and compare it against a corpus or target set for high similarity ปลั๊กและรายงานการแข่งขันที่น่าสงสัยสําหรับการตรวจสอบหรือติดตาม

ข้อกําหนด

  • Visual Studio 2019 หรือภายหลัง
  • .NET 6.0 หรือเร็วกว่า (หรือ .Net Framework 4.6.2+)
  • Aspose.OCR สําหรับ .NET จาก NuGet
PM> Install-Package Aspose.OCR

การดําเนินการขั้นตอนขั้นตอน

ขั้นตอนที่ 1: การเตรียมชุดภาพของคุณ

string[] archiveFiles = Directory.GetFiles("./archive", "*.png");
string[] submissionFiles = Directory.GetFiles("./submissions", "*.png");

ขั้นตอนที่ 2: เอาข้อความจากภาพ

RecognitionSettings settings = new RecognitionSettings();
settings.Language = Language.English;
AsposeOcr ocr = new AsposeOcr();
Dictionary<string, string> archiveTexts = new Dictionary<string, string>();
foreach (string file in archiveFiles)
{
    string text = ocr.Recognize(new OcrInput(InputType.SingleImage) { file }, settings)[0].RecognitionText;
    archiveTexts[file] = text;
}

ขั้นตอนที่ 3: การเปรียบเทียบสําหรับ Similarity หรือ Duplication

ใช้ฟังก์ชั่นการคล้ายกันข้อความที่เรียบง่าย (เช่นระยะทาง Levenshtein, Jaccard index) หรือแพคเกจ .NET สําหรับการสอดคล้องกับ fuzzy:

foreach (string subFile in submissionFiles)
{
    string subText = ocr.Recognize(new OcrInput(InputType.SingleImage) { subFile }, settings)[0].RecognitionText;
    foreach (var kvp in archiveTexts)
    {
        double similarity = JaccardSimilarity(subText, kvp.Value); // custom function or library
        if (similarity > 0.8) // Tune threshold for your needs
        {
            File.AppendAllText("plagiarism_log.csv", $"{subFile},{kvp.Key},{similarity}\n");
        }
    }
}

// Example Jaccard similarity (token-based)
double JaccardSimilarity(string text1, string text2)
{
    var set1 = new HashSet<string>(text1.Split());
    var set2 = new HashSet<string>(text2.Split());
    int intersect = set1.Intersect(set2).Count();
    int union = set1.Union(set2).Count();
    return (double)intersect / union;
}

ขั้นตอน 4: การบันทึกและผลการตรวจสอบ

  • การส่งออกการแข่งขันที่น่าสงสัยสําหรับวิจารณ์ทางมนุษย์หรือวิชาการ / กฎหมาย

ขั้นตอน 5: ตัวอย่างที่สมบูรณ์

using Aspose.OCR;
using System;
using System.Collections.Generic;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string[] archiveFiles = Directory.GetFiles("./archive", "*.png");
        string[] submissionFiles = Directory.GetFiles("./submissions", "*.png");
        RecognitionSettings settings = new RecognitionSettings();
        settings.Language = Language.English;
        AsposeOcr ocr = new AsposeOcr();
        Dictionary<string, string> archiveTexts = new Dictionary<string, string>();
        foreach (string file in archiveFiles)
            archiveTexts[file] = ocr.Recognize(new OcrInput(InputType.SingleImage) { file }, settings)[0].RecognitionText;
        foreach (string subFile in submissionFiles)
        {
            string subText = ocr.Recognize(new OcrInput(InputType.SingleImage) { subFile }, settings)[0].RecognitionText;
            foreach (var kvp in archiveTexts)
            {
                double sim = JaccardSimilarity(subText, kvp.Value);
                if (sim > 0.8)
                    File.AppendAllText("plagiarism_log.csv", $"{subFile},{kvp.Key},{sim}\n");
            }
        }
    }
    static double JaccardSimilarity(string text1, string text2)
    {
        var set1 = new HashSet<string>(text1.Split());
        var set2 = new HashSet<string>(text2.Split());
        int intersect = set1.Intersect(set2).Count();
        int union = set1.Union(set2).Count();
        return (double)intersect / union;
    }
}

ใช้กรณีและแอปพลิเคชัน

การตรวจจับความสมบูรณ์ทางวิชาการและพลาสติก

แสดงรายการนักเรียนสําหรับเนื้อหาที่คัดลอกกับแหล่งที่เก็บไว้

การตรวจสอบกฎหมายและสัญญา

การตรวจจับการใช้งานใหม่หรือการคัดลอกภาษาสัญญาในเอกสารสแกนตามกฎหมาย

การเผยแพร่เนื้อหาและสื่อ

การระบุการทําซ้ําหรือการใช้ข้อความที่ไม่ได้รับอนุญาตในอุตสาหกรรมสร้างสรรค์

ความท้าทายและโซลูชั่นทั่วไป

ความท้าทาย 1: ข้อผิดพลาดในการรับรู้ OCR

โซลูชัน: ใช้การสแกนที่มีคุณภาพสูงและข้อ จํากัด ความคล้ายคลึงกัน

ความท้าทาย 2: ชุดเก็บข้อมูลขนาดใหญ่

โซลูชัน: กระบวนการ Pre-index หรือชุด, parallelize ถ้าจําเป็น

ความท้าทาย 3: ภาษาหรือรูปแบบการเปลี่ยนแปลง

**โซลูชัน: ** ปกติข้อความ (กรณีด้านล่างลบคําหยุด) การประมวลผลตามการตั้งค่าภาษา

การพิจารณาประสิทธิภาพ

  • การคํานวณความคล้ายคลึงกันของข้อความมีความเข้มข้นสําหรับชุดขนาดใหญ่ - การแข่งขันและแผนที่
  • เข้าสู่ระบบผลทั้งหมดสําหรับการตรวจสอบและการตรวจสอบ

แนวทางที่ดีที่สุด

  • การยืนยันผลลัพธ์ที่จดหมายด้วยคู่มือหรือความคิดเห็นของคณะกรรมการ
  • ปลั๊กเกณฑ์การคล้ายคลึงกันสําหรับความแม่นยํา vs. ข้อดีที่ผิดพลาด
  • Archive all logs for การปฏิบัติตามและการตรวจสอบ
  • ใช้โครงสร้างข้อความมาตรฐาน

การ์ตูนขั้นสูง

ฉาก 1: ดูผลลัพธ์ที่คล้ายคลึงกัน

สร้างแผนภูมิหรือกราฟจาก CSV ของคุณโดยใช้เครื่องมือ Excel หรือ BI

ฉาก 2: การบูรณาการ API สําหรับการสแกนส่งในเวลาจริง

หน้าจอภาพเมื่ออัปโหลดและให้ความคิดเห็นการคล้ายคลึงทันที

ข้อสรุป

Aspose.OCR Image Text Finder for .NET ช่วยให้การตรวจจับเนื้อหาที่คล้ายคลึงกันหรือปลุกโดยอัตโนมัติในภาพซึ่งเป็นสิ่งสําคัญสําหรับการทํางานทางวิชาการกฎหมายและการเผยแพร่

See Aspose.OCR สําหรับการอ้างอิง API .NET สําหรับการเปรียบเทียบขั้นสูงมากขึ้นและค้นหา APIs

 แบบไทย