Nghiên cứu phát triển một số kỹ thuật tách từ tiếng Việt

171 1.5K 2
Nghiên cứu phát triển một số kỹ thuật tách từ tiếng Việt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỞ ĐẦU 1. Tính cấp thiết của luận án Xử lý ngôn ngữ tự nhiên (hay ngôn ngữ học tính toán) là lĩnh vực được nhiều chuyên gia trên thế giới cũng như trong nước quan tâm nghiên cứu, nhằm tạo ra các sản phẩm phần mềm có tri thức và thông minh, hiểu được ngôn ngữ con người và trao đổi được giữa các ngôn ngữ khác nhau. Trong các bài toán xử lý ngôn ngữ tự nhiên thì bài toán tách từ là một trong những bài toán cơ bản vì nó là nền tảng cho các nghiên cứu để hiểu ngôn ngữ và ứng dụng vào thực tiễn như: kiểm lỗi chính tả, tóm tắt văn bản trả lời câu hỏi tự động, dịch máy,... Ta có thể thấy vai trò nền tảng của đơn vị từ trong các bước phân tích và hiểu ngôn ngữ văn bản như hình 0.1. Hình 0.1. Tiếp cận phân tích và hiểu văn bản theo các mức Đối với tiếng Việt, từ được cấu tạo bởi một hay nhiều âm tiết ghép lại, không có ký hiệu phân tách rõ ràng giữa các từ với nhau. Do vậy, tách từ tiếng Việt là một bài toán khó. Qua các khảo sát nghiên cứu, một số vấn đề quan trọng trong bài toán tách từ tiếng Việt còn bỏ ngỏ gồm có: nhận diện và khử nhập nhằng tên riêng, nhận diện từ mới, và xử lý nhập nhằng ranh giới từ. Đây cũng là những vấn đề khó mà hầu hết các nghiên cứu về tách từ trong một số ngôn ngữ ở châu Á như: tiếng Trung, tiếng Nhật, tiếng Thái, tiếng Lào, tiếng Khmer,… đang quan tâm giải quyết. Chính vì thế, trong mục tiêu và phạm vi nghiên cứu, tác giả chọn đề tài luận án là “Nghiên cứu phát triển một số kỹ thuật tách từ tiếng Việt”.

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG HỌC VIỆN KỸ THUẬT QUÂN SỰ TRẦN NGỌC ANH NGHIÊN CỨU PHÁT TRIỂN MỘT SỐ KỸ THUẬT TÁCH TỪ TIẾNG VIỆT LUẬN ÁN TIẾN SĨ TOÁN HỌC HÀ NỘI – NĂM 2016 - iv - MỤC LỤC Trang DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vii DANH MỤC CÁC BẢNG ix DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ xi DANH MỤC CÁC THUẬT TOÁN xii MỞ ĐẦU Chương TỔNG QUAN VỀ BÀI TOÁN TÁCH TỪ TIẾNG VIỆT 1.1 BÀI TOÁN TÁCH TỪ TIẾNG VIỆT .4 1.1.1 Phát biểu toán tách từ tiếng Việt 1.1.2 Đặc trưng đơn vị từ vựng tiếng Việt 1.1.3 Những vấn đề khó tách từ tiếng Việt 1.1.4 Phương pháp đánh giá kết tách từ tiếng Việt .10 1.2 NHỮNG TIẾP CẬN TRÊN THẾ GIỚI VÀ TRONG NƯỚC 10 1.2.1 Những tiếp cận giới 11 1.2.2 Những tiếp cận nước 14 1.2.3 Những kết đạt tách từ tiếng Việt 16 1.2.4 Những tồn nghiên cứu tách từ tiếng Việt 17 1.3 ĐỀ XUẤT HƯỚNG GIẢI QUYẾT .20 1.3.1 Xác định tài nguyên cho toán tách từ tiếng Việt 20 1.3.2 Thống kê chất lượng kho ngữ liệu mẫu tiếng Việt .21 1.3.3 Chọn mô hình tích hợp cho tách từ tiếng Việt 24 Chương TÁCH TỪ VÀ NHẬN DIỆN THỰC THỂ VĂN BẢN TIẾNG VIỆT 26 2.1 THUẬT TOÁN TÁCH TỪ TIẾNG VIỆT .26 2.1.1 Thuật toán tách từ tiếng Việt VWS 26 2.1.2 Các thuật toán dùng chung tách từ 26 2.1.3 Thử nghiệm thuật toán so khớp cực đại cải tiến AMM 32 2.2 NHẬN DIỆN THỰC THỂ VÀ KHỬ NHẬP NHẰNG TÊN RIÊNG 33 2.2.1 Bài toán nhận diện thực thể văn 33 2.2.2 Nhận diện thực thể văn tiếng Việt 34 2.2.3 Nhận diện khử nhập nhằng ranh giới tên riêng tiếng Việt 38 2.2.4 Kết thử nghiệm 44 Chương NHẬN DIỆN TỪ LÁY VÀ TỪ GHÉP ĐẲNG LẬP TIẾNG VIỆT 46 3.1 NHẬN DIỆN TỪ GHÉP BẰNG HỌC KHÔNG GIÁM SÁT 46 -v- 3.1.1 Chọn độ dài từ ghép tiếng Việt cho học không giám sát 46 3.1.2 Một số độ đo thống kê nhận diện từ ghép có âm tiết tiếng Việt 46 3.1.3 Giải pháp nhận diện từ ghép có âm tiết tiếng Việt dựa vào đỉnh nhọn 50 3.1.4 Kết thử nghiệm 51 3.2 NHẬN DIỆN TỪ LÁY TIẾNG VIỆT 54 3.2.1 Các đặc điểm cấu tạo từ láy tiếng Việt 55 3.2.2 Nhận diện xây dựng từ điển từ láy đôi tiếng Việt 56 3.2.3 Nhận diện từ láy ba, từ láy tư tiếng Việt 58 3.2.4 Kết thử nghiệm 60 3.3 NHẬN DIỆN TỪ GHÉP ĐẲNG LẬP TIẾNG VIỆT .61 3.3.1 Các đặc trưng cấu tạo từ ghép đẳng lập tiếng Việt .61 3.3.2 Nhận diện xây dựng từ điển từ ghép song tiết đẳng lập tiếng Việt 63 3.3.3 Nhận diện tổ hợp từ, thành ngữ có hay âm tiết 69 3.3.4 Kết thử nghiệm 71 Chương KHỬ NHẬP NHẰNG RANH GIỚI TỪ TIẾNG VIỆT 73 4.1 NHẬP NHẰNG RANH GIỚI TỪ TIẾNG VIỆT 73 4.1.1 Khái niệm phân loại nhập nhằng ranh giới từ tiếng Việt .73 4.1.2 Thống kê giải pháp khử nhập nhằng ranh giới từ .74 4.1.3 Tạo ngữ liệu nhập nhằng cho huấn luyện thử nghiệm 76 4.2 KHỬ NHẬP NHẰNG RANH GIỚI TỪ BẰNG TỪ ĐIỂN 77 4.2.1 Phương pháp khử nhập nhằng CA từ điển (VWS5.1) 77 4.2.2 Kết thử nghiệm 79 4.3 KHỬ NHẬP NHẰNG BẰNG ĐỘ PHỨC TẠP VĂN BẢN 80 4.3.1 Độ phức tạp văn theo xác suất bigram mức từ 80 4.3.2 Độ phức tạp văn mô hình Markov ẩn gán nhãn từ loại 81 4.3.3 Độ phức tạp văn bigram mức từ gán nhãn từ loại 82 4.3.4 Kết thử nghiệm 84 4.4 KHỬ NHẬP NHẰNG BẰNG MÔ HÌNH ĐIỂM SỐ .87 4.4.1 Mô hình điểm số khử nhập nhằng chồng lấp OA theo ngữ cảnh 88 4.4.2 Mô hình điểm số khử nhập nhằng ghép tách CA theo ngữ cảnh 90 4.4.3 Kết thử nghiệm 92 Chương THỬ NGHIỆM VÀ ĐÁNH GIÁ 95 5.1 THỬ NGHIỆM TÁCH TỪ TIẾNG VIỆT .95 5.1.1 Mô tả bước thuật toán tách từ tiếng Việt 96 5.1.2 Các nhóm giải pháp dùng cho thử nghiệm tách từ tiếng Việt 97 5.1.3 Thử nghiệm tách từ đánh giá 97 - vi - 5.2 SO SÁNH VỚI MỘT SỐ CÔNG CỤ TÁCH TỪ TIẾNG VIỆT 102 5.2.1 Giới thiệu số công cụ tách từ 102 5.2.2 Kết thử nghiệm tách từ, đánh giá so sánh 104 5.3 KIỂM LỖI CHÍNH TẢ VĂN BẢN TIẾNG VIỆT 107 5.3.1 Giới thiệu toán kiểm lỗi tả tiếng Việt 107 5.3.2 Kiểm lỗi cách dùng từ cụm từ mô hình ngram mức âm tiết 109 5.3.3 Kiểm lỗi tả mô hình tách từ gán nhãn từ loại 113 KẾT LUẬN 117 DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ .119 TÀI LIỆU THAM KHẢO 120 PHỤ LỤC .129 A CÁC THUẬT TOÁN HỖ TRỢ .129 A1 Thuật toán tìm số từ chung dài hai dãy từ 129 A2 Thuật toán chuyển mã unicode 129 A3 Thuật toán sửa lỗi tả dấu tiếng Việt tự động 131 A4 Thuật toán xây dựng từ điển automat tối thiểu 132 B MINH HOẠ KẾT QUẢ THỐNG KÊ TỪ CÁC TÀI NGUYÊN 139 B1 Minh hoạ số lỗi kho ngữ liệu VietTreeBank 139 B2 Thống kê sửa lỗi tả kho ngữ liệu mẫu tiếng Việt .141 B3 Thống kê kí tự đặc biệt kho ngữ liệu 141 B4 Thống kê phân loại thực thể độ dài thực thể kho ngữ liệu 142 B5 Danh sách từ tố tên riêng, tên riêng đặc biệt tên họ người Việt 143 C PHÉP ĐO ĐỘ TƯƠNG TỰ NGỮ NGHĨA DÙNG TỪ ĐIỂN VCL 147 C1 Độ tương tự dựa vào so khớp chuỗi xấp xỉ theo khoảng cách 148 C2 Độ tương tự dựa vào phép đo đồng xuất 148 C3 Độ tương tự theo vector (Vector Space Model) 149 D MỘT SỐ THUẬT TOÁN SO KHỚP CỰC ĐẠI 150 D1 So khớp cực đại MM (Maximum Matching) .150 D2 So khớp cực đại có cửa sổ 152 E THUẬT TOÁN NHẬN DIỆN VÀ KHỬ NHẬP NHẰNG TÊN RIÊNG .153 E1 Thuật toán nhận diện tên riêng, nhận diện số phân số chữ 153 E2 Các thuật toán khử nhập nhằng tên riêng 155 F THUẬT TOÁN TÌM THAM SỐ HỌC TỐI ƯU 158 F1 Thuật toán di truyền GA cực đại hoá kỳ vọng EM 158 F2 Thuật toán EM đoạn .161 - vii - DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT Kí hiệu ACO AM/AMM BM/BMM CA CC/TGĐL CRF DFA EM ER FM/FMM FSM GA HMM LCS MEM MI MinDFA MM NE NER NLP NW OA Pb Pk PN POS PP PSO Pu RW SC/TGCP Mô tả Tối ưu đàn kiến (Ant Colony Optimization) So khớp cực đại cải tiến (Advanced Maximum Matching) So khớp cực đại lùi (Backward Maximum Matching) Nhập nhằng ghép-tách (Combinated Ambiguity) Từ ghép đẳng lập (Coordinated Compound) Trường ngẫu nhiên có điều kiện (Conditional Random Field) Automat [hữu hạn tiền định] (Determine Finite Automata) Thuật toán cực đại hoá kỳ vọng (Expectation Maximization) Nhận diện thực thể văn (Entity Recognition) So khớp cực đại tiến (Forward Maximum Matching) Máy trạng thái hữu hạn (Finite State Machine) Giải thuật di truyền (Genetic Algorithms) Mô hình Markov ẩn (Hidden Markov Model) Dãy chung dài (Longest Common Substring) Mô hình Entropy cực đại (Maximum Entropy Model) Độ thông tin tương hỗ (Mutual Information) Automat tối thiểu (Minimal Determine Finite Automata) So khớp cực đại (Maximum Matching) Thực thể có tên (Named Entity) Nhận diện thực thể có tên (Named Entity Recognition) Xử lý ngôn ngữ tự nhiên (Natural Language Processing) Từ (New Word) Nhập nhằng chồng lấp (Overlaping Ambiguity) Xác suất bigram (bigram Probability) Xác suất bigram có điều kiện (conditional bigram Probability) Tên riêng (Private/Proper Name)/Nhận diện tên riêng Từ loại (Part-Of-Speech) Độ phức tạp văn (Perplexity) Tối ưu bầy đàn (Particle Swarm Optimization) Xác suất unigram (unigram Probability) Từ láy (Reduplicative Word) Từ ghép phụ (Subordinated Compound) - viii - Sim SP731 SP732 SP733 SP73POS VCL VFD VLP VSD VWS Độ tương tự (Similarity) Kho ngữ liệu tách từ, gồm 1.542.673 từ, 68.000 câu (10 MB) Kho ngữ liệu tách từ, gán nhãn từ loại, 221.221 từ, 10.000 câu Kho ngữ liệu tách từ, gán nhãn từ loại cú pháp, 10.000 câu Kho ngữ liệu tách từ, gán nhãn từ loại, 20.000 câu Từ điển từ vựng tiếng Việt (Vietrnamese Computation Lexicon) Từ điển tên họ người Việt (Vietnamese Family Dictionary) Xử lý ngôn ngữ tiếng Việt (Vietnamese Language Processing) Từ điển âm tiết tiếng Việt (Vietnamese Syllable Dictionary) Tách từ tiếng Việt (Vietnamese Word Segmenation) Các kí hiệu cho phép đo đánh giá độ xác tách từ dùng luận án: Kí hiệu Nm Nt Nđ R P F1 Mô tả Số lượng đơn vị từ kho mẫu Số lượng đơn vị từ tách Số lượng đơn vị từ tách (dùng LCS để xác định, Phụ lục A1) Độ đo hồi tưởng (Recall) : R = Nđ/Nm Độ đo xác (Precision) : P = Nđ/Nt Độ đo F1-score : F1 = 2RP/(R+P) - ix - DANH MỤC CÁC BẢNG Bảng 1.1 Thống kê độ dài từ kho ngữ liệu mẫu (đã sửa lỗi) 17 Bảng 1.2 Tách từ theo dấu cách dấu câu kho ngữ liệu mẫu (đã sửa lỗi) 18 Bảng 1.3 Kết thử nghiệm [29], PN nhận diện tên riêng 19 Bảng 1.4 Thống kê phân loại đơn vị từ kho ngữ liệu mẫu 22 Bảng 1.5 Thống kê tỉ lệ từ theo độ dài tối đa kho ngữ liệu mẫu 23 Bảng 1.6 Thống kê độ phủ từ - từ điển kho ngữ liệu tiếng Việt 23 Bảng 2.1 Thử nghiệm tách từ với mô hình FMM, BMM AMM 32 Bảng 2.2 Mô tả trường hợp nhập nhằng tên riêng với tên riêng 41 Bảng 2.3 Kết nhận diện & khử nhập nhằng tên riêng kho SP731 44 Bảng 2.4 Kết tách từ có nhận diện thực thể với FMM, BMM AMM 44 Bảng 3.1 Nhận diện từ ghép có âm tiết dựa theo chọn đỉnh nhọn 52 Bảng 3.2 Nhận diện từ ghép có âm tiết theo đỉnh nhọn vượt ngưỡng 52 Bảng 3.3 Nhận diện từ ghép có âm tiết theo đỉnh nhọn unigram ngưỡng 53 Bảng 3.4 Nhận diện từ ghép có âm tiết với đỉnh nhọn vượt max unigram 53 Bảng 3.5 Nhận diện từ ghép với đỉnh nhọn vượt max unigram có tham số  53 Bảng 3.6 Minh hoạ nhận diện từ láy ba từ láy tư 60 Bảng 3.7 Thử nghiệm tách từ với mô-đun ER, AM, RW 61 Bảng 3.8 Mô tả thông tin từ điển VCL hai từ "cha" "mẹ" 65 Bảng 3.9 Một số thông tin từ điển VCL hai từ "dút dát" "an tâm" 65 Bảng 3.10 Minh hoạ phần cặp từ đồng nghĩa (4.958 cặp) 68 Bảng 3.11 Minh hoạ phần cặp từ đối nghĩa (762 cặp) 69 Bảng 3.12 Minh hoạ độ đo tương tự cặp từ (SimDice > 0,5: 14.452 cặp) 69 Bảng 3.13 Minh hoạ dùng MI (từ internet) để xác định TGĐL (4.718 cặp) 69 Bảng 3.14 Kết phát danh sách từ ghép song tiết đẳng lập 69 Bảng 3.15 Minh hoạ nhận diện tổ hợp từ có 3-4 âm tiết (TGĐL) 70 Bảng 3.16 Tách từ với mô-đun ER, AM CC 71 Bảng 4.1 Thống kê nhập nhằng OA CA kho ngữ liệu 74 Bảng 4.2 Tỉ lệ gây lỗi nhập nhằng kho ngữ liệu 74 Bảng 4.3 Minh hoạ nhập nhằng chồng lấp OA kho ngữ liệu 75 Bảng 4.4 Minh hoạ nhập nhằng ghép-tách CA kho ngữ liệu 75 Bảng 4.5 Phân chia ngữ liệu VietTreeBank cho huấn luyện thử nghiệm 77 Bảng 4.6 Minh hoạ nhập nhằng CA với quán từ đầu/cuối cụm từ 78 Bảng 4.7 Tỉ lệ khử nhập nhằng với từ điển quán từ BE 79 Bảng 4.8 Kết tách từ FM, BM, AM với mô-đun ER BE 79 -x- Bảng 4.9 Kí hiệu 22 từ loại kho ngữ liệu SP73POS 20.000 câu 84 Bảng 4.10 Kết khử nhập nhằng với mô hình M2x 86 Bảng 4.11 Kết tách từ ER, AM khử nhập nhằng với PB, PO 86 Bảng 4.12 Minh hoạ khử nhập nhằng OA/CA mô hình M22 M23 87 Bảng 4.13 Kết tỉ lệ khử nhập nhằng với mô hình điểm số M3x 92 Bảng 4.14 Kết tách từ khử nhập nhằng mô hình điểm số M3x 93 Bảng 4.15 Minh hoạ khử nhập nhằng OA M21 M3x 94 Bảng 5.1 Mô tả mô-đun (đặc trưng) tích hợp cho mô hình tách từ 95 Bảng 5.2 Kết tách từ với giải pháp cải tiến so khớp cực đại cho TEST.OCA 98 Bảng 5.3 Kết tách từ với giải pháp cải tiến so khớp cực đại cho TEST.ALL 99 Bảng 5.4 Kết tách từ với mô hình độ phức tạp văn cho TEST.OCA 100 Bảng 5.5 Kết tách từ với mô hình độ phức tạp văn cho TEST.ALL 100 Bảng 5.6 Kết tách từ với mô hình điểm số cho TEST.OCA 101 Bảng 5.7 Kết tách từ với mô hình điểm số cho TEST.ALL 101 Bảng 5.8 Kết so sánh thử nghiệm tách từ công cụ với TEST.OCA 105 Bảng 5.9 Kết so sánh thử nghiệm tách từ công cụ với TEST.ALL 105 Bảng 5.10 Kết so sánh nhận diện từ có âm tiết trở lên với TEST.ALL 105 Bảng 5.11 Kết so sánh nhận diện tên riêng công cụ với TEST.ALL 106 Bảng 5.12 Kết so sánh khử nhập nhằng OA-CA công cụ với TEST.OCA 106 Bảng 5.13 So sánh thời gian chạy trung bình (giây) công cụ với TEST.ALL 106 Bảng 5.14 Kiểm lỗi cụm từ theo mô hình độ phức tạp văn 112 Bảng 5.15 Kiểm lỗi trigram theo xác suất 112 Bảng 5.16 Kết đo LPP cho mô hình PB+PO với văn kiểm lỗi 114 Bảng 5.17 Kết xếp độ đo LPP giảm dần theo cụm từ/câu 115 - xi - DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 0.1 Tiếp cận phân tích hiểu văn theo mức Hình 1.1 Văn tin tức tiếng Việt tách từ (thực thể in đậm) Hình 1.2 Phân loại từ tiếng Việt theo cấu tạo Hình 1.3 Một số câu tiếng Việt tách từ bị lỗi 17 Hình 1.4 Mô hình ghép nối có thứ tự cho tách từ tiếng Việt 24 Hình 2.1 Cây định nhị phân để tách kí tự đặc biệt 27 Hình 2.2 Minh hoạ sơ đồ mạng từ sinh theo từ điển cho câu 29 Hình 2.3 Minh hoạ sơ đồ mạng từ sinh theo từ điển cho câu 29 Hình 2.4 Minh hoạ nhận diện ranh giới tên riêng cho tách từ tiếng Việt 33 Hình 2.5 Minh hoạ nhận diện thực thể có tên sau tách từ tiếng Việt 34 Hình 2.6 Mô tả khử nhập nhằng tên riêng với từ hậu tố 40 Hình 3.1 Đồ thị xác suất unigram âm tiết câu 47 Hình 3.2 Đồ thị xác suất bigram cặp âm tiết câu 48 Hình 3.3 Xác suất bigram có điều kiện cặp âm tiết câu 49 Hình 3.4 Lược đồ thông tin tương hỗ âm tiết cặp âm tiết 49 Hình 3.5 Độ tương hỗ thông tin cặp âm tiết câu 50 Hình 3.6 Phân loại từ láy tiếng Việt 55 Hình 3.7 Giao diện công cụ bổ sung cập nhật từ điển VCL 64 Hình 4.1 Tỉ lệ ngữ liệu VietTreeBank cho huấn luyện thử nghiệm 77 Hình 4.2 Mô hình Markov ẩn HMM (có dãy quan sát X độc lập) 81 Hình 4.3 Mô hình Markov ẩn với dãy quan sát X phụ thuộc 83 Hình 5.1 Mô tả văn thử nghiệm kiểm lỗi tả 112 - xii - DANH MỤC CÁC THUẬT TOÁN Thuật toán VWS Thuật toán tổng quát cho tách từ tiếng Việt 26 Thuật toán VWS1 Tách kí tự đặc biệt dựa vào định nhị phân 27 Thuật toán VWS3 Sinh ứng viên từ có cửa sổ âm tiết dựa vào từ điển 30 Thuật toán VWS6 Tìm dãy tách từ tối ưu 30 Thuật toán VWS2.21 Nhận diện tên riêng khử nhập nhằng từ tiền tố 39 Thuật toán VWS2.22 Khử nhập nhằng tên riêng với từ hậu tố sau tách từ 40 Thuật toán VWS2.23 Khử nhập nhằng tên riêng với tên riêng 42 Thuật toán 3.1 Tìm kiếm từ láy đôi 57 Thuật toán 3.2 Tính độ tương tự hai từ dựa vào từ điển VCL 66 Thuật toán 3.3 Nhận diện từ ghép song tiết đẳng lập 68 Thuật toán VWS5.1 Khử nhập nhằng từ điển quán từ BE 78 - 147 - C PHÉP ĐO ĐỘ TƯƠNG TỰ NGỮ NGHĨA DÙNG TỪ ĐIỂN VCL Độ tương tự ngữ nghĩa (semantic similarity) từ, câu, hay văn đóng vai trò ngày quan trọng nghiên cứu xử lý ngôn ngữ tự nhiên Đối với tiếng Anh, có nhiều nghiên cứu thực dựa kho ngữ liệu (Corpus), ngữ nghĩa (Semantic Tree) mạng từ (WordNet) Tuy nhiên tiếng Việt mẻ, đặc biệt ngữ nghĩa mạng từ tiếng Việt chưa xây dựng xong Do vậy, tiếp cận dựa định nghĩa từ từ điển VCL mẻ cần có nghiên cứu thử nghiệm Vấn đề làm để đo tương tự (sự giống nhau, hay tương đồng) hai từ, hai câu, hai văn Độ tương tự đại lượng phản ánh cường độ mối quan hệ hai đối tượng hai đặc trưng (ở hai từ, hai câu hai văn bản) giá trị đoạn [-1,1] [0,1] Ta coi độ tương tự hàm tính điểm (score function) Hiện có hai phương pháp điển hình để đo độ tương tự hai từ, hai câu hai văn phương pháp thống kê phương pháp xử lý ngôn ngữ tự nhiên Với phương pháp thống kê, có số phương pháp sử dụng độ đo dựa vào tần suất xuất từ câu, bật phương pháp sử dụng độ tương tự Cosin Phương pháp xử lý nhanh, tốn chi phí nhiên chưa đảm bảo độ xác cao mặt ngữ nghĩa Còn phương pháp sử dụng xử lý ngôn ngữ tự nhiên, số cách tiếp cận đặc trưng đưa sử dụng phân tích cấu trúc ngữ pháp, sử dụng mạng ngữ nghĩa từ, sử dụng Wordnet Phương pháp xử lý ngôn ngữ tự nhiên xử lý chậm hơn, tốn nhiều chi phí nhiên xét mặt ngữ nghĩa cho kết cao so với phương pháp thống kê Hiện nay, từ điển VCL (Vietnamese Computational Lexicon) [10] (dùng cho xử lý ngôn ngữ tiếng Việt máy tính) có 41.734 mục nghĩa với 31.158 từ khác nhau, gồm nhiều thông tin cú pháp ngữ nghĩa như: từ loại, tiểu từ loại, lớp ngữ nghĩa, đồng nghĩa, trái nghĩa, định nghĩa từ, Đây sở để tác giả luận án đưa phương pháp đo độ tương tự ngữ nghĩa hai từ dựa định nghĩa Và tiếp cận việc đo độ tương tự ngữ nghĩa hai từ tiếng Việt mà không dùng thống kê, không dùng mạng từ WordNet, không dùng ngữ nghĩa nghiên cứu khác tiếp cận Về mặt chất, đo độ tương tự ngữ nghĩa hai từ thông qua hai định nghĩa từ điển, đo độ tương tự hai văn Trong nghiên cứu trình bày tóm tắt số cách đo độ tương tự ngữ nghĩa hai văn - 148 - C1 Độ tương tự dựa vào so khớp chuỗi xấp xỉ theo khoảng cách Dùng số thuật toán so khớp chuỗi xấp xỉ Cho văn X, Y dãy từ tiếng Việt: X = {x1, x2, x3, , xn} Y = {y1, y2, y3, , ym}, với | X | = n; | Y | = m; Ta áp dụng số công thức tính khoảng cách văn X, Y sở âm tiết để tính độ tương tự chúng a Độ tương tự dựa vào khoảng cách hiệu chỉnh ED (Edit Distance) max(| X |, | Y |)  ED ( X , Y ) Sim ED ( X , Y )  (C.1) max(| X |, | Y |) Ví dụ: x = "con chó cắn mèo" => X = (con, chó, cắn, con, mèo) y = "con mèo cắn chuột" => Y = (con, mèo, cắn, con, chuột) Áp dụng công thức (C.1) để tính, ta có: ED(X,Y) = 2, vậy: SimED ( X , Y )  52  0.6 b Độ tương tự dựa vào LCS (Longest Common Subsequence) | LCS ( X , Y ) | Sim LCS ( X , Y )  | X |  |Y | (C.2) Với X = (con, chó, cắn, con, mèo) Y = (con, mèo, cắn, con, chuột) Ta có: LCS(X,Y) = (con, cắn, con), nên | LCS(X,Y) | = 3, vậy: 23 SimLCS ( X , Y )   0.6 55 Tương tự áp dụng với độ đo khoảng cách lại như: HD (Hamming Distance), DLD (Damerau–Levenshtein Distance) Ngoài ra, dùng độ đo khoảng cách JW (Jaro–Winkler distance), khoảng cách Trigram (Trigram Distance), hay Ratcliff/Obershelp để tính độ tương tự hai văn C2 Độ tương tự dựa vào phép đo đồng xuất Biểu diễn văn X, Y theo hai dãy từ: X = {x1, x2, x3, , xn} Y = {y1, y2, y3, , ym} Ta có: | X | = n; | Y | = m; | X  Y | = số từ đồng xuất X Y |XY|=|X|+|Y||XY| a Độ tương tự Dice hai văn X Y Sim Dice ( X , Y )  | X Y | | X |  |Y | (C.3) - 149 - b Độ tương tự Jaccard hai văn X Y Sim Jaccard ( X , Y )  | X Y | | X Y | (C.4) Ví dụ: x = "con chó cắn mèo" y = "con mèo cắn chuột" Ta có: | X | = 5; | Y | = 5; | X  Y | = 4; | X  Y | = Do vậy: S Dice ( X , Y )   S Jaccard ( X , Y )  | X Y |    0.8 | X |  |Y | 10 | X Y |   0.67 | X Y | C3 Độ tương tự theo vector (Vector Space Model) Văn biểu diễn chuẩn hoá độ dài theo dạng vector sau:   x = {x1, x2, x3, , xm} y = {y1, y2, y3, , ym} a Độ tương tự Cosin (theo vector tần suất xuất hiện) m  x y   x y  k 1 k k SimCos ( X , Y )  cos( x , y )     m m | x |.| y | k 1 xk2 k 1 y k2 Ví dụ: x = "con chó cắn mèo" y = "con mèo cắn chuột" => Cx = (con, chó, cắn, mèo) => Cy = (con, mèo, cắn, chuột) Gọi Cxy = Cx  Cy = (con, chó, cắn, mèo, chuột) dãy từ chung Sau xếp lại, ta có: Cxy = (cắn, chó, chuột, con, mèo) Theo tần suất xuất hiện, thì:  x = (1, 1, 0, 2, 1) X = (cắn:1, chó:1, chuột:0, con:2, mèo:1)  y = (1, 0, 1, 2, 1) Y = (cắn:1, chó:0, chuột:1, con:2, mèo:1) SimCos ( X , Y )  (C.5) 1   1 (1     1) (1     1)   0.86 Hình C3.1 Minh hoạ vector giá trị Cosin (Rich) - 150 - b Độ tương tự theo vector thứ tự từ (Word-Order) Dùng cho câu có từ giống nhau, khác thứ tự xếp   || rX  rY || SimOrder ( X , Y )    (C.6)  || rX  rY ||  Ví dụ: x = "con chó cắn mèo" => rX  (1, 2, 3, 4, 5) y = "con mèo cắn chó"   r X  rY  (0,  3, 0, 0, 3) Từ ta có:   rX  rY  (2, 7, 6, 8, 7) SimOrder ( X , Y )   =>  (3)    2    82   rY  (1, 5, 3, 4, 2)  1 18    0.7 10 202 D MỘT SỐ THUẬT TOÁN SO KHỚP CỰC ĐẠI D1 So khớp cực đại MM (Maximum Matching) D1.1 So khớp cực đại tiến FMM Thực so khớp cực đại với hướng tiến từ trái sang phải theo thứ tự âm tiết dãy vào Có hai tiếp cận, quét toàn dãy vào so sánh với từ điển, hai chọn cửa sổ âm tiết để so sánh với từ điển Tiếp cận thứ hai, giới hạn kích thước cửa sổ âm tiết, làm cho thuật toán nhanh hơn, nhiên bỏ sót số từ có kích thước dài cửa sổ âm tiết Thuật toán D1.1 So khớp cực đại tiến với toàn dãy vào FMM + Đầu vào n âm tiết: S = a1 a2 a3 an-1 an + Đầu m từ: S = w1 w2 w3 wm (từ ghép nối "_") 01 Function FMM(string S, State MinDFA) { 02 a  SplitToArray(S," "); /* tách âm tiết */ 03 n  count(a); i  1; 04 Repeat 05 w  a[i]; 06 q[i]  w; 07 k  i; 08 for j  k + to n { 09 w  w + " " + a[j]; 10 if (InDict(w.ToLower, MinDFA)) { /* dùng MinDFA */ 11 q(i)  w.replace(" ","_"); /* từ dài */ 12 i  j; 13 } 14 } - 151 15 16 17 18 19 20 21 22 23 24 25 } i  i + 1; Until i > n; i  1; outS  ""; Repeat va SplitToArray(q[i],"_");/*độ phức tạp = count(va)*/ outS  outS + " " + q[i]; i  i + count(va); Until (i > n); return outS.Trim; Dãy vào gồm có n âm tiết Dòng 02, hàm SplitToArray(S," ") tách dãy vào S thành âm tiết, cần thời gian O(n) Từ dòng 04 đến 16, gồm hai vòng lặp lồng duyệt n âm tiết, cần thời gian tối đa O(n2) Từ dòng 19 đến dòng 23 xuất kết tách từ, cần thời gian tối đa O(n) Như vậy, độ phức tạp chung thuật toán D1.1 O(n2) Nếu sử dụng tìm kiếm nhị phân từ điển có N từ (tại dòng 10) tốn thêm hệ số thời gian O(log2N), đó, độ phức tạp thuật toán O(n2log2N) D1.2 So khớp cực đại lùi BMM Ngược lại với FMM, phương pháp BMM thực so khớp cực đại theo hướng lùi từ phải qua trái theo thứ tự âm tiết dãy vào Tương tự FMM, BMM có hai tiếp cận quét toàn hay dựa vào cửa sổ âm tiết để so sánh với từ điển, có ưu nhược điểm tương tự với FMM Thuật toán D1.2 So khớp cực đại lùi với toàn dãy vào BMM + Đầu vào n âm tiết: S = a1 a2 a3 an-1 an + Đầu m từ: S = w1 w2 w3 wm (từ ghép nối "_") 01 Function BMM(string S, State MinDFA) { 02 a  SplitToArray(S," "); /* tách âm tiết */ 03 n  count(a); i  n; /* từ phải qua trái: n => */ 04 Repeat 05 w  a[i]; 06 q[i]  w; k  i; 07 for j  k - downto { 08 w  a[j] + " " + w; 09 if (InDict(w.ToLower, MinDFA)) /* dùng MinDFA */ 10 q(i)  w.replace(" ","_"); /* từ dài */ 11 i  j; 12 } 13 i  i - 1; 14 Until i < 1; 15 i  n; - 152 16 17 18 19 20 21 22 23 } outS  ""; Repeat va SplitToArray(q[i],"_");/*độ phức tạp = count(va)*/ outS  q[i] + " " + outS; i  i - count(va); Until (i < 1); return outS.Trim; Tương tự thuật toán D1.1, thuật toán D1.2 có độ phức tạp O(n2), với n số lượng âm tiết dãy vào D2 So khớp cực đại có cửa sổ D2.1 So khớp cực đại tiến có cửa sổ WFMM Thuật toán D2.1 So khớp cực đại tiến với cửa sổ âm tiết WFMM + Đầu vào n âm tiết: S = a1 a2 a3 an-1 an + Đầu m từ: S = w1 w2 w3 wm (từ ghép nối "_") 01 Function WFMM(string S, State MinDFA) { 02 a  SplitToArray(S," "); /* tách âm tiết */ 03 n  count(a); i  1; /* từ trái qua phải: => n */ 04 Repeat 05 w  a[i]; q[i]  w; 06 k  i; winsize  if((k+3 n; 15 i  1; 16 outS  ""; 17 Repeat 18 va SplitToArray(q[i],"_");/*độ phức tạp = count(va)*/ 19 outS  outS + " " + q[i]; 20 i  i + count(va); 21 Until (i > n); 22 return outS; 23 } Độ phức tạp thuật toán D2.1 O(n), n số âm tiết dãy vào D2.2 So khớp cực đại lùi có cửa sổ WBMM Thuật toán D2.2 So khớp cực đại lùi với cửa sổ âm tiết WBMM + Đầu vào n âm tiết: S = a1 a2 a3 an-1 an + Đầu m từ: S = w1 w2 w3 wm (từ ghép nối "_") - 153 01 Function WBMM(string S, State MinDFA) { 02 a  SplitToArray(S," "); /* tách âm tiết */ 03 n  count(a); i  n; /* từ phải qua trái: n => */ 04 Repeat 05 w  a[i]; q[i]  w; 06 k  i; winsize  if((k-3>1),k-3,1);/*cửa số âm tiết*/ 07 for j  k - downto winsize { 08 w  a[j] + " " + w; 09 if (InDict(w.ToLower, MinDFA)) /* dùng MinDFA */ 10 q(i)  w.replace(" ","_"); /* từ dài */ 11 i  j; 12 } 13 i  i - 1; 14 Until i < 1; 15 i  n; 16 outS  ""; 17 Repeat 18 va SplitToArray(q[i],"_");/*độ phức tạp = count(va)*/ 19 outS  q[i] + " " + outS; 20 i  i - count(va); 21 Until (i < 1); 22 return outS; 23 } Tương tự thuật toán D2.1, việc chọn cửa sổ âm tiết cố định làm cho thuật toán D2.2 có độ phức tạp O(n), với n số lượng âm tiết dãy vào E THUẬT TOÁN NHẬN DIỆN VÀ KHỬ NHẬP NHẰNG TÊN RIÊNG E1 Thuật toán nhận diện tên riêng, nhận diện số phân số chữ E1.1 Thuật toán nhận diện thực thể tên riêng + Đầu vào dãy âm tiết: S = w[1] w[2] w[3] w[i] w[n] + Đầu outS có tên riêng nối dấu "_" + Ý tưởng: dãy từ âm tiết trở lên Proper tên riêng 01 TenRieng  ""; 02 for i  to n { 03 if isProper(w[i]) { 04 if (TenRieng == "") { 05 TenRieng  w[i]; 06 id  i; 07 }else 08 TenRieng  TenRieng + "_" + w[i]; 09 }else { 10 if (TenRieng != "") { - 154 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 w[id]  TenRieng; for j  id + to i – w[j]  ""; TenRieng  ""; } } } if (TenRieng != "") { w[id]  TenRieng; for j  id + to i – w[j]  ""; } outS  w[1]; for i  to n { if (w[i] != "") outS  outS + " " + w[i]; } Độ phức tạp thuật toán O(n), với n số âm tiết dãy vào E1.2 Thuật toán nhận diện dãy số phân số chữ + Đầu vào dãy âm tiết: S = w[1] w[2] w[3] w[i] w[n] + Đầu outS có dãy số, phân số chữ nối dấu "_" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 for i  to n - { if (i ≤ n - 2) && isNumStr(w[i],w[i+1],w[i+2]) { w[i]  w[i] + "_" + w[i+1] + "_" + w[i+2]; w[i+1]  ""; w[i+2]  ""; i  i + 2; } elseif isNumStr(w[i],w[i+1]) { w[i]  w[i] + "_" + w[i+1] + "_" + w[i+2]; w[i+1]  ""; i  i + 1; } } for i  to n – { if isFracStr(w[i],w[i+1],w[i+2]) { w[i]  w[i] + "_" + w[i+1] + "_" + w[i+2]; w[i+1]  ""; w[i+2]  ""; i  i + 2; } } outS  w[1]; - 155 23 for i  to n { 24 if (w[i] != "") 25 outS  outS + " " + w[i]; 26 } Độ phức tạp thuật toán O(n), với n số âm tiết dãy vào E2 Các thuật toán khử nhập nhằng tên riêng E2.1 Thuật toán nhận diện tên riêng, khử nhập nhằng từ tiền tố + Đầu vào dãy âm tiết: S = a[1] a[2] a[3] a[i] a[n] + Đầu outS có tên riêng nối dấu "_" 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 TenRieng  ""; for i  to n { if isProper(a[i]) { if (TenRieng == "") { TenRieng  a[i]; id  i; }else TenRieng  TenRieng + "_" + a[i]; }else { if (TenRieng != "") { a[id]  TenRieng; if (a[id]  ListSpecialPN) { v  SplitToArray(a[id],"_"); if count(v) ≥ 2) && (v[1]  ListPrePN) { a[id]  v[1] + " " + v[2]; /* tách */ for j  to count(v) { a[id]  a[id] + "_" + v[j]; } } } for j  id + to i – { a[j]  ""; } TenRieng  ""; } } } if (TenRieng != "") { a[id]  TenRieng; if (a[id]  ListSpecialPN) { v  SplitToArray(a[id],"_"); if count(v) ≥ 2) && (v[1]  ListPrePN) { a[id]  v[1] + " " + v[2]; /* tách */ for j  to count(v) { - 156 35 36 37 38 39 40 41 42 43 44 45 46 47 a[id]  a[id] + "_" + v[j]; } } } for j  id + to i – { a[j]  ""; } } outS  a[1]; for i  to n { if (a[i] != "") outS  outS + " " + a[i]; } Độ phức tạp thuật toán O(n), n số âm tiết dãy vào E2.2 Khử nhập nhằng tên riêng với từ hậu tố sau tách từ + Đầu vào, S ban đầu gồm n âm tiết: a[1], a[2], a[3], a[n] S qua tách từ (m đơn vị): w[1], w[2], w[3], , w[m] + Đầu ra: outS, sửa lỗi w[i], w[i+1] bị nhập nhằng tên riêng với từ hậu tố 01 for i = to m – { 02 ww  (w[i] & "_" & w[i+1]).replace("_"," "); 03 if WordToIndex(lower(ww),MinDFA) ≥ { 04 w[i]  ww; w[i+1]  ""; 05 i  i + 1; 06 }else { 07 pw  SplitToArray(w[i],"_"); 08 ww  w[i+1].replace("_"," "); 09 jpos  0; 10 for j  to count(pw) { 11 ww  pw[count(pw)-j+1] + " " + ww; 12 if (WordToIndex(lower(ww),MinDFA) ≥ 0) { 13 jpos  j; 14 wpos  ww; 15 } 16 } 17 if (jpos > 0) { 18 w[i+1]  wpos.replace(" ","_"); 19 w[i]  pw[1]; 20 for j  to count(pw) – jpos { 21 w[i]  w[i] + "_" + pw[j]; 22 } 23 } 24 } 25 } - 157 26 outS  w[1]; 27 for i  to n { 28 if (w[i] != "") 29 outS  outS + " " + w[i]; 30 } Trong đó: + WordToIndex(w, MinDFA) = -1: từ w từ điển + WordToIndex(w, MinDFA) ≥ 0: mã từ w từ điển + SplitToArray(w,"_"): tách dãy w dấu "_" mảng đơn vị Độ phức tạp SplitToArray O(1), WordToIndex O(1) (xem thuật toán A4.4, Phụ lục A4) Vòng lặp (dòng 01) duyệt số từ câu (m), đó, có hai vòng lặp (dòng 10 20) không lồng nhau, vòng duyệt số âm tiết từ (w[i]) Do vậy, thuật toán duyệt toàn số âm tiết câu, nên độ phức tạp thuật toán O(n), với n số âm tiết dãy vào E2.3 Khử nhập nhằng tên riêng với từ hậu tố trước tách từ + Đầu vào, S ban đầu gồm n âm tiết: a[1], a[2], a[3], a[n] S qua thuật toán 3.3 (m đơn vị): w[1], w[2], w[3], , w[m] + Đầu ra: outS, sửa lỗi w[i], w[i+1] bị nhập nhằng tên riêng với từ hậu tố 01 for i = to m – { 02 if ("_"  w[i]) { /* tên riêng */ 03 swi  0; 04 if ("_"  w[i+1]) { 05 sw[1]  w[i+1]; swi  swi + 1; 06 if ("_"  w[i+2]) { 07 sw[2]  w[i+2]; swi  swi + 1; 08 if ("_"  w[i+3]) { 09 sw[3]  w[i+3]; swi  swi + 1; 10 } 11 } 12 } 13 if (swi > 0) { 14 pw  SplitToArray(w[i],"_"); 15 jpos  0; kpos  0; 16 w1  pw[count(pw)]; j  1; 17 Repeat 18 w2  sw[1]; k  1; 19 ww  w1 + " " + w2; 20 Repeat 21 if (WordToIndex(lower(ww),MinDFA) ≥ 0) { 22 kpos  k; jpos  j; 23 wpos  ww; prew  w1; 24 } 25 k  k + 1; 26 if (k swi) or (count(ww) > 4); j  j + 1; if (j count(pw)) or (count(w1) > 3); if (wpos != "") { w[i+1]  wpos.Replace(" ", "_"); for k  to kpos { w[i+k]  ""; } if (count(prew) == count(pw)) { w[i]  ""; }else { w[i]  pw[1]; for j  to count(pw) – jpos { w[i]  w[i] + "_" + pw[j]; } } i  i + kpos; } } } } outS  w[1]; for i  to n { if (w[i] != "") outS  outS + " " + w[i]; } Ta biết độ phức tạp hàm SplitToArray O(1), độ phức tạp hàm WordToIndex O(1) (xem thuật toán A4.4, Phụ lục A4) Vòng lặp (dòng 01) duyệt số đơn vị âm tiết/tên riêng câu (m), đó, hai vòng lặp lồng (dòng 17 20) sử dụng tối đa 3x4=12 lần duyệt âm tiết có tên riêng dãy hậu tố, hai vòng lặp (dòng 37 44) duyệt lại từ w[i] theo âm tiết Vì vậy, thuật toán có độ phức tạp O(n), với n số âm tiết dãy vào F THUẬT TOÁN TÌM THAM SỐ HỌC TỐI ƯU F1 Thuật toán di truyền GA cực đại hoá kỳ vọng EM F1.1 Thuật toán cực đại kỳ vọng EM (Expectation Maximization): EM thuật toán lặp tổng quát cho việc ước lượng tham số hợp lý cực đại MLE (Maximum-Likelihood Estimation) số biến ngẫu nhiên có liên quan - 159 - không quan sát không đầy đủ Sự hội tụ thuật toán phụ thuộc vào giá trị ban đầu (xem Hình F1.1) Hình F1.1 Sự hội tụ thuật toán EM đến giá trị cực đại cục (EM), vector tham số khởi tạo giá trị ngẫu nhiên ban đầu (0) - Ưu điểm: thuật toán thực leo đồi hội tụ nhanh - Nhược điểm: điểm tối ưu thường cực trị cục (Hình F1.1) F1.2 Thuật toán di truyền GA (Genetic Algorithm): Một thuật toán tìm kiếm heuristic thích nghi với tên gọi thuật toán di truyền GA, đưa dựa ý tưởng tiến hóa chọn lọc tự nhiên di truyền dựa nhiễm sắc thể (chromosomes) Về bản, số tập tham số ngẫu nhiên áp dụng cho thuật toán giá trị tối ưu tính toán cho thuật toán Các tập tốt pha trộn với nhau, sử dụng kết hợp với phép chọn lọc (selection), lai ghép (crossover) đột biến (mutate) Và tập áp dụng với thuật toán thu giá trị tham số tối ưu cha mẹ 0,45 0,19 0,78 0,32 0,21 0,89 0,17 0,6 0,41 0,33 0,45 0,19 0,78 0,41 0,33 Hình F1.2 Lai ghép nhiễm sắc thể hai cá thể cha mẹ để tạo - Ưu điểm: thuật toán tìm giá trị lân cận tối ưu toàn cục - Nhược điểm: tốc độ hội tụ chậm thực phép chọn, lai ghép đột biến - 160 - Hình F1.3 Sơ đồ giải thuật di truyền GA F1.3 Thuật toán kết hợp GA-EM Giải thuật di truyền dựa học thuyết chọn lọc tự nhiên (học thuyết tiến hoá) cho phép đạt điểm lân cận cực trị toàn cục Tuy nhiên, điểm xuất phát trình tìm kiếm nằm vùng cực trị toàn cục thuật toán EM lại cho phép đạt kết tốt Vì vậy, số toán, kết hợp thuật toán EM với giải thuật di truyền GA [146] để đạt kết mong muốn Thuật toán kết hợp GA-EM sau: Bước Khởi tạo tập ngẫu nhiên 0; Bước Thực EM với 0 hội tụ đến EM; Bước Thực GA để tìm GA cho: L(GA) ≥ L(EM); Bước Thực EM với GA hội tụ đến GAEM ; Bước Nếu | EM – GAEM | >  Đặt EM = GAEM.; Quay lại Bước ; Bước Xuất GAEM Hình F1.4 Minh hoạ bước lặp thực thuật toán kết hợp GA-EM - 161 - F2 Thuật toán EM đoạn Tham số  có miền xác định [L R], giả sử đồ thị hàm mục tiêu F theo tham số  có dạng mô tả hình F2.1 Ý tưởng thực hiện: chia [L R] thành n đoạn Với đoạn con, thực chọn ngẫu nhiên giá trị tham số khởi tạo sử dụng thuật toán EM để tìm điểm tối ưu Như vậy, toàn n đoạn con, tìm tham số tối ưu toàn cục dễ dàng so với thuật toán kết hợp GA-EM Hình F2.1 Minh hoạ phương pháp trung điểm tìm điểm tối ưu toàn cục Khi dùng phương pháp để xác định tham số  mà cụ thể P0, Png hay , hàm mục tiêu L() gồm phần: o Phần 1: thực tách từ độ đo thống kê có tham số ; o Phần 2: thực đánh giá độ xác F1score: L() = F1score;

