Đăng ký Đăng nhập
Trang chủ Phân loại văn bản dựa trên mô hình tiền xử lý transfomer ...

Tài liệu Phân loại văn bản dựa trên mô hình tiền xử lý transfomer

.PDF
53
1
130

Mô tả:

ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA ———————————————- TỪ LÃNG PHIÊU PHÂN LOẠI VĂN BẢN DỰA TRÊN MÔ HÌNH TIỀN XỬ LÝ TRANSFORMER Ngành: Khoa học Máy tính Mã ngành: 60.48.01.01 LUẬN VĂN THẠC SĨ TP. HỒ CHÍ MINH, tháng 08 năm 2021 CÔNG TRÌNH ĐƯỢC HOÀN THÀNH: TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM Cán bộ hướng dẫn: PGS.TS. Quản Thành Thơ Cán bộ chấm nhận xét 1: TS. Lê Thanh Vân Cán bộ chấm nhận xét 2: TS. Nguyễn Lưu Thùy Ngân Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp. HCM ngày 06 tháng 08 năm 2021 (trực tuyến). Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: 1. 2. 3. 4. 5. TS. Nguyễn Đức Dũng TS. Nguyễn Tiến Thịnh TS. Lê Thanh Vân TS. Nguyễn Lưu Thùy Ngân PGS.TS Lê Anh Cường - Chủ tịch - Thư ký - Phản biện 1 - Phản biện 2 - Ủy viên Xác nhận của Chủ tịch Hội đồng đánh giá luận văn và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có). CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA ——————– CỘNG HÒA XÃ HÔI CHỦ NGHĨA VIỆT NAM Độc Lập - Tự Do - Hạnh phúc ——————— NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ và tên học viên: Từ Lãng Phiêu MSHV: 1770158 Ngày, tháng năm sinh: 12/05/1979 Nơi sinh: Ninh Thuận Chuyên ngành: Khoa học máy tính Mã số: 60.48.01.01 1. TÊN ĐỀ TÀI: Phân loại văn bản dựa trên mô hình tiền xử lý Transformer/Text classification Transformer-based pre-trained language model. 2. NHIỆM VỤ VÀ NỘI DUNG: Phân loại văn bản dựa trên mô hình cổ điển. Từ đó, kết hợp với mô hình học sâu để so sánh độ chính xác giữa các mô hình. Tiến hành hiện thực và đánh giá độ hiệu quả của các mô hình. 3. NGÀY GIAO NHIỆM VỤ: 22/02/2021 4. NGÀY HOÀN THÀNH NHIỆM VỤ: 13/06/2021 5. CÁN BỘ HƯỚNG DẪN: PGS.TS. Quản Thành Thơ. TP. Hồ Chí Minh, ngày 15 tháng 7 năm 2021 CÁN BỘ HƯỚNG DẪN (Họ tên và chữ ký) CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên và chữ ký) TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH (Họ tên và chữ ký) Lời cảm ơn Tôi xin cảm ơn PGS.TS. Quản Thành Thơ, thầy đã hỗ trợ tận tình cho tôi rất nhiều ngay từ những ngày đầu thực hiện luận văn, thầy đã góp ý và chỉ dạy cho tôi kiến thức chuyên môn trong học tập khi định hướng làm đề tài này. Tôi xin cảm ơn em Vũ Đức Duy đã hỗ trợ tôi tìm hiểu về cơ sở lý thuyết và đồng hành góp ý và cho tôi những tài liệu quan trọng trong việc hiện thực đề tài. Tôi cũng xin cảm ơn các bạn trong nhóm nghiên cứu Unlimited Research Group of AI(URA) của thầy Thơ đã giúp tôi thu thập dữ liệu cho đề tài, mọi dữ liệu mà nhóm cung cấp là vô cùng quý giá giúp cho đề tài rất nhiều. Cuối cùng tôi xin bày tỏ lòng biết ơn đến thầy Thơ, em Vũ Đức Duy cùng quý thầy cô đã giảng dạy và hướng dẫn tôi trong khoảng thời gian qua. Tôi cũng cảm ơn gia đình, bạn bè những người đã theo dõi và sát cánh với tôi trên mọi chặng đường trong thời gian học tập. TP. Hồ Chí Minh, ngày 06 tháng 08 năm 2021 Học viên thực hiện Từ Lãng Phiêu Tóm tắt luận văn Phân loại văn bản là quá trình phân loại tài liệu cho một danh mục nào dựa trên những nội dung liên quan trong tài liệu đó. Một số ứng dụng cho bài toán phân loại như: • Phân loại nội dung vào từng chủ đề cho bài báo điện tử. • Phân loại email spam hay không spam. • Hiểu được ý nghĩa, đánh giá, bình luận của người dùng từ mạng xã hội. Có rất nhiều mô hình được sử dụng cho bài toán phân loại, một trong những bài toán phân loại đầu tiên là dùng mô hình cổ điển như Naive Bayes, Support Vector Machine hoặc mô hình cây quyết định. Tuy nhiên mô hình cổ điển có độ chính xác không cao và chỉ giải quyết được bài toán có tập dữ liệu nhỏ. Để giải quyết vấn đề trên luận văn sẽ tập trung vào xây dựng mô hình học sâu và so sánh và đánh giá từng loại mô hình. đặc biệt luận văn dùng mô hình BERT dựa trên kiến trúc Transformer, mô hình này xử lý song song thay vì xử lý tuần tự như mô hình học sâu khác và được đánh giá là một mô hình tốt nhất hiện nay trong lĩnh vực xử lý ngôn ngữ tự nhiên. Và sau cùng là xây dựng giao diện cho bài toàn phân loại này. Abstract Text classification is the process of classifying documents into a certain category based on the related content in that document. Some applications for classification problems are as follows: • Categorize content into each topic for electronic articles. • Classify spam or non-spam emails. • Understand the meaning, rating, comments of users from social networks. There are many models used for classification problems, one of the first classification problems is to use shallow models such as Naive Bayes, Support Vector Machine, or decision tree models. However, shallow models have The accuracy is not high and only solves the problem with small data set. To solve the above problem, the thesis will focus on building deep learning models and comparing and evaluating each type of model. In particular, the thesis uses the BERT model using Transformer architecture for parallel processing instead of sequential processing like other deep learning models and is considered as the best model currently in the field of natural language processing. And finally, build the interface for this all-category post. Lời cam đoan Tôi xin cam đoan luận văn “Phân loại văn bản dựa trên mô hình tiền xử lý Transformer-based” là kết quả nghiên cứu của tôi dưới sự hướng dẫn và góp ý của PGS. TS Quản Thành Thơ. Những thông tin tham khảo từ các công trình khác có liên quan đều đã được ghi rõ trong luận văn. Nội dung nghiên cứu và các kết quả đều là do chính tôi thực hiện, không sao chép hay lấy từ một nguồn nào khác. Tôi xin chịu toàn bộ trách nhiệm về lời cam đoan này. TP. Hồ Chí Minh, ngày 06 tháng 08 năm 2021 Từ Lãng Phiêu Mục lục Nhiệm vụ luận văn i Lời cảm ơn ii Tóm tắt luận văn iii Abstract iv Lời cam đoan v Chương 1 MỞ ĐẦU 1.1 Lý do chọn đề tài . . . . . . . . . . . . 1.1.1 Giới thiệu sơ lược . . . . . . . . 1.1.2 Lý do chọn đề tài . . . . . . . . 1.2 Mục tiêu, đối tượng phạm vi nghiên cứu 1.2.1 Mục tiêu . . . . . . . . . . . . . 1.2.2 Đối tượng . . . . . . . . . . . . 1.2.3 Phạm vi nghiên cứu . . . . . . . 1.3 Ý nghĩa thực tiễn và ý nghĩa khoa học . 1.3.1 Ý nghĩa thực tiễn . . . . . . . . 1.3.2 Ý nghĩa khoa học . . . . . . . . . . . . . . . . . . 1 1 1 2 2 2 3 3 3 3 4 . . . . . . 5 5 5 7 8 8 8 . . . . . . . . . . . 9 9 9 10 10 11 11 12 14 15 15 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chương 2 TỔNG QUAN 2.1 Các công trình liên quan . . . . . . . . . . . . . . 2.1.1 Mô hình học nông- shallow learning model 2.1.2 Mô hình học sâu - Deep learning model . . 2.2 Vấn đề chung còn tồn tại . . . . . . . . . . . . . . 2.3 Hướng giải quyết . . . . . . . . . . . . . . . . . . 2.4 Kết quả dự kiến của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chương 3 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC NGHIỆM 3.1 Cơ sở lý thuyết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Mạng neural nhân tạo - Artificial Neural Network (ANN) . . . . . . . . . . 3.1.2 Activation Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.1 Sigmoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.2 Tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2.3 ReLU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Word2Vec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.4 Mạng hồi quy - Recurrent Neural Network (RNN) . . . . . . . . . . . . . . 3.1.5 Lan truyền ngược theo thời gian - Back Propagation Through Time (BPTT) 3.1.6 Vanishing Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7 Long Short Term Memory (LSTM) . . . . . . . . . . . . . . . . . . . . . 3.2 3.1.7.1 Tổng quan [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.7.2 Cấu trúc mạng LSTM . . . . . . . . . . . . . . . . . . . . . . . . 3.1.8 Cơ chế tập trung(Attention)[2] . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.9 Mô hình chuyển đổi-(Transformer) . . . . . . . . . . . . . . . . . . . . . . . 3.1.9.1 Biểu diễn vị trí (Positional Encoding) . . . . . . . . . . . . . . . . 3.1.9.2 Bộ Mã hóa (Encoder) . . . . . . . . . . . . . . . . . . . . . . . . 3.1.9.3 Cơ chế tự chú ý trong Transformer (Self-Attention) . . . . . . . . . 3.1.10 Cách tính Cơ chế tự chú ý trong Transformer . . . . . . . . . . . . . . . . . . 3.1.10.1 Cơ chế tập trung đa đầu (Multi Head Attention) . . . . . . . . . . . 3.1.10.2 Residuals Connection và Normalization Layer . . . . . . . . . . . 3.1.11 Đại diện bộ mã hóa hai chiều từ Transformer encoder- Bidirectional Encoder Representation from Transformer (BERT) . . . . . . . . . . . . . . . . . . . 3.1.11.1 Tổng quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.11.2 Đại diện bộ mã hóa hai chiều từ Transformer encoder . . . . . . . . 3.1.11.3 Masked Language Modeling . . . . . . . . . . . . . . . . . . . . . 3.1.11.4 Phương pháp Fine-tuning BERT . . . . . . . . . . . . . . . . . . . Phương pháp thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Phương pháp thu thập dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Phương pháp xử lý tiếng Việt . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Phương pháp mô hình học sâu . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3.1 Tiền xử lý . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3.2 Xây dựng mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3.3 Đánh giá mô hình . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Phương pháp nghiên cứu khoa học . . . . . . . . . . . . . . . . . . . . . . . 3.2.5 Đánh giá kết quả . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 Mô hình ngôn ngữ - Language Model (LM) . . . . . . . . . . . . . . . . . . 3.2.6.1 Mô hình Word2vec-LSTM . . . . . . . . . . . . . . . . . . . . . . 3.2.6.2 Mô hình dựa trên kiến trúc Transformer Encoder . . . . . . . . . . Chương 4 HIỆN THỰC VÀ ĐÁNH GIÁ 4.1 Hiện thưc đề tài . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Mô hình bài toán . . . . . . . . . . . . . . . . . . 4.1.2 Giải thích chi tiết mô hình . . . . . . . . . . . . . 4.1.2.1 Mô hình Word2Vec-LSTM . . . . . . . . 4.1.2.2 Mô hình Word2Vec-CNN . . . . . . . . 4.1.2.3 Mô hình tiền xử lý dựa trên Transformer . 4.2 Đánh giá . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Tập dữ liệu . . . . . . . . . . . . . . . . . . . . . 4.2.2 Cách đánh giá . . . . . . . . . . . . . . . . . . . . 4.2.3 Kết quả . . . . . . . . . . . . . . . . . . . . . . . 16 17 19 20 21 22 23 23 24 25 25 25 25 25 26 27 27 27 27 27 27 28 28 28 28 28 29 . . . . . . . . . . 31 31 31 31 31 32 32 35 35 36 36 Chương 5 KẾT LUẬN VÀ KIẾN NGHỊ HƯỚNG MỞ RỘNG CỦA ĐỀ TÀI 5.1 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Hướng mở rộng của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 39 TÀI LIỆU THAM KHẢO 40 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Danh sách hình vẽ 1.1 Minh họa phân loại văn bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2.1 Lưu đồ phân loại văn bản bằng mô hình cổ điển và học sâu . . . . . . . . . . . . . . 5 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32 3.33 Kiến trúc của mạng ANN . . . . . . . . . . . . . . Mô hình mạng Nơ-ron . . . . . . . . . . . . . . . . Sigmoid . . . . . . . . . . . . . . . . . . . . . . . Tanh . . . . . . . . . . . . . . . . . . . . . . . . . ReLU . . . . . . . . . . . . . . . . . . . . . . . . mối tương quan giữa các từ trong corpus . . . . . . mô hình skip-gram . . . . . . . . . . . . . . . . . mô hình CBOW . . . . . . . . . . . . . . . . . . . Mô hình RNN và biểu diễn mạng theo trục thời gian BPTT cho mạng RNN . . . . . . . . . . . . . . . . Mô hình chuẩn mạng RNN . . . . . . . . . . . . . Mô hình mạng LSTM . . . . . . . . . . . . . . . . Các kí hiệu trên mô hình . . . . . . . . . . . . . . Đường truyền thẳng của mạng LSTM . . . . . . . . Cổng forget của mạng LSTM . . . . . . . . . . . . Cập nhật trạng thái Ct . . . . . . . . . . . . . . . . Cổng output của Ct . . . . . . . . . . . . . . . . . Cổng output của ht . . . . . . . . . . . . . . . . . Cơ chế Attention áp dụng trong bài toán dịch máy. . Mô hình mạng Transformer. . . . . . . . . . . . . . Encoder và Decoder của mô hình Transformer. . . . Kiến trúc mô hình Transformer. . . . . . . . . . . . Tổng quan mô hình Transformer. . . . . . . . . . . Phương pháp biểu diễn vị trí các từ . . . . . . . . . Kiến trúc 1 lớp encoder . . . . . . . . . . . . . . . Cơ chế Self-Attention. . . . . . . . . . . . . . . . . Tính Self-Attention. . . . . . . . . . . . . . . . . . Multi head attention. . . . . . . . . . . . . . . . . Kiến trúc transformer endcoder . . . . . . . . . . . fine-tuning BERT . . . . . . . . . . . . . . . . . . Sơ đồ mô hình Word2vec-LSTM . . . . . . . . . . Mô hình LSTM . . . . . . . . . . . . . . . . . . . Mô hình phân loại dùng Transformer encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 10 11 12 12 13 14 14 15 16 16 16 17 17 18 18 18 19 20 20 21 21 22 22 23 24 25 26 26 28 29 29 4.1 4.2 4.3 Mô hình thực hiện bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mô hình thực hiện bài toán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mô hình tiền xử lý dựa trên kiến trúc Transformer . . . . . . . . . . . . . . . . . . . 31 31 32 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 4.5 4.6 4.7 4.8 4.9 4.10 Thông tin vị trí các từ khi đưa vào mô hình Transformer Thực hiện phép nhân embedding với ma trận trọng số . Tính toán kết quả cho vector Z . . . . . . . . . . . . . Sau khi lấy softmax vector Z . . . . . . . . . . . . . . Kết quả dự đoán của mô hình cho một tập dữ liệu . . . Kết quả đánh giá mô hình cho một tập dữ liệu . . . . . Kết quả dự đoán . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 34 34 35 37 37 38 1 MỞ ĐẦU 1.1 1.1.1 Lý do chọn đề tài Giới thiệu sơ lược Phân loại (Classification): Việc phân loại diễn ra khi biến đầu ra là một thể loại nào đó, chẳng hạn như “đỏ” hoặc “xanh” hoặc “bệnh” và “không có bệnh”. Phân loại văn bản là một bài toán thuộc lĩnh vực xử lý ngôn ngữ tự nhiên. Mục tiêu của phân loại văn bản là tự động hóa phân loại văn bản vào một hoặc nhiều danh mục (chuyên mục) đã được xác định trước đó. Một vài ví dụ của phân loại văn bản là: • Phân loại cảm xúc của người viết bài (vui, buồn, tức giận...) từ mạng xã hội. • Phát hiện thư rác • Tự động gán nhãn các truy vấn của khách hàng. • Sắp xếp các tin tức trên báo vào các danh mục tương ứng như từ thiện, thể thao, giải trí, xã hội... như các tờ báo điện tử thường làm. Việc này có thể được thực hiện thủ công bởi các biên tập viên tuy nhiên nó rất là mất thời gian và công sức. Thay vào đó chúng ta sẽ sử dụng một số kĩ thuật học máy để tiến hành phân loại tự động các tin tức đó sẽ đỡ tốn công sức của các biên tập viên rất nhiều. Hình 1.1: Minh họa phân loại văn bản 1 MỞ ĐẦU Ví dụ: Trong hình 1.1 các nội dung của bài báo liên qua đến từ thiện sẽ được xếp vào mục có chủ đề là từ thiện. Phân loại các bài báo thành các chủ đề đã được xác định trước, là một lĩnh vực nghiên cứu rất tích cực cả trong học tập và trong các ngành công nghiệp. Đi theo các bài toán phân loại có thể dùng các thuật toán phân loại (trong machine learning hay deep learning): Naive Bayes, Decision Tree (Random Forest), Vector Support Machine (SVM), Convolution Neural Network (CNN), Recurrent Neural Network (RNN), Long Short-Term Memory (LSTM, Bi-LSTM). . . Ví dụ: Naive Bayes được sử dụng rất nhiều trong bài toán Phân loại thư rác. Mở ra một kỷ nguyên mới cho ứng dụng xử lý ngôn ngữ tự nhiên bằng cách dự trên mô hình học sâu của mạng nơ-ron. Nghiên cứu trong lĩnh vực sử dụng các mô hình được huấn luyện trước khi cho kết quả có độ chính xác cao và mang đến cho nhiều ứng dụng trong xử lý ngôn ngữ tự nhiên, chẳng hạn như phân loại văn bản, suy luận tự nhiên và trả lời câu hỏi như mô hình sử dụng CNN hoặc mô hình LSTM được thử nghiệm cho bài toán phân loại văn bản cho độ chính xác tương đối cao điển hình như mô hình CNN hoặc mô hình LSTM được thử nghiệm cho bài toán Phân loại cho độ chính xác tương đối cao. Tuy nhiên vào cuối năm 2018, các nhà nghiên cứu tại Google AI Language đã công bố mã nguồn mở cho một kỹ thuật mới trong Natural Language Processing (NLP), được dựa trên kiến trúc Transformer gọi là BERT (Bidirectional Encoder Representations from Transformers). mô hình BERT được coi là một bước đột phá lớn và gây được tiếng vang trong cộng đồng học sâu và giải quyết bài toán tập dữ liệu lớn và cho độ chính xác tốt hơn so với việc phân loại bài toán truyền thống như dùng phương pháp Naive Bayes, Cây Quyết Định, Máy vector hỗ trợ (Support Vector Machine - SVM). Một ứng dụng cho mô hình Transformer cho tiếng việt là phoBERT. Do đó, nghiên cứu của chúng tôi hứa hẹn một cách tiếp cận khác lạ và sẽ mang lại kết quả tốt hơn. Chúng tôi lựa chọn kiến trúc Transformer làm mô hình trong đề tài vì 3 lý do: 1. Dựa trên kiến trúc Transformer, BERT đã được tiền huấn luyện trên tập dữ liệu văn bản rất lớn nên nó không yêu cầu nhiều dữ liệu đã được gán nhãn. 2. Dùng kiến trúc Transformer cung cấp khả năng xử lý song song thay vì tuần tự như kiến trúc RNN hay LSTM nên kiến trúc này có tốc độ huấn luyện nhanh. 3. Mô hình Transformer là 1 trong những mô hình tốt nhất hiện nay trong lĩnh vực xử lý ngôn ngữ tự nhiên. Được giới thiệu lần đầu vào năm 2018 cho đến nay đã có nhiều biến thể của BERT, ví dụ như ALBERT, RoBERTa, DistilBERT. 1.1.2 Lý do chọn đề tài Vấn đề phân loại văn bản thủ công cho các bài báo không chỉ gây khó khăn và tốn thời gian cho người biên tập, mà còn dẫn đến việc hiệu suất hoàn thành nội dung trong một trang trong báo điện tử giảm đi đáng kể. Từ những vấn đề trên, tôi quyết định xây dựng hệ thống tự động phân loại văn bản dựa trên mô hình học sâu. Dựa trên nội dung của một đoạn văn bản, mô hình sẽ giúp ta phân loại thành các thể loại phù hợp với nội dung trong đoạn văn bản đó. Khi áp dụng hệ thống này. Tự động hóa quá trình phân loại sẽ giúp tăng năng suất công việc cho việc phân loại bằng thủ công hơn. 1.2 1.2.1 Mục tiêu, đối tượng phạm vi nghiên cứu Mục tiêu Mục tiêu của đề tài: "Phân loại văn bản dựa trên mô hình tiền xử lý transformer-based" là thực hiện một mô hình huấn luyện về phân loại văn bản trong Học sâu với tập dữ liệu có sẵn, và sử dụng chúng 2 MỞ ĐẦU làm bộ nhận dạng cơ sở cho ứng dụng hỗ trợ người dùng sau này như phân loại thư spam, lọc các nhãn thuộc chủ đề khác nhau như chủ đề về từ thiện, chủ đề chăm sóc sắc đẹp, quảng cáo, tin tức . . . 1.2.2 Đối tượng Đối tượng nghiên cứu của đề tài là các chủ đề liên quan tới ngôn ngữ Tiếng Việt, Các bài viết hoặc các bình luận từ các nguồn internet trên trang các web. Đặc thù của ngôn ngữ tiếng việt gồm từ tạo thành bởi mộtcâu và có sự đa dạng về nghĩa. Với một từ ngữ trong câu trong mỗi ngữ cảnh khác nhau thì chúng mang nghĩa khác nhau. 1.2.3 Phạm vi nghiên cứu Phạm vi nghiên cứu của đề tài này của chúng tôi dùng phương pháp học máy trong đó cụ thể là các mô hình mạng nơ ron học sâu (deep neural network), chúng tôi sẽ dùng kết quả tiến tiến của mô hình học sâu để phân loại văn bản một cách tương đối chính xác và kết quả của bài toán thực hiện được so sánh với các mô hình học máy khác nhằm đánh giá mô hình nào tốt hơn để lựa chọn phù hợp với mỗi bài toán trong thực tiễn. • Nguồn dữ liệu chủ yếu lấy từ các trang web trên internet, các bài báo mạng, các trang du lịch,.. • Từ, câu nghĩa của tiếng việt phức tạp nên ảnh hưởng kết quả huấn luyện. • Các từ ngữ địa phương hay các từ có nghĩa xu hướng tuổi teen cũng có xuất hiện trong tập dữ liệu nên có thể gây ra xác sụất dự đoán của mô hình giảm đi. • Mặc dù có độ chính xác tốt, nhưng thời gian training mô hình chạy hơi lâu. 1.3 1.3.1 Ý nghĩa thực tiễn và ý nghĩa khoa học Ý nghĩa thực tiễn Tốc độ phát triển về thương mại điện tử đòi hỏi người quản lý của một trang web mà có khối lượng lớn nội dung cần phải phân loại sắp xếp chủ đề một cách nhanh chóng và hợp lý, việc này sẽ giúp người đọc dễ dàng tiếp cận nội dụng mình muốn đọc hoặc tìm kiếm một cách nhanh chóng. Kết quả nghiên cứu trong luận văn này có thể áp dụng để xây dựng một ứng dụng thực tế giúp cho các doanh nghiệp tiết kiệm được thời gian xử lý công việc trong phân loại nội dung theo chủ đề, lợi ích chúng ta đạt được như sau: • Quảng cáo sản phẩm, dịch vụ,. . . của tổ chức, công ty thương mại nào đó. • Nhằm giúp khách hàng hoặc người đọc chú ý đến những chi tiết cần quan tâm tới đối tượng mà bản thân cần thiết để xem xét. • Loại bỏ được nội dung không có ích cho người dùng. • Tăng thêm tiện ích cho các trang thương mại điện tử, góp phần tăng tính chuyên nghiệp của trang web và thu hút người được người đọc, hoặc khách hàng sử dụng dịch vụ. Vì vậy mục đích xây dựng đề tài giúp người dùng phát hiện những thể loại nào có lợi, cần thiết để người dùng quan tâm (ví dụ: khuyến mại sản phẩm, giới thiệu mặt hàng mới, tin tức mới liên quan: Từ thiện, y tế. . . ) và thể loại nào không có lợi cho người dùng sẽ được bỏ qua. 3 MỞ ĐẦU 1.3.2 Ý nghĩa khoa học Đối với ý nghĩa về mặt khoa học, luận văn đóng góp những nội dung như sau: • Củng cố kiến thức phương pháp học sâu cho hướng nghiên cứu Xử lý ngôn ngữ tự nhiên • Xu hướng phát triển bài toán phân loại văn bản trong và ngoài nước. • Thử nghiệm và so sánh các loại mô hình học máy bằng phương pháp học sâu khác nhau. • Đánh giá và phân tích kết quả và hướng phát triển tiếp theo của đề tài. 4 2 TỔNG 2.1 2.1.1 QUAN Các công trình liên quan Mô hình học nông- shallow learning model • A Survey on Text Classification: From Shallow to Deep Learning[3] Trong bài báo này tác giả đề cập đến việc phân loại dữ liệu lớn bằng thủ công sẽ tốn nhiều thời gian không đảm bảo chính xác do yếu tố từ con người như mệt mỏi hoặc do chuyên môn. Vì vậy phân loại văn bản bằng học máy sẽ mang lại kết quả đáng tin cậy và ít chủ quan hơn nữa việc này giúp nâng cao hiệu quả truy xuất thông tin và giảm bớt quá tải thông tin bằng cách xác định vị trí cần thiết. Hình 2.1: Lưu đồ phân loại văn bản bằng mô hình cổ điển và học sâu Theo bài báo mô hình học nông - Shallow Learning Models bao gồm Naive Bayes, k-NN, SVM tác giả có thống kê các phương pháp phân loại bao gồm các ứng dụng ứng dụng trong bảng này bao gồm phân tích cảm xúc, gán nhãn theo chủ đề, phân loại tin tức, trả lời câu hỏi, phân loại hành động hội thoại, suy luận ngôn ngữ tự nhiên, phân loại quan hệ và dự đoán sự kiện. Mô hình học nông được huấn luyện trong việc phân loại văn bản dựa trên đặc điểm văn bản khác nhau được trích xuất từ văn bản thô. Kỹ thuật tính năng là công việc khó khăn. Trước khi huấn luyện lại bộ phân loại, chúng ta cần thu thập kiến thức hoặc kinh nghiệm để trích xuất các tính năng từ văn bản gốc. Phương pháp này hướng tới các bộ dữ liệu nhỏ, thì mô hình này đạt hiệu suất cao hơn so với mô hình học sâu. Các phương pháp phân loại bằng thuật toán cổ điển thường bị hạn chế, mô hình học sâu khác với mô hình học nông là tích hợp kỹ thuật tính năng vào quy trình điều chỉnh mô hình bằng cách học một tập hợp các phép biến đổi phi tuyến để anh xạ trực tiếp các đối tượng đến kết quả đầu ra. Tác giả so sánh kiến trúc giữa ELMo, OpenAI GPT và BERT. ELMo là một phương pháp dựa trên tính năng sử dụng LSTM, và BERT và OpenAI GPT là các phương pháp tinh chỉnh sử dụng Transformer. Hơn nữa, ELMo và BERT là mô hình huấn luyện hai chiều Do đó, mô hình dựa trên kiến trúc Transformer nhận được kết quả tốt hơn so với mô hình truyền thống khác. • Text Categorization with Support Vector Machines: Learning with Many Relevant Features[4] 5 TỔNG QUAN Trong bài báo này tác giả Joachims, lần đầu tiên, sử dụng phương pháp SVM để phân loại văn bản biểu thị mỗi văn bản dưới dạng vectơ. Bài báo này giới thiệu phương pháp SVM để phân loại văn bản. Tác giả đề cập tới khả năng tổng quát hóa tốt trong không gian đặc trưng có chiều cao, SVM loại bỏ nhu cầu lựa chọn đặc trưng, làm cho việc áp dụng phân loại văn bản dễ dàng hơn đáng kể. Tác giả cho thấy phương pháp SVM so với các phương pháp khác là có hiệu suất tốt trong tất cả các thử nghiệm, Hơn nữa, SVM không yêu cầu bất kỳ điều chỉnh thông số nào, vì chúng có thể tự động cài đặt thông số tốt. Tuy nhiên trong bài báo chưa thể hiện việc tính xác suất của một thành viên trong một nhóm để phân loại một cách chính xác hơn mà chỉ thể hiện việc phân lớp của SVM chỉ là việc cố gắng tách các đối tượng vào hai lớp được phân tách bởi siêu phẳng SVM. • A new feature selection score for multinomial naive Bayes text classification based on KLdivergence[5] Trong bài báo này, tác giả đã sử dụng Multinomial Naive Bayes để phân loại nội dung văn bản tác giả nghiên cứu cả 2 phương pháp KL (Kullback-Leibler divergence), và dKL (là biến thể KL) Thử nghiệm với 20 nhóm tin được thực hiện với xác thực chéo 5 lần, sử dụng 80% dữ liệu để huấn luyện và 20% để kiểm tra kết quả dKL đều đạt giá trị cao hơn một chút đối với KL hoạt động tốt nhất ở 20000 từ với 90, 1% recall trung bình vi mô, so với 89, 3% đối với thông tin lẫn nhau. So sánh độ chính xác (accuracy) của phân loại dKL vượt trội hơn đặc biệt là đối với kích thước từ vựng nhỏ hơn. • Nearest neighbor pattern classification[6] Là thuật toán đi tìm đầu ra của một điểm dữ liệu mới bằng cách chỉ dựa trên thông tin của K điểm dữ liệu gần nhất trong tập huấn luyện. Thuật toán này được xếp vào loại lazy learning, không học một điều gì từ dữ liệu huấn luyện mọi tính toán được thực hiện khi nó cần dự đoán kết quả của dữ liệu mới. Tác giả cho rằng việc tính khoảng cách tới từng điểm dữ liệu trong tập huấn luyện tốn kém rất nhiều thời gian cho tập dữ liệu, đặc biệt là với các cơ sở dữ liệu có số chiều lớn và có nhiều điểm dữ liệu. • A decision-tree-based symbolic rule induction system for text categorization [7] Trong bài báo này, tác giả mô tả một quy trình, thay vì cắt tỉa cây đã phát triển đầy đủ, ước tính lại xác suất của mọi nút lá bằng cách lấy trung bình các ước lượng xác suất dọc theo đường dẫn từ nút gốc đến nút lá này. Tác giả cho thấy so với thuật toán tiêu chuẩn, không chỉ có thể nhanh hơn hàng trăm lần trên một số dữ liệu văn bản mà còn có thể xử lý các tập hợp tính năng lớn hơn, do đó dẫn đến các quy tắc chính xác hơn. Trong bài báo này tác giả so sánh cách phân loại văn bản bằng thuật toán tiêu chuẩn (ID3, C4.5) trong phương pháp này gồm ba ý chính: – Tận dụng cấu trúc thưa mà thuật toán tiêu chuẩn không có. – Sử dụng entropy biến đổi làm thước đo độ hỗn tạp. – Sử dụng làm mịn để cắt tỉa. Tuy nhiên, với dữ liệu quá lớn phức tạp và nhiều biến với thuộc tính khác nhau thì sẽ tốn nhiều thời gian cho sự tính toán và kết quả phân loại sẽ không chính xác khi áp dụng cho dữ liệu kiểm tra (test) và dữ liệu mới. 6 TỔNG QUAN 2.1.2 Mô hình học sâu - Deep learning model • Actionable and Political Text Classification using Word Embeddings and LSTM [8] Trong bài báo này, tác giả đã áp dụng mô hình nhúng từ (Word embedding) và mạng nơ-ron với bộ nhớ ngắn dài (Long Short-Term Memory) cho bài toán phân loại văn bản về chủ đề hành động và chính trị. Mô hình đầu tiên là mô hình phân loại cho văn bản về chủ đề hoạt động: xem xét trong ngữ cảnh hỗ trợ khách hàng trên phương tiện truyền thống xã hội, nơi phản hồi ý kiến qua các bài đăng của khách hàng trên nền tảng tin nhắn khách hàng trên facebook, Twitter và Google+. Đại lý phản hồi cho khách hàng là hành động được gán nhãn là 1 hoặc không hành động được gán nhã là 0, kích thước tin nhắn từ 270 nghìn đến 8,5 triệu tin nhắn . Trong thí nghiệm, với mỗi ngôn ngữ tác giả phân làm hai loại, kích thước từ vững nhỏ là 20.000 từ và kích thước từ vững lớn là 100.000 từ. Tập dữ liệu huấn luyện và kiểm tra được tạo dưới dạng 80/20 phân tách từ tập dữ liệu mẫu sau đó được đưa vào mô hình giải quyết cho nhiều ngôn ngữ khác nhau và nhận thấy mô hình hoạt động rất tốt với hầu hết các ngôn ngữ với độ chính xác gần 90% với một số ngôn ngữ và kết quả thí nghiệm tác gỉa cho thấy rằng mô hình Word embedding kết hợp LSTM vượt trội hơn kỹ thuật truyền thống khác. Mô hình thứ hai là mô hình phân loại tin nhắn khuynh hướng chính trị ở Hoa Kỳ gồm phe Dân chủ và Cộng hòa dựa trên quan điểm thể hiện trong tin nhắn, các tin nhắn được đăng bởi đảng Dân chủ trên mạng xã hội Twitter được gán nhãn là 0 và của đảng Cộng hòa được gán nhãn là 1. Sau đó, tác giả chia tập dữ liệu này thành các tập huấn luyện và kiểm tra với tỷ lệ phân chia 80/20. Mô hình có khả năng phân loại tin nhắn với độ chính xác cao 87,57%. • Recurrent Neural Network for Text Classification with Multi-Task Learning [9] Trong bài báo này, tác giả đề xuất ba mô hình chia sẻ khác nhau thông tin với mạng (RNN). Tất cả các nhiệm vụ liên quan được tích hợp vào một hệ thống duy nhất để được huấn luyện chung. Mô hình đầu tiên chỉ sử dụng một lớp chia sẻ cho tất cả các tác vụ. Mô hình thứ hai sử dụng các lớp khác nhau cho các nhưng mỗi lớp có thể đọc thông tin từ các lớp khác. Mô hình thứ ba không chỉ chỉ định một lớp cụ thể mà còn xây dựng một lớp chia sẻ cho tất cả các tác vụ. Ngoài ra, tác giả còn giới thiệu một cơ chế kiểm soát để cho phép mô hình sử dụng có chọn lọc thông tin được chia sẻ Kết quả thử nghiệm trên bốn nhiệm vụ phân loại văn bản và cho thấy rằng việc học chung nhiều task vụ liên quan với nhau có thể cải thiện hiệu suất tốt hơn. Tuy nhiên, tác giả cho biết có một vấn đề xảy ra với RNN này là trong quá trình huấn luyện, các thành phần của vector gradient có thể tăng lên theo cấp số nhân thông qua các chuỗi tuần tự dài, theo thử nghiệm các tác giả [Hochreiter và cộng sự, 2001; Hochreiter và Schmidhuber, 1997]. Vấn đề với các vector gradient hoặc biến mất, khiến mô hình RNN khó tìm các mối tương quan về khoảng cách vị trí từ đang xét trong một chuỗi trình tự dài. • Convolutional Neural Networks for Sentence Classification [10] Tác giả trình bày để cập đến dùng CNN để phân loại câu, liên quan đến việc học các biểu diễn vector từ thông qua các mô hình ngôn ngữ nơ-ron (Bengio và cộng sự, 2003; Yih và cộng sự, 2011; Mikolov và cộng sự, 2013) và thực hiện thành phần trên vectơ từ đã học để phân loại. Tác giả dùng mô hình mô hình đa kênh (Multichannel) so với mô hình kênh đơn (Single Channel Models) với mong muốn kiến trúc đa kênh sẽ ngăn chặn việc overfitting bằng cách đảm bảo để các vectơ đã học không bị lệch quá xa so với các giá trị ban đầu và do đó hoạt động tốt hơn mô hình kênh đơn, Tuy nhiên, các kết quả không như mong muốn. • Bangla Text Classification using Transformers[11] Trong bài báo này, tác giả đã dùng fine-tune các mô hình Transformer đa ngôn ngữ, tác giả phân loại văn bản Bangla trong các lĩnh vực khác nhau, bao gồm phân tích tình cảm, phát hiện cảm xúc, phân loại tin tức và phân bổ quyền tác giả. Tác giả thử nghiệm các tập dự liệu từ nguồn từ 7 TỔNG QUAN bình luận trên Youtube và trên các trang báo tin tức mới để phân tích tình cảm và phân tích cảm xúc, tác giả dùng mô hình SVM và Naive Bayes được huấn luyện dùng TF-IDF trích xuất đặc trưng với n-gram. Trong khi mô hình CNN và LSTM dùng Word2vec để nhúng từ. Đối với mô hình dùng kiến trúc Transformer tác giả dùng các mô hình: BERT-base, XLM-RoBERTa-base, XLM-RoBERTa-large. Kết quả cho thấy các mô hình dùng kiến trúc Transformer cho kết quả có độ chính xác cao hơn các mô hình truyền thống khác. 2.2 Vấn đề chung còn tồn tại • Mô hình vẫn còn khá lớn trong khi tập dữ liệu và thời gian huấn luyện hạn chế. • Mặc dù có độ chính xác tốt, nhưng mô hình chạy rất chậm. chúng tôi chưa có đủ thời gian để thử nghiệm nhiều cấu hình khác nhau xem ảnh hưởng của nó tới độ chính xác như thế nào. 2.3 Hướng giải quyết • Trong đề tài này tôi sử dụng mô hình BERT để so sánh với các mô hình khác • Thời gian huấn luyện khá lâu đòi hỏi máy tiêu tốn nhiều tài nguyên, đòi hỏi máy phải có cấu hình cao. 2.4 Kết quả dự kiến của đề tài Sau khi hoàn thành dự án nghiên cứu, tôi hy vọng rằng sẽ đạt được kết quả sau đây: 1. Giải quyết bài toán phân loại bằng một mô hình học sâu tiến tiến có xác suất dự đoán tốt hơn so với mô hình truyền thống thường sử dụng. 2. Mô hình đủ đánh giá tốt để đưa ra ứng dụng vào thực tế . 3. Một mô hình có hiệu suất tốt hơn. Qua đó mô hình có thể được dùng để huấn luyện mô hình có hiệu suất cao mà không cần quá nhiều dữ liệu, giảm đáng kể chi phí thu thập dữ liệu và đánh nhãn. 8 3 CƠ SỞ LÝ THUYẾT VÀ PHƯƠNG PHÁP THỰC NGHIỆM 3.1 3.1.1 Cơ sở lý thuyết Mạng neural nhân tạo - Artificial Neural Network (ANN) Một mạng ANN gồm 3 thành phần chính như hình 3.1: 1. Input : Là tầng gồm các node là input đầu vào hoặc là output từ một mạng neural trước đó. 2. Hidden: Gồm các neural, nhận dữ liệu từ tầng input sau đó xử lý tạo ra output cho lớp tiếp theo 3. Output: Là tầng dự đoán cuối cùng hoặc làm input cho lớp mạng tiếp theo. Hình 3.1: Kiến trúc của mạng ANN Hình 3.2 Mô tả xử lý của các node trong lớp mạng ANN: Hình 3.2: Mô hình mạng Nơ-ron 9
- Xem thêm -

Tài liệu liên quan