كيفية اكتشاف تشابه النص والخداع في الصور

كيفية اكتشاف تشابه النص والخداع في الصور

اكتشاف النص المماثل أو المخادع في الصور المسح الضوئي مهم للسلامة الأكاديمية ومراجعة المحتوى والحماية القانونية. Aspose.OCR Image Text Finder for .NET يسمح الكشف عن مجموعة من التشابهات المحتوية عبر الأرشيفات أو مجموعات الوثائق.

مشكلة العالم الحقيقي

الكشف اليدوي عن النص المكرر أو النسخة في الصور المسح غير فعال ومخالفة للخطأ.المقارنة تلقائيا OCR يسمح مقياس وتكرار لاحتياجات أكاديمية أو تجارية أو قانونية.

نظرة عامة على الحل

استخراج النص من كل صورة ومقارنته ضد جسم أو وضع الهدف للحصول على تشابه عالي.

المتطلبات

  • 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;
}

الخطوة الثالثة: مقارنة التشابه أو التكرار

استخدم وظيفة تشابه النص البسيطة (على سبيل المثال، مسافة Levenshtein، مؤشر جاكارد) أو حزمة .NET لتطابق خفيفة:

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: تسجيل وتقييم النتائج

  • تصدير المباريات المشتبه بها للمراجعة الإنسانية أو الأكاديمية / القانونية

الخطوة الخامسة: نموذج كامل

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;
    }
}

استخدام الحالات والتطبيقات

الكمال الأكاديمي والكشف عن التخريب

عرض الاقتراحات الطلابية للمحتوى النسخ ضد المصادر الأرشيفية.

المراجعة القانونية والعقدية

اكتشاف إعادة الاستخدام أو نسخ اللغة التعاقدية في وثائق مسح القانوني.

نشر المحتوى و وسائل الإعلام

تحديد تكرار أو إعادة استخدام النص غير المصرح به في الصناعات الإبداعية.

التحديات والحلول المشتركة

التحدي الأول: أخطاء التعرف على OCR

الحلول: استخدم فحوصات عالية الجودة وتحديد حدود التشابه.

التحدي الثاني: مجموعة أرشيفية كبيرة

الحل: عملية التحليل المسبق أو التردد، وتوازنها إذا لزم الأمر.

التحدي 3: اللغة أو تنسيق الاختلافات

الحل: توحيد النص (القضية السفلية، إزالة كلمات التوقف)، والعملية حسب مجموعة اللغة.

اعتبارات الأداء

  • الحسابات المتشابهة النصية مكثفة الحوسبة للمجموعات الكبيرة - المجموعة والجدول الزمني
  • تسجيل جميع النتائج للمراجعة والتدقيق

أفضل الممارسات

  • تأكيد النتائج الملموسة مع دليل أو مراجعة اللجنة
  • تحديد الحدود المماثلة للدقة مقابل الإيجابيات الكاذبة
  • أرشيف جميع سجلات الامتثال والتدقيق
  • استخدام تقنيات النص المنظمة

سيناريوهات متقدمة

السيناريو 1: عرض النتائج المماثلة

إنشاء الرسم البياني أو الرسوم البيانية من CSV باستخدام أدوات Excel أو BI.

سيناريو 2: إدماج API لفحص التسليم في الوقت الحقيقي

عرض الصور عند تحميل وتوفير ردود الفعل المماثلة الفورية.

استنتاجات

يتيح Aspose.OCR Image Text Finder for .NET الكشف عن المحتوى المماثل أو المخادع في الصور – الأساسية لتدفقات العمل الأكاديمية والقانونية والنشرية.

See أرشيف الوسم : .NET API Reference للحصول على مقارنة أكثر تقدما والبحث عن APIs.

 عربي