Kỷ yếu Hội nghị Quốc gia lần thứ X Nghiên cứu ứng dụng Công nghệ thông tin (FAIR), Đà Nẵng, ngày 17-18/08/2017 DOI: 10.15625/vap.2017.000111 ỨNG DỤNG ĐỒ THỊ CĨ HƯỚNG KHƠNG TRỌNG SỐ NHẬN DIỆN TỪ TRONG VĂN BẢN TIẾNG KHMER Trần Văn Nam1,2, Sơn Phú Quý2, Nguyễn Thị Huệ1, Phan Huy Khánh2 Trường Đại học Trà Vinh, Việt Nam Trường Đại học Bách khoa, Đại học Đà Nẵng, Việt Nam namtv@tvu.edu.vn, sonqphu@gmail.com, huetvu@tvu.edu.vn, phkhanh@dut.udn.vn TĨM TẮT: Chúng tơi tiếp tục thực tốn tách từ cịn tồn động báo trước [5] Bài báo đề xuất giải pháp tách từ dựa so khớp âm tiết, sử dụng kho ngữ liệu cấu trúc âm tiết tiếng Khmer xây dựng, sử dụng kết so khớp thực xây dựng đồ thị có hướng khơng có trọng số đón nhận từ vựng Từ có tất cách phân tách câu Hướng tiếp cận hoàn toàn khả thi có kết thử nghiệm đạt độ xác cao, nhận diện từ mức âm tiết, nhận diện câu có nhập nhằng, góp phần giải toán tách từ ứng dụng hiệu xử lý tiếng Khmer Từ khóa: đồ thị, tách từ, kho ngữ liệu cấu trúc âm tiết, nhập nhằng, tiếng Khmer I GIỚI THIỆU Bài tốn tách từ cho ngơn ngữ đơn lập đặt từ lâu, chủ yếu để giải cho tiếng Trung Quốc, tiếng Nhật [11] [12] [13] [15] Cho đến có nhiều ngơn ngữ áp dụng Các thuật tốn tách từ gồm hai loại Loại thứ dựa luật như: Longest Matching, Mơ hình so khớp tối đa [4] [6] [11] [14] (đối với mơ hình gồm: so khớp tối đa tiến so khớp tối đa lùi), phương pháp hoàn toàn phụ thuộc vào từ điển Loại thứ hai dựa thống kê: Phương pháp dựa vào ngữ cảnh xung quanh để đưa định thích hợp [7] [8] [9], giải pháp gồm hai vấn đề Vấn đề thứ độ rộng ngữ cảnh, độ rộng ngữ cảnh lớn thuật tốn phức tạp Vấn đề thứ hai cách áp dụng thống kê, giải pháp phụ thuộc nhiều vào ngữ liệu huấn luyện Các cách tách từ khác thường dựa lai tạo mơ hình Tuy nhiên xử lý tiếng Khmer, tốn tách từ ln đặt thách thức, chưa giải cách thỏa đáng [4] [6] [10] Về mặt ngơn ngữ, tả tiếng Khmer phức tạp, câu gồm nhiều từ từ gồm nhiều âm tiết viết liền mà khơng có dấu phân cách Bài báo sử dụng cách tiếp cận tách từ tiếng Việt để xây dựng phương pháp tách từ tương tự cho tiếng Khmer Phương pháp tách từ tiếng Việt mô tả chi tiết báo [16], giống trường hợp tiếng Khmer đạt kết cao Chúng sử dụng phương pháp áp dụng cho tiếng Khmer Bài báo đề xuất giải pháp tách từ tiếng Khmer dựa kho ngữ liệu cấu trúc âm tiết xây dựng Xây dựng đồ thị có hướng khơng trọng số để phân tích phương án tách từ Sau phần mở đầu, báo gồm nội dung sau: Mã hóa ngữ liệu cấu trúc âm tiết, mơ hình phương pháp tách từ, trình bày giai đoạn thử nghiệm đánh giá kết Phần cuối kết luận hướng phát triển II MÃ HÓA DỮ LIỆU KHO NGỮ LIỆU ÂM TIẾT TỪ VỰNG TIẾNG KHMER A Kho ngữ liệu cấu trúc âm tiết từ vựng tiếng Khmer Chúng xây dựng kho ngữ liệu cấu trúc âm tiết tiếng Khmer nhằm phục vụ cho việc tách từ kiểm tra lỗi tả pha sau, phương pháp xây dựng kho ngữ liệu cấu trúc âm tiết dựa vào mơ hình đặc trưng âm tiết ngơn ngữ Khmer [5] Cấu trúc từ điển mã hóa theo cấu trúc âm tiết việc xếp đơn vị mục từ theo trật tự xác định Mục từ gồm từ đơn, từ ghép, cụm từ Mỗi đơn vị mục từ có dấu phân cách (space) âm tiết Ví dụ: Kho ngữ liệu cấu trúc âm tiết cho từ sau: Bảng Kho ngữ liệu cấu trúc âm tiết tiếng Khmer Kho từ vựng កង កងសេនាជន កងសេនាឈ្លប កងវរសេនាធំ … Kho ngữ liệu cấu trúc âm tiết កង កង សេ នា ជន កង សេ នា ឈ្លប កង វរ សេ នា ធំ … Nghĩa tiếng Việt Vịng đeo cổ Dân qn Du kích Trung đồn … ỨNG DỤNG ĐỒ THỊ CĨ HƯỚNG KHƠNG TRỌNG SỐ NHẬN DIỆN TỪ TRONG VĂN BẢN TIẾNG KHMER 952 B Mã hóa kho ngữ liệu theo cấu trúc âm tiết Mục đích mã hóa kho ngữ liệu cấu trúc âm tiết nhằm phục vụ cho việc so khớp theo âm tiết từ vựng, kho ngữ liệu cấu trúc âm tiết xếp giảm dần theo số lượng âm tiết từ vựng trước mã hóa Dựa vào cấu trúc liệu, xây dựng Automat thuật tốn để mã hóa lưu trữ kho ngữ liệu cấu trúc âm tiết cho việc so khớp âm tiết Kho ngữ liệu cấu trúc âm tiết gồm có khoảng 48947 từ vựng xây dựng, âm tiết từ vựng có dấu phân cách khoảng trắng Mỗi cung Automat có nhãn âm tiết, cung từ trạng thái xuống trạng thái phải mang nhãn khác Ví dụ, với bốn từ vựng theo cấu trúc âm tiết như: កង (Vòng đeo cổ), កង សេ នា ជន (Dân quân),កង សេ នា ឈ្លប (Du kích), កង វរ សេ នា ធំ (Trung đoàn) q0 កង សេ q1 វរ q6 សេ q2 q7 នា នា q3 ជន q4 ឈ្លប q8 q5 ធំ q10 Hình Xây dựng Automat mã hóa kho ngữ liệu cấu trúc âm tiết tiếng Khmer Trong Hình 1: Ký hiệu trạng thái chưa kết thúc Ký hiệu trạng thái kết thúc từ Ký hiệu trạng thái vừa kết thúc, vừa nút từ Thuật toán xây dựng Automat kho ngữ liệu cấu trúc âm tiết Input: kho ngữ liệu cấu trúc âm tiết Output: Automat kho ngữ liệu cấu trúc âm tiết Lập trạng thái khởi đầu q0; Vòng lặp đọc hết tệp liệu, lấy mục từ word Gọi âm tiết word a0, a1, … , an-1; a p := q0; i := 0; b Vòng lặp ( i ≤ n - 1) Lấy âm tiết ai; Tìm cung chuyển từ trạng thái p cung ghi âm tiết Nếu có cung (p, q) i:=i+1; p:=q; Ngược lại khỏi vòng lặp b Vòng lặp với j từ i đến n - Tạo trạng thái q , ghi nhận q trạng thái không kết thúc; Thêm cung chuyển (p, q) ghi âm tiết aj; p := q; Nếu q có tồn cung chuyển (p,q), ghi nhận q trạng thái kết thúc; Ngược lại, ghi nhận q trạng thái vừa kết thúc, vừa nút từ Sau xây dựng xong Automat, ta lưu vào tệp để dùng bước phân tách từ vựng bắt lỗi tả pha sau III MƠ HÌNH VÀ GIẢI PHÁP TÁCH TỪ A Đề xuất mơ hình tách từ tiếng Khmer Giải toán đặt đầu vào văn tiếng Khmer, tách văn thành câu, câu tách thành đơn vị từ vựng (từ) âm tiết khơng có từ điển (phát đơn vị từ vựng mới) Trên sở tìm hiểu tả, ngữ pháp tiếng Khmer [1] [2] [3], chúng tơi đề xuất mơ hình tách từ dựa so khớp âm tiết kho ngữ liệu cấu trúc âm tiết Trần Văn Nam, Sơn Phú Quý, Nguyễn Thị Huệ, Phan Huy Khánh Tệp vào (văn Tách câu tiếng Khmer) 953 Xây dựng đồ thị phân tích câu Các câu đơn Danh sách câu phân tích tách từ Câu có cung Văn tách thành từ Kho ngữ liệu âm tiết Kho ngữ liệu cấu trúc âm tiết tiếng Khmer mã hóa (Automat) Hình Mơ hình tách từ tiếng Khmer B Giải pháp tách từ tiếng Khmer Chúng xử lý theo mơ hình tách từ tiếng Khmer bước sau: 1) Tách câu Hệ thống đọc văn đầu vào cần tách câu, dựa dấu kết thúc câu để ngắt câu thành câu để xử lý Mỗi câu xử lý độc lập với Các câu phân cách dấu kết thúc câu gồm: ?, ! ,។, ៕ Phân tích văn U gồm m câu đơn U=w1w2 wm,(m≥1) Chúng sử dụng lại mơ hình cấu trúc âm tiết, tách câu đơn thành âm tiết riêng biệt Mỗi câu đơn chứa n âm tiết wm= a0, a1, …, an-1 2) Xây dựng đồ thị phân tích câu Ý tưởng phân tách từ vựng quy việc phân tách câu việc tìm đường đồ thị có hướng, khơng có trọng số Giả sử câu đơn ban đầu dãy gồm n âm tiết a 0, a1, , an-1 Xây dựng đồ thị có n+1 đỉnh q0, q1, , qn Sắp theo thứ tự đường thẳng từ trái sang phải; Với cung từ câu, đỉnh đường nối hai từ kề nhau, hướng thể từ câu Để kiểm tra có từ vựng thành lập thực so khớp âm tiết câu theo thứ tự từ trái sang phải, ta xét từ nút gốc Automat xét âm tiết câu, xét qua cung chuyển rẽ sang nhánh theo cung có nhãn tương ứng với trình di chuyển gặp trạng thái kết thúc trạng thái nút trạng thái Automat từ câu, lưu vào danh sách từ vựng, tiếp tục hết câu Nếu bước việc chuyển xuống nhánh thất bại khơng tìm cung có nhãn tương ứng khơng từ câu, khỏi vịng lặp Dựa vào danh sách từ vựng vừa thu được, thực vẽ cung đồ thị bắt đầu đỉnh xét Sau tìm tiếp tục cho từ cịn lại, âm tiết kế sau đỉnh xét, thực hết từ câu Sau xây dựng đồ thị xong, bước tiếp theo, liệt kê tất cách phân tích câu dựa đồ thị phương pháp duyệt theo chiều sâu Khi cách phân tách câu khác tương ứng với đường đồ thị từ đỉnh đầu q0 đến đỉnh cuối qn+1 Dựa đồ thị phân tích câu, chúng tơi thống kê kết thủ công, tập liệu thử nghiệm gồm 500 câu lĩnh vực xã hội, trường Đại học Trà Vinh cung cấp Kết chia làm hai nhóm sau: Nhóm tập câu có đường ngắn nhất, cú pháp lớn 95% tổng số câu, nhóm câu lại, cú pháp khoảng 5% Nhận thấy câu có đường đồ thị nhiều cung sai cú pháp Chúng định tạm thời chọn kết phân tích câu đắn ứng với đường qua cung đồ thị Trường hợp, câu có nhiều đường ngắn đồ thị, xác định câu xảy nhập nhằng Liệt kê tất cách phân tích câu nhập nhằng Trường hợp câu có âm tiết khơng có mặt từ điển âm tiết, xác định đơn vị âm tiết (từ vựng) Âm tiết gồm âm tiết bị sai lỗi tả âm tiết chưa tồn từ điển Ví dụ: Câu văn đầu vào tiếng Khmer là: “ផ្ទះអ៊ំស្េីខ្ញំសៅក្កែរផ្ាធំថ្មី។” (Nhà bác gái bên cạnh chợ lớn mới) q0 ផ្ទះ q1 អ៊ំ ស្េី q2 q3 ខ្ញំ q4 សៅ ក្កែ q5 រ q6 ក្កែរ ផ្ា q7 សៅក្កែរ Hình Xây dựng đồ thị phân tích câu q8 ធំ ថ្មី q9 ។ q10 q11 954 ỨNG DỤNG ĐỒ THỊ CĨ HƯỚNG KHƠNG TRỌNG SỐ NHẬN DIỆN TỪ TRONG VĂN BẢN TIẾNG KHMER Kết phương án phân tích từ đồ thị: Phương án 1: ផ្ទះ | អ៊ំ | ស្េី | ខ្ញំ | សៅក្កែរ | ផ្ា | ធំ | ថ្មី | ។ | Phương án 2:ផ្ទះ | អ៊ំ | ស្េី | ខ្ញំ | សៅ | ក្កែរ | ផ្ា | ធំ | ថ្មី | ។ | Phương án 3:ផ្ទះ | អ៊ំ | ស្េី | ខ្ញំ | សៅ | ក្កែ | រ | ផ្ា | ធំ | ថ្មី | ។ | Kết chọn phương án 1, có cung IV CHẠY THỬ NGHIỆM VÀ ĐÁNH GIÁ GIẢI PHÁP Để tiến hành thử nghiệm, sử dụng kho từ vựng âm tiết tiếng Khmer có độ lớn sau: Số lượng từ đơn: 7278 từ Số lượng từ ghép: 17095 từ Số lượng cụm từ: 24574 từ Chúng sử dụng máy tính cá nhân cho văn thuộc lĩnh vực thông tin xã hội, trường Đại học Trà Vinh cung cấp, với năm trường hợp khác độ lớn văn Kết thử nghiệm tách từ đánh giá dựa kết hợp hai độ đoError! Reference source not found.: Độ xác (Precision) tỷ lệ âm tiết tách tổng số âm tiết tách được, Precision 100% có nghĩa tất âm tiết phù hợp Độ bao phủ (Recall) tỷ lệ từ tách tổng số từ cần tách Chỉ số F-score sử dụng để đánh giá hiệu tổng thể hệ thống cách kết hợp hai số Precision Recall Bảng Kết thử nghiệm phương pháp tách từ Độ lớn văn Số lượng từ đơn Số từ ghép Số lượng cụm từ F-score 30 KB 100 KB 150 KB 250 KB