Cara Mengidentifikasi Serupa dan Plagiarisme dalam Gambar
Mengidentifikasi teks yang mirip atau plagiarized dalam gambar yang dipindai adalah penting untuk integritas akademis, review konten, dan perlindungan hukum. Aspose.OCR Image Text Finder untuk .NET memungkinkan deteksi batch kesamaan konten di seluruh arkib atau set dokumen.
Masalah dunia nyata
Deteksi manual teks duplikat atau salinan dalam gambar yang dipindai tidak efisien dan salah. Perbandingan OCR otomatis memungkinkan skala dan pengulangan untuk kebutuhan akademis, bisnis, atau hukum.
Penyelesaian Overview
Mengekstrak teks dari setiap gambar dan membandingkannya melawan corpus atau target set untuk kesamaan yang tinggi. bendera dan laporan pertandingan yang disyaki untuk review atau follow-up.
Persyaratan
- Visual Studio 2019 atau lebih baru
- .NET 6.0 atau lebih baru (atau .Net Framework 4.6.2+)
- Aspose.OCR untuk .NET dari NuGet
PM> Install-Package Aspose.OCR
Implementasi langkah demi langkah
Langkah 1: Siapkan set gambar Anda
string[] archiveFiles = Directory.GetFiles("./archive", "*.png");
string[] submissionFiles = Directory.GetFiles("./submissions", "*.png");
Langkah 2: Mengekstrak teks dari gambar
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;
}
Langkah 3: Perbandingan untuk Similitas atau Duplikasi
Gunakan fungsi persamaan teks sederhana (misalnya, jarak Levenshtein, indeks Jaccard) atau paket .NET untuk perbandingan 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;
}
Langkah 4: Log dan ulasan hasil
- Ekspor pertandingan yang disyaki untuk evaluasi manusia atau akademis / hukum
Langkah 5: Contoh lengkap
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;
}
}
Menggunakan kasus dan aplikasi
Integritas Akademik dan Deteksi Plagiarisme
Menampilkan presentasi siswa untuk konten terkopi terhadap sumber yang diarkibkan.
Penilaian Hukum dan Kontrak
Mengidentifikasi penggunaan ulang atau salinan bahasa kontrak dalam dokumen yang dipindai secara hukum.
Content Publishing dan Media
Identifikasi duplikasi atau penggunaan ulang teks yang tidak diizinkan di industri kreatif.
Tantangan dan Solusi Umum
Tantangan 1: Kesalahan Pengakuan OCR
** Solusi:** Gunakan pemindaian berkualitas tinggi dan batas kesamaan tun.
Tantangan 2: Arsip Besar
** Solusi:** Pre-index atau proses batch, paralel jika perlu.
Tantangan 3: Variasi Bahasa atau Format
** Solusi:** Normalisasi teks (lowercase, menghapus stopwords), proses per set bahasa.
Pertimbangan kinerja
- Perhitungan kesamaan teks adalah komputasi-intens untuk set besar—batch dan jadwal
- Daftar semua hasil untuk review dan audit
Praktik Terbaik
- Validasi hasil yang ditandai dengan manual atau review komite
- Tingkatkan batas kesamaan untuk ketepatan vs. positif palsu
- Arsip semua log untuk pematuhan dan audit
- Menggunakan normalisasi teks terstruktur
Skenario Lanjutan
Skenario 1: Menampilkan hasil serupa
Buat graf atau graf dari CSV Anda menggunakan alat Excel atau BI.
Skenario 2: Integrasi API untuk pemeriksaan penyerahan dalam waktu nyata
Menampilkan gambar pada saat upload dan memberikan feedback simpati instan.
Kesimpulan
Aspose.OCR Image Text Finder untuk .NET memungkinkan deteksi secara skala, otomatis konten serupa atau plagiarized dalam gambar-gambar yang penting untuk akademik, hukum, dan penerbitan aliran kerja.
See Aspose.OCR untuk .NET API Referensi Untuk perbandingan dan pencarian APIs yang lebih maju.