Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
3,85 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐÀO TẠO SAU ĐẠI HỌC ************************************ BÁO CÁO LUẬN VĂN ĐỀ TÀI: “ĐỐI SÁNH ĐỘ TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN” Giáo viên hướng dẫn Học viên thực Lớp Hà Nội, 1-2016 : : : PGS TS Lê Thanh Hương Phạm Văn Tú 13BCNTT1 Luận văn cao học LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn "Đối sánh độ tương đồng hai văn bản" thân tự thực hướng dẫn PGS.TS Lê Thanh Hương - Viện Công nghệ thông tin Truyền thông - Đại học Bách khoa Hà Nội Các thông tin số liệu kết Luận văn có nguồn gốc rõ ràng, nội dung Luận văn chưa công bố công trình nghiên cứu nước Hà Nội, tháng ….năm 2016 Tác giả Luận văn Phạm Văn Tú Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học MỤC LỤC CHƯƠNG I: MỞ ĐẦU .8 Lý chọn đề tài Mục tiêu đề tài: Đối tượng nghiên cứu .8 Nhiệm vụ Phương pháp nghiên cứu Bố cục luận văn CHƯƠNG II: GIỚI THIỆU BÀI TOÁN, CÁC NGHIÊN CỨU VÀ 10 PHƯƠNG PHÁP SO SÁNH ĐỘ TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN 10 1.Giới thiệu toán đối sánh độ tương đồng hai văn 10 i Khái niệm độ tương đồng hai văn 10 1.2 Phân loại loại độ tương đồng hai văn 11 1.3 Đối sánh độ tương đồng hai văn tiếng Việt 12 1.4 Từ đồng nghĩa, thuật ngữ 14 1.5 Đặc trưng tiếng Việt vấn đề cần giải toán đối sánh độ tương đồng hai văn .15 2.Một số nghiên cứu liên quan .16 2.1 Bộ gõ tiếng Việt 16 2.2 Bài toán tách từ tiếng Việt (Tokenizer) .17 2.3 Bài toán thêm dấu tự động cho văn tiếng Việt .18 3.Các phương pháp đối sánh độ tương đồng hai văn 20 3.1 Độ tương đồng từ với từ 20 3.2 Độ tương đồng hai văn 24 CHƯƠNG III: PHÂN TÍCH CÁC PHƯƠNG PHÁP SỬ DỤNG TRONG BÀI TOÁN ĐỐI SÁNH TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN .24 1.Phát biểu toán 24 1.1 Đầu vào, đầu toán 24 1.2 Quy trình hệ thống 25 1.3 Các chức hệ thống .26 2.Yêu cầu hệ thống 26 1.1 Yêu cầu với chức hệ thống 26 2.2 Yêu cầu phi chức hệ thống 26 2.3 Công cụ ngôn ngữ sử dụng để phát triển 27 Bài toán tách từ cho văn (Tokenization) 28 Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học 3.1 Giới thiệu toán tách từ .28 2.4 Mô hình Markov ẩn (Hidden Markov Models – HMM) 29 2.5 Áp dụng mô hình markov ẩn tách từ văn tiếng việt .32 Loại bỏ stopword 34 4.1 Giới thiệu toán loại bỏ từ nhiễu (stop-words) cho văn 34 2.6 Chỉ số Tf-Idf việc xử lý stop-word văn 34 2.7 Áp dụng tính toán số Tf-Idf để loại bỏ stop-words 36 Tính độ tương đồng ngữ nghĩa từ với từ 37 5.1 Giới thiệu toán tìm độ tương đồng hai từ 37 2.8 Thuật toán Pointwise Mutual Information (PMI) 38 2.9 Áp dụng thuật toán PMI vào việc tính độ tương tự từ với từ 38 Độ tương đồng hai câu 39 5.1 Tính độ tương đồng theo hệ số cosin 39 5.2 Độ tương đồng thứ tự từ câu 39 5.3 Tính độ tương đồng cho toàn câu .40 Tính toán độ tương đồng cho toàn văn 41 7.1 Một số phương pháp tìm độ tương đồng hai văn 41 2.10 Phương pháp tính độ tương đồng công thức trung bình 42 CHƯƠNG IV: CÀI ĐẶT VÀ THỬ NGHIỆM ỨNG DỤNG SO SÁNH 43 ĐỘ TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN TRONG THỰC TẾ 43 Hướng dẫn cài đặt 43 1.1 Cài đặt Net Framework .43 1.2 Cài đặt khởi động ứng dụng 43 1.1 Tập ngữ liệu (Corpus) ứng dụng 44 Chạy thử nghiệm đánh giá kết 44 2.1 Chạy thử nghiệm chức tách từ loại bỏ stop-word 44 2.2 Thử nghiệm chức đối sánh hai văn 48 KẾT LUẬN VÀ TÀI LIỆU THAM KHẢO .51 1.Kết luận .51 Tài liệu tham khảo 51 Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học MỤC LỤC HÌNH VẼ Hình 1: Ví dụ phần Wordnet 20 Hình 2: Quy trình xử lý hệ thống 26 Hình 3: Các chức hệ thống 26 Hình 4: Minh họa mô hình Markov ẩn .29 Hình 5: Biểu đồ biến đổi trạng thái thời tiết .31 Hình 6: Chạy file cài đặt ứng dụng 43 Hình 7: Giao diện ứng dụng .43 Hình 8: Corpus ứng dụng .44 Hình 9: Thử nghiệm tính tách từ .46 Hình 10: Sử dụng chức đối sánh ngữ nghĩa 49 Hình 11: Chức đối sánh hai file 49 Hình 12: Chức đối sánh text 49 Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học DANH SÁCH BẢNG BIỂU Bảng 1: Bảng tần suất chuyển trạng thái từ 33 Bảng 2: Bảng thống kê xác suất từ 33 Bảng 3: Thống kê tìm ngưỡng Tfidf cho từ để loại bỏ stop-words .37 Bảng 4: Kết thử nghiệm tính tách từ 46 Bảng 5: Kết thử nghiệm tính đối sánh 50 Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ STT TỪ VIẾT TẮT GIẢI THÍCH Semantic Ngữ nghĩa Wordnet Cơ sở tri thức từ vựng Corpus Tập ngữ liệu LSA – Latent Sematic Analysis Phân tích ngữ nghĩa ẩn PMI – Pointwise Mutual Information Thông tin chung theo điểm Tokenization (Tokenizing) Tách từ Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học CHƯƠNG I: MỞ ĐẦU Lý chọn đề tài Trong năm gần đây, phát triển vượt bậc Công nghệ thông tin làm tăng số lượng văn số lưu trữ dạng file máy tính cách nhanh chóng Đồng thời lượng thông tin web (tin tức, hình ảnh, viết) có hội để bùng nổ mặt số lượng Trước tình hình đó, việc quản lý nội dung văn hay thông tin mạng toán nhiều bên quan tâm (quản trị website, quản lý thư viện, quản lý ngân hàng câu hỏi, đề thi,…) Một vấn đề việc quản lý nội dung số việc so khớp mặt nội dung văn Đây vấn đề có ý nghĩa lớn thực tiễn, ví dụ quản lý thư viện, tìm luận văn thạc sỹ tồn sở liệu luận văn thạc sỹ trước hay chưa để tránh việc chép nội dung Trong lĩnh vực an ninh, để tìm thông tin miêu tả đối tượng tình nghi sở liệu đối tượng trung tâm chống tội phạm nhận diện khác Hay quản lý nội dung trang web, để biết phát trang web khác sử dụng nội dung tác giả khác mà quyền? Xuất phát từ nhu cầu thực tiễn đó, chọn đề tài “So sánh độ tương đồng hai văn bản” làm đề tài luận văn Thạc sỹ với mong muốn giải vấn đề nêu Mục tiêu đề tài: - Nghiên cứu kỹ thuật đo độ tương đồng hai văn - Nghiên cứu việc so sánh độ tương đồng hai văn tiếng Việt nói riêng - Áp dụng sở lý thuyết có xây dựng ứng dụng so sánh độ tương đồng hai văn tiếng Việt Đối tượng nghiên cứu - Tập văn số (lưu trữ dạng file) sở liệu văn - Tập tin tức website Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Nhiệm vụ - Luận văn tập trung nghiên cứu phương pháp so sánh độ tương đồng hai văn theo ngữ nghĩa (semantic) dựa vào tập liệu ngữ nghĩa (có thể từ điển) thông qua việc xác định độ tương tự từ với từ Phương pháp nghiên cứu Phương pháp nghiên cứu tài liệu: - Nghiên cứu đặc điểm mặt ngữ nghĩa từ với từ, văn với văn ngôn ngữ nói chung tiếng Việt nói riêng - Nghiên cứu tập liệu, từ điển tượng từ ghép, từ đồng nghĩa tiếng Việt - Nghiên cứu phương pháp tách từ tiếng Việt - Nghiên cứu phương pháp tính độ tương đồng ngữ nghĩa hai văn dựa so sánh độ tương đồng từ tách văn Phương pháp thực nghiệm: - Trên sở lý thuyết thu được, xây dựng ứng dụng so sánh độ tương đồng hai văn công nghệ Microsoft Net window form, tiến hành cài đặt đánh giá kết Bố cục luận văn Luận văn chia làm 05 chương, nội dung sau: Chương I: Mở đầu Chương II: Giới thiệu toán, nghiên cứu phương pháp so sánh độ tương đồng hai văn Chương III: Phân tích thiết kế hệ thống Chương IV: Cài đặt thử nghiệm ứng dụng so sánh độ tương đồng hai văn thực tế Chương V: Kết luận, tài liệu tham khảo Phạm Văn Tú Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học CHƯƠNG II: GIỚI THIỆU BÀI TOÁN, CÁC NGHIÊN CỨU VÀ PHƯƠNG PHÁP SO SÁNH ĐỘ TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN Giới thiệu toán đối sánh độ tương đồng hai văn i Khái niệm độ tương đồng hai văn Đối sánh độ tương đồng sử dụng ứng dụng xử lý ngôn ngữ tự nhiên lĩnh vực liên quan Một ứng dụng đối sánh độ tương đồng kí tự mô hình tìm kiếm thông tin văn liên quan nhiều với chuỗi hay văn truy vấn trả xếp hạng dựa theo độ tương đồng (Salton and Lesk, 1971) Đối sánh độ tương đồng sử dụng phân loại kí tự (text), phân loại văn (document), tìm kiếm theo chủ đề… Việc đo độ tương đồng hai văn trước chủ yếu dựa việc so khớp chuỗi (String-based) so khớp từ (Word-based) Tuy nhiên với giúp đỡ máy tính ngành khoa học liên quan (Trí tuệ nhân tạo, xác suất thống kê…), việc so sánh hai văn ngày phát triển, làm cho việc so sánh trở nên thông minh xác Sự “tương đồng” (hay tương tự) định nghĩa theo cách khác tùy theo lĩnh vực nghiên cứu Trong nghiên cứu Toán học, nhà nghiên cứu đưa định nghĩa tương đồng hai hình (geometry) sau: “Hai đối tượng hình học coi tương đồng hai có chung hình dáng hay hai hình có hình dáng giống với hình phản chiếu gương hình hình Chính xác hơn, hai hình tạo cách thay đổi hình lại (phóng to, xoay) với phép dịch, xoay hay phản chiếu (Nguồn https://en.wikipedia.org/wiki/Similarity_(geometry)) Trong tâm lý học (psychology), tương đồng lại định nghĩa sau: “Sự tương đồng nói tới gần giống mang tính tâm lý hai hình thái thần kinh” (Nguồn https://en.wikipedia.org/wiki/Similarity_(psychology)) Dù định nghĩa nào, chúng có điểm chung “tương đồng” dùng để so sánh hai hay nhiều đối tượng, vấn đề, hoàn cảnh… theo tiêu chí Các đối tượng đem so sánh thường giữ vai trò khác nhau, đối tượng đem xem xét đối chiếu gọi vấn đề (problem), đối tượng lại biết lưu lại gọi mẫu (prototype) Phạm Văn Tú 10 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Sau xem xét phương pháp, luận văn định lựa chọn phương pháp tính toán độ tương đồng ngữ nghĩa từ với từ theo phương pháp dựa vào Corpus phương pháp thống kê Đây phương pháp không đòi hỏi phải có mô hình từ ngữ trước mà cần tập ngữ liệu đủ lớn (Corpus xây dựng phần trước) Cụ thể, luận văn sử dụng độ đo Pointwise Mutual Information (PMI) sử dụng để giải toán tính toánh độ tương đồng luận văn 2.8 Thuật toán Pointwise Mutual Information (PMI) Pointwise Mutual Information (PMI) phương pháp đo quan hệ sử dụng nghiên cứu thống kê, MI kết trung bình khả xảy việc mà ta xét tới PMI sử dụng mô hình thống kê, tính điểm cho đối tượng (ở hai từ) đem so sánh Thông tin tương hỗ theo điểm PMI hai từ x y so sánh khả quan sát hai từ với để xác suất quan sát x y độc lập (xác suất xảy ngẫu nhiên): (6) Các xác suất tính xấp xỉ sau: Trong đó: C số lần xuất từ Corpus, N tổng số từ tập ngữ liệu 2.9 Áp dụng thuật toán PMI vào việc tính độ tương tự từ với từ Để tìm số đánh giá tương đồng ngữ nghĩa hai từ văn bản, ta tìm số thông tin chung PMI hai từ Để tìm số ta tính số lần từ xuất hiển tổng số từ tập Corpus số lần hai từ xuất văn bản, sau tính giá trị PMI theo logarit số theo công thức (6) Ví dụ: Có từ w1 w2 tập Corpus có khoảng 1000000 từ Ta cần tìm độ tương đồng ngữ nghĩa hai từ Ta thấy số lượng từ có Phạm Văn Tú 38 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học khoảng 200000 từ w1, 250000 từ w2 số lần w2 xuất với w1 văn khoảng 150000 lần Như tìm PMI(w1,w2) sau PMI(w1,w2) = = 0.547 Độ tương đồng hai câu 5.1 Tính độ tương đồng theo hệ số cosin Sau tính độ tương tự từ, ta đưa vector ngữ nghĩa s i cho câu Giá trị thành phần có vector giá trị độ tương tự từ từ câu với tập từ chung Sự giống ngữ nghĩa câu hệ số cosin góc vector: Sims 5.2 Độ tương đồng thứ tự từ câu Mục tiêu phần từ hai câu input, đưa vector thứ tự từ cho câu Ví dụ: Ta có hai câu S1 S2 với S1: Con mèo đuổi theo chó S2: Con chó đuổi theo mèo Tập từ chung T = {Con, mèo, đuổi, theo, chó} Nếu xét đến độ tương đồng ngữ nghĩa từ câu câu giống hoàn toàn Tuy nhiên thực tế lại khác, hai câu mang ý nghĩa hoàn toàn trái ngược Vì vậy, nảy sinh vấn đề cần phải tính đến thứ tự từ có câu Cách ước tính độ tương đồng thứ tự từ câu sau: - Nếu từ tập từ chung mà có câu từ có thứ tự với từ câu - Ngược lại, từ tập từ chung không giống với từ câu thứ tự Gọi r vector thứ tự từ câu Công thức để tính độ tương đồng thứ tự từ câu sau: Phạm Văn Tú 39 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Simr = - 5.3 Tính độ tương đồng cho toàn câu Sự giống toàn câu định nghĩa kết hơp độ tương tự mặt ngữ nghĩa thứ tự từ câu Sim(S1, S2) = Sims + Simr Để làm rõ phương pháp tính độ tương đồng hai câu, ta xét ví dụ sau: Giả sử có câu sau: S1: Luận văn cao học thực với giúp đỡ giáo viên hướng dẫn S1: Giáo viên phân công hướng dẫn học viên cao học thực luận văn Sau tách từ loại bỏ stop-word, ta có tập từ hai câu sau: Tập từ S1: W1 = {Luận văn, cao học, tôi, thực hiện, sự, giúp đỡ, giáo viên, hướng dẫn } Tập từ S2: W2 = {Giáo viên, phân công, hướng dẫn, học viên, cao học, thực hiện, đề tài} Tập từ chung Wc = {Luận văn, cao học, thực hiện, giáo viên, hướng dẫn} Gọi r vector thứ tự từ câu Với hai câu S S2 ta có hai vector r1 r2 tương ứng sau: r1 = { 5} r2 = { 0} Ta tìm vector S1, S2 độ tương tự từ từ hai câu với tập từ chung Áp dụng cách tính độ tương tự từ từ phần trước ta tìm độ giống lớn mặt ngữ nghĩa mà từ câu S S2 giống với tập từ chung Ta tìm S1, S2 sau: S1 = {0.97 0.98 0.1 0.86 0.2 0.87 0.925} S2 = {0.96 0.21 0.87 0.112 0.91 0.94 0.1} Phạm Văn Tú 40 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Sims = = = 0.512 Tương tự ta tính Simr = 0.132 Vậy độ tương đồng ngữ nghĩa hai câu Sim(S 1,S2) = 0.512 + 0.132 = 0.644 Tính toán độ tương đồng cho toàn văn 7.1 Một số phương pháp tìm độ tương đồng hai văn Các độ đo độ tương tự văn dùng từ lâu ứng dụng xử lý ngôn ngữ tự nhiên lĩnh vực liên quan Một ứng dụng sớm độ tương tự văn có lẽ mô hình vecto tìm kiếm thông tin, tài liệu có liên quan tới câu truy vấn đầu vào xác định cách xếp hạng tài liệu tập theo thứ tự ngược độ tương tự (Salton & Lesk 971) Độ tương tự văn dùng cho phản hồi liên quan (relevance feedback), phân lớp văn (Rochio 1971), gần cho trích chọn văn (Salton et al 1997), phương pháp cho việc đánh giá dịch máy tự động (Papineni et al 2002) hay tóm tắt văn (Lin & Hovy 2003) Độ đo độ tương tự văn sử dụng cho việc đánh giá tính chặt chẽ văn (Lapata & Barzilay 2005) Với số trường hợp, phương pháp tự động tìm độ tương tự hai đoạn văn sử dụng việc so khớp từ đơn giản, tạo điểm tương tự dựa số đơn vị từ vựng xảy hai đoạn văn đầu vào Sự cải tiến với phương pháp đơn giản xem xét đến gốc từ (stemming), việc loại bỏ từ dừng, gán nhãn từ loại (part-of-speech tagging), so khớp tập dài nhất, trọng số nhân tố khác Trong thành công với mức độ vậy, phương pháp độ tương tự từ vựng luôn xác định độ tương tự ngữ nghĩa văn Phạm Văn Tú 41 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Có số lượng lớn độ đo độ tương tự ngữ nghĩa từ với từ, sử dụng phương pháp dựa sở tri thức (knowledge-based), dựa kho ngữ liệu (corpus-based) Các độ đo áp dụng thành công công việc xử lý ngôn ngữ phát từ dùng sai nghĩa (Buddanitsky & Hirst 2001), nhận dạng từ đồng nghĩa Với độ tương tự ngữ nghĩa dựa văn bản, có lẽ hầu hết sử dụng phương pháp xấp xỉ thu qua việc mở rộng truy vấn, thực tìm kiếm thông tin (Voorhees 1993), hay phương pháp phân tích ngữ nghĩa ẩn (Landauer, Foltz & Laham 1998), phương pháp đo độ tương tự văn cách khai thác mối quan hệ từ cách tự động qua tập văn lớn 2.10 Phương pháp tính độ tương đồng công thức trung bình Trong khuôn khổ luận văn này, sử dụng phương pháp đánh giá độ tương đồng hai văn dựa độ tương tự câu thành phần tính phần trước Ta xác định độ tương tự ngữ nghĩa hai đoạn văn D1 D2 cách sử dụng phương pháp kết hợp độ tương tự ngữ nghĩa câu văn câu văn Đầu tiên, với câu S i văn D1 ta tìm tổng độ tương đồng với câu văn D sau chia cho số câu D2 để lấy kết trung bình Với câu D1 ta có độ tương tự ngữ nghĩa với câu D2, từ đây, để tính độ tương tự ngữ nghĩa D1 với D2 ta lại lấy giá trị trung bình câu D1 Giả sử D1 có n câu D1 = {S1, S2,…Sn} Giả sử D2 có m câu D2 = {S1, S2,…Sm} Với câu Si D1 ta tính độ tương đồng ngữ nghĩa với D2 sau Sim(Si,D2| Si thuộc D1) = (Với m số câu D2, Sj thuộc D2) Sau tính Sim(Si, D2) độ tương đồng câu D1 với D2 ta tính độ tương đồng hai văn trung bình cộng giá trị Sim(D1,D2) = Phạm Văn Tú 42 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học CHƯƠNG IV: CÀI ĐẶT VÀ THỬ NGHIỆM ỨNG DỤNG SO SÁNH ĐỘ TƯƠNG ĐỒNG GIỮA HAI VĂN BẢN TRONG THỰC TẾ Hướng dẫn cài đặt 1.1 Cài đặt Net Framework Các phiên NET Framework tải trang web Microsoft: http://www.microsoft.com/downloads/en/default.aspx Sau tải bạn nhấp đúp chuột vào tập tin để chạy thực cài đặt Việc cài đặt dễ dàng với việc click chuột vào nút Next sau Install, trình cài đặt Window cài đặt tự động 1.2 Cài đặt khởi động ứng dụng Trong thư mục cài đặt, chạy file TokenizationDemo.exe thư mục Bin > Debug Hình 6: Chạy file cài đặt ứng dụng Giao diện chương trình hình Hình 7: Giao diện ứng dụng Phạm Văn Tú 43 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Phần khoanh đỏ hình menu chức ứng dụng, lựa chọn chức mong muốn ứng dụng 1.1 Tập ngữ liệu (Corpus) ứng dụng Corpus ứng dụng có định dạng txt tổng hợp từ treebank tiếng Việt (70,000 câu tách từ) viết, tin tức trang báo online (nguồn từ trang www.dantri.com.vn, http://vnexpress.net/, http://www.xaluan.com/ Mỗi dòng Corpus chứa từ thông tin số lần xuất từ 20000 viết Hình 8: Corpus ứng dụng Chạy thử nghiệm đánh giá kết 2.1 Chạy thử nghiệm chức tách từ loại bỏ stop-word Đoạn giả mã lệnh xử lý việc tác từ Mô hình Markov ẩn: // Đầu vào chuỗi lưu toàn văn string[] document = Readfile(string path) // Đọc file văn string[] status = {first, middle, end} // mảng lưu trạng thái từ float[] probs; //màng lưu xác suất tiếng string[] result; // mảng lưu kết sau tách for(int I = 0; i < document.length; i++) // lặp qua tất tiếng văn { // Tìm xác suất lớn Var maxprob = Getmax(Prob(word,first), Prob(word,middle), Prob(word,end); Phạm Văn Tú 44 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học If maxprob = Prob(word, first) then status[i] = first; If maxprob = Prob(word, middle) then status[i] = middle; If maxprob = Prob(word, end) then status[i] = end; result.add(word) } Return result; Đoạn giả mã lệnh xử lý việc loại bỏ stop-word cách tính số Tf-Idf sau: while (true) // Sau tách từ phần kết trả mảng từ tách string[] document = Tokenizing(string path) // truyền vào tên file trả mảng từ var NumberofDocument = 20000; // Tổng số văn foreach(word in document) { var containingdocument = Getcontainingdocument(word) // số văn chứa var Tfidf = log2(20000/containingdocument); // Kiểm tra tfidf có nằm ngưỡng hay không if (Tfidf < 1.7 || Tfidf > 16.9) then Removeword() // Nếu không nằm khoảng remove } Return document // trả tập từ văn loại bỏ stop-words Tiến hành chạy thử nghiệm tính tách từ, nhập văn vào ô “Nhập vào” giao diện nhấn nút “Tách từ”, kết trả từ tách dấu cách, từ phức tiếng nối với dấu gạch Phạm Văn Tú 45 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Hình 9: Thử nghiệm tính tách từ Với 10 lần với văn có độ dài ngắn khác nhau, ta thấy kết sau Lần Số dòng Độ xác 97.67% 13 98.87% 25 96.1% 35 98.81% 47 93.45% 53 94,16% 65 96.7% 74 98.65% 88 96.65% 10 98 93,4% Bảng 4: Kết thử nghiệm tính tách từ Ví dụ với đoạn text nhập vào sau: “Câu chuyện buồn chị Lê Thanh Hiền (29 tuổi, Triều Khúc, Hà Nội) bắt đầu vào ngày đông cách 29 năm, chị sinh nhà hộ sinh Đống Đa (phố Khâm Thiên, Hà Nội) Thời điểm đó, theo quy định bệnh viện, đứa trẻ sinh phải cách ly với mẹ phòng riêng Chị Hiền nhớ lại: “Mẹ kể với tôi, sinh xong y tá thông báo gái bế Tám tiếng sau, bố đón tay nhà hộ sinh trao cho mẹ” Trong trí nhớ mẹ, chị Hiền sinh có da trắng hồng, đôi môi đỏ tóc hoe vàng Phạm Văn Tú 46 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học Niềm hạnh phúc lần đầu làm cha mẹ khiến đôi vợ chồng không mảy mảy nghi ngờ có nhẫm lẫn hai đứa trẻ hai gia đình Gần 30 năm qua, chị Hiền sống yêu thương, đùm bọc gia đình Thế lớn chị Hiền có nhiều nét khác biệt so với người nhà.” Kết trả sau: “Câu_chuyện buồn chị Lê_Thanh_Hiền ( 29 tuổi , Triều_Khúc , Hà_Nội ) bắt_đầu vào ngày đông cách 29 năm , chị sinh_ra nhà_hộ_sinh Đống_Đa ( phố Khâm_Thiên , Hà_Nội ) Thời_điểm , theo quy_định bệnh_viện , đứa trẻ sinh_ra phải cách_ly với mẹ phòng riêng Chị_Hiền nhớ lại : “ Mẹ kể với , sinh xong y_tá thông_báo con_gái bế Tám tiếng sau , bố đón tay nhà_hộ_sinh trao cho mẹ ” Trong trí_nhớ mẹ , chị Hiền sinh_ra có da trắng hồng , đôi môi đỏ tóc hoe vàng Niềm hạnh_phúc lần đầu làm cha_mẹ khiến đôi vợ_chồng không mảy mảy nghi_ngờ có nhẫm lẫn hai đứa trẻ hai gia_đình Gần 30 năm qua , chị Hiền sống yêu_thương , đùm_bọc gia_đình Thế_nhưng lớn chị Hiền có nhiều nét khác_biệt so với người nhà ” Nhận xét kết quả: - Dựa bảng kết trên, ta thấy số lượng dòng tăng lên độ xác thuật toán giảm Ngoài ra, qua kiểm tra thực tế, văn có nhiều từ nhập nhằng (ví dụ câu chưa từ “coi chừng mực”) làm cho thuật toán tách từ sai - Ngoài ra, với văn có nhiều danh từ riêng (Chị Hiền, Hà nội,…), ứng dụng chưa tách danh từ riêng dài Tuy nhiên, với kết ta thấy thuật toán tách từ có kết chấp nhận được, sử dụng ứng dụng thực tế - Đối với từ Corpus thuật toán không nhận nên việc tách từ bị sai, điều đòi hỏi phải có Corpus đủ lớn để bao phù toàn từ vựng, việc đòi hỏi phải có thời gian - Khi tách sai từ dẫn đến từ sau câu bị sai - Một số trường hợp loại bỏ stop-words không xác Phạm Văn Tú 47 Lớp 13BCNTT1 - Khoá 2013B Luận văn cao học 2.2 Thử nghiệm chức đối sánh hai văn Đoạn giả mã lệnh xử lý đối sánh hai văn // Tách văn thành câu string[] document = Tokenizing(string path) // truyền vào tên file trả mảng từ string[] sententarray; // mảng lưu câu văn foreach(word in document) { if(word thuộc sentence[i]) then addto sentence[i] // từ thuộc câu thêm vào mảng } Return sentence; // Đối sánh tương đồng string[] sententarray1; // mảng lưu câu văn D1 string[] sententarray2; // mảng lưu câu văn D2 int[] totalsim; for(i=0; i