Skip to content

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 9/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 toàn bộ văn bản thành các đơn vị chính xác (tách câu, sentence segmentation) quyết định trực tiếp chất lượng đối chiếu phía sau.

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.

Vì sao tiếng Việt cần thêm bước tách từ? ​

Tiếng Việt viết cách nhau bằng dấu cách giữa các âm tiết (tiếng), không phải giữa các từ, nên "phân tích" hay "phát hiện" hiện ra thành hai đơn vị nếu chỉ tách theo khoảng trắng. Tách từ (word segmentation) là bước ghép các âm tiết thành từ có nghĩa trước khi đối chiếu, và là một bài toán nghiên cứu riêng trong xử lý ngôn ngữ tự nhiên.

Bộ tách từ RDRsegmenter (Nguyen và cộng sự, LREC 2018) đạt F1 khoảng 97,9% trên tập dữ liệu chuẩn — con số rất cao, nhưng cũng cho thấy ngay cả công cụ tốt vẫn sai một tỷ lệ nhỏ ranh giới từ. Nếu coi mỗi âm tiết là một từ như cách xử lý tiếng Anh, những chuỗi rất thông dụng như "là một trong những" sẽ khớp tình cờ với vô số văn bản và sinh ra báo trùng lặp giả.

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í.

Hệ thống nhận ra đoạn văn bị sao chép bằng cách nào, không cần so từng ký tự? ​

Document fingerprinting (lấy dấu vân tay tài liệu) là kỹ thuật băm mọi chuỗi k đơn vị liên tiếp (gọi là k-gram: ký tự, âm tiết hoặc từ) của văn bản, rồi chỉ giữ lại một tập con giá trị băm làm "dấu vân tay". Hai tài liệu chứa đoạn giống nhau sẽ có chung ít nhất một dấu vân tay, nên không cần so sánh từng ký tự.

Ví dụ minh họa với k = 4 âm tiết: câu "phân tích và phát hiện mã độc" gồm 7 âm tiết, cho ra 4 k-gram: "phân tích và phát", "tích và phát hiện", "và phát hiện mã", "phát hiện mã độc". Một câu khác chỉ cần chứa chung một trong bốn chuỗi này là đã có điểm khớp.

Thuật toán winnowing của Schleimer, Wilkerson và Aiken (SIGMOD 2003) là nền tảng kinh điển của hướng này, được các tác giả triển khai trong MOSS, dịch vụ phát hiện đạo văn dùng rộng rãi trong giảng dạy lập trình. Bài báo chứng minh: mọi chuỗi giống nhau dài từ k + w − 1 đơn vị trở lên (w là kích thước cửa sổ chọn dấu vân tay) đều để lại ít nhất một dấu vân tay chung. Lưu ý: đây là nền tảng lý thuyết, các hệ thống thương mại thường không công bố chi tiết thuật toán của mình.

Từ nguyên lý này rút ra một đánh đổi mà mọi hệ thống phải chọn: k nhỏ thì dễ báo trùng tình cờ với cụm thông dụng, k lớn thì bỏ sót đoạn chỉ bị đổi vài từ. Đó cũng là lý do đổi từ đồng nghĩa rải rác trong câu chỉ giảm điểm trùng ở mức hạn chế, còn viết lại toàn bộ cấu trúc câu mới phá được khớp chuỗi — nhưng khi đó nội dung vẫn có thể là đạo văn ý tưởng nếu không dẫn nguồn, như phân tích trong bài paraphrase là gì và cách diễn giải đúng chuẩn.

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
TurnitinChuỗ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)
DoITCâu vănNội bộ ĐHQGHN
KiemTraTaiLieuCâu vănCá nhân và đơn vị đào tạo

Vì sao cùng một tài liệu lại cho tỷ lệ khác nhau giữa các phần mềm? ​

Chênh lệch giữa các phần mềm thường đến từ năm yếu tố kỹ thuật, không phải do phần mềm nào "sai". Bảng dưới đây liệt kê từng yếu tố và tác động của nó lên con số cuối báo cáo:

Yếu tố khác biệtCách nó làm lệch tỷ lệ
Đơn vị đối chiếu (câu hay chuỗi từ)Cùng một đoạn bị cắt thành các đơn vị khác nhau nên cho số lần khớp khác nhau
Kho nguồn và dữ liệu nội sinhTài liệu chỉ có trong kho của một hệ thống thì hệ thống kia không thể báo trùng
Xử lý trích dẫn và danh mục tài liệu tham khảoNếu không loại trừ, câu trích dẫn đúng chuẩn vẫn bị tính vào tỷ lệ
Ngưỡng độ dài tối thiểu của đoạn trùngHệ thống nhận đoạn ngắn sẽ báo nhiều điểm khớp nhỏ hơn hệ thống chỉ nhận đoạn dài
Mẫu số của phép tínhTính trên toàn văn hay sau khi loại mục lục, phụ lục cho ra phần trăm khác nhau

Theo hướng dẫn của Turnitin, điểm tương đồng (similarity score) là tỷ lệ phần trăm văn bản trong bài khớp với các nguồn trong cơ sở dữ liệu, tính bằng số từ trùng chia cho tổng số từ; điểm cao không tự động có nghĩa là đạo văn, vì trích dẫn đúng chuẩn cũng tạo ra điểm khớp.

