Hogyan lehet felismerni a szöveges hasonlóságot és plagiarizmust a képekben

Hogyan lehet felismerni a szöveges hasonlóságot és plagiarizmust a képekben

Hasonló vagy plagiált szöveg felismerése a szkennelt képekben fontos az akadémiai integritás, a tartalomvizsgálat és a jogi védelem szempontjából.A Aspose.OCR Image Text Finder for .NET lehetővé teszi a tartalmak hasonlóságának azonosítását archívumok vagy dokumentumkészletek között.

Valódi problémák

A kézi duplikált vagy másolt szöveg felismerése a szkennelt képekben hatástalan és hibás. Az automatikus OCR-vezérelt összehasonlítás lehetővé teszi az akadémiai, üzleti vagy jogi igények skáláját és ismétlődhetőségeit.

megoldás áttekintése

Jelölje ki a szöveget minden képből, és összehasonlítsa azt egy test vagy célállomással a magas hasonlóság érdekében. zászló és jelentés gyanús mérkőzések felülvizsgálat vagy nyomon követés.

előfeltételek

  • Visual Studio 2019 vagy újabb
  • .NET 6.0 vagy újabb (vagy .Net Framework 4.6.2+)
  • ASPOSE.OCR for .NET a NuGet-ről
PM> Install-Package Aspose.OCR

lépésről lépésre megvalósítás

1. lépés: Készítsd el a képeket

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

2. lépés: A szöveg kivonása a képekből

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. lépés: hasonlóság vagy duplikáció összehasonlítása

Használjon egyszerű szöveges hasonlóság funkciót (pl. Levenshtein távolság, Jaccard index) vagy .NET csomagot a fuzzy megfeleléshez:

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. lépés: Log és felülvizsgálati eredmények

  • Export gyanús mérkőzések emberi vagy tudományos / jogi felülvizsgálat

5. lépés: Teljes példa

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

Esetek és alkalmazások használata

Akadémiai integritás és plagiarizmus felderítése

A hallgatói előadások megtekintése másolt tartalmakért az archivált forrásokkal szemben.

Jogi és szerződéses felülvizsgálat

A szerződéses nyelv újrafelhasználása vagy másolása jogilag szkennelt dokumentumokban.

Tartalmak közzététele és média

A szöveg duplikációjának vagy jogosulatlan újrafelhasználásának azonosítása a kreatív iparágakban.

Közös kihívások és megoldások

1. kihívás: az OCR felismerési hibák

** Megoldás:** Használjon kiváló minőségű szkennelést és tonális hasonlósági küszöböt.

2. kihívás: nagy archívumok

** Megoldás:** Pre-index vagy batch folyamat, szükség esetén párhuzamos.

3. kihívás: Nyelv vagy formázási változások

** Megoldás:** Normalizálja a szöveget (alacsony esetek, távolítsa el a szót), folyamat nyelvi beállítás szerint.

A teljesítmény megfontolása

  • A szöveg hasonlóságára vonatkozó számítások számítógépes intenzitásúak a nagy készletekhez – csatornák és menetrendek
  • Jelölje be az összes eredményt a felülvizsgálathoz és az audithoz

Legjobb gyakorlatok

  • Megerősítse az eredményeket kézikönyvvel vagy bizottsági felülvizsgálattal
  • Hasonlósági küszöbök a pontosságért vs. hamis pozitívokért
  • Összes napló archiválása a megfeleléshez és az audithoz
  • Strukturált szöveg normalizálása

fejlett forgatókönyvek

1. forgatókönyv: Hasonló eredmények vizualizálása

Hozzon létre diagramokat vagy grafikonokat a CSV-ből az Excel vagy a BI eszközökkel.

2. forgatókönyv: API integráció valós idejű benyújtási szkenneléshez

Áttekintse a képeket feltöltésekor, és azonnali hasonlóság visszajelzést ad.

következtetések

Az ASPOSE.OCR Image Text Finder for .NET lehetővé teszi a hasonló vagy plagiált tartalom skálázható, automatizált felismerését a képekben – ami alapvető fontosságú az akadémiai, jogi és kiadói munkafolyamatok számára.

See Az ASPOSE.OCR a .NET API referenciájához a fejlett összehasonlítás és keresési APIs.

 Magyar