Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 74 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
74
Dung lượng
3,11 MB
Nội dung
i BỘ GIÁO DỤC ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRẦN NGỌC CHIẾN ỨNG DỤNG KHOẢNG CÁCH LEVENSTEIN ĐỂ SO SÁNH MỨC ĐỘ GIỐNG NHAU CỦA HAI VĂN BẢN LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2017 i BỘ GIÁO DỤC ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG TRẦN NGỌC CHIẾN ỨNG DỤNG KHOẢNG CÁCH LEVENTEIN ĐỂ SO SÁNH MỨC ĐỘ GIỐNG NHAU CỦA HAI VĂN BẢN Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ KỸ THUẬT Người hướng dẫn khoa học: PGS.TS VÕ TRUNG HÙNG Đà Nẵng - Năm 2017 i LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn thực hướng dẫn trực tiếp PGS.TS Võ Trung Hùng; Mọi tham khảo dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố; Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tơi xin chịu hồn tồn trách nhiệm Tác giả Trần Ngọc Chiến ii TÓM TẮT ỨNG DỤNG KHOẢNG CÁCH LEVENSHTEIN ĐỂ SO SÁNH MỨC ĐỘ GIỐNG NHAU CỦA HAI VĂN BẢN Tóm tắt – Đo lường mức độ giống hai văn góp phần quan trọng nhiều lĩnh vực công nghệ thông tin Các phương pháp đánh giá mức độ giống bao gồm: đánh giá dựa chuỗi ký tự, đánh giá dựa từ vựng, đánh giá dựa ngữ nghĩa Trong phương pháp có thuật tốn khác để đánh giá mức độ giống hai văn Trong luận văn tập trung nghiên cứu phương pháp đánh giá mức độ giống văn dựa chuỗi ký tự, cụ thể ứng dụng khoảng cách Levenshtein để xây dựng công cụ so sánh mức độ giống hai văn Mục tiêu luận văn bao gồm nghiên cứu tổng quan phương pháp đánh giá khác khau, xây dựng mơ hình so sánh mức độ giống hai văn bản, xây dựng công cụ so sánh, tiến hành chạy thử nghiệm đánh giá kết Từ khóa – khoảng cách Levenshtein; so sánh hai văn bản; mức độ giống nhau; đánh giá dựa ký tự; công cụ so sánh APPLYING LEVENSHTEIN DISTANCE TO MEASURE THE SIMILARITY BETWEEN TWO DOCUMENTS Abstract - Measuring the similarity between two documents plays an important role in information technology Methods of similarity measure include: String-based, Corpus-based and Knowledge-based Similarities Every approach has many different algorithms to measure the similarity between two documents The Thesis focused on methods of assessing the similarity of text based on string Specifically, Levenshtein Distance will apply to construct a tool that compares the similarity of the two texts The objective of the thesis is to review the different methods of similarity measure, to develop a comparative model of the similarity of the two texts, to develop a comparison tool, to conduct a trial run and to evaluate the results Key words - Levenshtein Distance; Similarity Measure; similarity of the two texts; Stringbased Similarities; comparison tool iii MỤC LỤC LỜI CAM ĐOAN i TÓM TẮT ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH viii MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nhiệm vụ Đối tượng phạm vi nghiên cứu Giả thiết nghiên cứu .2 Phương pháp nghiên cứu Bố cục luận văn .3 CHƯƠNG TỔNG QUAN .4 1.1 Giới thiệu 1.2 Các phương pháp đánh giá mức độ giống hai văn 1.2.1 Đánh giá dựa chuỗi (String-based Similarity Measures) 1.2.2 Đánh giá dựa từ vựng (Corpus-Based Similarity Measures) 1.2.3 Đánh giá dựa ngữ nghĩa (Knowledge-Based Similarity Measures) 1.3 Thuật toán dựa ký tự 10 1.3.1 Thuật toán Jaro - Winkler distance 10 1.3.2 Thuật toán Hamming distance .14 1.3.3 Thuật toán Smith – Waterman .15 1.3.4 Thuật toán Levenshtein distance 21 1.3.5 So sánh thuật toán 24 iv CHƯƠNG GIẢI PHÁP XÂY DỰNG CÔNG CỤ 25 2.1 Giới thiệu 25 2.2 Mơ hình hệ thống .25 2.3 Giải thuật 27 2.3.1 Chuyển liệu nguồn (word, pdf) sang dạng Text .27 2.3.1.1 Chuyển liệu nguồn từ word sang dạng Text 27 2.3.1.2 Chuyển liệu nguồn từ pdf sang dạng Text 29 2.3.2 So sánh mức độ giống hai văn theo khoảng cách Levenshtein .31 CHƯƠNG THỰC NGHIỆM .35 3.1 Lựa chọn công cụ phát triển .35 3.1.1 Ngôn ngữ lập trình .35 3.1.2 Mơi trường phát triển tích hợp Microsoft Visual Studio .36 3.1.2.1 Giới thiệu 36 3.1.2.2 Tính 37 3.2 Xậy dựng mô-đun hệ thống 41 3.2.1 Mô-đun chuyển đổi từ tập tin word sang dạng text .41 3.2.2 Mô-đun chuyển đổi từ tập tin pdf sang dạng text 42 3.2.3 Mô-đun so sánh mức độ giống hai văn 43 3.3 Thử nghiệm 45 3.4 Đánh giá kết .49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .54 DANH MỤC TÀI LIỆU THAM KHẢO .55 QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (bản sao) BẢN SAO KẾT LUẬN CỦA HỘI ĐỒNG, BẢN SAO NHẬN XÉT CỦA CÁC PHẢN BIỆN v DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Giải thích HAL Hyperspace Analogue to Language LSA Latent Semantic Analysis GLSA Generalized Latent Semantic Analysis ESA Explicit Semantic Analysis CL-ESA The cross-language explicit semantic analysis PMI-IR SCO-PMI NGD DISCO Pointwise Mutual Information - Information Retrieval Second-order co-occurrence pointwise mutual information Normalized Google Distance Extracting Distributionally similar words using Sooccurrences res Resnik lin Lin jcn Jiang & Conrath lch Leacock & Chodorow wup Wu & Palmer path Path Length hso St.Onge vi lesk Lesk vector vector pairs CLR Common Language Runtime IDE Integrated Development Environment GUI Graphical User Interface WPF Windows Presentation Foundation XAML Extensible Application Markup Language UML Unified Modeling Language LINQ Language Integrated Query ORM Object Relational Mapping T4 Text Template Transformation Toolkit vii DANH MỤC CÁC BẢNG Số hiệu bảng Tên bảng Trang 1.1 Bảng so sánh thuật toán 24 3.1 Các phiên Microsoft Visual Studio 40 viii DANH MỤC CÁC HÌNH Số hiệu Tên hình Trang hình 1.1 1.2 1.3 Các phương pháp đánh giá mức độ giống dựa chuỗi Các phương pháp đánh giá mức độ giống dựa từ vựng Các phương pháp đánh giá mức độ giống dựa ngữ nghĩa 9 2.1 Mơ hình tổng thể 25 2.2 Mơ hình tổng thể chi tiết 26 2.3 Lưu đồ chuyển đổi tập tin word sang dạng text 27 2.4 Lưu đồ chuyển đổi tập tin pdf sang dạng text 29 2.5 Lưu đồ so sánh mức độ giống hai văn 32 3.1 Giao diện 45 3.2 Giao diện so sánh hai văn 45 3.3 Giao diện so sánh hai đoạn văn 46 3.4 Giao diện so sánh đoạn văn với tập tin 46 3.5 Giao diện so sánh hai tập tin 47 3.6 3.7 Giao diện so sánh văn với nhiều văn liệt kê Giao diện kết so sánh văn với nhiều văn 48 48 3.8 Kết so sánh hai văn giống 49 3.9 Kết so sánh hai văn ngắn khác 50 3.10 Kết so sánh hai văn giống (khoảng 13000 từ) 50 49 3.4 Đánh giá kết - Thử nghiệm 1: so sánh hai đoạn văn So sánh mức độ giống hai đoạn văn với số lượng khoảng 1000 từ để tính tỉ lệ giống hai đoạn văn o Thử nghiệm với hai đoạn văn ngắn hoàn toàn giống Kết quả: tỉ lệ giống 100% Thời gian thực hiện: < giây Hình 3.8 Kết quả so sánh hai văn bản giống 50 o Thử nghiệm với hai đoạn văn ngắn khác Kết quả: tỉ lệ giống 24.37% Thời gian thực hiện: < giây Hình 3.9 Kết quả so sánh hai văn bản ngắn khác So sánh mức độ giống hai đoạn văn với số lượng khoảng 13000 từ để tính tỉ lệ giống hai đoạn văn o Thử nghiệm với hai đoạn văn hoàn toàn giống Kết quả: tỉ lệ giống 100% Thời gian thực hiện: 30 giây Hình 3.10 Kết quả so sánh hai văn bản giống (khoảng 13000 từ) 51 o Thử nghiệm với hai đoạn văn khác Kết quả: tỉ lệ giống 23.41% Thời gian thực hiện: 35 giây Hình 3.11 Kết quả so sánh hai văn bản khác (khoảng 13000 từ) Nhận xét 1: - So sánh hai đoạn văn khoảng 1000 từ thời gian xử lý chưa tới giây - Với hai đoạn văn khoảng 13.000 từ thời gian xử lý 30 giây Thử nghiệm 2: so sánh đoạn văn với nhiều văn bảng So sánh mức độ giống đoạn văn có số lượng khoảng 1700 từ với 22 tập tin sở liệu để tính tỉ lệ giống hai đoạn văn Hình 3.12 Kết quả so sánh văn bản (1700 từ) với 22 tập tin văn bản 52 So sánh mức độ giống đoạn văn có số lượng khoảng 13.000 từ với 22 tập tin sở liệu để tính tỉ lệ giống hai đoạn văn Hình 3.13 Kết quả so sánh văn bản (13.000 từ) với 22 tập tin văn bản Nhận xét 2: thử nghiệm thứ hai so sánh văn với nhiều văn bản, ta có hai thử nghiệm: - Với văn có khoảng 1700 từ thời gian so sánh với tất 22 tập tin khoảng 35 giây - Với văn có khoảng 13000 từ thời gian so sánh với tất 22 tập tin khoảng phút - Thử nghiệm 3: so sánh với trang web online kiểm tra mức độ giống hai văn chủ đề khác nội dung Trang https://www.copyscape.com/compare.php - tỉ lệ 4% Trang https://copyleaks.com/compare/ - tỉ lệ 0% Trang http://www.plagium.com/en/plagiarismchecker Text = 4.5% Text = 4.3% 53 Trang https://www.tools4noobs.com/online_tools/string_similarity/ tỉ lệ 40.81% Công cụ phát triển – tỉ lệ 27.1% Nhận xét 3: thử nghiệm thứ ba so sánh hai đoạn văn chủ đề khác nội dung, trang web online cho kết khoảng tỉ lệ từ 0% đến 40.81% Công cụ phát triển cho kết tỉ lệ 27.1% Với kết tỉ lệ 27.1% xem hai văn khác - Thử nghiệm 4: so sánh với trang web online kiểm tra mức độ giống hai văn có nội dung xáo trộn với - Trang https://www.copyscape.com/compare.php Text = 29% Text = 32% Trang https://copyleaks.com/compare/ - tỉ lệ 44.2% Trang http://www.plagium.com/en/plagiarismchecker Text = 39.2% Text = 37.9% Trang https://www.tools4noobs.com/online_tools/string_similarity/ tỉ lệ 41.58% Công cụ phát triển – tỉ lệ 30.74% Nhận xét 4: thử nghiệm thứ tư so sánh hai đoạn văn có nội dung xáo trộn với nhau, trang web online cho kết khoảng tỉ lệ từ 29% đến 42.2% Công cụ phát triển cho kết tỉ lệ 30.74% Nhận xét chung: - Hệ thống cho kết tỉ lệ giống 100% hai văn hoàn toàn giống - Hệ thống cho kết thấp 50% hai văn khác Ví dụ, hai văn có tỉ lệ giống 28.81% xem hồn tồn khác nhau, thuật tốn dựa ký tự nên khơng thể đưa kết khác hoàn toàn với tỉ lệ 0% - Kết tỉ lệ giống có liên quan tới độ dài hai văn cần so sánh Hai văn có độ dài gần cho kết xác hai văn có độ dài chênh lệch nhiều 54 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Trong q trình nghiên cứu, tơi tiếp thu nhiều kiến thức phương pháp đánh giá mức độ giống hai văn bản, thuật toán so sánh dựa ký tự, ngơn ngữ lập trình C#, phát triển ứng dụng mơi trường tích hợp Microsoft Visual Studio Luận văn xây dựng công cụ so sánh mức độ giống hai văn sử dụng thuật tốn Levenshtein Distance Cơng cụ cho phép so sánh mức độ giống hai đoạn văn, đoạn văn với văn bản, văn với văn bản, so sánh văn với nhiều văn Ngồi ra, cơng cụ cho phép chuyển đổi tập tin dạng word, pdf sang dạng text để so sánh Công cụ thử nghiệm văn tài liệu tham khảo, báo, báo cáo,… Tuy có nhiều cố gắng luận văn cịn số hạn chế như: thuật tốn cài đặt so sánh văn có dung lượng lớn xảy tình trạng tràn nhớ, tốc độ xử lý chậm đáng kể so với văn có dung lượng nhỏ Giai đoạn chuyển đổi tập tin word, pdf ban đầu sang dạng text chưa loại bỏ ký tự dư thừa hiệu Qua trình thực luận văn, đề xuất số giải pháp hướng phát triển sau: ứng dụng lập trình song song (đa luồng) vào thuật toán Levenshtein Distance để cải thiện thời gian xử lý thuật toán; so sánh với định dạng văn khác nhau; ứng dụng công cụ so sánh mức độ giống hai văn để phát chép đề tài, báo cáo, báo,… sinh viên cho khoa trường đại học 55 DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Võ Trung Hùng (2006), “Xử lý ngôn ngữ tự nhiên”, Đại học Bách Khoa, Đại học Đà Nẵng [2] Đặng Thị Tùng Linh (2015), “Nghiên cứu ứng dụng mơ hình véc-tơ để phát chép văn bản”, Luận văn tốt nghiệp Thạc sĩ, Đại học Quy Nhơn [3] Hồ Văn Trọng (2015), “Nghiên cứu xây dựng công cụ phát chép đoạn văn bản”, Luận văn tốt nghiệp Thạc sĩ, Đại học Đà Nẵng Tài liệu tiếng Anh [4] Sergey Brin, James Davis, Hector Garcia-Molina, “Copy Detection Mechanisms for Digital Documents”, Department of Computer Science, Stanford University [5] Wael H Gomaa, Aly A Fahmy (2013), “A Survey of Text Similarity Approaches”, International Journal of Computer Applications (0975 – 8887), Volume 68– No.13 [6] Sergey Butakov, Vladislav Scherbinin, “The toolbox for local and global plagiarism detection”, Computers & Education, Volume 52, Issue 4, May 2009, Pages 781-788 [7] Dnyaneshwar R Bhalerao, S S Sonawane (2015), “A Survey of Plagiarism Detection Strategies and Methodologies in Text Document”, International Journal of Science, Engineering and Technology Research (IJSETR) Volume 4, Issue 12 [8] Joshi O D, Pudale A H, Ghorpade R D (2016), “Text extraction technique applied to plagiarism detection: The semantic analysis of statements for analyzing the writing style”, International Journal of Computer Science Engineering (IJCSE) Vol No.02 56 [9] Khuat Thanh Tung, Nguyen Duc Hung, Le Thi My Hanh (2015), “A Comparison of Algorithms used to measure the Similarity between two documents”, International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume Issue [10] W Winkler (1999), "The state of record linkage and current research problems", Statistics of Income Division, Internal Revenue Service Publication R99/04 [11] A Rodichevski, “Approximate string-matching algorithms, part 2” Morfoedro, a portal of arts and culture [12] Peter Christen, “A Comparison of Personal Name Matching: Techniques and Practical Issues”, Department of Computer Science, The Australian National University [13] Shraddha Pandit, Suchita Gupta, "A Comparative Study on Distance Measuring Approaches for Clustering", International Journal of Research in Computer Science, (1): pp 29-31, December 2011 doi:10.7815/ijorcs.21.2011.011 [14] Temple F Smith, Michael S.Waterman (1981), “Identification of common molecular subsequences” [15] Jesse Liberty, “Programming C#, 2nd Edition”, O'Reilly, ISBN: 0-596-003099, 648 pages ... text để tiến hành so sánh - So sánh mức độ giống hai văn bản: ứng dụng thuật toán Levenshtein Distance để so sánh tỉ lệ giống hai văn - Kết tỉ lệ giống hai văn bản: xuất kết đánh giá giống hai văn. .. Công cụ so sánh Tỉ lệ giống mức độ giống hai văn hai văn 100% 26 Đoạn văn thứ Đoạn văn thứ Tiền xử lý đoạn văn Tiền xử lý đoạn văn thứ thứ so sánh mức độ giống hai văn Kết tỉ lệ giống hai văn Hình... diện so sánh văn với nhiều văn liệt kê Giao diện kết so sánh văn với nhiều văn 48 48 3.8 Kết so sánh hai văn giống 49 3.9 Kết so sánh hai văn ngắn khác 50 3.10 Kết so sánh hai văn giống (khoảng