Vì thế con số phần trăm chỉ có ý nghĩa khi đi kèm cách tính của công cụ chính thức mà trường yêu cầu, và cần được đối chiếu với ngưỡng trùng lặp trường quy định. Về bản chất khác nhau giữa hai khái niệm, xem thêm bài trùng lặp với đạo văn khác nhau như thế nào.

Tình huống thực tế: cùng một luận văn, hai phần mềm cho 14% và 27% ​

Ví dụ minh họa (số giả định, không phải một trường hợp cụ thể): một học viên kiểm tra luận văn thạc sĩ trên hai phần mềm, được 14% và 27%, và lo lắng không biết con số nào đúng. Cách phân tích theo thứ tự:

  1. So danh sách nguồn trùng của hai báo cáo. Nếu nguồn lớn nhất của báo cáo 27% là luận văn của một trường mà phần mềm kia không có, chênh lệch đến từ kho dữ liệu nội sinh.
  2. Kiểm tra phần nào được tính. Xem danh mục tài liệu tham khảo, mục lục và các câu trích dẫn trực tiếp có nằm trong phần bị đánh dấu không.
  3. Tìm đoạn trùng dài liên tục. Một số trường coi đoạn trùng nguyên văn từ 100 từ trở lên là vi phạm độc lập với tỷ lệ tổng thể; quy định này xuất hiện trong văn bản của UEH và Trà Vinh, xem bài quy định kiểm tra trùng lặp tại các trường đại học.
  4. Xác định công cụ chính thức. Hỏi phòng đào tạo trường dùng công cụ nào và cách tính ra sao; con số của công cụ đó mới là số có giá trị khi chấm.

Checklist khi hai kết quả không khớp nhau ​

  • [ ] Đã mở chi tiết từng báo cáo, không chỉ so hai con số tổng
  • [ ] Đã xác định nguồn nào chỉ xuất hiện ở một phần mềm
  • [ ] Đã kiểm tra danh mục tài liệu tham khảo có bị tính vào tỷ lệ hay không
  • [ ] Đã rà các đoạn trùng dài liên tục và xử lý bằng cách diễn giải lại hoặc dẫn nguồn rõ ràng
  • [ ] Đã chốt công cụ chính thức của trường trước khi sửa bài theo con số nà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. Điều này cũng có nghĩa một hệ thống tối ưu đơn vị đối chiếu cho tiếng Việt sẽ kém chính xác khi áp dụng ngược lại cho văn bản tiếng Anh — xem phân tích cách chọn công cụ đúng ngôn ngữ trong bài kiểm tra đạo văn luận văn tiếng Anh.

Phần mềm kiểm tra đạo văn có phát hiện được văn bản viết lại bằng cách đổi từ đồng nghĩa không? ​

Phát hiện được một phần. Nếu chỉ đổi vài từ trong câu, nhiều chuỗi liên tiếp vẫn còn nguyên nên câu đó thường vẫn bị đánh dấu trùng. Nếu viết lại toàn bộ cấu trúc câu bằng công cụ paraphrase, khớp chuỗi có thể không còn. Tuy vậy, mượn ý mà không dẫn nguồn vẫn là đạo văn ý tưởng, và giảng viên hoặc hội đồng có thể nhận ra khi đọc trực tiếp.

Phần mềm kiểm tra đạo văn có phát hiện nội dung do AI viết không? ​

Cơ chế đối chiếu nguồn không làm được điều này, vì văn bản do AI tạo ra thường là câu mới, không khớp với nguồn nào. Cần một lớp kiểm tra riêng ước lượng xác suất văn bản do mô hình ngôn ngữ sinh ra. Ví dụ Turnitin bổ sung chỉ báo AI writing từ tháng 4/2023, và điểm này độc lập với điểm tương đồng: một bài có thể trùng lặp thấp nhưng vẫn bị gắn cờ AI.

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. Tương tự, phần mềm chỉ so khớp văn bản, không xác minh danh mục tài liệu tham khảo có thật hay còn hiệu lực — việc đó phải làm thủ công, xem cách nhận biết trích dẫn giả do AI tạo ra và cách kiểm tra bài báo bị rút.

Nguồn tham khảo: Schleimer, Wilkerson & Aiken, "Winnowing: Local Algorithms for Document Fingerprinting", SIGMOD (2003); Nguyen và cộng sự, "A Fast and Accurate Vietnamese Word Segmenter", LREC (2018); Turnitin Guides, mục "Understanding the similarity score"; Turnitin, thông báo chỉ báo AI writing (4/2023).

Bài viết liên quan ​

Cập nhật gần nhất:

Đăng ký nhận tư vấn kiểm tra đạo văn

Để lại thông tin, đội ngũ Kiểm Tra Tài Liệu sẽ liên hệ tư vấn giải pháp kiểm tra trùng lặp, đạo văn phù hợp cho bạn hoặc đơn vị của bạn.

Hoặc liên hệ nhanh qua Messenger, Zalo hoặc Hotline 0566.685.688.