Làm thế nào để phát hiện tương tự văn bản và Plagiarism trong hình ảnh
Khám phá văn bản tương tự hoặc phấn khích trong các hình ảnh được quét là quan trọng đối với tính toàn vẹn học thuật, kiểm tra nội dung và bảo vệ pháp lý. Aspose.OCR Image Text Finder for .NET cho phép phát hiện sự giống nhau của Nội dung trên các tập tin lưu trữ hoặc tài liệu.
Vấn đề thế giới thực
Việc phát hiện bằng tay của văn bản lặp hoặc sao chép trong các hình ảnh được quét là không hiệu quả và sai lầm. so sánh tự động OCR cho phép quy mô và tái tạo cho các nhu cầu học thuật, kinh doanh hoặc pháp lý.
Giải pháp Overview
Thu thập văn bản từ mỗi hình ảnh và so sánh nó với một corpus hoặc mục tiêu thiết lập cho tương tự cao. lá cờ và báo cáo nghi ngờ trận đấu để xem xét hoặc theo dõi.
Nguyên tắc
- Visual Studio 2019 hoặc hơn
- .NET 6.0 hoặc mới hơn (hoặc .Net Framework 4.6.2+)
- Aspose.OCR cho .NET từ NuGet
PM> Install-Package Aspose.OCR
Chế độ thực hiện từng bước
Bước 1: Chuẩn bị hình ảnh của bạn
string[] archiveFiles = Directory.GetFiles("./archive", "*.png");
string[] submissionFiles = Directory.GetFiles("./submissions", "*.png");
Bước 2: Xóa văn bản từ hình ảnh
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;
}
Bước 3: So sánh về Similarity hoặc Duplication
Sử dụng một chức năng tương tự văn bản đơn giản (ví dụ: khoảng cách Levenshtein, chỉ số Jaccard) hoặc một gói .NET để phù hợp với âm thanh:
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;
}
Bước 4: Đăng ký và đánh giá kết quả
- Xuất khẩu các trận đấu nghi ngờ cho đánh giá con người hoặc học thuật / pháp lý
Bước 5: Một ví dụ đầy đủ
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;
}
}
Sử dụng trường hợp và ứng dụng
Integrity Academic và phát hiện Plagiarism
Hiển thị bài đăng sinh viên cho nội dung sao chép chống lại các nguồn lưu trữ.
Đánh giá pháp lý và hợp đồng
Phát hiện tái sử dụng hoặc sao chép ngôn ngữ hợp đồng trong các tài liệu được quét hợp pháp.
Content Publishing và Media
Xác định việc lặp lại hoặc tái sử dụng văn bản không được phép trong các ngành công nghiệp sáng tạo.
Những thách thức và giải pháp chung
Thách thức 1: lỗi nhận dạng OCR
** Giải pháp:** Sử dụng quét chất lượng cao và ranh giới tương tự.
Lời bài hát: Challenge 2: Large Archive
** Giải pháp:** Pre-index hoặc process batch, parallelize nếu cần thiết.
Thách thức 3: ngôn ngữ hoặc định dạng biến thể
Các giải pháp: Tiêu chuẩn hóa văn bản (lowercase, loại bỏ stopwords), xử lý theo ngôn ngữ set.
Các tính toán hiệu suất
- Các tính toán tương tự văn bản là tính năng chuyên sâu cho các bộ lớn - trận đấu và lịch trình
- Đăng ký tất cả các kết quả để xem xét và kiểm toán
Thực hành tốt nhất
- Xác nhận kết quả bằng hướng dẫn hoặc đánh giá của Ủy ban
- Tăng giới hạn tương tự cho độ chính xác vs. tích cực giả
- Tìm tất cả nội dung bởi compliance and audit
- Sử dụng cấu trúc văn bản bình thường hóa
kịch bản tiên tiến
Kịch bản 1: Xem kết quả tương tự
Tạo biểu đồ hoặc đồ họa từ CSV của bạn bằng cách sử dụng Excel hoặc công cụ BI.
Kịch bản 2: Integration API for Real-Time Submission Screening
Màn hình khi tải lên và cung cấp phản hồi tương tự ngay lập tức.
Kết luận
Aspose.OCR Image Text Finder cho .NET cho phép phát hiện có thể quy mô, tự động các nội dung tương tự hoặc bị lừa đảo trong hình ảnh – cần thiết cho các dòng công việc học tập, pháp lý và xuất bản.
See Aspose.OCR cho .NET API Reference để so sánh và tìm kiếm APIs tiên tiến hơn.