Các hệ thống kiểm tra đạo văn, trùng lặp hoạt động như thế nào?
Hệ thống kiểm tra đạo văn, trùng lặp là phần mềm tiếp nhận văn bản người dùng tải lên, đối chiếu từng đoạn nội dung với nguồn dữ liệu sẵn có (Internet hoặc kho dữ liệu riêng) và trả về báo cáo mức độ trùng lặp theo từng đoạn văn. Bài viết này sẽ mô tả chi tiết cách hoạt động của các phần mềm kiểm tra đạo văn phổ biến như KiemTraTaiLieu, DoIT, Turnitin.
Cập nhật: tháng 7/2026 — Biên soạn bởi đội ngũ Kiểm Tra Tài Liệu, Metis JSC
Hiểu được cơ chế vận hành phía sau giúp người dùng — đặc biệt là sinh viên, giảng viên — lý giải được vì sao đôi khi kết quả kiểm tra giữa các phần mềm khác nhau lại không đồng nhất, và vì sao một số câu văn tưởng chừng không sao chép vẫn bị đánh dấu trùng lặp.
Bài toán mà hệ thống kiểm tra đạo văn cần giải quyết là gì?
Bài toán cốt lõi của một hệ thống kiểm tra đạo văn là: người dùng gửi lên một văn bản (dưới dạng file hoặc nội dung chữ), hệ thống tiếp nhận, tìm kiếm các đoạn văn trùng với nguồn dữ liệu Internet hoặc nguồn dữ liệu riêng (còn gọi là dữ liệu nội sinh), rồi trả lại kết quả đối chiếu cho người dùng. Từ bài toán tổng quát này, có thể suy ra ba bước xử lý cốt lõi mà mọi hệ thống đều phải giải quyết.
Ba bước xử lý cốt lõi của một hệ thống kiểm tra đạo văn gồm: (1) tiền xử lý dữ liệu — tiếp nhận và trích xuất nội dung; (2) kiểm tra, đối chiếu trùng lặp — so sánh từng đoạn với nguồn dữ liệu; (3) tổng hợp kết quả — hiển thị cho người dùng.
Tuy chỉ gồm 3 bước, nhưng để xử lý trọn vẹn từng bước là hàng loạt bài toán kỹ thuật nhỏ nhưng không hề đơn giản, đòi hỏi tối ưu cả về thuật toán lẫn hạ tầng.
Bước 1: Tiền xử lý dữ liệu giải quyết những vấn đề gì?
Tiền xử lý dữ liệu là bước trích xuất nội dung text thuần từ tài liệu người dùng tải lên, chuẩn bị dữ liệu sạch để các bước sau có thể sử dụng được. Để kiểm tra trùng lặp một tài liệu, hệ thống bắt buộc phải có nội dung cần kiểm tra, nhưng định dạng đầu vào của mỗi người dùng lại khác nhau — hầu hết hệ thống hiện nay đều hỗ trợ tải lên tài liệu dạng doc, docx, pdf.
Việc trích xuất nội dung từ tài liệu thành text nghe có vẻ đơn giản nhờ có nhiều thư viện hỗ trợ sẵn, nhưng vấn đề khó thực sự nằm ở việc chuẩn bị dữ liệu để các bước sau sử dụng được, cụ thể ở hai khía cạnh sau.
Tách câu chính xác quan trọng như thế nào?
Để kiểm tra được trùng lặp, hệ thống phải đối chiếu từng đoạn nội dung với nguồn dữ liệu, và đơn vị đối chiếu này tùy theo chiến lược xử lý của từng hệ thống — ví dụ Turnitin dùng chuỗi các từ liên tiếp nhau không quan tâm có cùng một câu hay không, còn DoIT và KiemTraTaiLieu sử dụng đơn vị câu văn. Vì vậy ở bước tiền xử lý, việc tách từ toàn bộ văn bản thành các đơn vị chính xác là cực kỳ quan trọng.
Ví dụ, không thể chỉ dùng dấu chấm để tách câu vì có nhiều trường hợp từ viết tắt cũng chứa dấu chấm (như Dr., Mr., U.S.) trong khi các tiêu đề hay danh sách liệt kê lại không kết thúc bằng dấu chấm. Có rất nhiều trường hợp ngoại lệ như vậy cần được xử lý riêng để đảm bảo độ chính xác của bước tách câu.
Lưu trữ metadata phục vụ hiển thị kết quả ra sao?
Để hiển thị kết quả trực quan nhất — giúp người dùng có trải nghiệm giống như đang xem văn bản gốc, biết chính xác đoạn trùng lặp nằm ở đoạn nào, trang nào, và có thể tương tác để xem chi tiết hoặc lọc kết quả — hệ thống cần lưu trữ đầy đủ thông tin metadata trong suốt quá trình trích xuất để bước tổng hợp kết quả có thể sử dụng lại.
Bước 2: Kiểm tra và đối chiếu trùng lặp xử lý bài toán quy mô dữ liệu ra sao?
Kiểm tra và đối chiếu trùng lặp là bước so sánh từng đoạn văn đã trích xuất với cơ sở dữ liệu tìm kiếm của hệ thống, và đây là bước đòi hỏi năng lực xử lý lớn nhất về mặt kỹ thuật. Dữ liệu Internet có quy mô tính bằng hàng nghìn terabyte (1 TB = 1024 GB), trong khi một tài liệu luận văn trung bình chứa khoảng 1.500 câu văn.
Để hoàn thành việc kiểm tra trong vòng 1 phút, hệ thống phải tìm kiếm được khoảng 25 câu văn mỗi giây trên hàng terabyte dữ liệu — tương đương mỗi câu văn chỉ được xử lý trong khoảng 40 mili-giây, một con số rất nhỏ so với tốc độ tìm kiếm file thông thường. Để so sánh, việc tìm kiếm một vài từ khóa trong một ổ đĩa 100GB bằng trình quản lý file thông thường cũng đã mất vài giây với ổ SSD, và lâu hơn gấp 2-3 lần với ổ HDD.
Vì sao full-text search là giải pháp phù hợp?
Công nghệ full-text search là giải pháp phù hợp để xử lý bài toán tốc độ này, vì đây là công nghệ tối ưu cho việc tìm kiếm tương tự Google hay Facebook — kết quả trả về không cần chính xác tuyệt đối, chỉ cần một vài từ trùng hoặc có nghĩa tương đồng là đủ. Các công nghệ tiêu biểu của hướng này bao gồm Elasticsearch, Solr. Tuy nhiên, khi KiemTraTaiLieu thử nghiệm thực tế, những công nghệ có sẵn này chưa đáp ứng đủ nhu cầu về hiệu năng cho các câu văn dài với tần suất truy vấn liên tục, đồng thời chi phí vận hành cũng quá lớn. Vì vậy, KiemTraTaiLieu đã phải tự thiết kế lại dựa trên các kỹ thuật nền tảng của công nghệ có sẵn — và nhiều khả năng các hệ thống kiểm tra đạo văn khác cũng phải đối mặt với bài toán tương tự. Toàn bộ các bài toán phải giải khi xây dựng từ đầu một hệ thống như vậy được phân tích trong bài tự xây dựng một hệ thống kiểm tra đạo văn như thế nào?
Vì sao không thể dùng công cụ tìm kiếm Google trực tiếp?
Một hướng xử lý khác là sử dụng công cụ tìm kiếm Google — đưa từng câu lên Google kiểm tra và lấy kết quả trả về, giúp tiết kiệm hạ tầng lưu trữ dữ liệu lớn cũng như công sức lập trình. Tuy nhiên, Google không cung cấp API truy cập miễn phí lẫn trả phí cho mục đích này, và hệ thống sẽ bị chặn bằng captcha chỉ sau vài chục câu tìm kiếm liên tục do bị nhận diện là truy cập tự động, không phải từ con người. Vì vậy, hướng xử lý này không khả thi trong thực tế.
Do phải xử lý khối lượng dữ liệu lớn như vậy, nhiều hệ thống buộc phải áp giới hạn với người dùng — ví dụ Turnitin chỉ bán cho đơn vị tổ chức (không bán cho cá nhân) và có giới hạn riêng cho tài khoản sinh viên, còn DoIT giới hạn số lượt kiểm tra miễn phí.
Bước 3: Tổng hợp kết quả cần đáp ứng tiêu chí gì?
Tổng hợp kết quả là bước hiển thị dữ liệu trùng lặp đã tìm được theo cách trực quan nhất, cho phép người dùng tương tác trực tiếp với giao diện kiểm tra hoặc xuất báo cáo. Kỹ thuật xử lý ở bước này thiên về thiết kế UI/UX nhiều hơn là thuật toán lõi, và mỗi hệ thống có cách trình bày riêng — ví dụ tô màu theo mức độ trùng lặp, sắp xếp theo thứ tự trang, hoặc cho phép lọc theo nguồn đối chiếu. Về phía người dùng, hiểu đúng các thành phần của báo cáo (tỷ lệ tương đồng, danh sách nguồn trùng, đoạn được đánh dấu) mới là điều quyết định — xem hướng dẫn cách đọc báo cáo kiểm tra trùng lặp và hướng xử lý.
So sánh cách tiếp cận của các hệ thống kiểm tra đạo văn
Bảng dưới đây tóm tắt sự khác biệt trong cách tiếp cận kỹ thuật giữa các hệ thống phổ biến, dựa trên đơn vị đối chiếu và đối tượng phục vụ.
| Hệ thống | Đơn vị đối chiếu | Đối tượng phục vụ chính |
|---|---|---|
| Turnitin | Chuỗi từ liên tiếp (không theo câu) | Tổ chức, trường học (không bán lẻ cá nhân) |
| DoIT | Câu văn | Nội bộ ĐHQGHN |
| KiemTraTaiLieu | Câu văn | Cá nhân và đơn vị đào tạo |
Câu hỏi thường gặp
Vì sao kết quả kiểm tra giữa các phần mềm khác nhau lại không giống nhau?
Vì mỗi hệ thống dùng đơn vị đối chiếu và thuật toán khác nhau — ví dụ Turnitin so sánh theo chuỗi từ liên tiếp bất kể ranh giới câu, trong khi DoIT và KiemTraTaiLieu so sánh theo từng câu văn hoàn chỉnh, dẫn đến cách tính điểm trùng lặp khác nhau cho cùng một đoạn văn.
Tại sao kiểm tra đạo văn với dữ liệu lớn lại mất thời gian?
Vì hệ thống phải đối chiếu từng câu trong tài liệu (thường khoảng 1.500 câu với một luận văn) với kho dữ liệu có quy mô hàng nghìn terabyte, đòi hỏi thuật toán tìm kiếm tối ưu như full-text search để hoàn thành trong thời gian hợp lý mà vẫn đảm bảo độ chính xác.
Hệ thống kiểm tra đạo văn có dùng Google để tìm kiếm trực tiếp không?
Không. Google không cung cấp API miễn phí hay trả phí cho mục đích này và sẽ chặn bằng captcha sau vài chục lượt tìm kiếm tự động, nên các hệ thống phải tự xây dựng cơ sở dữ liệu và công nghệ tìm kiếm riêng thay vì phụ thuộc vào Google.
Đơn vị đối chiếu theo câu hay theo chuỗi từ chính xác hơn với tiếng Việt?
Đơn vị theo câu văn thường phù hợp hơn với tiếng Việt vì tôn trọng ngữ nghĩa trọn vẹn của câu, trong khi đối chiếu theo chuỗi từ liên tiếp không quan tâm ranh giới câu dễ gây báo trùng lặp giả với các cụm từ thông dụng ngắn.
Tóm tắt
- Hệ thống kiểm tra đạo văn xử lý qua 3 bước: tiền xử lý dữ liệu, đối chiếu trùng lặp, tổng hợp kết quả.
- Bước tiền xử lý phải giải quyết bài toán tách câu chính xác và lưu trữ metadata cho hiển thị kết quả.
- Bước đối chiếu trùng lặp là bài toán kỹ thuật khó nhất, cần công nghệ full-text search tối ưu để xử lý hàng nghìn terabyte dữ liệu trong thời gian ngắn.
- Không thể dùng Google trực tiếp để đối chiếu do giới hạn API và captcha.
- Mỗi hệ thống dùng đơn vị đối chiếu khác nhau (câu văn hoặc chuỗi từ), dẫn đến kết quả kiểm tra có thể khác nhau giữa các phần mềm.
Lưu ý: cơ chế so khớp nguồn ở trên chỉ phát hiện nội dung sao chép — văn bản do AI viết mới hoàn toàn cần lớp kiểm tra riêng, hoạt động theo nguyên lý khác hẳn; xem bài AI detector có chính xác không? để hiểu lớp kiểm tra thứ hai này.
Bài viết liên quan
- Cách đọc báo cáo kiểm tra trùng lặp và hướng xử lý hiệu quả
- Những phần mềm kiểm tra đạo văn tiếng Việt Made in Việt Nam
- Những tính năng nổi bật của phần mềm kiểm tra đạo văn kiemtratailieu.vn
- Tự xây dựng một hệ thống kiểm tra đạo văn như thế nào?
- Dữ liệu nội sinh trong kiểm tra trùng lặp, đạo văn là gì?