Ngày đăng: 24/10/2016, 09:19

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

  • DANH MỤC CÁC BẢNG

  • DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ

  • DANH MỤC CÁC THUẬT TOÁN

  • MỞ ĐẦU

  • Chương 1TỔNG QUAN VỀ BÀI TOÁN TÁCH TỪ TIẾNG VIỆT

    • 1.1. BÀI TOÁN TÁCH TỪ TIẾNG VIỆT

      • 1.1.1. Phát biểu bài toán tách từ tiếng Việt

      • 1.1.2. Đặc trưng của đơn vị từ vựng tiếng Việt

        • 1.1.2.1. Từ tiếng Việt

        • 1.1.2.2. Ngữ cố định

        • 1.1.3. Những vấn đề khó trong tách từ tiếng Việt

          • 1.1.3.1. Vấn đề nhận diện và khử nhập nhằng tên riêng tiếng Việt

          • 1.1.3.2. Vấn đề nhận diện từ mới

          • 1.1.3.3. Vấn đề nhập nhằng ranh giới từ

          • 1.1.4. Phương pháp đánh giá kết quả tách từ tiếng Việt

          • 1.2. NHỮNG TIẾP CẬN TRÊN THẾ GIỚI VÀ TRONG NƯỚC

            • 1.2.1. Những tiếp cận trên thế giới

              • 1.2.1.1. Các phương pháp dựa trên từ điển

              • 1.2.1.2. Các phương pháp dựa trên thống kê

              • 1.2.1.3. Các phương pháp lai kết hợp

              • 1.2.1.4. Một số phương pháp phỏng sinh học

              • 1.2.2. Những tiếp cận trong nước

              • 1.2.3. Những kết quả đạt được trong tách từ tiếng Việt

                • 1.2.3.1. Các sản phẩm: tài nguyên và công cụ

                • 1.2.3.2. Các tài liệu hướng dẫn liên quan đến tách từ tiếng Việt

                • 1.2.4. Những tồn tại trong nghiên cứu tách từ tiếng Việt

                  • 1.2.4.1. Những điểm tồn tại trong một số phương pháp tách từ tiếng Việt

Tài liệu cùng người dùng

Tài liệu liên quan