Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.62 MB, 24 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
Với sự phát triển nhanh chóng của Cơng nghệ thông tin trong những năm gan đây đã tạo nên sự thay đổi to lớn trong tat cả các lĩnh vực
khác nhau. Nhiều quốc gia trong đó có Việt Nam xem Công nghệ thông
tin như công cụ đột phá trong phát triển kinh tế xã hội. Bên cạnh những
thành tựu đạt được, nhiều thách thức mới cũng đã xuất hiện như vấn đề
an tồn thơng tin, vấn đề q tải thông tin, vấn đề ngăn ngừa thông tin độc hại. Đặc biệt, van dé sao chép dit liệu văn bản bang các hình thức khác nhau trên Internet được xem là một vẫn nạn phổ biến được cộng đồng quan tâm nghiên cứu.
Sao chép dữ liệu văn bản xuất hiện bằng nhiều hình thức khác
nhau cịn gọi là đạo văn. Có nhiều hình thức ăn cắp dir liệu văn bản khác
nhau: cắt, dán, sao chép nguyên bản, sao chép từng đoạn, sao chép ý <small>tưởng, dịch không xin phép. Những hình thức sao chép như trên tạo nên</small> một thói quen nguy hiểm trong các hoạt động giáo dục đào tạo, nghiên
cứu khoa học và nhiều lĩnh vực liên quan khác. Một nghiên cứu về hiện trạng sao chép kết quả học tập của sinh viên ở Anh cho thấy 70% sinh
viên thú nhận có sao chép một phan trong các bài tập, 40% thú nhận sử dụng biện pháp cắt dán khi hoàn thành bài tập, 10% sinh viên Mỹ, Uc,
Anh bảo vệ kết quả học tập bằng các kết quả sao chép. Chính vì vậy, việc xây dựng các phương pháp và công cụ tự động nhận biết một tài liệu là “sao chép” hay “không sao chép” thu hút được cộng đồng nghiên cứu trong 10 năm gần đây.
Có nhiều phương pháp và cơng nghệ khác nhau đã được đề xuất dé phát hiện sao chép dữ liệu văn bản tiếng Anh. Tuy nhiên, việc áp dụng
<small>các phương pháp và công nghệ phát hiện sao chép dữ liệu văn bản cho</small>
<small>các ngôn ngữ khác nhau van là chủ đề mở cần được cộng đồng quan tâm</small>
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">nghiên cứu. Dé tài: “Phương pháp phát hiện sao chép dữ liệu văn
bản” thực hiện trong khuôn khổ luận văn tốt nghiệp thạc sỹ ngành hệ thống thông tin nhằm nghiên cứu các kỹ thuật phát hiện sao chép dữ liệu
văn bản. Đề tài được thực hiện với mục tiêu và phương pháp cụ thể như
<small>dưới đây.</small>
Cấu trúc của luận văn như sau: LỜI CAM ĐOAN
Chương 1 - TONG QUAN VE SAO CHEP VĂN BAN
1.1 Giới thiệu về sao chép văn bản
<small>1.2 Các giai đoạn của quá trình sao chép văn bản1.3 Các kỹ thuật phát hiện sao chép văn bản</small>
<small>1.3.1 Phương pháp dựa trên ký tự</small>
1.3.2 Phương pháp dựa trên cau trúc (Structural-based)
<small>1.3.3 Phương pháp phân cụm (Cluster-Based) va phân loại (classification)1.3.4 Phương pháp dựa trên cú pháp(syntax-based)</small>
<small>1.3.5 Phương pháp xuyên ngôn ngữ(Cross Language-based)</small>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><small>2.2 Phương pháp dựa vào cụm tù(Pharse-Based)</small>
<small>2.2.1 Phương pháp phát hiện sao chép toàn cục</small>
<small>2.2.2 Phương pháp phát hiện sao chép cục bộ</small>
2.3 Phương pháp phát hiện sao chép văn bản dựa vào cấu trúc 2.4 Phát hiện sao chép dựa vào phương pháp ngữ nghĩa an
2.4.1 Cau trúc từ trong tiếng Việt
2.4.2 Tách từ trong văn bản tiếng Việt
2.4.3 Câu trúc từ trong tiếng Việt
<small>2.4.4 Xác định độ tương tự văn bản — văn bản</small> 2.5 Kết luận chương
Chương 3 - XÂY DỰNG HE THONG PHÁT HIỆN VÀ PHỊNG CHĨNG
SAO CHÉP DỮ LIỆU VĂN BẢN
<small>3.1 Phát biêu bài toán</small> 3.2 Thiết kế hệ thống
3.2.1 Biểu đồ phân rã chức năng
3.2.2 Mơ tả hệ thống
<small>3.2.3 Tính tốn độ tương tự văn bản</small>
3.3 Xây dựng phần mềm phát hiện sao chép trên ngôn ngữ VB.Net
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">1.1. Giới thiệu về sao chép dữ liệu văn bản
<small>1.2. Các giai đoạn của quá trình phát hiện sao chép văn bản1.3. Các kỹ thuật phát hiện sao chép dữ liệu văn bản</small>
Nội dung chính của mục này thảo luận về một số kỹ thuật phát hiện sao chép dữ liệu văn bản được đưa ra gần đây. Các kỹ thuật này có thê được phân loại thành: các phương pháp dựa trên ký tự
(Character-based), Phương pháp dựa trên cấu trúc (Structual-(Character-based), Phương pháp
<small>phân cụm (Cluster-Based), Phương pháp phân loại (classification),</small>
<small>Phương pháp dựa trên cú pháp (syntax-based), Phương pháp xuyên ngôn</small> ngữ (Cross language-based), Phương pháp Ngữ nghĩa ân
<small>(Semantic-Based) và phương pháp trích dẫn (Citation-(Semantic-Based) [1].</small>
<small>1.3.1. Phương pháp dựa trên ký tự</small>
1.3.2. Phương pháp dựa trên cấu trúc (Structural-based)
<small>1.3.3.Phuong pháp phân cụm (Cluster-Based) và phân loại</small>
<small>1.3.4. Phương pháp dựa trên cú pháp (syntax-based)</small>
<small>1.3.5. Phương pháp xuyên ngôn ngữ (Cross Language-based)</small>
<small>1.3.6. Phương pháp ngữ nghĩa (semantic-based)</small> 1.3.7. Phương pháp trích dẫn
<small>1.4. Cac công nghệ phát hiện sao chép dữ liệu văn bản</small>
1.5. Kết luận chương
Nội dung của Chương đã trình bày tổng quan về vấn đề sao chép
dữ liệu văn bản. Sao chép dữ liệu văn bản được thực hiện theo nhiều hình thức khác nhau địi hỏi các hệ thống phát hiện sao chép văn bản
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">phải xây dựng phương pháp phát hiện phù hợp với từng kiểu sao chép. Các phương pháp phát hiện sao chép dữ liệu được thực hiện phổ biến là phương pháp dựa vào ký tự. Một số phương pháp khác được thực hiện
dựa vào cấu trúc văn bản và ngữ nghĩa văn bản. Dựa trên các phương
pháp này, nhiều hệ thống phát hiện sao chép dữ liệu văn bản đã được
<small>xây dựng có tính thương mại cao.</small>
Ở Việt Nam, mặc dù chưa có kết quả nghiên cứu chính thức về số
lượng người dùng dữ liệu văn bản có hành vi sao chép bất hợp pháp,
nhưng chắc chan đây cũng là van nạn phổ biến đang diễn ra trong nhiều
lĩnh vực khác nhau. Việc nghiên cứu và triển khai các phương pháp phát hiện sao chép dữ liệu văn bản tiếng Việt thành công sẽ là công cụ hữu
hiệu áp dụng cho nhiều tổ chức nghiên cứu và đào tạo. Trong những chương tiếp theo, em xin trình bày kết quả nghiên cứu của mình trong
lĩnh vực phát hiện sao chép tài liệu tiếng Việt,
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><small>2.1. Phương pháp Character-Based</small>
Phương pháp phát hiện sao chép dựa vào ký tự biểu diễn văn bản như một dãy tuần tự các ký tự cho toàn bộ tài liệu. Do vậy, phương
pháp này có thê sử dụng phát hiện sao chép tài liệu tiếng Việt mà khơng
cần có sự thay đổi nào. Phương pháp phát hiện sao chép tài liệu dựa vào
<small>ký tự được chia thành hai phương pháp chính: phương pháp toàn bộ</small>
<small>(Full) và phương pháp cục bộ (Selective) []. Phương pháp toàn cục áp</small>
<small>dụng cho toàn bộ văn bản, phương pháp cục bộ áp dụng cho từng đoạn</small> văn bản. Nội dung cụ thé của hai phương pháp như dưới đây.
<small>2.1.1. Phương pháp Character-Based toàn cục</small>
Đối với phương pháp toàn phần, văn bản nghi ngờ được phân tích
thành tập hợp tat cả các xâu ký tự con độ dài k. Vi dụ, với văn bản D có
độ dài IDI=5 chứa duy nhất một từ “touch”. Khi đó, “touc’, “ouch” là
tập các từ độ dài 4. Tổng quát, cho văn bản D độ dai IDI, số các xâu ký tự độ dài & có thể có là IDI-k+/ và được gọi là k-grams. Khi đó, việc so
sánh sự giống nhau giữa hai văn bản được đưa về việc ước lượng mức
độ sự giống nhau giữa các xâu con độ dài k.
Có nhiều phương pháp khác nhau để ước lượng mức độ giống
nhau giữa hai văn bản. Phương pháp đơn giản nhất dé so sánh mức độ giống nhau giữa hai văn ban A và văn bản B được tính tốn theo cơng <small>thức (1).</small>
<small>R= Tr (1)</small>
<small>Trong đó,</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">e |Al số lượng K-grams phân tích từ văn A.
<small>® R là mức độ tương tư giữa văn ban A va văn bản D.</small>
se Nlà số lượng k-grams xuất hiện trong cả văn bản A và <small>văn bản B.</small>
Dé dàng nhận thấy 0< R <7 vì nếu N=0 thì R = 0, nếu =lAl thì R
= 1. Với N=0 tương ứng với trường hợp khơng có bat kỳ một xâu con
độ dài k nào của văn bản B xuất hiện trong văn bản A. Khi đó, ta có thể
kết luận văn bản B không được sao chép từ văn ban A. Với N=/ tương
ứng với trường hợp toàn bộ các xâu con độ dài k của văn bản B đều xuất
hiện trong văn ban A. Khi đó, ta có thể kết luận B sao chép nguyên ban
từ A. Với 0< R </( ví dụ R = 0.35) ta sẽ xác định được tỉ lệ phần trăm
<small>sao chép giữa hai văn bản. Tóm lại, phương pháp tồn cục phát hiện saochép dữ liệu văn bản dựa vào ký tự được thực hiện thơng qua ba bước chính</small>
<small>như sau:</small>
<small>Bước 1. Sử dụng k-grams, phân tích văn bản thành tập các chuỗi</small>
<small>ký tự kgrams.</small>
Bước 2. Xác định mức độ giống nhau giữa các văn bản dựa vào
<small>k-grams đã được phân tích.</small>
Bước 3. Trả lại văn bản có độ giống nhau lớn nhất giữa các văn bản.
Thực nghiệm và đánh giá kết quả kết quả:
Phương pháp Character-Based được tiến hành thực nghiệm trên cả
hai loại văn bản tiếng Việt và tiếng Anh. Đối với tiếng Anh, lấy một bài báo khoa học nguyên bản bằng tiếng Anh và dịch thành tiếng Việt làm
dữ liệu kiểm tra. Thay đổi nội dung bài báo dịch sang tiếng Việt trong
các trường hợp dưới đây dé phát hiện mức độ sao chép dữ liệu văn bản.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">Trường hợp 1: Phát hiện sao chép 20%. Thay đôi nội dung bài dịch tiếng Việt khoảng 80% và thực hiện phát hiện sao chép.
Trường hợp 2: Phát hiện sao chép 50%. Thay đôi nội dung bài
dịch tiếng Việt khoảng 50% và thực hiện phát hiện sao chép.
Trường hợp 3: Phat hiện sao chép 80%. Thay đôi nội dung bài
dịch tiếng Việt khoảng 20% và thực hiện phát hiện sao chép.
<small>Trường hợp 4: Phát hiện sao chép nguyên bản . Giữ nguyên</small> nội dung bài dịch tiếng Việt làm dữ liệu kiểm tra sao chép.
Trường hợp 5: Không phát hiện sao chép văn bản tiếng Việt . Lay một tài liệu Việt khác khơng liên quan gì đến tài liệu ké trên làm dit liệu kiểm tra sao chép.
<small>Trường hợp 6: Phát hiện sao chép xuyên ngôn ngữ 20%. Sử</small> dụng Google Translate API dịch 20% phần tiếng Việt thành
tiếng Anh và thực hiện tiễn hành phát hiện phan dữ liệu đã dịch sang tiếng Anh.
<small>Trường hợp 7: Phát hiện sao chép xuyên ngôn ngữ 40%. Sử</small>
dụng Google Translate API dịch 40% phần tiếng Việt thành
tiếng Anh và thực hiện tiễn hành phát hiện phan dữ liệu đã dịch
sang tiếng Anh.
<small>Trường hợp 8: Phái hiện sao chép xuyên ngôn ngữ 60%. Sử</small> dụng Google Translate API dịch 60% phần tiếng Việt thành
tiếng Anh và thực hiện tiến hành phát hiện sao chép phần dữ liệu đã dịch sang tiếng Anh.
<small>Trường hợp 9: Phát hiện sao chép xuyên ngôn ngữ 80%. Sử</small>
dụng Google Translate API dịch 80% phần tiếng Việt thành
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">tiếng Anh và thực hiện tiến hành phát hiện sao chép phần dữ liệu đã dịch sang tiếng Anh.
<small>e Trường hợp 10: Phái hiện sao chép nguyên bản xuyên ngôn</small> ngữ. Su dụng Google Translate API dịch ban tiéng Viét thanh
tiếng Anh sau đó thực hiện tién hành phát hiện sao chép.
Vì phương pháp dựa vào ký tự phụ thuộc vào k-grams biéu diễn
văn ban. Do vậy em tiến hành phân tích văn bản sử dụng 4-grams, 10-grams, 16-grams và 32-grams. Kết quả kiểm nghiệm phát hiện sao chép được thể hiện trong Bang 2.1.
<small>Bảng 2.1. Giá trị R phát hiện mức độ sao chép văn bản</small>
<small>Phát hiện | Giá trị của R ứng với các trường hợp phát hiện sao chépsao chép 4-grams 10-grams 16-grams 32-grams</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Đánh giá kết qua thử nghiệm:
<small>Phát hiện sao chép nguyên bản (Trường hợp 4). Giá trị của R</small>
luôn là 1 trong tất cả các phép thử 4-grams, 10-grams,
16-grams và 32-16-grams. Tuy nhiên, về thực tế trường hợp có xảy ra
nhưng là trường hợp dễ phát hiện nhất. Kết quả này cũng hoàn
toàn phù hợp với các loại văn bản tiếng Anh.
Không phát hiện sao chép (Trường hợp 5). Cho lại kết quả
khá tốt mặc dù kết quả giao nhau giữa các 4-grams lên đến
6.1%. Tuy nhiên, giá trị này vẫn đủ tốt dé ta có kết luận khơng
<small>sao chép dữ liệu văn bản.</small>
<small>Trường hợp sao chép 20%, 50%, 80% (Trường hợp, 1, 2, 3):</small>
Kết quả phát hiện sao chép dữ liệu văn bản tiếng Việt sử dụng
<small>4-grams, 10-grams, 16-grams trong các trường hợp này thường</small>
cao hơn kết quả thực tế. Kết quả này hoàn toàn phù hợp với văn bản tiếng Việt hoặc tiếng Anh vì với k đủ nhỏ sẽ tồn tại nhiều <small>&-grams trùng lặp giữa các van bản khác nhau mặc dù họ tác giả</small>
<small>khơng có ý định sao chép. Riêng với trường hợp sử dụng </small>
32-grams, kết quả cho lại thường thấp hơn thực tế vì khi & đủ lớn
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><small>- </small>
l]-các chuỗi ký tự trùng lặp sẽ bị hạn chế ít đi. Trong kiểm nghiệm
này, em nhận thấy sử dụng /6-grams cho văn bản tiếng Việt cho kết quả hợp lý hơn các trường hợp cịn lại.
<small>e Trường hợp phát hiện sao chép xun ngơn ngữ (Truong</small>
hợp 6, 7, 8, 9, 10). Luận văn đã mạnh dạn đề xuất việc thử nghiệm phát hiện sao chép văn bản tiếng Việt bằng cách sử dụng Google Translate API. Mặc dù sử dụng kết quả của Google Translate API chưa thé dùng được cho văn phong tiếng Việt và các tài liệu chuyên ngành. Tuy vậy, kết quả dịch bằng
Google Translate sang tiếng Việt vẫn phản ánh đúng hầu hết những từ dùng trong bản dịch ở mức độ nhất định. Kết quả
kiêm nghiệm cũng cho thấy, mặc dù giá trị của R thấp hơn giá
trị thực đối với các văn bản thuần Việt nhưng cũng vẫn chấp
nhận được trong kết luận sao chép văn bản trong một số trường hợp. Ví dụ với trường hợp dịch nguyên bản tiếng Việt thành tiếng Anh, kết quả phát hiện sao chép đều đạt trên 80%. Nếu sử
dụng Google Translate cùng với 16-grams và 32-grams thì kết quả đạt đến trên 90%. Kết quả này đủ tốt để cho phép chúng ta
khẳng định văn bản tiếng Việt được dịch nguyên bản từ bản tiếng Anh.
<small>2.1.2. Phương pháp Character-Based cục bộ</small>
Phương pháp dựa toàn phần dựa vào ký tự phát hiện khá tốt trong các trường hợp dữ liệu văn bản sao chép nguyên bản hoặc một phần của
tài liệu gốc. Tuy nhiên, nếu văn bản bị nghi ngờ sao chép chỉ thực hiện sao chép một đoạn hoặc một trang từ văn bản gốc thì phương pháp cho lại kết quả không mong muốn. Để hạn chế nhược điểm này, phương
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><small>- </small>
<small>12-pháp ký tự cục bộ thực hiện tách và so sánh mỗi đoạn của văn bản A với</small>
mỗi đoạn của văn bản B dé tìm ra độ tương tự giữa các đoạn văn bản. <small>Bài toán được đặt ra như sau.</small>
<small>2. 2. Phương pháp dựa vào cụm từ (Pharse-Based)</small>
<small>Phương pháp phát hiện sao chép dữ liệu văn bản dựa vào ký tự cho</small> lại kết quả khá tốt trong các trường hợp khác nhau. Tuy vậy, điểm hạn chế lớn nhất của phương pháp là việc sử dụng k-grams cho ký tự đòi hỏi
tài nguyên lưu trữ khá lớn và mat nhiều thời gian so sánh các k-grams.
Dé hạn chế nhược điểm này ta có thể xem mỗi văn bản như là tập hợp
<small>các từ sử dụng trong văn bản. Khi đó, bài tốn phát hiện sao chép dữ liệu</small> văn bản được được đưa về bài toán so sánh giữa tập các từ hoặc cụm từ <small>trong các văn bản khác nhau. Phương pháp phát hiện sao chép dữ liệu</small>
văn bản dựa vào cụm từ cũng được chia thành hai hướng tiếp cận: <small>phương pháp phát hiện sao chép toàn cục và phương pháp phát hiện sao</small> chép cục bộ. Điểm khác biệt duy nhất giữa hai hướng tiếp cận là đơn vị
<small>tính tốn mức độ sao chép của phương pháp tồn cục là cả tập văn bản,</small>
<small>trái lại phương pháp phát hiện sao chép cục bộ thực hiện trên mỗi đoạn</small>
văn bản. Nội dung cụ thể mỗi phương pháp được thực hiện như dưới đây.
<small>2.2.1. Phương pháp phát hiện sao chép toàn cục</small>
<small>2.2.2. Phương pháp phát hiện sao chép cục bộ</small>
2.3. Phương pháp phát hiện sao chép văn bản dựa vào cấu trúc
Phương pháp phát hiện sao chép dữ liệu văn ban dựa vào cau trúc cũng được phân thành hai loại: phương pháp phát hiện sao chép cấu trúc toàn bộ và phương pháp phát hiện cấu trúc từng phần. Nhiệm vụ của
phương pháp phát hiện sao chép cấu trúc toàn bộ là xác định mức độ
<small>giông nhau về câu trúc giữa hai văn bản. Nhiệm vụ của của phương pháp</small>
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><small>- </small>
13-phát hiện sao chép cấu trúc cục bộ là định mức độ giống nhau từng phân
về cấu trúc giữa hai văn bản [].
Có nhiều đề xuất khác nhau giải quyết bài toán phát hiện sao chép
cấu trúc văn ban. Phương pháp hiệu quả nhất phải kế đến là các phương
pháp tô chức cây cấu trúc văn bản dựa vào cây nhiều nhánh, cây tìm
kiếm và dựa vào hàm băm []. Một số phương pháp khác sử dụng lại kết
quả của phương pháp Character-Based hoặc Pharse-Based. Ưu điểm của phương pháp này là đơn giản, dễ cài đặt và tận dụng triệt để ngữ nghĩa
các từ khóa và có thé triển khai phương pháp dựa vào câu
(Sentence-Based) và dựa vào ngữ pháp (Grammar-(Sentence-Based). Cụ thể phương pháp <small>được thực hiện thông qua các bước sau:</small>
Bước 1. Tách cấu trúc của văn bản nghi ngờ sao chép.
Bước 2. Sử dụng k-grams dựa vào cụm từ biểu dién cấu trúc văn bản.
Bước 3. Xác định mức độ tương tự về cấu trúc với các văn bản khác.
Bước 4. Trả lại văn bản có độ tương tự cao nhất về cấu trúc với <small>văn bản nghi ngờ sao chép.</small>
Gọi R là mức độ giống nhau về cấu trúc giữa văn ban A và văn ban
<small>B. Khi đó, R được xác định theo công thức (5).</small>
<small>TC |Struet(A}UStruer(B)|</small>
Trong d6, Struct(A) 1a tap cac trigrams biểu diễn cấu trúc văn bản A, Struct(B) là tập các trigrams biểu diễn cấu trúc của văn bản B. Nhu
vay, tử số của công thức (2) là số lượng các trigrams có mặt trong cả cấu
trúc của văn ban A và cau trúc của văn bản 8. Mẫu số của công thức (2) là số lượng các trigrams hoặc mặt trong cau trúc văn bản A hoặc có mặt
<small>trong câu trúc văn bản B.</small>
</div>