Đề xuất thuật toán phân loại văn bản tiếng Việt sử dụng mạng LSTM và Word2vec
Tóm tắt: Hiện nay, phân loại văn bản là một trong những ứng dụng cơ bản của
xử lý ngôn ngữ tự nhiên. Đặc biệt, những thành tựu gần đây của các mạng học sâu
cho thấy các phương pháp học sâu đang làm rất tốt trong việc phân loại văn bản.
Các phương pháp này cho thấy hiệu quả trong việc phân loại văn bản với ngôn ngữ
tiếng Anh. Tuy nhiên, hiện nay, trong phạm vi nghiên cứu của chúng tôi, không có
nhiều nghiên cứu đối với văn bản tiếng Việt. Do đó, trong nghiên cứu này, chúng tôi
sử dụng mạng Long Short Term Memory (LSTM) kết hợp với Word2vec để phân
loại văn bản nhằm cải thiện hiệu suất và độ chính xác. Kết quả đánh giá mô hình
trên bộ văn bản tiếng Việt VNTC [1] đã cho thấy sự khả thi và hứa hẹn áp dụng
trong thực tế
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Đề xuất thuật toán phân loại văn bản tiếng Việt sử dụng mạng LSTM và Word2vec
& Điện tử N. T. M. Ánh, N. H. Phát, “Đề xuất thuật toán phân loại văn bản LSTM và Word2vec.” 76 tạo một thư mục để biểu diễn tài liệu. Mỗi từ sẽ được đưa về dạng vector chỉ bao gồm một số 1 và các thành phần còn lại là 0. Trong bài toán này, chúng tôi sẽ sử dụng thêm Word2vec giúp cải thiện việc xuất đặc trưng cho văn bản. Khi thực hiện bài toán, sau khi thử nghiệm tập pre-train có sẵn của thư viện gensim không có nhiều sự phù hợp với bộ dữ liệu của mình. Với tập dữ liệu lên tới hơn 80000 văn bản, chúng tôi đã train lại mô hình Word2vec để có thể cải thiện cho bài toán của mình với embedding_size = 300, window_size = 5. Dưới đây là hình ảnh biểu diễn một số từ của model đã train sử dụng t-SNE. Hình 7. Các từ trong không gian vector từ Word2Vec. 2.2.4. Phân loại văn bản Trong bài toán này, do một bản tin thường dao động từ 500 – 1000 từ nên để có thể giảm kích thước đầu vào cho mạng thì chúng tôi lựa chọn độ dài tối đa của mỗi văn bản là 400, kích thước của word embedding là 300. Việc lựa chọn kích thước văn bản và không gian vector để có thể giải quyết vấn đề về dữ liệu nhiều chiều của các phương pháp truyền thống. Chúng tôi huấn luyện mô hình với 1 lớp ẩn có 128 units, sử dụng RMSProp với tỷ lệ học (learning rate) là 0,001 cho hàm tối ưu, sử dụng dropout là 0,4. 2.2.5. Tiêu chí đánh giá Để đánh giá hiệu suất của mô hình, chúng tôi sử dụng Precision, Recall và F1-score làm tiêu chí đánh giá của bài toán này. Để minh họa ý nghĩa của các chỉ số này, confusion matrix [4] được thể hiện dưới bảng sau: Bảng 1. Confution Matrix. Negative Pre Positive Pre Negative Act True Negative(TN) False Positive(FP) Positive Act False Negative(FN) True Positive(TP) Trong đó: - TN là kết quả trong đó mô hình dự đoán chính xác lớp negative. - TP là kết quả trong đó mô hình dự đoán chính xác lớp positive. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 69, 10 - 2020 77 - FN là kết quả trong đó mô hình dự đoán không chính xác lớp negative. - FP là kết quả trong đó mô hình dự đoán không chính xác lớp positive. Precision là tỉ lệ số điểm Positive mô hình dự đoán đúng trên tổng số điểm mô hình dự đoán là Positive: Precision = 𝑇𝑃 𝑇𝑃+𝐹𝑃 (11) Recall là tỉ lệ số điểm Positive mô hình dự đoán đúng trên tổng số điểm thật sự là Positive (hay tổng số điểm được gán nhãn là Positive ban đầu): Recall = 𝑇𝑃 𝑇𝑃+𝐹𝑁 (12) F1-score là trung bình điều hòa (harmonic mean) của precision và recall (giả sử hai đại lượng này khác 0): 2 𝐹1 = 1 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 1 𝑅𝑒𝑐𝑎𝑙𝑙 (13) 3. KẾT QUẢ VÀ THẢO LUẬN Kết quả của mô hình mà chúng tôi đã thực hiện: Bảng 2. So sánh kết quả thuật toán. Precision Recall F1-score LSTM 92.36% 91.81% 92,09% LSTM + Word2Vec (Mô hình đề xuất) 95,55% 95,93% 95,74% Từ bảng 2 cho thấy kết quả của việc phân loại văn bản tiếng Việt, độ chính xác của mô hình phân loại văn bản sử dụng LSTM kết hợp với Word2vec cao hơn so với mô hình phân loại văn bản chỉ sử dụng LSTM. Do mô hình Word2Vec được đào tạo trước tương đương với việc tăng khối lượng đào tạo một cách gián tiếp. Hơn nữa, Word2vec có thể ngăn chặn sự phù hợp quá mức (over fiting), giảm số lượng các thông số cần thiết trong đào tạo và cải thiện độ chính xác. Đồng thời, các thử nghiệm của bài toán dựa trên CNN và CNN + Word2vec được thực hiện riêng. Hai đặc điểm quan trọng của CNN là ý nghĩa cục bộ (local sensing) và chia sẻ trọng số (weight sharing). Thuật toán CNN khi được áp dụng vào bài toán này thì coi đoạn văn bản đầu vào là một ma trận 2 chiều có kích thước 400x300. Độ dài cố định của mỗi văn bản là 400 và kích thước word embedding của từng từ là 300. Bảng 3. So sánh các thuật toán khác. Precision Recall F1-score CNN 83.48% 83.02% 83,25% CNN+ Word2Vec 84,13% 84,89% 84,01% Kết quả trên cho thấy rằng, độ chính xác của mô hình phân loại văn bản dựa trên LSTM + Word2vec cho kết quả tốt hơn nhiều so với thuật toán CNN. CNN có những lợi thế lớn trong việc xử lý hình ảnh, tuy nhiên, đối với phân loại văn bản thì mô hình này cho kết quả không cao. Có thể thấy rằng, LSTM cho kết quả tốt trong việc xử lý các dữ liệu là dạng text. Thuật toán LSTM là phương pháp xử lý dạng chuỗi, trong quá trình học dữ liệu nó sẽ ghi nhớ dữ liệu trong quá khứ và xử lý dựa vào cả dữ liệu hiện tại và quá khứ nên có sự liên kết giữa các từ nên đạt được độ chính xác cao hơn so với CNN. Kỹ thuật điều khiển & Điện tử N. T. M. Ánh, N. H. Phát, “Đề xuất thuật toán phân loại văn bản LSTM và Word2vec.” 78 Bảng 4. So sánh các phương pháp phân loại văn bản khác đã thực nghiệm. Tác giả Phương pháp Dữ liệu Số đặc trưng Độ chính xác (%) BùiKhánh Linh, Nguyễn Thị Thu Hà, Nguyễn Thị Ngọc Tú, Đào Thanh Tĩnh [17] Mô hình chủ đề VLSP (20000 câu) 829; 339 83; 94.07 Nguyễn Linh Giang, Nguyễn Mạnh Hiển [18] Support Vector Machine (SVM) [6] (4162 tài liệu) 7721 80,72 Phu X.V. Nguyen, Tham T.T Hong, Kiet Van Nguyen, Ngan Luu-Thuy Nguyen [20] Naive Bayes, Maxent, LSTM, Bi-LSTM Vietnamese Students’ Feedback Corpus for Sentiment Analysis (16000 phản hồi) [21] 300 81,2 – 89,6 V. C. D. Hoang, D. Dinh, N. le Nguyen and H. Q. Ngo [1] SVM kNN NGram VNTC [1] N/A 93,4% 84,67% 97,1% Toan Pham Van, Ta Minh Thanh [22] SVM Random Forest SVC Neural Network VNTC [1] N/A 96,52% 99,21% 99,22% 99,75% Hung T.Vo, Duc Dung Nguyen [26] Naive Bayes kNN SVM N/A Bag – of – structure (BoS) 72,6% 83,66% 87,95% Huy – Thanh Duong, Vinh Truong Hoang [27] Linear SVM VNNews-01 Tf-Idf 92,3% Huy – Tien Nguyen, Bac Le [28] LSTM + CNN VS 200 87,5% Từ bảng trên, mặc dù mỗi nghiên cứu thực hiện trên những bộ dữ liệu khác nhau nhưng nhìn chung khi sử dụng phương pháp đề xuất là sử dụng mô hình LSTM + Word2vec đã cải thiện được kết quả so với các phương pháp truyền thống như Naive Bayes, kNN,... So với việc sử dụng các mạng LSTM, Bi-LSTM,... chúng tôi kết hợp với phương pháp Word2vec cũng đã giúp cải thiện kết quả và thời gian thực hiện. Kết quả của chúng tôi cho thấy sự vượt trội so với các phương pháp tương tự như trong [20] tác giả cũng sử dụng LSTM, bộ dữ liệu là 16000 phản hồi và phân loại với 4 nhãn còn đối với nghiên cứu chúng tôi có 10 nhãn và kết quả cải thiện 6% về độ chính xác. Với những nghiên cứu sử dụng cùng bộ dữ liệu với chúng tôi, phương pháp của chúng tôi cũng đã đạt được kết quả tốt hơn hoặc tương đương với các phương pháp truyền thống đã đạt được nhiều kết quả tốt trong xử lý ngôn ngữ tự nhiên là SVM như trong [18, 1, 26, 27]. Việc kết hợp giữa LSTM và phương pháp học sâu khác như CNN trong [28] mặc dù chỉ phân loại 3 nhãn nhưng đạt kết quả vẫn còn hạn chế so với phương pháp của chúng tôi. Trong [22], nghiên cứu đã đạt được kết quả rất tốt trên tập Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 69, 10 - 2020 79 dữ liệu VNTC, trong đề xuất đã sử dụng các phương pháp vector hóa các từ và phân lớp văn bản khác với chúng tôi. Với kiến trúc mạng mới kết hợp với Bag of Word và Keyword Extraction đã đạt tới 99.75% độ chính xác, tốt hơn so với phương pháp đề xuất của chúng tôi. Qua đây có thể thấy, phương pháp đề xuất của chúng tôi vẫn còn nhiều hạn chế và chúng tôi sẽ tiếp tục cải thiện trong những nghiên cứu tiếp theo. 4. KẾT LUẬN Việc phân loại văn bản là công việc cơ bản và cũng có vai trò quan trọng trong việc nghiên cứu, khai thác lượng dữ liệu lớn hiện nay. Trong bài viết này, chúng tôi đã trình bày phương pháp phân loại văn bản dựa trên mô hình LSTM. Thuật toán LSTM khắc phục được vấn đề đạo hàm biến mất (vanishing gradient), có sự liên kết giữa các đặc trưng trong câu, liên kết giữa từ chính và các từ ngữ cảnh giúp cải thiện kết quả của mô hình. Đóng góp của chúng tôi là đã đề xuất sử dụng kết hợp mô hình Word2vec giúp giảm số chiều của không gian đặc trưng để làm giảm độ phức tạp của phương pháp. Việc học lại đặc trưng bằng phương pháp Word2vec trên bộ dữ liệu VNTC giúp liên kết đặc trưng phù hợp, liên quan và tương tự nhau giúp nâng cao hiệu quả của mô hình. Với phương pháp Word2vec, chúng tôi sử dụng số chiều là 300, giảm số đặc trưng so với các phương pháp khác giúp tăng tốc độ xử lý, tránh hiện tượng sự bùng nổ tổ hợp (curse of dimensionality). Chúng tôi đã kiểm chứng mô hình này so với việc không sử dụng Word2vec cho thấy khi sử dụng kết hợp với Word2vec kết quả cho tốt hơn. Do việc trích chọn đặc trưng từ Word2vec đã giúp mô hình chọn ra những đặc trưng phù hợp và giúp mô hình cải thiện độ chính xác. Thực nghiệm đã so sánh kết quả phân loại văn bản sử dụng LSTM với CNN, qua đó cho thấy rằng LSTM thực sự tốt hơn CNN. Mô hình của chúng tôi cũng đã cải thiện kết quả so với những phương pháp học truyền thống khác. Tuy nhiên, khi sử dụng mô hình này, chúng tôi thấy một số nhược điểm của mô hình này như sau: - Thời gian train mô hình lâu hơn so với các phương pháp như SVM, CNN. - Mặc dù được cải thiện về vấn đề đạo hàm biến mất của RNN nhưng đối với một số câu văn quá dài thì phương pháp vẫn xuất hiện hiện tượng này, điều này gây ra những trường hợp sai sót trong việc phân loại. - Hiệu quả không tốt trong thực tế. Công việc tiếp theo sẽ thực hiện là cải thiện mô hình phân loại bằng việc sử dụng kết hợp với các kỹ thuật khác để cải thiện hiện tượng biến mất đạo hàm như attention và cải thiện độ chính xác bằng việc sử dụng kết hợp với các mô hình học sâu khác. TÀI LIỆU THAM KHẢO [1]. V. C. D. Hoang, D. Dinh, N. le Nguyen and H. Q. Ngo, "A Comparative Study on Vietnamese Text Classification Methods," IEEE International Conference on Research, Innovation and Vision for the Future, Hanoi, 2007, pp. 267-273. [2]. T.V. Trung, Python Vietnamese Core NLP Toolkit (2019), Online: https://github.com/trungtv/pyvi [3]. Stopwords/Vietnamese stopwords (2019), Online: https://github.com/stopwords/vietnamese-stopwords [4]. Ting K.M., “Confusion Matrix,” In Sammut C., Webb G.I. (eds) Encyclopedia of Machine Learning and Data Mining. Springer, Boston, MA, 2017. [5]. Detailed explanation of Word2Vector Skip-gram (2013), Online: [6]. Vnexpress, Online: https://vnexpress.net/ Kỹ thuật điều khiển & Điện tử N. T. M. Ánh, N. H. Phát, “Đề xuất thuật toán phân loại văn bản LSTM và Word2vec.” 80 [7]. Tuoitre, Online: https://tuoitre.vn/ [8]. Thanhnien, Online: https://thanhnien.vn/ [9]. Người lao động, Online: https://nld.com.vn/ [10]. Hông P. L., Huyen T. M. N., Roussanaly A., Vinh H. T., “A Hybrid Approach to Word Segmentation of Vietnamese Texts. In: Martín-Vide C.,” Otto F., Fernau H. (eds) Language and Automata Theory and Applications. LATA 2008, pp 240-249. [11]. Thomas F. and Christopher K., “Deep learning with long short-term memory networks for financial market predictions,” European Journal of Operational Research, vol. 270, no. 2, pp. 654-669, 2018. [12]. Thanh V.Nguyen, Hoang K.Tran, Thanh T.T.Nguyen, Hung Nguyen. “Word Segmentation for Vietnamese Text Categorization: An online corpus approach”. [13]. Tạ Nguyễn, Vũ Đức Lung, “Xây dựng hệ thống rút trích các nội dung chính của văn bản khoa học tiếng Việt dựa trên cấu trúc”, (2014). [14]. Lizhong Xiao, Guanghong Wang, Yang Zuo, “Research on patent text classification based on Word2vec and LSTM”, (2018). [15]. Raouf Ganda, “Efficient Deep Learning Model for Text Classification Based on Recurrent and Convolutional Layers”, (2017). [16]. Anurag Sarkar, Saptarshi Chatterjee, Writayan Das, Debabrata Datta. “Text Classification using Support Vector Machine”. [17]. Bùi Khánh Linh, Nguyễn Thị Thu Hà, Nguyễn Thị Ngọc Tú, Đào Thanh Tĩnh. “Phân loại văn bản tiếng Việt dựa trên mô hình chủ đề.” [18]. Nguyễn Linh Giang, Nguyễn Mạnh Hiển, “Phân loại văn bản tiếng Việt với bộ phân loại vectơ hỗ trợ SVM”, (2005). [19]. Radhika Kuttala, Bindu K R, Latha Parameswaran, “A text classification model using convolution neural network and recurrent neural network”, (2018). [20]. Phu X.V. Nguyen, Tham T.T Hong, Kiet Van Nguyen, Ngan Luu-Thuy Nguyen. “Deep Learning versus Traditional Classifiers on Vietnamese Students’ Feedback Corpus”, (2018). [21]. Kiet Van Nguyen, Vu Duc Nguyen, Phu Xuan-Vinh Nguyen, Tham Thi-Hong Truong, Ngan Luu-Thuy Nguyen, UIT-VSFC: “Vietnamese Students’ Feedback Corpus for Sentiment Analysis”, 2018 10th International Conference on Knowledge and Systems Engineering (KSE 2018), November 1-3, 2018, Ho Chi Minh City, Vietnam. [22]. Toan Pham Van, Ta Minh Thanh, “Vietnamese News Classification based on BoW with Keywords Extraction and Neural Network”, (2017). [23]. Dat Quoc Nguyen, Dai Quoc Nguyen, Thanh Vu, Mark Dras, Mark Johnson, “A Fast and Accurate Vietnamese Word Segmenter”, (2018) [24]. Dat Quoc Nguyen, Karin Verspoor, “An improved neural network model for joint POS tagging and dependency parsing”, (2018) [25]. Le Hong Phuong, Huyen Thi Minh Nguyen, Azim Roussanaly, Tuong Vinh Ho, “A Hyvird Approach to word Segmentation of Vietnamese Texts.” [26]. Hung T.Vo, Hai C.Lam, Duc Dung Nguyen, Nguyen Huynh Tuong. “Topic classification and sentiment analysis for Vietnamese education survey system.” (2016) [27]. Huy – Thanh Duong, Vinh Truong Hoang. “A survey on the multiple classifier for new benchmark dataset of Vietnamese news classification.” (2019) [28]. Huy – Tien Nguyen, Bac Le. “Multi – channel LSTM – CNN model for Vietnamese sentiment analysis.” (2017) Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 69, 10 - 2020 81 ABSTRACT PROPOSAL CLASSIFICATION ALGORITHM OF VIETNAMESE TEXT USING LONG SHORT TERM MEMORY AND WORD2VECABSTRACT Recently, text classification is considered as a fundamental approach in Natural Language Processing (NLP). It can be widely applied into numerous fields namely sentiment analyses, topic labelings and so on. Specifically, recent achievements have shown that Deep Learning (DL) methods obtained great performance in classifying texts. These methods have positive effects on text classification, especially in English. However, there are few studies investigating about their impacts on Vietnamese text classification. Therefore, in this research, Long Short Term Memory (LSTM) network and Word2Vec engine were used in text classification with the aim of improving efficiency and accuracy. The results of model evaluation on Vietnamese text VNTC [1] we concluded were feasible and likely to be applied in real-life contexts in the near future. Keywords: Text Classification; Natural Language Processing; Long Short Term Memory; Word2vec; Data Processing. Nhận bài ngày 23 tháng 4 năm 2020 Hoàn thiện ngày 13 tháng 6 năm 2020 Chấp nhận đăng ngày 15 tháng 10 năm 2020 Địa chỉ: Viện Điện tử Viễn thông, Đại học Bách khoa Hà Nội. * Email: phat.nguyenhuu@hust.edu.vn.
File đính kèm:
- de_xuat_thuat_toan_phan_loai_van_ban_tieng_viet_su_dung_mang.pdf