Xây dựng hệ thống tự động phân loại văn bản tiếng lào

35 245 0
Xây dựng hệ thống tự động phân loại văn bản tiếng lào

Đ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

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA PHOMMASENG PHANAKHONE XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 TÓM TẮT LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Đà Nẵng – Năm 2018 Cơng trình hoàn thành TRƯỜNG ĐẠI HỌC BÁCH KHOA Người hướng dẫn khoa học: TS Đặng Hoài Phương Phản biện 1: TS Trương Ngọc Châu Phản biện 2: TS Nguyễn Hoài Đức Luận văn bảo vệ trước Hội đồng chấm Luận văn tốt nghiệp thạc sĩ khoa học máy tính họp Trường Đại học Bách khoa vào ngày tháng năm 2018 Có thể tìm hiểu luận văn tại: - Trung tâm Học liệu, Đại học Đà Nẵng Trường Đại học Bách khoa - Thư viện Khoa , Trường Đại học Bách khoa - ĐHĐN LỜI CAM ĐOAN Tôi cam đoan là công trình nghiên cứu khoa học của cá nhân dưới sự hướng dẫn trực tiếp của TS Đặng Hoài Phương, Trường Đại học Bách Khoa-Đại học Đà Nẵng Các dữ liệu, ví dụ và trích dẫn tham khảo luận án đảm bảo độ tin cậy, chuẩn xác và trung thực Những kết quả đóng góp về mặt lý thuyết và ứng dụng của luận án chưa từng được công bố bất kỳ công trình nào khác cho đến Tác giả luận án, Phommaseng Phanakhone MỤC LỤC MỞ ĐẦU CHƯƠNG TỔNG QUAN PHÂN LOẠI VĂN BẢN 1.1 Phân loại văn bản 1.2 Khái niệm văn bản 1.3 Các phương pháp phân loại văn bản 1.3.1 K-Nearest Neighbor (KNN) 1.3.2 Support Vector Machine (SVM) 1.3.3 Naïve Bayes (NB) 1.4 Kết luận .5 CHƯƠNG MƠ HÌNH PHÂN LOẠI VĂN BẢN TIẾNG LÀO 2.1 Mô hình phân loại văn bản tiếng Lào 2.2 Biểu diễn văn bản tiếng Lào 2.3 Tách từ tiếng Lào 2.3.1 Đặc trưng tiếng Lào .8 2.3.2 Phương pháp tách từ tiếng Lào sử dụng Regular Expression .9 2.4 Trích chọn đặc trưng 17 2.5 Phân loại văn bản tiếng Lào sử dụng Naive Bayes 17 2.6 Kết Luận .19 CHƯƠNG XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO .20 3.1 Mô hình hệ thống 20 3.2 Cơ sở dữ liệu .21 3.3 Triển khai và đánh giá kết quả 21 3.3.1 Các độ đo đánh giá kết quả phân loại văn bản 22 3.3.2 Thử nghiệm phương pháp tách từ câu tiếng Lào 22 3.3.3 Thực nghiệm Hệ thống phân loại văn bản tiếng Lào 23 3.4 Kết luận .26 KẾT LUẬN 27 HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO Học viên: Phommaseng Phanakhone Chuyên nghành: Khoa học máy tính Mã sớ: ………… Khóa: 32 Trường Đại học Bách khoa – ĐHĐN Tóm tắt – Hiện nay, công trình nghiên cứu phân loại văn bản tiếng Lào hạn chế, chủ yếu dựa máy vector hỗ trợ và mạng hàm bán kính xuyên tâm sở Phương pháp tách từ, các công trình nghiên cứu nói trên, hầu hết vẫn tồn vấn đề về việc xử lý nhập nhằng của tiếng Lào Vì tiếng Lào có nhiều cách viết, cách nói và sử dụng từ không thống nhất, đặc biệt đặc trưng của tiếng Lào không có dấu cách giữa các từ, đó việc tách từ tiếng Lào rất khó khăn Để khắc phục những hạn chế, tác giả đề xuất đề tài: “Xây dựng hệ thống tự động phân loại văn bản tiếng Lào” cách biểu diễn văn bản thành vector các từ khóa, áp dụng Regular Expression kết hợp với khuôn mẫu từ đơn để tách từ đơn, ghép lại những từ đơn thành từ phức có từ dài nhất dựa tập từ phức, đồng thời sử dụng phương pháp Naïve Bayes để phân loại văn bản tiếng Lào Từ khóa – Phân loại văn bản; tách từ; biểu thức quy; tiếng Lào; Nạve Bayes; AUTOMATIC LAO TEXT CLASSIFICATION SYSTEM Abstract – At present, research about Lao language text classification is limited In recent year mainly based on Support Vector Machines and Radial Basis Functions network Lao word segmentation method, there are some research on the Lao language classification, but the majority still have problems dealing with ambiguity of word Since Lao has many ways of writing, speaking and using words that are inconsistent, especially Lao text has no delimiter between words, so it is difficult to separate Lao words in text To overcome the limitations, author proposed the topic: "Building automatic Lao text classification system" by extract Lao text into keywords’s vector, applying Regular Expression technique with Lao syllable pattern to separate syllables in the text After that combine each syllable into Lao word which is longest word that exists in Lao word list and applying Naive Bayes method to classify Lao text Keywords – Text classification; word segmentation; Regular Expression; Lao Language; Naïve Bayes; DANH MỤC CÁC CHỮ VIẾT TẮT CRF DFD IDF KNN MAP NB RBF SVM TF Conditional Random Field Data Flow Diagram Inverse document frequency K Nearest Neighbor Maximum A Posterior class Naive Bayes Radial Basis Functions network Support Vector Machine Term frequency DANH MỤC CÁC BẢNG Số hiệu bảng 1.1 2.3 2.4 2.5 2.6 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Tên bảng Trang Bảng so sánh các phương pháp phân loại văn bản Vector từ đơn tiếng Lào Các thành phần của Vector từ Ví dụ cách tạo từ đơn tiếng Lào Dữ liệu huấn luyện và kiểm thử CSDL bảng documents CSDL bảng TrainData CSDL bảng vocabulary Kết quả phương pháp tách từ đơn Kết quả phương pháp tách từ Kết quả Phân loại văn bản Naive Bayes với phương pháp tách từ không loại bỏ từ dừng So sánh thời gian phân loại văn bản tiếng Lào kết hợp phương pháp tách từ loại bỏ từ dừng và không loại bỏ từ dừng Bảng so sánh mô hình phân loại văn bản tiếng Lào đề x́t với mơ hình khác 11 11 12 19 21 21 21 22 23 24 24 25 DANH MỤC CÁC HÌNH ẢNH Số hiệu hình ảnh 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 3.1 3.2 3.3 3.4 Tên hình ảnh Mơ hình tởng quan phân loại văn bản tiếng Lào Mô hình tách từ tiếng Lào Một số cấu trúc câu tiếng Lào Sơ đồ khối hàm word_split Sơ đồ khối hàm find_first_word Sơ đồ khối hàm select_best_word Sơ đồ khối hàm is_next_word Likelihoods của từng chủ đề với Naïve Bayes Sơ đồ phân rã chức Biểu đồ lớp Cơ sở dữ liệu Kết quả phân loại văn bản tiếng Lào kết hợp tách từ Trang 10 11 13 14 15 16 17 20 20 21 25 MỞ ĐẦU Với sự phát triển của công nghệ thông tin, người dân Lào có điều kiện truy cập Internet với chi phí và tốc độ hợp lý; thiết bị smart phone, máy vi tính có bàn phím tiếng Lào và hiển thị được ngơn ngữ tiếng Lào, đó tiếng Lào trở thành ngôn ngữ chính thức mà người Lào sử dụng để chia sẻ thông tin Internet Vấn đề đặt ở là làm cách tìm kiếm thông tin một cách chính xác và có hiệu quả nhất với văn bản tiếng Lào, và một những giải pháp áp dụng phương pháp phân loại văn bản tiếng Lào Trong thực tế, việc phân loại văn bản phương pháp thủ công là rất khó khăn vì lượng dữ liệu thơng tin rất lớn Vì vậy, việc phân nhóm văn bản, tốn nhiều thời gian và công sức hiệu quả phân loại không cao Đối với công trình nghiên cứu phân loại văn bản tiếng Lào hạn chế, chủ yếu dựa máy vector hỗ trợ và mạng hàm bán kính xuyên tâm sở Phương pháp tách từ, công trình nghiên cứu hầu hết vẫn tồn vấn đề về việc xử lý nhập nhằng tiếng Lào Vì tiếng Lào có nhiều cách viết, cách nói và sử dụng từ không thống nhất, đó việc tách từ tiếng Lào rất khó khăn Để khắc phục những hạn chế nêu trên, tác giả đề xuất đề tài luận văn cao học: “Xây dựng hệ thống tự động phân loại văn bản tiếng Lào” cách biểu diễn văn bản thành vector các từ khóa, áp dụng Regular Expression kết hợp với khuôn mẫu từ đơn để tách từ đơn, ghép lại những từ đơn thành từ phức dựa tập từ phức, đồng thời sử dụng phương pháp Naïve Bayes để phân loại văn bản tiếng Lào Mục đích, đối tượng và phạm vi nghiên cứu Mục đích của đề tài: Nghiên cứu, phân tích cấu trúc từ và câu văn bản tiếng Lào; đề xuất phương pháp tách từ tiếng Lào dựa Regular Expression với khuôn mẫu biểu thức chính quy Sử dụng phương pháp Naive Bayes để xây dựng mơ hình phân loại văn bản tiếng Lào, hiệu thức hoá hệ thống tự động phân loại văn bản tiếng Lào sở mô hình đề xuất Ý nghĩa khoa học: Đề xuất phương pháp tách từ đối với văn bản tiếng Lào sử dụng Regular Expression và cải tiến với khuôn mẫu biểu thức chính quy của từ đơn Lào Xây dựng mô hình phân loại văn bản tiếng Lào dựa sở phương pháp tách từ đề xuất và Naive Bayes; Ý nghĩa thực tiễn: Hiệu thức hoá hệ thống tự động phân loại văn bản tiếng Lào sở mô hình đề xuất Đối tượng nghiên cứu: Trong khuôn khổ của luận văn thuộc loại xây dựng hệ thống, tác giả chỉ giới hạn nghiên cứu các vấn đề sau: - Các cấu trúc từ và câu văn bản tiếng Lào; Phương pháp tách từ tiếng Lào dựa biểu thức quy (Regular Expression) kết hợp với khuôn mẫu từ đơn ghép lại những từ đơn thành từ phức dựa tập từ phức; - Phương pháp phân loại văn bản Naive Bayes Mục tiêu và nhiệm vụ Mục tiêu: Mục tiêu chính của đề tài là nghiên cứu về cấu trúc từ tiếng Lào, đề xuất phương pháp tách từ sử dụng biểu thức chính quy (Regular Expression) và xây dựng hệ thống tự động phân loại văn bản tiếng Lào dựa phương pháp Naive Bayes Để thỏa mãn mục tiêu này thì cần đạt được những mục tiêu cụ thể sau: - Nghiên cứu cấu trúc và phương pháp tách từ văn bản tiếng Lào; Nghiên cứu sử dụng Naive Bayes phân loại văn bản tiếng Lào; Xây dựng được hệ thống phân loại văn bản tiếng Lào và áp dụng vào thực tế - Nhiệm vụ: Để đạt được những mục tiêu thì nhiệm vụ đạt của đề tài là: Phân tích cấu trúc từ và câu văn bản tiếng Lào; Phân tích phương pháp tách từ tiếng Lào; Phân tích các mô hình và phương pháp phân loại văn bản, đưa bài toán cần giải - quyết; Phân tích và đề xuất mô hình giải quyết bài toán; Hiện thực hóa hệ thống nêu trên, đánh giá kết quả đạt được thực tế Phương pháp nghiên cứu Phương pháp lý thuyết: Tiến hành thu thập và phân tích các tài liệu có liên quan đến đề tài, nghiên cứu phương pháp tách từ và phương pháp phân loại văn bản; - Phương pháp thực nghiệm: Xây dựng sở dữ liệu văn bản tiếng Lào; - Xây dựng hệ thống tự động phân loại văn bản tiếng Lào; Cài đặt hệ thống và triển khai thực tế, nhận xét và đánh giá kết quả đạt được Phương tiện, công cụ triển khai: 13 - Trong đó: c là cụm từ tiếng Lào; word là từ đơn tiếng Lào; first_word_list là mảng từ đơn tìm được nhiều nhất có thể từ hàm find_first_word Hình 2.4 Sơ đồ khối hàm word_split Hàm word_split là một chức tách các từ đơn cụm từ tiếng Lào và trả lại array từ đơn, gồm các bước sau: Đầu vào: một cụm từ hay là chuỗi tiếng Lào Đầu ra: trả lại Vector từ đơn và kết thúc 14 Hình 2.5 Sơ đồ khới hàm find_first_word Hàm find_first_word có chức so khớp tới đa tất cả khuôn mẫu biểu thức chính quy của từ đơn với cụm từ đầu vào, duyệt từ trái sang phải, có các bước sau: Đầu vào: một chuỗi cụm từ c Đầu ra: array words_founded 15 Hình 2.6 Sơ đồ khối hàm select_best_word Hàm select_best_word là một chức chọn một từ đơn tốt nhất những phân tự của đầu vào first_word_list, có các bước sau: Đầu vào: array first_word_list, và cụm từ c Đầu ra: Kiểm trả tổng số phần tử của đầu vào first_word_list nếu thì trả lại phần tử thứ nhất và kết thúc, nếu lớn thì lấy từng phần tử first_word_list kiểm tra vào hàm is_next_is_word(word, c) lặp lại đến chức đó trả lại kết quả nếu không thì lấy từ có ký tự dài nhất first_word_list, nếu ngược lại thì trả lại ký tự thứ nhất của cụm từ c và kết thúc 16 Hình 2.7 Sơ đồ khới hàm is_next_word Hàm is_next_is_word có chức kiểm tra chuỗi tiếp theo có phải là từ đơn hay không, hàm này đảm bảo không tách vào giữa từ tiếp theo ví dụ nếu đầu vào là ການໍ້າ (bình nước) tách từ được là ກາ|ນໍ້າ không phải ການ| ໍ້າ, bởi vì ການ là từ đơn dài nhất mà lấy được từ chức so khớp tối đa, vì vậy phải kiểm tra lại từ tiếp theo, có các bước sau: Đầu vào: từ đơn word và cụm từ c Đầu ra: kiểm tra ba điều kiện là next_clause có không trống hay không next_clause[0] (ký tự thứ nhất của chuỗi next_clause) có mặt ký tự nguyên âm đầu vần (ເ ແ ໄ ໃ ໂ) hay không có thể so khớp được từ đơn ở phía trước next_clause hay không, nếu một ba điều kiện là thì trả lại True và kết thúc, ngược lại trả lại False Phương pháp xử lý từ đơn chứa phụ âm ghép Để giảm chiều dài của Vector từ, sau ghép từ sử dụng phương pháp tìm kiếm và thay thế từ đơn có chứa phụ âm ghép ຫນ, ຫມ ຫລ thành phụ âm ghép ໜ, ໝ ຫຼ lần, bởi vì những từ chứa phụ âm ghép này có thể viết hai cách mà có nghĩa giống dẫn đến lấy được nhiều từ thừa Phương pháp ghép từ thành từ phức Sau nhận được từ đơn một cụm từ, tiếp theo ghép lại những từ đó thành một từ phức để lấy được từ vựng có nghĩa 17 Quá trinh này sử dụng phương pháp so khớp tối đa ghép từng phân tự từ đơn và tìm từ điển từ phúc tiếng Lào có hay không cho đến lấy được từ mà có âm tiết dài nhất 2.4 Trích chọn đặc trưng Bài toán trích chọn đặc trưng thực hiện việc trích được các từ quan trọng nhất của văn bản, thể hiện đặc thù về chuyên môn của văn bản đó Sau quá trình tách từ tiếng Lào, lấy được một vector từ W=[w1, w2, w3, w4, , wn], sau đó áp dụng danh sách từ dừng tiếng Lào xây dựng để loại bỏ từ dừng vector từ để giảm độ phức tạp và số lượng của từ đặc trựng 2.5 Phân loại văn bản tiếng Lào sử dụng Naive Bayes Ý tưởng bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều kiện giữa từ và chủ đề để dự đoán xác suất chủ đề của một văn bản cần phân loại Điểm quan trọng của phương pháp này chính là ở chỗ giả định sự xuất hiện của tất cả các từ văn bản đều độc lập với Giả định đó làm cho việc tính toán Naive Bayes hiệu quả và nhanh chóng các phương pháp khác vì không sử dụng việc kết hợp các từ để đưa phán đoán chủ đề Kết quả dự đoán bị ảnh hưởng bởi kích thước tập dữ liệu, chất lượng của không gian đặc trưng… Ví dụ hình minh họa sau (hình 2.8): Hình 2.8 Likelihoods của từng chủ đề với Naïve Bayes Thuật toán gồm giai đoạn huấn luyện phân loại: Huấn luyện: tính P(Ci) P(Xk|Ci) Đầu vào: - Các vector đặc trưng của văn bản tập huấn luyện (Ma trận MxN, với M số vector đặc trưng tập huấn luyện, N là số đặc trưng của vector); - Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện Đầu ra: - Các giá trị xác suất P(Ci) P(Xk|Ci) Công thức tính P(Ci) làm trơn Laplace Trong đó: 18 - |Di|: số văn bản của tập huấn luyện thuộc phân loại 𝑖; - |total D|: số văn bản tập huấn luyện; - m số phân loại Khởi tạo mảng A, B có kích thước m Duyệt qua các văn bản tập dữ liệu, đếm số văn bản phân loại lưu vào A Tính xác suất cho từng phân loại theo công thức và lưu vào mảng B Công thức tính làm trơn Laplace: Trong đó: |DXki|: Số văn bản phân loại i có đặc trưng thứ k mang giá trị xk (hay số văn bản lớp i, có xuất hiện/không xuất hiện đặc trưng k) |Di|: Số văn bản của tập huấn luyện thuộc phân loại i dk: Số giá trị có thể có của đặc trưng thứ k Với vector đặc trưng mô tả bên trên, dk ở mang giá trị là 2, tương ứng với xuất hiện và không xuất hiện Do chỉ có giá trị, ta có thể tính nhanh xác suất không xuất hiện theo công thức P(x) = - P(x) Khởi tạo mảng chiều C, chiều có kích thước là m (số phân loại), chiều có kích thước là N (số đặc trưng), chiều có kích là (dk) để lưu các giá trị P(Xk|Ci) Duyệt qua các văn bản tập dữ liệu, tiến hành thống kê các chỉ số cần thiết để tính xác suất theo công thức và lưu vào mảng C Phân loại: Đầu vào: Vector đặc trưng của văn bản cần phân loại Các giá trị xác suất P(Ci) P(Xk|Ci) Đầu ra: Nhãn/lớp của văn bản cần phân loại Công thức tính xác suất thuộc phân loại i biết trước mẫu X 𝑛 𝑃(𝐶𝑖 |𝑋 ) = 𝑃(𝐶𝑖 ) ∏ 𝑃(𝑋𝑘 |𝐶𝑖 ) 𝑘=1 Dựa vào vector đặc trưng của văn bản cần phân loại, áp dụng công thức tính xác suất thuộc từng phân loại cho văn bản, và chọn lớp có xác suất cao nhất Ví dụ phân loại văn bản tiếng Lào sử dụng Naïve Bayes, giả sử tất cả văn bản được tách từ và loại bỏ từ dừng: Cho tập văn bản huấn luyện: 19 Bảng 2.6 Dữ liệu huấn luyện và kiểm thử Văn bản huấn luyện Văn bản kiểm thử docID Từ vựng văn bản ຮຽນ ໜັງສື ໂຮງຮຽນ ຮຽນ ນັກຮຽນ ອາຈານ ໜັງສື ອາຈານ ໂຮງຮຽນ ແລ່ນ ແຂ່ງຂັນ ຊະນະ ຄະແນນ ຊະນະ ແຂ່ງຂັນ ຮຽນ ແລ່ນ ແຂ່ງຂັນ ຊະນະ Phân loại education education education sport sport ? Trong bảng 2.8 có: Từ vựng (9): ຮຽນ ໜັງສື ໂຮງຮຽນ ນັກຮຽນ ອາຈານ ແລ່ນ ແຂ່ງຂັນ ຊະນະ ຄະແນນ - Lượng giá 𝑃(𝐶𝑖 ): 𝑃(𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(𝑠𝑝𝑜𝑟𝑡) = 5 - Lượng giá 𝑃(𝑋𝑘 |𝐶𝑖 ): 𝑃(ຮຽນ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ໜັງສື│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ໂຮງຮຽນ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ອາຈານ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = (2 + 1)/(9 + 9) = 3/18 𝑃(ນັກຮຽນ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = (1 + 1)/(9 + 9) = 2/18 = 1/9 𝑃(ແລ່ນ|𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ຄະແນນ|𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ແຂ່ງຂັນ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = 𝑃(ຊະນະ│𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛) = (0 + 1)/(6 + 9) = 1/15 𝑃(ຮຽນ|𝑠𝑝𝑜𝑟𝑡) = 𝑃(ໜັງສື|𝑠𝑝𝑜𝑟𝑡 ) = 𝑃(ນັກຮຽນ|𝑠𝑝𝑜𝑟𝑡) = 𝑃(ໂຮງຮຽນ│𝑠𝑝𝑜𝑟𝑡) = 𝑃(ອາຈານ│𝑠𝑝𝑜𝑟𝑡) = (0 + 1)/(9 + 9) = 1/18 𝑃(ແລ່ນ│𝑠𝑝𝑜𝑟𝑡) = 𝑃(ຄະແນນ│𝑠𝑝𝑜𝑟𝑡) = (1 + 1)/(6 + 9) = 2/15 𝑃(ແຂ່ງຂັນ│𝑠𝑝𝑜𝑟𝑡) = 𝑃(ຊະນະ│𝑠𝑝𝑜𝑟𝑡) = (2 + 1)/(6 + 9) = 3/15 = 1/5 Do vậy, với văn bản kiểm thử (ຮຽນ ແລ່ນ ແຂ່ງຂັນ ຊະນະ) có: 3 1 𝑃(𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛|𝑑6 ) ∝ ∙ ∙ ∙ ∙ ≈ 0.000029 18 15 15 15 2 1 𝑃(𝑠𝑝𝑜𝑟𝑡|𝑑6 ) ∝ ∙ ∙ ∙ ∙ ≈ 0.000118 18 15 5 Có kết quả 𝑃(𝑠𝑝𝑜𝑟𝑡|𝑑6 ) > 𝑃(𝑒𝑑𝑢𝑐𝑎𝑡𝑖𝑜𝑛|𝑑6 ) văn bản 𝑑6 thuộc về lớp sport 2.6 Kết Luận Trong chương này, tác giả trình bày mô hình phân loại văn bản tiếng Lào và quy trình xư lý văn bản, những đặc trưng của văn bản tiếng Lào, cấu trúc câu, cấu trúc từ Áp biểu thức chính quy (Regular Expression) kết hợp với khuôn mẫu từ đơn để tách từ Áp dụng phương pháp Naïve Bayes để phân loại văn bản tiếng Lào 20 CHƯƠNG XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO 3.1 Mơ hình hệ thống Trong hệ thống tự động phân loại văn bản tiếng Lào gồm có ba chức chính là tiền xử lý văn bản, huấn luyện và phân loại văn bản Sơ đồ phân rã chức (Hình 3.1) và biểu đồ lớp (Hình 3.2) của hệ thớng tự đợng phân loại văn bản tiếng Lào Hình 3.1 Sơ đồ phân rã chức Hình 3.2 Biểu đồ lớp 21 3.2 Cơ sở dữ liệu Cơ sở dữ liệu hệ thống được xây dựng hệ quản trị sở dữ liệu MongoDB (hình 3.3) documents vocabulary train_data _id: ObjectID filename: String text: String tokens: List label: String _id: ObjectID word: String length: Integer n_syllable: Integer _id: ObjectID priors: List likelihood: List Hình 3.3 Cơ sở dữ liệu Mơ tả chi tiết sở dữ liệu hệ thống: Bảng 3.1 CSDL bảng documents Tên trường _id filename text tokens category Kiểu dữ liệu Mô tả ObjectID id của văn bản String tên của văn bản String nội dung của văn bản List các tập từ được tách từ text String nhãn của văn bản Bảng 3.2 CSDL bảng TrainData Tên trường _id priors likelihood Kiểu dữ liệu Mô tả ObjectID id của tập huấn luyện List tập xác suất của lớp List tập xác suất của từ các lớp Bảng 3.3 CSDL bảng vocabulary Tên trường _id word length n_syllable Kiểu dữ liệu ObjectID String Integer Integer Mô tả id của từ phức từ phức tiếng Lào chiều dài của từ phức số lượng âm tiết của từ phức 3.3 Triển khai và đánh giá kết quả Triển khai hệ thống thực tế thu được các kết quả với thời gian phân loại, giá trị Accuracy, Precision Recall, thử nghiệm bao gồm: Thử nghiệm phương pháp tách từ đơn tiếng Lào câu tiếng Lào Thử nghiệm phương pháp tách từ đơn ghép lại dựa từ điển từ phức Thử nghiệm Hệ thống phân loại văn bản tiếng Lào kết hợp với phương pháp tách từ đánh giá kết quả độ chính xác 22 Trong bước thử nghiệm phương pháp phân loại văn bản tiếng Lào, tác giả tiến hành kiểm thử với ba trích trọn đặc trưng khác nhau, theo tiến trình sau: - Thử nghiệm Hệ thống phân loại văn bản tiếng Lào kết hợp với phương pháp tách từ; - Thử nghiệm Hệ thống phân loại văn bản tiếng Lào kết hợp với phương pháp tách từ và loại bỏ từ dừng 3.3.1 Các độ đo đánh giá kết phân loại văn 3.3.2 Thử nghiệm phương pháp tách từ câu tiếng Lào Quá trình thử nghiệm sử dụng văn bản từ các trang web bài báo nước Lào được tiến hành cho bốn trường hợp khác về dùng lượng văn bản đầu vào trọng khoản khác Sau là một số thử nghiệm phương pháp tách từ đơn và phương pháp tách từ câu tiếng Lào 3.3.2.1 Thực nghiệm tách từ đơn Phương pháp tách từ đơn tiếng Lào sử dụng phương pháp so khớp dựa khuôn mẫu đặc trưng cấu tạo từ của hệ viết từ đơn tiếng Lào dặt được kết quả khá tốt Thực nghiệm tách từ đơn này cho đầu vào cụm từ và câu tiếng Lào với kích thước khác 51 bytes, 69 bytes, 132 bytes 1688 bytes Cho đầu vào: - sentence0: ໂຮງຮຽນ - sentence1: ມະຫາວິທະຍາໄລ - sentence2: ຂ້ອຍກໍາລັງສຶກສາຢູ່ທີ່ປະເທດຫວຽດນາມ - sentence3: ລາວ ແລະ ຫວຽດນາມ ເປັນສອງປະເທດບ້ານໃກ້ເຮືອນຄຽງທີ່ໃກ້ຊິດ, ມີສາຍພູ, ແມ່ນໍ້າລຳເຊຕິດຈອດກັນ, ຮ່ວມກັນດື່ມນໍ້າແມ່ຂອງ, ພ້ອມກັນອີງໃສ່ສາຍພູຫຼວງອັນສະຫງ່າ, ປະຊາຊົນສອງຊາດເຄີຍມີສາຍພົວພັນອັນເປັນມູນເຊື້ອ, ສັດຊື່ບໍລິສຸດ, ສະໜິດຕິດພັນແຕ່ດົນນານ ພິເສດ, ນັບແຕ່ມື້ພັກກອມມູນິດອິນດູຈີນໄດ້ກຳເນີດເກີດຂຶ້ນມາ ແລະ ນຳພາ, ຕໍ່ມາແມ່ນພັກປະຊາຊົນປະຕິວັດລາວ ແລະ ພັກກອມມູນິດຫວຽດນາມ, ສາຍພົວພັນນັ້ນນັບມື້ນັບໄດ້ຮັບການເປີດກວ້າງ, ຂະຫຍາຍຕົວ ແລະ ໄດ້ຍົກລະດັບທາງດ້ານທາດແທ້ ດ້ວຍທິດນໍາທີ່ເຕັມໄປດ້ວຍລັກສະນະທາງດ້ານມະນຸດສະທຳ ແລະ ມີຄວາມໝາຍດ້ານການເມືອງຢ່າງເລິກເຊິ່ງ ຕາມຄຳສັ່ງສອນຂອງ ປະທານ ໂຮ່ຈີມິນ ຜູ້ຍິ່ງໃຫ່ຍ ‘ຊ່ວຍເພື່ອນແມ່ນຊ່ວຍຕົນເອງ’ Bảng 3.4 Kết quả phương pháp tách từ đơn Câu đầu vào sentence0 sentence1 sentence2 sentence3 Kích thước văn Số lượng ký bản (bytes) tự 51 69 12 132 33 1688 581 Thời gian sử dụng (giây) 0.001 0.003 0.005 0.092 Số lượng từ đơn được tách 11 192 23 3.3.2.2 Thực nghiệm tách từ Sau nhận được những tokens từ tiếng Lào văn bản, phương pháp tách từ loại bỏ các dấu, ghép lại từng từ và so khớp với từ điển từ phức cho đến hết phân tự hay lấy được từ phức có âm thành dài nhất Trong thực nghiệm tách từ này lấy lại các câu thử nghiệm (mục 3.3.2.1) Bảng 3.5 Kết quả phương pháp tách từ Câu đầu vào sentence0 sentence1 sentence2 sentence3 Kích thước văn bản (bytes) 51 69 132 1688 Số lượng ký tự 12 33 581 Thời gian sử dụng (giây) 0.002 0.003 0.006 0.110 Số lượng từ được tách 1 130 3.3.3 Thực nghiệm Hệ thống phân loại văn tiếng Lào 3.3.3.1 Dữ liệu huấn luyện Tác giả tiến hành thử nghiệm phân loại văn bản tiếng Lào sử dụng phương pháp Naive Bayes Tập tài liệu mẫu được sử dụng tất cả gồm 700 văn bản có kích thước khác nhau, phần lớn được lấy từ trang web http://kpl.gov.la cách tạo một python script lặp lại lượt các trang bài báo của từng mục, trích xuất thông tin và lưu trữ dưới dạng tệp văn bản (.txt) với mã Unicode Tất cả dữ liệu văn bản được xử lý, tách từ và lưu trữ sở dữ liệu Trong tập tài liệu này, tài liệu được phân lớp theo trang web phân nhóm gồm nhãn lớp economic (kinh tế), education (giáo dục), politic (chính trị), publichealth (sức khỏe công cộng), it (công nghệ thông tin), sport (thể thao) travel (du lịch) Dữ liệu này chia thành phần (mỗi phần có 50 văn bản): 350 văn bản được sử dụng làm tập tài liệu huấn luyện 350 văn bản làm tập tài liệu thử nghiệm 3.3.3.2 Phân loại văn bản tiếng Lào với phương pháp tách từ không loại bỏ từ dừng Kết quả thử nghiệm phân loại văn bản sử dụng phương pháp Naive Bayes kết hợp với phương pháp tách từ sử dụng Regular Expression khơng loại bỏ từ dừng, có bảng duới đây: 24 Bảng 3.6 Kết quả Phân loại văn bản Naive Bayes với phương pháp tách từ không loại bỏ từ dừng Phân loại văn bản Naive Bayes với phương pháp tách từ không loại bỏ từ dừng Tên lớp phân Số Số Thời nhóm VB VB gian HL KT PLVB TP TN FP FN (giây) economic education it politic publichealth sport travel 50 50 50 50 50 50 50 50 0.06 50 0.04 50 0.03 50 0.07 50 0.05 50 0.05 50 0.09 Overall (%): 43 41 48 47 43 43 47 269 271 264 265 269 269 265 11 7 Accuracy Error Precision Recall (%) Rate (%) (%) (%) 95.70 95.41 99.36 96.86 97.19 96.59 95.70 96.64 4.30 4.59 0.64 3.14 2.81 3.41 4.30 3.35 86.00 87.23 100 87.03 93.47 91.48 81.03 89.46 86 82 96 94 86 86 94 89.14 3.3.3.3 Phân loại văn bản tiếng Lào với phương pháp tách từ và loại bỏ từ dừng Kết quả cho thấy rằng, với bộ dữ liệu, phương pháp tách từ, kết quả đạt được với phương pháp tách từ không loại bỏ từ dừng, nó chỉ giảm được thời gian phân loại văn bản, kết quả so sánh bảng (3.7): Bảng 3.7 So sánh thời gian phân loại văn bản tiếng Lào kết hợp phương pháp tách từ loại bỏ từ dừng và không loại bỏ từ dừng Tên lớp phân nhóm Số VB HL Số VB KT economic 50 education 50 it 50 politic 50 publichealth 50 sport 50 travel 50 Average: 50 50 50 50 50 50 50 Thời gian PLVB kết hợp Thời gian PLVB kết hợp phương pháp tách từ không phương pháp tách từ loại bỏ từ dừng loại bỏ từ dừng (giây) (giây) 0.06 0.04 0.04 0.03 0.03 0.02 0.07 0.05 0.05 0.04 0.05 0.04 0.09 0.06 0.05 0.02 25 3.3.3.4 Kết quả phân loại văn bản tiếng Lào nghiên cứu Sau là bảng kết quả phân loại văn bản tiếng Lào được nghiên cứu thời gian gần dựa sở phân loại văn bản với vector hỗ trợ SVM và dùng mạng nơ ron RBF, phân loại lớp (Nhân sự tiền lương, Đào tạo, Tuyển sinh, Tốt nghiệp, ĐoànĐảng-Thanh niên, Công đoàn) với tập dữ liệu 400 văn bản kho văn bản hành chính văn phòng của trường Đại học Champasak Trong này, họ kiểm thử qua hai phương pháp tách từ Conditional Random Field và dựa sở luật Kết quả cho thấy rằng, phân loại văn bản tiếng Lào với mạng nơ ron RBF cho kết quả độ chính xác cao [1] Hình 3.4 Kết quả phân loại văn bản tiếng Lào kết hợp tách từ 3.3.3.5 So sánh phương pháp phân loại văn bản đề xuất và phương pháp phân loại văn bản có Từ kết quả thực nghiệm thực tế cho thấy phương pháp PLVB gần nhau, đó tác giả chỉ so sánh độ chính xác trung bình của các phương pháp Tuy nhiên kết quả cho thấy, phương pháp phân loại văn bản đề xuất luận văn này có đạt được kết quả cao (Bảng 3.8): Bảng 3.8 Bảng so sánh mô hình phân loại văn bản tiếng Lào đề xuất với các mô hình khác Average Accuracy (%) PLVB với vector hỗ trợ SVM PLVB dùng mạng nơ ron RBF PLVB Naive Bayes với phương pháp tách từ không trích chọn đặc trưng Tách từ CRF Dựa sở luật Tách từ CRF Dựa sở luật Tách từ dựa sở biểu thức quy (Regular Expression) 92.73 93.41 92.95 93.82 96.64 26 3.4 Kết luận Trong chương này, luận văn xây dựng hệ thống tự động phân loại văn bản tiếng Lào dựa sở Naive bayes với loại bỏ từ dừng và không loại bỏ từ dừng và triển khai thực tế, so sánh, đánh giá kết quả đạt được với các phương pháp phân loại văn bản tiếng Lào tồn Kết quả thực tế cho thấy, hệ thớng có lỗi phân loại nhầm lớp văn bản tập dữ liệu h́n lụn hạn chế về mặt đợ dài của văn bản Tuy nhiên, đợ chính xác trung bình của hệ thống tự động phân loại văn bản tiếng Lào sở mơ hình đề x́t có đợ xác cao 27 KẾT LUẬN Các kết quả chính của luận án Nghiên cứu, áp dụng phương pháp biểu diễn văn bản tiếng Lào sở mơ hình vector Đề x́t phương pháp tách từ văn bản tiếng Lào sử dụng biểu thức chính quy (Regular Expression) kết hợp với khuôn mẫu từ đơn và ghép lại những từ đơn thành từ phức dựa tử điển từ phức, áp dụng phương pháp Naive Bayes để phân loại văn bản tiếng Lào Xây dựng hệ thống tự động phân loại văn bản tiếng Lào sở mô hình đề xuất và triển khai đánh giá kết quả đạt được thực tế Để triển khai phân loại văn bản, tác giả rút các văn bản khác từ web site tiếng Lào và lưu trữ dưới dạng Plain text (.txt) với mã chữ UTF-8 và chia đôi tập dữ liệu thành tập dữ liệu huấn luyện và tập dữ liệu kiểm thử Kết quả kiểm thử Hệ thống tự động phân loại văn bản tiếng Lào áp dụng Naïve Bayes để phân loại văn bản và áp dụng biểu thức chính quy để tách từ, đối với thử nghiệm 350 dữ liệu huấn luyện và 350 dữ liệu kiểm thử, đạt được kết quả độ chính xác 96.64% Đối với kiểm thử phân loại văn bản với sự loại bỏ từ dừng và không loại bỏ từ dừng cho kết quả độ chính xác nhau, thời gian phân loại văn bản loại bỏ từ dừng chạy nhanh Thông qua kết quả thực nghiệm cho thấy, sử dụng phương pháp tách từ đơn câu, phương pháp này nhận biết từ mà viết sai chính tả đặc biệt là viết thiếu chữ, và nhận biết được tên của người kể cả tên của quận, huyện, tỉnh, nó cứ tách từ thường, bởi vì các tên đó cũng là cụm từ của những từ đơn ghép lại với có nghĩa từ điển không, và không có chữ viết hoa, nói chung là không có ký hiệu chuẩn nào trăm phần trăm để chỉ định đó là tên Vì vậy, đó là một khó khăn mà gặp được quá trình tách từ tiếng Lào Tuy nhiên, Hệ thống tự động phân loại văn bản tiếng Lào vẫn đạt kết quả khá tốt Hướng phát triển - Nghiên cứu phương pháp phát hiện và sửa chữa những từ sai chính tả Tối ưu hóa Hệ thống tự động phân loại văn bản tiếng Lào ... pháp Naïve Bayes để phân loại văn bản tiếng Lào 20 CHƯƠNG XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO 3.1 Mơ hình hệ thống Trong hệ thớng tự đợng phân loại văn bản tiếng Lào... trưng 17 2.5 Phân loại văn bản tiếng Lào sử dụng Naive Bayes 17 2.6 Kết Luận .19 CHƯƠNG XÂY DỰNG HỆ THỐNG TỰ ĐỘNG PHÂN LOẠI VĂN BẢN TIẾNG LÀO .20... để xây dựng hệ thống tự động phân loại văn bản tiếng Lào 6 CHƯƠNG MƠ HÌNH PHÂN LOẠI VĂN BẢN TIẾNG LÀO Trong chương này trình bày về mô hình tổng quan phân loại văn bản tiếng Lào,

Ngày đăng: 13/08/2018, 13:29

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

Tài liệu liên quan