Với các kết quả thu được, tôi thực hiện phân tích khả năng dự đoán của mô hình trên tập dữ liệu với các công cụ đánh giá trên từng nhãn để xem xét, đánh giá ảnh hưởng của dữ liệu tăng cư
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
GVHD: VÕ MINH HUÂN SVTH: VÕ MẠNH THƯỜNG
NGHIÊN CỨU VÀ TỐI ƯU MÔ HÌNH HỌC SÂU
TRONG BÀI TOÁN PHÂN LOẠI BÌNH LUẬN TIÊU CỰC
TRÊN MẠNG XÃ HỘI
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
Trang 3LỜI CẢM ƠN
Lời đầu tiên, tôi xin cảm ơn thầy Võ Minh Huân vì đã tận tình hướng dẫn, định hướng trong suốt quá trình thực hiện đồ án tốt nghiệp Sự hỗ trợ của thầy là động lực giúp tôi hoàn thành đồ án này
Tôi cũng xin gửi lời cảm ơn sâu sắc đến các anh/chị khóa trước, các bạn học đã luôn sẵn sàng giúp đỡ, chia sẻ tài liệu và kinh nghiệm trong quá trình thực hiện đồ án Sự hỗ trợ và động viên của mọi người giúp tôi tiếp thêm động lực
Đặc biệt, em xin gửi lời biết ơn đến gia đình, những người luôn ở bên cạnh, động viên và ủng hộ em trong suốt quá trình
Tôi xin chân thành cảm ơn
Trang 4TÓM TẮT
Trong nghiên cứu này, tôi thực hiện nghiên cứu và tìm hiểu, xây dựng cơ sở
lý thuyết cho các mô hình được xem là tốt nhất, đặc biệt là mô hình kết hợp mới xuất hiện gần đây và đạt được nhiều thành tích trong tác vụ phân loại văn bản ngắn
từ các bình luận trên mạng xã hội Phân tích đặc điểm của các bình luận trên mạng
xã hội từ một tập dữ liệu được thu thập và gán nhãn thủ công, từ đó chọn lọc và áp dụng các kỹ thuật tiền xử lý phù hợp nhất Sử dụng công cụ tìm kiếm siêu tham số
để tìm ra siêu tham số phù hợp nhất cho từng mô hình Tôi cũng tìm hiểu và lựa chọn các phương pháp tăng cường dữ liệu phù hợp để sinh ra các tập dữ liệu mới, sau đó đưa vào từng mô hình để đánh giá và so sánh để tìm ra phương án tốt nhất Với các kết quả thu được, tôi thực hiện phân tích khả năng dự đoán của mô hình trên tập dữ liệu với các công cụ đánh giá trên từng nhãn để xem xét, đánh giá ảnh hưởng của dữ liệu tăng cường so với tập dữ liệu gốc, từ đó đề xuất ra các phương
án tối ưu nhất cho môi trường thực tế Đồng thời cũng phân tích các dự đoán sai của mô hình để tìm ra hướng phát triển mới
Trang 5MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU 1
1.1 Đ ẶT VẤN ĐỀ : 1
1.2 H ƯỚNG TIẾP CẬN : 2
1.2.1 Mô hình học sâu: 2
1.2.2 Mô hình kết hợp: 4
1.2.3 Dữ liệu tiếng Việt: 4
1.2.4 Tăng cường dữ liệu: 5
1.3 M ỤC TIÊU ĐỀ TÀI : 6
1.4 G IỚI HẠN NGHIÊN CỨU : 6
CHƯƠNG 2 NGHIÊN CỨU TỔNG QUAN 8
2.1 S O SÁNH GIỮA CÁC MÔ HÌNH XỬ LÝ NGÔN NGỮ TỰ NHIÊN HIỆN NAY : 8
2.2 M Ô HÌNH HỌC SÂU (D EEP L EARNING ): 10
2.2.1 CNN: 10
2.2.2 Pre-trained Models: 11
2.3 T ẬP DỮ LIỆU V I HSD: 18
2.4 X Ử LÝ DỮ LIỆU : 20
2.4.1 Tiền xử lý dữ liệu: 20
2.4.2 Tăng cường dữ liệu: 21
2.5 P HƯƠNG PHÁP ĐÁNH GIÁ : 26
2.5.1 Accuracy và F1-Score: 26
2.5.2 Hàm mất mát (Loss Function): 27
2.5.3 Confusion Matrix: 28
CHƯƠNG 3 PHƯƠNG PHÁP THỰC HIỆN PHÂN TÍCH THIẾT KẾ 29
3.1 T IỀN XỬ LÝ DỮ LIỆU : 29
3.2 T HIẾT KẾ MÔ HÌNH : 29
3.2.1 CNN: 29
3.2.2 Pre-trained model: 31
3.2.3 PhoBERT-CNN: 32
3.3 T ĂNG CƯỜNG DỮ LIỆU : 34
3.3.1 Tăng cường dữ liệu với phương pháp EDA: 34
3.3.2 Tăng cường dữ liệu với PhoBERT: 37
3.4 T HIẾT LẬP SIÊU THAM SỐ (H YPER P ARAMETER ): 40
3.4.1 Kỹ thuật xác định siêu tham số tối ưu: 40
3.4.2 CNN: 40
3.4.3 Pre-trained model: 40
3.5 S Ơ ĐỒ KHỐI : 40
CHƯƠNG 4 KẾT QUẢ VÀ THẢO LUẬN 41
4.1 T IỀN XỬ LÝ DỮ LIỆU : 41
4.2 P HƯƠNG PHÁP TĂNG CƯỜNG DỮ LIỆU : 42
4.2.1 Phương pháp EDA: 42
4.2.2 Phương pháp tăng cường dữ liệu với PhoBERT: 43
4.3 S O SÁNH 2 PHƯƠNG PHÁP TĂNG CƯỜNG DỮ LIỆU DỰA TRÊN C ONFUSION M ATRIX : 45
4.4 T HỜI GIAN HUẤN LUYỆN VÀ DUNG LƯỢNG MÔ HÌNH : 46
4.5 P HÂN TÍCH CÁC DỰ ĐOÁN SAI : 48
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50
5.1 K ẾT LUẬN : 50
5.2 H ƯỚNG PHÁT TRIỂN : 52
Trang 6DANH MỤC HÌNH
Hình 2.1: Cấu trúc mô hình CNN [13] 10
Hình 2.2: Cấu trúc kiến trúc Transformer [6] 11
Hình 2.4: Khối encoder [6] 13
Hình 2.5: Vector và các ma trận Q, V, K [14] 13
Hình 2.6: Cách tính Vector Z [14] 14
Hình 2.7: Weighted sum [14] 15
Hình 2.8: Biểu đồ tập dữ liệu ViHSD 20
Hình 3.1: Thiết kế mô hình CNN 31
Hình 3.2: Thiết kế mô hình Pre-trained BERT, PhoBERT 32
Hình 3.3: Thiết kế mô hình PhoBERT-CNN 33
Hình 3.4: Ảnh hưởng của tham số naug và α đến hiệu suất của mô hình [11] 36
Hình 3.5: Kết quả tăng cường dữ liệu với EDA 37
Hình 3.6: Mô tả cách PhoBERT tăng cường dữ liệu 38
Hình 3.7: Kết quả tăng cường dữ liệu bằng PhoBERT 39
Hình 3.8: Sơ đồ khối 40
Hình 4.1: Confusion Matrix PhoBERT, PhoBERT-CNN trên tập dữ liệu ViHSD 42
Hình 4.2: Confusion Matrix của PhoBERT-CNN với 4 tập dữ liệu 45
Trang 7DANH MỤC BẢNG
Bảng 2.2: Confusion Matrix 28
Bảng 3.1: Ví dụ về cách hoạt động của EDA……… 35
Bảng 4.1: Kết quả thực nghiệm tiền xử lý……….41
Bảng 4.2: Kết quả thực nghiệm kỹ thuật tăng cường dữ liệu EDA 43
Bảng 4.3: Kết quả thực nghiệm với kỹ thuật tăng cường dữ liệu với PhoBERT. 44
Bảng 4.4: Kết quả thời gian huấn luyện và dung lượng của các mô hình 47
Bảng 4.5: Các dự đoán sai của mô hình PhoBERT-CNN trên tập dữ liệu PhoBERT-aug 48
Trang 8CÁC TỪ VIẾT TẮT
1 NLP: Natural language processing
2 EDA: Easy Data Augmentation
3 PhoBERT-aug: Tập dữ liệu tăng cường bằng PhoBERT theo cách 1
4 PhoBERT-FI: Tập dữ liệu tăng cường bằng PhoBERT theo cách 2
5 CNN: Convolutional Neural Network
Trang 9bè, người thân mà còn là nơi để mọi người tự do bày tỏ quan điểm và cảm xúc cá nhân Tuy nhiên, với sự phát triển vượt bậc, lượng người sử dụng ngày càng tăng, không khó để bắt gặp những bình luận tiêu cực, bao gồm những nội dung xúc phạm, bạo lực, phân biệt chủng tộc, Những bình luận này không chỉ ảnh hưởng đến tâm lý con người mà còn tạo ra môi trường độc hại trên mạng xã hội Theo nghiên cứu [1], người dùng sau khi đọc các bình luận tiêu cực, đặc biệt là các bình luận tiêu cực nhắm đến bản thân, họ có thể trải qua các tác động tâm lý tiêu cực như cảm giác buồn bã, tức giận, sợ hãi,… Những tác động này làm suy giảm tinh thần lạc quan, tăng cảm giác căng thẳng và giảm sự tự tin của người đọc Họ cũng chỉ ra rằng, việc tiếp xúc thời gian dài với các bình luận tiêu cực có thể dẫn đến các vấn đề về sức khỏe tinh thần như bệnh trầm cảm,… Cũng trong nghiên cứu, tác giả quan sát và phân tích hành vi người dùng sau khi tiếp xúc với bình luận tiêu cực, người dùng sẽ trở nên ít hoạt động và tương tác hơn trên mạng xã hội Điều này cho thấy, việc tiếp xúc các bình luận độc hại còn làm giảm số lượng người dùng trên mạng xã hội, đây sẽ là vấn đề mà các nền tảng và tổ chức không mong muốn
Các bình luận tiêu cực còn có thể lan rộng và có thể vô tình trở thành xu hướng để người dùng làm theo, cụ thể là tình trạng phân biệt vùng miền ở Việt Nam ngày càng tăng, một phần là từ các thế lực muốn chia rẽ nhưng phần lớn là tới những người dùng thích cảm giác trêu chọc và chọc tức người khác, việc làm tuy sai trái nhưng lâu dần nó trở thành điều mà mọi người thấy thú vị, do đó cần phải cải thiện môi trường mạng xã hội càng sớm và có nhiều biện pháp đối với những người bình luận mang tính công kích
Trang 10Các bình luận tiêu cực trên mạng xã hội khơng chỉ ảnh hưởng đến sức khỏe tinh thần mà đơi khi nĩ cịn gây ra nhiều hệ quả nghiêm trọng, như gần đây, hiện tượng “Bắt nạt trên mạng” (Cyber-bullying) diễn ra ngày càng phổ biến, đây là hiện tượng ám chỉ việc người dùng bị nhiều người khác nhắm đến cơng kích trong một thời gian dài nhằm khiến nạn nhân sợ hãi, tức giận, xấu hổ,… Lâu dần khiến người dùng ảnh hưởng trầm trọng về tâm lý, sức khỏe tinh thần dẫn đến hậu quả nghiêm trọng hơn Mặc dù các nền tảng mạng xã hội hiện nay đã cĩ nhiều phương pháp để ngăn chặn điều này như cho phép người dùng báo cáo những bình luận tiêu cực nhưng với số lượng bình luận tiêu cực quá nhiều khiến người dùng khác cũng khơng muốn báo cáo hoặc thuê nhân viên kiểm duyệt nhưng cũng chỉ thực hiện thủ cơng và lâu dần những nhân viên kiểm duyệt cũng sẽ bị ảnh hưởng tâm
lý vì thường xuyên tiếp xúc với các bình luận tiêu cực
Vào năm 2022, Microsoft đã đưa ra bảng đánh giá về những nước kém văn minh nhất thế giới trên Internet, trong đĩ Việt Nam là nước thuộc top 5 bởi những hành vi kém văn minh [2] Cũng trong [2], bài báo cĩ nĩi rằng cĩ đến 87% bạn đọc của báo Zing.vn đồng tình với bảng xếp hạng này, điều đĩ cho thấy rằng mức
độ tiêu cực trong bình luận của người Việt Nam là rất nhiều và dễ dàng nhận thấy mỗi khi sử dụng Do đĩ việc nghiên cứu về phân loại các bình luận tiêu cực ở Việt Nam sử dụng các mơ hình học sâu là nhu cầu cấp bách trong bối cảnh hiện nay
1.2 Hướng tiếp cận:
Nghiên cứu trong lĩnh vực phân loại bình luận trên mạng xã hội đã thu hút
sự quan tâm của nhiều nhà khoa học và chuyên gia cơng nghệ Các hướng tiếp cận
và giải pháp đã được đề xuất và triển khai bao gồm:
1.2.1 Mơ hình học sâu:
Trước sự xuất hiện của các mơ hình học sâu, các mơ hình thường được sử dụng trong NLP thường dựa vào các phương pháp và thuật tốn truyền thống như SVM, Logistic Regression, Nạve Bayes,… Đây thường là những phương pháp dựa trên quy tắc và sử dụng các đặc trưng được thiết kế thủ cơng, điều này cĩ nghĩa
là là các đặc trưng này khơng được mơ hình tự động học từ dữ liệu, mà thay vào
đĩ chúng xác định và xây dựng theo cách thủ cơng dựa trên kiến thức và hiểu biết
Trang 11của con người về dữ liệu Tuy nhiên cho đến khi các mô hình học sâu như Convolutional Neural Network (CNN), Gated Recurrent Unit (GRU),… và đặc biệt là Transformer ra đời đã tạo ra bước đột phá lớn trong lĩnh vực xử lý ngôn ngữ
tự nhiên Đã có nhiều công trình nghiên cứu, so sánh và thấy rằng các mô hình học sâu có hiệu suất vượt trội ở trong các mô hình truyền thống Các nghiên cứu [3],[4]
đã thực hiện so sánh hiệu suất và thấy rằng các mô hình học sâu đều cải thiện hiệu suất đáng kể so với các mô hình truyền thống, cải thiện những nhược điểm vốn có của các mô hình truyền thống như:
• Phụ thuộc vào các đặc trưng thủ công: Đòi hỏi tính toán và trích xuất các đặc trưng của văn bản bằng thủ công, đòi hỏi sự hiểu biết về ngôn ngữ và không phản ảnh được sự tự nhiên của dữ liệu
• Khó khăn trong xử lý dữ liệu phi cấu trúc: Các đầu vào như văn bản tự do, các bình luận ngắn thường không tuân thủ theo một cấu trúc câu không thích hợp cho các mô hình truyền thống vì chúng yêu cầu dữ liệu đầu vào phải được biểu diễn dưới dạng các đặc trưng có cấu trúc
• Khả năng tổng quát hóa kém: Mặc dù đạt hiệu suất tốt trên các tập huấn luyện nhưng khả năng dự đoán các câu mới thường gặp khó khăn khi các dữ liệu mới không quen thuộc
Mô hình CNN đã cho thấy sự thành công trong phân loại văn bản Trong nghiên cứu [5] tác giả đã giới thiệu mô hình CNN, sử dụng mô hình word2vec để nhúng các từ trong văn bản thành các vector, giống như các vector điểm ảnh, tinh chỉnh tham số và thực hiện huấn luyện Kết quả cho thấy rất tốt, đặc biệt với tác
vụ phân loại văn bản Tác giả cũng phát hiện ra rằng CNN đạt kết quả tốt nhất xử
lý các văn bản ngắn và có độ dài cố định do tính chất cấu trúc của nó Các bình luận trên mạng xã hội hiện nay thường là câu hoặc đoạn văn ngắn, rất phù hợp với
mô hình CNN Do đó, tôi sử dụng mô hình CNN để nghiên cứu cho nhiệm vụ phân loại các bình luận trên mạng xã hội
Transformer là một loại kiến trúc mạng nơ-ron dựa trên cơ chế Attention, được giới thiệu bởi Vaswani et al trong bài báo “Attention is All You Need” vào năm
2017 [6] Tiếp nối thành công của kiến trúc Transformer, vào năm 2018, Google
Trang 12đã công bố nghiên cứu mới mang tính đột phá BERT BERT hiểu đơn giản là mô hình được tiền huấn luyện (học sẵn) với ý tưởng sử dụng Transformer và huấn luyện trên một lượng dữ liệu lớn để học cách biểu diền ngữ nghĩa Mặc dù BERT thu được kết quả tối ưu nhất cho hầu hết các nhiệm vụ xử lý ngôn ngữ tự nhiên Tuy nhiên, mô hình BERT chỉ được huấn luyện trên dữ liệu tiếng Anh do đó trên các tập dữ liệu tiếng Việt vẫn còn hạn chế Để giải quyết vấn đề này, vào năm
2020, VinAI Research đã tiến hành huấn luyện phoBERT, phát triển như một biến thể của BERT, trên một lượng lớn dữ liệu tiếng Việt [7] Kết quả là phoBERT đã
có khả năng hiểu và biểu diễn ngôn ngữ tự nhiên tiếng Việt một cách chính xác và hiệu quả Mục tiêu của đề tài là phân loại bình luận tiếng Việt, do đó, tôi chọn mô hình PhoBERT để giải quyết bài toán xử lý ngôn ngữ Tiếng Việt để tối ưu hiệu suất, đồng thời tôi cũng sử dụng BERT để so sánh hiệu năng giữa hai mô hình
1.2.2 Mô hình kết hợp:
Các mô hình kết hợp đang ngày càng trở nên phổ biến do khả năng tận dụng các ưu điểm nhiều kiến trúc khác nhau để đạt được hiệu suất cao hơn trong các nhiệm vụ cụ thể Trong [8], tác giả đã giới thiệu các mô hình kết hợp giữa 2 mô hình học sâu như BERT-CNN, kết quả đã đạt được hiệu suất tốt nhất vượt qua hai
mô hình đơn BERT và CNN Ý tưởng của mô hình này là tận dụng khả năng hiểu ngữ nghĩa của các mô hình tiền huấn luyện như BERT để hiểu và biểu diễn ngữ cảnh, trong khi CNN được sử dụng để trích xuất các đặc trưng cụ thể từ văn bản Kết quả nghiên cứu cũng cho thấy mô hình kết hợp có độ chính xác cao trên các
dữ liệu từ mạng xã hội, đồng thời cũng cho thấy tính linh hoạt và hiệu quả của phương pháp này trong việc giải quyết vấn đề nhận dạng nội dung xúc phạm trực tuyến Mô hình kết hợp giữa PhoBERT và CNN đã được triển khai ở [9] cùng với tập dữ liệu mà tôi sẽ thực hiện trong đề tài này và thu về kết quả tốt nhất so với các
mô hình khác Đây có thể được xem là mô hình sẽ đem lại hiệu suất tốt nhất vì nó tận dụng sức mạnh của cả 2 mô hình được xem là tối ưu nhất cho bài toán phân loại bình luận mạng xã hội Do đó tôi sử dụng mô hình này để thử nghiệm và so sánh giữa các mô hình khác để tìm hiệu suất tốt nhất
1.2.3 Dữ liệu tiếng Việt:
Trang 13Dữ liệu là phần quan trọng nhất trong học máy, dữ liệu chất lượng và đa dạng đóng vai trò quan trọng trong việc quyết định hiệu suất và độ chính xác của
mô hình Mục tiêu đề tài là thực hiện trên dữ liệu các bình luận tiêu cực tiếng Việt, sau khi tiến hành tìm kiếm và đánh giá các nguồn dữ liệu khác nhau, tôi quyết định
sử dụng tập dữ liệu ViHSD phù hợp nhất với đề tài, tập dữ liệu này được phát triển
và công bố vào năm 2021 [10] Dữ liệu này được gán nhãn bởi người thật và dùng nhiều phương pháp kiểm tra khác nhau để đảm bảo độ chính xác Trong [10], tác giả nhận xét tập dữ liệu hiện bị mất cân bằng dữ liệu, lí do là vì tỉ lệ xuất hiện các câu tiêu cực là không đều, do đó với một lượng lớn dữ liệu thu về, thì chỉ có một phần nhỏ trong đó là câu tiêu cực Tác giả cũng đề xuất việc sử dụng tiền xử lý để chuẩn hóa các câu như viết tắt, teencode để cải thiện hiệu suất của tập dữ liệu Ý tưởng là sử dụng các bộ từ điển được xây dựng trên các từ viết tắt, teencode được định nghĩa với các từ chuẩn tương ứng để thay thế các từ viết tắt, teencode trên tập
dữ liệu Tiền xử lý dữ liệu cũng là một phần quan trọng, hiện tại với ngôn ngữ tiếng Việt chưa có nhiều nghiên cứu cụ thể về những phương pháp tiền xử lý tối
ưu, hầu như chỉ dừng lại ở các kỹ thuật đơn giản như lowercase,… Tuy nhiên không phải bước tiền xử lý nào cũng cải thiện được kết quả Trong phần này, tôi nghiên cứu và tìm ra các kỹ thuật tiền xử lý tối ưu nhất cho ngôn ngữ tiếng Việt
1.2.4 Tăng cường dữ liệu:
Tăng cường dữ liệu là một phương pháp quan trọng nhằm tạo ra các mẫu
dữ liệu mới từ dữ liệu hiện có Mục đích của việc này là để mở rộng tập dữ liệu huấn luyện và cải thiện hiệu suất của các mô hình NLP Hiện tại trong lĩnh vực NLP, phương pháp Easy Data Agumendattion (EDA) là một trong những phương pháp phổ biến nhất để tăng cường dữ liệu, ưu điểm của phương pháp này là đơn giản, tạo được nhiều dữ liệu, cải thiện hiệu suất, đặc biệt đối với các dữ liệu nhỏ hoặc bị mất cân bằng [11] Do tập dữ liệu tôi đang sử dụng cũng gặp vấn đề mất cân bằng dữ liệu, do đó đây là phương pháp phù hợp để giải quyết bài toán này
Phương pháp tăng cường dữ liệu với mô hình tiền huấn luyện được giới thiệu trong [12] Tác giả đề xuất rằng việc sử dụng một mô hình tiền huấn luyện
để sinh ra các dữ liệu mới dựa trên kiến thức ngôn ngữ của nó có thể cải thiện hiệu
Trang 14suất mô hình, vượt qua cả phương pháp EDA đã giới thiệu ở trên Việc nghiên cứu phương pháp này tại Việt Nam chưa được phổ biến, do đó tôi sử dụng phương pháp này để đánh giá độ hiệu quả của phương pháp này so với EDA, tìm ra phương
án tăng cường dữ liệu tối ưu nhất cho mô hình
Các mô hình được giới thiệu ở [10] chỉ thực hiện phương pháp tăng cường
dữ liệu bằng EDA Phương pháp EDA đã được sử dụng [9] nhưng tác giả không nói rõ về việc mô hình học dữ liệu tăng cường này như thế nào, cải thiện cả 3 nhãn hay chỉ 2 nhãn mất cân bằng Trong đề tài này, tôi cũng thực hiện đánh giá các phương pháp tăng cường dữ liệu ảnh hưởng đến khả năng dự đoán lần lượt các nhãn như thế nào Dựa vào nghiên cứu [12] tôi dự đoán việc sử dụng phương pháp tăng cường dữ liệu với mô hình pre-trained sẽ cải thiện hiệu suất tốt hơn phương pháp EDA Do đó tôi thực hiện áp dụng phương pháp tăng cường dữ liệu với mô hình tiền huấn luyện PhoBERT cho đề tài này để cải thiện hiệu suất tốt hơn, đồng thời cũng sử dụng EDA để phân tích việc tăng cường dữ liệu theo 2 phương pháp khác nhau thì ảnh hưởng đến khả năng dự đoán các nhãn như thế nào
1.3 Mục tiêu đề tài:
Trong đề tài này, tôi thực hiện huấn luyện 4 mô hình học sâu: CNN, BERT, PhoBERT, PhoBERT-CNN trên tập dữ liệu ViHSD nhằm phân loại các bình luận tiêu cực trên mạng xã hội Việt Nam Trong nghiên cứu này, mục tiêu tôi là áp dụng những kỹ thuật tiền xử lý dữ liệu tốt nhất cho tiếng Việt, xây dựng được phương pháp tăng cường dữ liệu mới, tối ưu hơn phương án cũ Đồng thời cũng xây dựng bảng kết quả so sánh hiệu suất giữa các mô hình với các phương án tăng cường dữ liệu, phân tích dữ liệu tăng cường cải thiện hiệu suất mô hình như thế nào, tìm ra phương án tối ưu nhất để cải thiện hiệu suất cho mô hình
1.4 Giới hạn nghiên cứu:
1 Giới hạn về dữ liệu: Đề tài này không khai thác thêm dữ liệu và gán nhãn, việc này đòi hỏi nhiều thời gian, công sức, nhân lực để đào tạo và xây dựng một bộ dữ liệu mới chất lượng hơn Chỉ sử dụng bộ dữ liệu đã được công khai vào năm 2021 Bộ dữ liệu này có thể cũ và không mang lại hiệu quả nếu xem xét đến sự thay đổi bình luận tính đến hiện tại
Trang 152 Phương pháp nghiên cứu: Chỉ thực hiện nghiên cứu và xây dựng các mô hình học sâu cụ thể là CNN, BERT, PhoBERT thay vì các mô hình truyền thống hoặc mô hình học sâu khác, các mô hình học sâu xây dựng trong đề tài này xây dựng dựa vào nghiên cứu đã đạt được kết quả tốt trước đó Ngôn ngữ lập trình và công cụ sử dụng dựa trên Python và các API được cung cấp miễn phí, việc thiếu nhiều cơ sở dữ liệu hiệu quả dành cho tiếng Việt có thể ảnh hưởng đến kết quả của mô hình như Wordnet-Vi (cơ sở dữ liệu đồng nghĩa)
3 Tài nguyên tính toán: Việc huấn luyện mô hình được thực hiện trên máy tính cá nhân, do đó chỉ sử dụng phiên bản Base của mô hình BERT, PhoBERT Hiệu suất có thể được cải thiện trên các mô hình có nhiều tham
số và lớp hơn (Large)
4 Triển khai thực tế: Vì giới hạn thời gian nên đề tài không xây dựng được các ứng dụng từ mô hình trong môi trường thực tế để kiểm tra tính hiệu quả của mô hình
Trang 16CHƯƠNG 2
NGHIÊN CỨU TỔNG QUAN
2.1 So sánh giữa các mơ hình xử lý ngơn ngữ tự nhiên hiện nay:
Trước đây, hầu hết các bài tốn xử lý ngơn ngữ đều được thực hiện trên các
mơ hình truyền thống như SVM, Nạve Bayes,… các mơ hình dựa trên các thuật tốn thống kê và quy tắc rõ ràng, tuy nhiên các mơ hình này vẫn gặp các nhược điểm:
• Khơng cĩ khả năng mơ hình hĩa các ngữ cảnh phức tạp và mối quan hệ phi tuyến tính giữa các từ và câu
• Cần phải được phân loại và phân tích thủ cơng, cần các bước tiền xử lý dữ liệu phức tạp và các đặc trưng được chọn lọc một cách cẩn thận,… địi hỏi kiến thức sâu rộng về cấu trúc, ngữ pháp ngơn ngữ
• Khơng cĩ khả năng học dữ liệu một cách tự động vì phụ thuộc nhiều vào việc định nghĩa các quy tắc và tiêu chuẩn từ trước Khiến cho mơ hình ít linh hoạt và khĩ cập nhật khi cĩ dữ liệu mới
Mơ hình học sâu ra đời để giải quyết các nhược điểm của mơ hình truyền thống
và đem lại những cải tiến đáng kể Nhờ vào cấu trúc mạng nơ-ron sâu và khả năng học từ dữ liệu lớn, các mơ hình học sâu cĩ thể mơ hình hĩa các mối quan
hệ phức tạp hơn và tự động hĩa quy trình huấn luyện Các mơ hình học sâu mạnh mẽ trong thời gian đầu là Word2Vec, Fasttext,…Các mơ hình này cũng tồn tại nhiều nhược điểm:
• Khơng thể xử lý mối quan hệ ngữ nghĩa phức tạp như sự tương đồng giữa các cụm từ hoặc câu
• Chỉ tạo ra vector từ dựa trên tần suất xuất hiện trong dữ liệu, khơng chứa thơng tin về ngữ cảnh
• Gặp khĩ khăn trong các từ hiếm gặp hoặc chưa xuất hiện trong dữ liệu
Sự ra đời của mơ hình Word2Vec, Fasttext cũng giúp đưa các mơ hình vốn ban đầu được sử dụng cho lĩnh vực khác như CNN, mơ hình thường được sử dụng trong thị giác máy tính vào lĩnh vực xử lý ngơn ngữ tự nhiên, kết hợp với Word2Vec đã chuyển hĩa đầu vào là văn bản thành vector tương tự như các vector
Trang 17điểm ảnh sau đó đưa vào CNN để huấn luyện và phân loại, mô hình CNN cũng đã đạt được nhiều cải tiến trong lĩnh vực xử lý ngôn ngữ tự nhiên nhờ vào khả năng trích xuất đặc trưng mạnh mẽ của mô hình
Vào năm 2017, sự ra đời của Transformer là bước đột phá mạnh mẽ trong lĩnh vực xử lý ngôn ngữ tự nhiên, được xem là kiến trúc mô hình mạnh mẽ nhất hiện tại trong lĩnh vực xử lý ngôn ngữ tự nhiên, kéo theo sự ra đời của nhiều biến thể như BERT, GPT, XLM-R,… Các biến thể này được gọi là mô hình tiền huấn luyện (pre-trained model), được huấn luyện sẵn trên một lượng lớn dữ liệu tiếng Anh, đa ngôn ngữ,…Tùy theo từng ngôn ngữ cụ thể mà mỗi mô hình có điểm mạnh riêng Trong bài toán tiếng Việt, các mô hình đã được tiền huấn luyện như PhoBERT, ViBERT, XLM-R,… Trong đó PhoBERT được xem là mô hình tốt nhất cho tiếng Việt vì dữ liệu huấn luyện tập trung vào tiếng Việt và có kích thước
dữ liệu lớn nhất, ViBERT ít dữ liệu tiếng Việt hơn PhoBERT, XLM-R cũng khá tốt nhưng nó được huấn luyện đa ngôn ngữ, không chuyên sâu vào tiếng Việt Tập
dữ liệu sử dụng trong đề tài này toàn bộ bằng tiếng Việt, do đó PhoBERT được xem là phù hợp nhất cho bài toán tập trung vào tiếng Việt
Vào năm 2019, việc kết hợp mô hình tiền huấn luyện dựa trên transformer (BERT) và CNN đã đạt hiệu quả xử lý ngôn ngữ tự nhiên nhờ kết hợp những ưu điểm của hai loại mô hình này [8], đặc biệt là trong phân loại văn bản ngắn như bình luận xã hội Xem xét trên bài toán phân loại bình luận tiếng Việt, PhoBERT kết hợp với mô hình CNN cũng sẽ đem lại nhiều kết quả tốt giống như nghiên cứu [8] đã kết hợp BERT với CNN
Do đó trong đề tài này tôi sử dụng các mô hình được xem là tốt nhất cho bài toán phân loại cụ thể hơn là văn bản ngắn và tiếng Việt là: CNN, BERT, PhoBERT, PhoBERT-CNN Trong đó hai mô hình triển vọng nhất là PhoBERT và PhoBERT-CNN Tôi cũng sẽ đánh giá độ hiệu quả của mô hình tiền huấn luyện trên trên tiếng Việt so với mô hình chỉ huấn luyện trên tiếng Anh là PhoBERT và BERT Tuy nhiên hiệu suất của mô hình trên từng tập dữ liệu là khác nhau, vì vậy cần có nghiên cứu và đánh giá cụ thể để tìm ra mô hình nào là tốt nhất
Trang 182.2 Mô hình học sâu (Deep Learning):
2.2.1 CNN:
Mạng nơ-ron tích chập (CNN – Convolutional Neural Netwokrs) là một mô hình phổ biến trong lĩnh vực xử lý ngôn ngữ tự nhiên, đặc biệt là trong các nhiệm
vụ liên quan đến phân loại văn bản ngắn Mô hình ban đầu được thiết kế cho tác
vụ nhận dạng hình ảnh nhưng đã được chứng minh rất hiệu quả khi được áp dụng cho xử lý ngôn ngữ tự nhiên
CNN là mô hình học sâu có khả năng học các đặc trưng không gian từ dữ liệu đầu vào Trong nhiệm vụ xử lý văn bản, CNN có khả năng học các đặc trưng từ chuỗi từ ngữ trong văn bản, giúp mô hình nhận diện được các đặc trưng quan trọng trong câu Điều này giúp mô hình tập trung vào những phần quan trọng của văn bản
Hình 2.1: Cấu trúc mô hình CNN [13]
Cấu trúc của mô hình CNN bao gồm các thành phần chính sau:
1 Embedding Layer: Lớp này thực hiện việc chuyển đổi các từ trong văn bản thành các vector, trong đề tài này, tôi sử dụng Word2Vec để thực hiện nhúng từ
2 Convolutional Layer: Lớp này áp dụng các bộ lọc (filters) lên các vector để trích xuất đặc trưng
Trang 193 Pooling Layer: Lớp này giảm thiểu kích thước của các ma trận đặc trưng bằng cách lấy giá trị lớn nhất (Max pooling) trong một vùng nhất định Lớp này giúp giảm số lượng tham số và tránh overfitting
4 Fully Connected Layer: Lớp này kết nối toàn bộ các đặc trưng trích xuất vào một lớp đầu ra để thực hiện nhiệm vụ phân loại
2.2.2 Pre-trained Models:
2.2.2.1 Cấu trúc của transformer:
Hình 2.2: Cấu trúc kiến trúc Transformer [6]
Transformers được tạo thành từ hai thành phần chính là encoder và decoder:
• Encoder: Xử lý dữ liệu đầu vào (Inputs) và chuyển đổi thành các biểu diễn
vector, mỗi vector đại diện trong 1 từ trong câu Các vector này chứa thông tin về ngữ cảnh và ngữ nghĩa của từ trong câu
• Decoder: Nhận vào biểu diễn vector của encoder kết hợp với một chuỗi đầu
vào khác (Outputs) và sử dụng nó để dự đoán đầu ra
Trang 202.2.2.2 Nguyên lí hoạt động:
a Tiền xử lý:
1 Tokenization: Đầu tiên các dữ liệu đầu vào (inputs) được biển đổi thành các token Mục đích của việc này là chia nhỏ văn bản đầu vào thành các đơn vị nhỏ hơn gọi là “token”, tạo ra một biểu diễn cấu trúc hơn và dễ hiểu hơn cho dữ liệu đầu vào của mô hình, tăng tính tổng quát hóa của mô hình Mỗi token có thể là một
từ đơn/từ ghép, một dấu câu hoặc một phần của từ… Giả sử với câu “Tôi yêu quê hương!” sẽ được tách thành các token “Tôi” “yêu” “quê_hương” “!” Với từ
“quê_hương” khi được hiểu là một từ ghép và các từ còn lại là từ đơn, nếu không phân chia từ đơn và từ ghép mô hình có thể sẽ xử lý thành 2 từ riêng lẻ “quê” và
“hương” Ngoài ra các dấu câu như dấu “!” cũng được tính là một token riêng và tách ra để xử lý để tránh các trường hợp viết theo hai kiểu “quê hương!” và “quê hương !”
2 Embedding: Mô hình không hiểu câu chữ mà chỉ hiểu các con số, do đó phải biểu diễn các token dưới dạng vector, các từ gần nghĩa sẽ có vector gần giống nhau Việc nhúng từ thường thực hiện bằng các pre-trained word embeddings như Glove, Fasttext,…
3 Positional encoding: Vì transformers đưa các token vào đồng thời nên cần gán các vị trí của token trong câu Việc này được posional encoding thực hiện bằng cách cộng trực tiếp vào các token embeddings Position encodings thực hiện dựa trên hàm như sau để đảm bảo mỗi vị trí có một encoding duy nhất [16]:
10000
2𝑖
𝑑𝑚𝑜𝑑𝑒𝑙) (2.1)
Trong đó pos là vị trí của token trong câu, PE là giá trị positional encoding của
phần tử thứ i trong câu có độ dài dmodel
Sau khi có được PE vector ta cộng với embedding vector và đưa vào khối encoder
Trang 21b Khối encoder:
Encoder là khối bao gồm nhiều lớp (layer) Mỗi layer có 2 thành phần là Multi-Head Attention và Feed-Forward Output của 2 thành phần này đều đi qua một lớp Add & Norm
Hình 2.3: Khối encoder [6]
c Cơ chế Self-Attention:
Kiến trúc transformer có cốt lõi là cơ chế self-attention, đây là cơ chế giúp Transformers hiểu được sự liên quan giữa các từ trong một câu Chi tiết các tính toán các tham số của cơ chế Attention trong hình sau:
Hình 2.4: Vector và các ma trận Q, V, K [14]
Trang 22Cơ chế self-attention có đầu vào là 3 vectors Querys (Q), Keys (K) và Values (V) Để có 3 vector Q, K, V, ta lấy inputs được embedding trước đó nhân với 3 ma trận trọng số tương ứng WQ, WK, WV Các ma trận này được khởi tạo ban đầu với giá trị ngẫu nhiên sau đó được tinh chỉnh trong quá trình huấn luyện sao cho kết quả tốt nhất
2 Thực hiện chia 2 điểm số cho căn bậc hai số chiều của vector Q, K, V (Giả sử
số chiều của Q, K, V trong ví dụ minh họa là 64-D vectors) Việc chia như vậy giúp các giá trị score không phụ thuộc vào độ dài của vector Q, K, V
3 Thực hiện hàm softmax để lấy phân bổ xác suất của các từ
4 Nhân giá trị vừa được softmax với vector V để giữ lại những từ quan trọng có xác suất lớn và loại bỏ những từ ít quan trọng có xác suất nhỏ
Trang 235 Thực hiện cộng các vector V (v1, v2,…) sau khi được nhân với softmax lại với nhau, tạo ra vector attention Z cho một từ Thực hiện lại quá tình trên cho đến khi thu được ma trận attention cho 1 câu
d Multi-head Attention:
Trong hình 2.6 , ta thấy rằng từ “Thinking” có điểm số liên quan với chính nó rất cao, có nghĩa là một từ sẽ luôn liên quan với chính nó nhất Đây là một vấn đề của Self-Attention, vì vậy Multi-head attention ra đời để giải quyết vấn đề này Ý tưởng của Multi-head attention là sử dụng nhiều attention khác nhau (multi-head)
và mong muốn rằng mỗi head sẽ chú ý đến một đặc trưng trong câu
Mỗi head sẽ tạo ra một ma trận attention riêng do đó phải kết nối các ma trận này và nhân với ma trận Wo để tạo ra một ma trận attention duy nhất được gọi
là Weighted sum
Hình 2.6: Weighted sum [14]
e Add & Normalize:
Trong khối này gồm 2 bước chính:
• Residual Connection (Skip connection): Giúp duy trì và truyền tải thông tin ban đầu qua các lớp của mạng nơ-ron Giải quyết các vấn đề như gradient vanishing hoặc gradient exploding trong quá trình huấn luyện Thực hiện cộng trực tiếp đầu ra của sub-layer attention và feed-forward với đầu vào inputs
Trang 24• Layer Normalization: Giúp ổn định quá trình huấn luyện bằng cách chuẩn hóa các giá trị trong vectors Điều này giúp tăng tốc độ huấn luyện và cải thiện hiệu suất của mô hình Việc chuẩn hóa sẽ tính toán trung bình và độ lệch chuẩn của các giá trị, sau đó đưa về độ phân phối chuẩn với trung bình bằng 0 và phương sai bằng 1
f Feed-Forward:
Sau khi Normalize, các vector Z được đưa qua mạng fully connected trước khi qua Decoder Trong mạng fully-connected bao gồm 2 lớp dense (fully-connected) với một hàm kích hoạt phi tuyến ở giữa Cụ thể như sau:
1 Lớp dense đầu tiên: Áp dụng phép biến đổi tuyến tính lên đầu vào
2 Hàm kích hoạt phi tuyến: Thường sử dụng hàm ReLU( Rectified Linear Unit) để thêm tính phi tuyến cho mô hình
3 Lớp dense thứ hai: Áp dụng phép biến đổi tính tuyến khác lên kết quả từ hàm kích hoạt
Khối Feed-Forward giúp mô hình học được các đặc trưng phức tạp và phi tuyến từ dữ liệu, tăng khả năng biểu diễn của mô hình Việc sử dụng hàm kích hoạt phi tuyến giúp mô hình có thể học được các mối quan hệ phi tuyến giữa các từ trong câu
g Decoder:
Khối decoder trong mô hình Transformer chịu trách nhiệm giải mã vector và tạo ra đầu ra dựa trên các vectoc được tạo ra bởi khối encoder Cấu trúc của khối decoder tương tự với encoder nhưng có thêm một sub-layer là Masked Multi-Head Self-Attention
Quá trình decode trong mô hình Transformer về cơ bản giống với quá trình encode nhưng có một số điểm khác biệt quan trọng:
• Giải mã từng từ một: Decoder giải mã chuỗi đầu ra từng từ một tại một thời điểm, thay vì xử lý toàn bộ chuỗi cùng lúc
• Masked Input: Các đầu vào của khối decoder đều được che đi (masked) để ngăn mô hình thấy được các từ tương lai khi dự đoán từ hiện đại
Các bước diễn ra như sau:
Trang 251 Masked Multi-Head Self-Attention: Đầu vào input bị che (masked input) được đưa vào khối Tại đây, thay vì nhân với ba trọng số để tạo ra Q,K,V như Encoder thì nó chỉ nhân với một ma trận trọng số WQ để tạo ra Q
2 Lấy K và V từ Encoder: Các giá trị K, V không được tạo ra từ đầu vào của decoder mà lấy từ đầu ra của encoder
3 Tính toán Attention: Với K và V từ Encoder, Q từ masked multi-head attention được thực hiện tính toán tại sub-layer này tương tự như khối encoder
self-4 Feed-Forward và Softmax: Các vectors Z sau khi tính toán attention ở trên được đưa vào một mạng Fully-connected tương tự encoder Kết quả sau đó được ra qua một hàm Softmax để tạo ra xác suất của từ tiếp theo trong chuỗi đầu ra hoặc phân loại nhãn
2.2.2.3 BERT:
BERT (Bidirectional Encoder representations from Transformers) là một
mô hình ngôn ngữ tiên tiến được Google phát triển và giới thiệu vào năm 2018 Bert đã tạo ra một bước đột phát lớn trong lĩnh vực xử lý ngôn ngữ tự nhiên Bert dựa trên kiến trúc Transformer, cụ thể là phần encoder của Transformer
Trong mô hình gốc của Transformer, việc biểu diễn hai chiều chưa được sử dụng cụ thể để hiểu ngữ cảnh hai chiều như Bert Bert cải tiến kiến trúc Transformer bằng cách sử dụng các phương pháp tiền huấn luyện là Masked Language Model và Next Sentence Prediction để tập trung vào việc hiểu ngữ cảnh hai chiều và tạo ra các biểu diễn ngữ nghĩa phong phú hơn Với 2 phương pháp tiền huấn luyện trên, mô hình sẽ hiểu sâu hơn về ngữ nghĩa của văn bản và học được ngữ cảnh hai chiều
Sau khi tiền huấn luyện, BERT có thể được tinh chỉnh (Fine-tuning) cho các nhiệm vụ cụ thể hơn như phân loại văn bản, trả lời câu hỏi,… Quá trình tinh chỉnh thường diễn ra trên một tập dữ liệu nhỏ hơn và chỉ cần một số epoch để đạt hiệu suất tốt nhờ vào kiến thức đã được học trong tiền huấn luyện
Trang 262.2.2.4 PhoBert:
PhoBert là một phiên bản của BERT được tinh chỉnh dành riêng cho tiếng Việt Được phát triển bởi các nhà nghiên cứu tại VinAI Research, được công bố vào năm 2020 Mô hình được tiền huấn luyện trên 1GB dữ liệu từ Wikipedia tiếng Việt và 19GB từ tin tức tiếng Việt Việc được tiền huấn luyện trên dữ liệu tiếng Việt đã tăng hiệu suất của các tác vụ xử lý ngôn ngữ tiếng Việt
2.2.2.5 PhoBert-CNN:
PhoBERT-CNN là phiên bản với sự kết hợp giữa PhoBERT mạng Convolutional Neural Network(CNN) với ý tưởng kết hợp các ưu điểm của hai mô hình
PhoBERT mạnh mẽ trong việc biểu diễn ngữ cảnh giữa các từ trong câu, CNN thì là một trong những mô hình thành công trong việc phân loạicác nhiệm vụ phân loại văn bản ngắn Trong mô hình kết hợp này, PhoBERT đóng vai trò là phần encoder chính, biểu diễn ngữ cảnh của các từ trong câu Sau đó, các lớp CNN được sử dụng để phân loại từ biểu diễn của PhoBert
Vì mô hình pre-trained như BERT và PhoBERT chỉ có phần encoder, phần huấn luyện và dự đoán được thực hiện bởi lớp fully-connected, mô hình kết hợp này sẽ thay thế lớp fully-connected này thành mạng CNN Mục tiêu mô hình này nhằm cải thiện khả năng tổng quát hóa và hiệu suất của mô hình
2.3 Tập dữ liệu ViHSD:
Tập dữ liệu ViHSD được tác giả Son T Luu và đồng nghiệp xây dựng và công bố vào năm 2021 [10] Tập dữ liệu này mục đích giải quyết vấn đề phát ngôn thù ghét trên mạng xã hội tiếng Việt Để đạt được mục tiêu này, nhóm nghiên cứu
đã thu thập hơn 33,400 bình luận từ các trang Facebook và Youtube về các chủ đề như giải trí, người nổi tiếng, các vấn đề xã hội và chính trị Các trang và kênh này được lựa chọn dựa trên mức độ tương tác cao và không giới hạn bình luận, đảm bảo thu thập được nhiều ý kiến đa dạng từ người dùng Sau khi thu thập dữ liệu các tên riêng cũng được loại bỏ để đảm bảo tính ẩn danh cho người dùng
Dữ liệu thu thập được sau đó được gán nhãn thành ba loại:
Trang 271 Clean: Nhãn này được dành cho các bình luận có nội dung bình luận hoặc trung lập, không chứa ngôn ngữ xúc phạm, thù địch hay mang tính phân biệt Đây là bình luận được viết với mục đích xây dựng, chia sẻ thông tin hoặc bày tỏ ý kiến một cách lịch sự và tôn trọng
2 Offensive: Đây là các bình luận được gán nhãn mang tính xúc phạm, có nội dung thô lỗ, không tôn trọng Các bình luận không nhất thiết mang tính thù địch (Hate) hoặc phân biệt nhưng chúng vẫn gây ra khó chịu hoặc phẫn
nộ Thường là các câu chửi thề, thể hiện cảm xúc tiêu cực của bản thân nhưng không nhắm đến một cá nhân, tổ chức cụ thể
3 Hate: Đây là các bình luận mang tính thù địch, những nội dung mang tính cực đoan, phân biệt đối xử Thường nhắm vào một nhóm người, tổ chức hoặc cá nhân dựa trên các đặc điểm như chủng tộc, giới tính, tôn giáo, khuynh hướng tình dục… Và có thể kích động bạo lực hoặc sự căm ghét Quá trình gán nhãn gồm hai giai đoạn chính: huấn luyện và gán nhãn Trong giai đoạn huấn luyện, những người gán nhãn được đào tạo kỹ lưỡng và được cung cấp hướng dẫn chi tiết, cách nhận diện và phân loại các bình luận Độ đồng thuận giữa các người gán nhãn được đo lường bằng chỉ số Cohen Kappa để đảm bảo chất lượng và độ tin cậy của dữ liệu nếu độ đồng thuận không đạt yêu cầu, quá trình đào tạo sẽ được thực hiện lại và hướng dẫn gán nhãn được cập nhật
Kết quả cuối cùng là một tập dữ liệu lớn và chi tiết, với các bình luận được phân loại rõ ràng và chính xác Tập dữ liệu này được chia thành ba phần với tỷ lệ 7-1-2: tập huấn luyện (train), tập phát triển (dev) và tập kiểm tra (test)
Tỉ lệ giữa các nhãn Clean, Offensive, Hate được thể hiện trong hình sau:
Trang 28Hình 2.7: Biểu đồ tập dữ liệu ViHSD
Ta thấy rằng tập dữ liệu gặp phải một hạn chế là sự mất cân bằng trong dữ liệu, điều này xảy ra do sự phân phối tự nhiên của dữ liệu Có nghĩa là các bình luận Clean thường sẽ xuất hiện nhiều hơn hai nhãn còn lại Khi thu thập một lượng lớn
dữ liệu thô về, phần lớn sẽ là các bình luận clean và các bình luận Hate và Offensive chiếm phần nhỏ Do đó việc mất cân bằng dữ liệu sẽ ảnh hưởng nhiều đến hiệu suất dự đoán, các nhãn ít dữ liệu hơn sẽ có hiệu suất kém hơn và các nhãn có nhiều
dữ liệu hơn sẽ được dự đoán tốt hơn Do đó cần phải có phương pháp để giải quyết vấn đề mất cân bằng dữ liệu này
2.4 Xử lý dữ liệu:
2.4.1 Tiền xử lý dữ liệu:
Việc tiền xử lý dữ liệu, đặc biệt là trong lĩnh vực xử lý ngôn ngữ tự nhiên, là một phần quan trọng và không thể thiếu trong quá trình phân tích dữ liệu ngôn ngữ Đây là giai đoạn làm sạch văn bản, các văn bản sẽ được loại bỏ những thông tin không cần thiết, chuẩn hóa về cùng một chuẩn,… Dữ liệu được tiền xử lý kỹ càng sẽ tối ưu hiệu suất cho mô hình, giúp các mô hình có thể học được các đặc trưng tốt hơn, tránh những nhiễu không cần thiết, nhầm lẫn giữa từ viết hoa, viết thường,… Tuy nhiên, không phải phương pháp tiền xử lý nào cũng cải thiện hiệu suất, áp dụng quá nhiều phương pháp tiền xử lý có thể dẫn đến mất thông tin quan trọng, không phải lúc nào cũng thực hiện tất cả phương pháp, do đó ta cần cân nhắc, thử nghiệm trên các bài toán cụ thể, phù hợp với dữ liệu đang sử dụng
Trang 29Tách từ (tokenize) là một trong những phương pháp tiền xử lý rất quan trọng, hầu như bắt buộc phải thực hiện cho dữ liệu ở mọi ngôn ngữ Tách từ là quá trình chia một đoạn văn bản thành các đơn vị nhỏ hơn như từ, cụm từ hoặc ký tự Mỗi đơn vị này được gọi là “token”
Ví dụ: “Chúng ta hãy cùng nhau học tập và tiến bộ” sẽ được tách thành: [“Chúng_ta”, “hãy”, “cùng”, “nhau”, “học_tập”, “và”, “tiến_bộ”]
Trong ví dụ trên, văn bản đã được tách thành các từ và cụm từ riêng biệt dựa trên dấu cách giữa các từ Các từ tách ra là các đơn vị ngữ cảnh trong văn bản, mỗi
từ đại diện cho một khái niệm hoặc ý nghĩa riêng biệt Nếu không thực hiện tách
từ, mô hình có thể nhầm lẫn giữa từ và cụm từ, giả sử từ “Chúng ta” nếu không được tách, mô hình có thể nhầm rằng “Chúng” chỉ một nhóm người khác, “ta” chỉ bản thân Do đó cần phải có bước tách từ cho dữ liệu trước khi đưa vào mô hình
để huấn luyện
Hiện tại tại Việt Nam, có nhiều thư viện và công cụ phổ biển để thực hiện tách
từ trong Tiếng Việt Trong đề tài này, tôi sử dụng công cụ VNCoreNLP để thực hiện tách từ cho dữ liệu VnCoreNLP là công cụ tách từ được phát triển bởi nhóm nghiên cứu ngôn ngữ tự nhiên tại Trường Đại Học Khoa học Tự Nhiên [15] VnCoreNLP cung cấp các chức năng xử lý ngôn ngữ tự nhiên cho tiếng Việt, bao gồm tách từ, phân loại từ loại, gán nhãn cú pháp và nhiều tính năng khác
2.4.2 Tăng cường dữ liệu:
2.4.2.1 Tăng cường dữ liệu với phương pháp EDA (Easy data augmentation):
EDA (Easy data augmentation) là một phương pháp tăng cường dữ liệu đơn giản và hiệu quả trong lĩnh vực xử lý ngôn ngữ tự nhiên Phương pháp này được giới thiệu trong bài báo bởi Jason Wei và Kai Zou Phương pháp này dựa trên 4 kỹ thuật đơn giản bao gồm:
1 Thay thế từ đồng nghĩa ( Synosym Replacement – SR): Thay thế ngẫu
nhiên n từ trong câu không phải là từ dừng (stop word) bằng các từ đồng nghĩa của
chúng
Trang 302 Chèn từ ngẫu nhiên ( Random Insertion – RI): Chọn ngẫu nhiên n từ mà
không phải từ dừng và chèn vào câu từ đồng nghĩa của chúng ở vị trí ngẫu nhiên trong câu
3 Hoán đổi ngẫu nhiên ( Random Swap – RS): Chọn ngẫu nhiên 2 từ trong
cầu và hoán đổi vị trí Thao tác thực hiện n lần
4 Xóa ngẫu nhiên (Random Deletion – RD): Chọn ngẫu nhiên n từ và xóa
từ đó trong câu
Các kỹ thuật này được thiết kế để đơn giản quá trình tăng cường dữ liệu mà không cần phải tốn nhiều công sức và tài nguyên tốn kém Mục tiêu của phương pháp này là cải thiện hiệu suất các mô hình học máy trong các nhiệm vụ phân loại văn bản khi dữ liệu không nhiều hoặc bị mất cân bằng Đối với mỗi câu tăng cường
sẽ được chọn ngẫu nhiên 1 trong 4 kỹ thuật trên để tăng cường để đảm bảo tính đa dạng của câu
Các từ đồng nghĩa trong phương pháp này được lấy từ Wordnet-Vi, cơ sở dữ liệu ngôn ngữ hỗ trợ tiếng Việt Wordnet cung cấp từ điển của từ trong tiếng việt
và các từ đồng nghĩa tương ứng của chúng Đối với phương pháp EDA, các từ đồng nghĩa được lấy dựa trên các từ điển trên Wordnet mà không quan tâm đến ngữ cảnh xung quanh, việc này có thể làm mất đi ý nghĩa của câu so với ban đầu hoặc với các phương pháp chèn từ, hoán đổi, xóa từ ngẫu nhiên có thể làm mất đi cấu trúc của câu Ngoài ra, với các từ hiếm hoặc ít gặp không có trong từ điển, đặc biệt là trong bài toán phân loại bình luận công kích, các từ chửi thề đóng vai trò quan trọng trong câu thì Wordnet không có từ thay thế tương ứng
EDA đã được thử nghiệm trên nhiều tập dữ liệu và đã được chứng minh có thể cải thiện hiệu suất các mô hình phân loại, đặc biệt là các mô hình CNN và RNN Tác giả đã tiến hành so sánh phương pháp này trên nhiều kích thước dữ liệu khác nhau với số lượng mẫu N = {500, 2000, 5000} và kết quả đạt tốt nhất ở N = 500
và giảm dần khi N tăng lên 5000 Tác giả cũng đã đề xuất cài đặt tham số để đạt hiệu quả tốt nhất với từng kích thước dữ liệu như sau:
Trang 31Bảng 2.1: Đề xuất của tác giả với phương pháp EDA [11]
• Ntrain là số lượng mẫu trong tập dữ liệu gốc Ví dụ trong tập dữ liệu ViHSD
có 1606 bình luận Offensive thì NtrainOffensive = 1606
• α là tỉ lệ thay đổi mỗi câu Tham số này quyết định mức độ biến đổi của câu Thông thường tỉ lệ này được chọn từ 0.05 – 2 để tránh việc thay đổi quá nhiều làm mất đi cấu trúc của câu Ví dụ với α = 0.1, 4 kỹ thuật SR, RI,
RS, RD sẽ được áp dụng đồng thời với tỉ lệ thay đổi 10% số lượng từ trong câu
• Naug là số lượng câu mới được tạo ra từ mỗi câu gốc Tham số này xác định
số lượng biến thể của mỗi câu ban đầu Ví dụ: Nếu Naug = 8, mỗi câu trong tập dữ liệu sẽ tạo ra 8 câu mới, tăng số mẫu dữ liệu lên gấp 8 lần
Khi thực hiện tăng cường bằng phương pháp EDA, tôi cũng thực hiện xem xét các từ đồng nghĩa và các câu mới được tạo ra Phương pháp này có một số hạn chế:
• Tìm từ đồng nghĩa không hợp lý: đi > đi tù, mẹ > sinh vật mẹ, ngân nga
-> rú, miệng > cửa… Lý do cho việc này là vì Wordnet phiên bản tiếng Việt (Wordnet-Vi) được xây dựng bằng dịch tự động từ Wordnet tiếng Anh [17], nghiên cứu này cũng chỉ ra tỉ lệ từ trong Wordnet tiếng Việt chỉ đạt 43,09% số lượng từ trong từ điển tiếng Việt, có nghĩa là Wordnet-Vi chưa thể bao hàm hết các từ trong tiếng Việt Trong thực nghiệm, tôi cũng nhận thấy có rất nhiều từ không có danh sách từ đồng nghĩa tương ứng, trong một câu chỉ có vài từ là có danh sách đồng nghĩa, do đó một từ trong câu có thể phải thay thế nhiều lần vì các từ còn lại không có danh sách các từ đồng
Trang 32nghĩa tương ứng Thông thường Wordnet-Vi chỉ cho ra danh sách 1-3 từ đồng nghĩa tương ứng và các từ đồng nghĩa từ thứ 2 trở đi trong danh sách thường không chính xác và đôi khi sai lệch nghĩa hoàn toàn, do đó với các câu ngắn có ít từ, một từ có thể được thay thế nhiều lần với các từ đồng nghĩa khác với câu ban đầu, mô hình phải chọn các từ đồng nghĩa thứ 2, 3,… tuy nhiên việc các danh sách đồng nghĩa chưa chính xác ở các từ thứ 2 trở đi cộng với việc từ điển Wordnet-Vi vẫn chưa đầy đủ đã dẫn đến các từ đồng nghĩa sai trên
• Các từ đồng nghĩa sau khi thay thế làm mất đi tính chính xác, thay đổi ý nghĩa câu:
o Anh ta theo đạo và hay đến đây -> Anh ta ăn cắp và hay đến đây.(đạo ->
ăn cắp) Trong câu này từ “đạo” mang chỉ tôn giáo nhưng vì không suy xét đến ngữ cảnh mà hiểu nhầm rằng “đạo” trong đạo văn, đạo ý tưởng (ăn cắp) Thay đổi này làm câu Clean trở thành Offensive
o Tên này trông ngu vậy -> Tên này trông tối tăm vậy Việc thay đổi từ ngu->tối tăm làm giảm đi mức độ tiêu cực của câu vì tối tăm nói về trạng thái tinh thần trong khi đó từ ngu là từ mang tính xúc phạm
Phương pháp EDA chỉ chọn một từ trong câu và thay thế nó trong danh sách từ đồng nghĩa mà không xem xét đến ngữ cảnh xung quanh câu Trong các ví dụ trên cho thấy việc quan trọng của việc hiểu rõ ngữ cảnh
và ý nghĩa của từ trong một câu Việc thay thế một từ đồng nghĩa mà không xem xét đến ngữ cảnh của câu có thể thay đổi toàn bộ ý nghĩa của câu một cách không mong muốn Các từ đồng nghĩa được thay thế cùng nghĩa với từ gốc nhưng lại không đúng trong ngữ cảnh của câu
• Xóa đi các từ quan trọng:
o Con đ* ( b*tch) này đó à -> Con này đó à
o Có 2tr thôi đm (f*ck) làm 2 tiếng -> có 2tr thôi làm 2 tiếng
Tóm lại, mặc dù EDA mang lại nhiều lợi ích trong việc tăng cường dữ liệu, tuy nhiên cần phải xem xét một cẩn thận và kỹ lưỡng trong mỗi trường hợp cụ thể
Trang 332.4.2.2 Tăng cường dữ liệu với pre-trained model:
Masked Langugage Model (MLM) là một tác vụ trong lĩnh vực xử lý ngôn ngữ tự nhiên Trong đó, một phần của câu, văn bản được che đi (masked) và mô hình phải dự đoán từ/token bị che đi dựa trên ngữ cảnh của câu Dựa vào tác vụ này, chúng ta có thể tận dụng vào tác vụ tăng cường dữ liệu Nghiên cứu [12] xây dựng dựa trên ý tưởng này Trong đó tác giả sử dụng các Pre-trained model như BERT, GPT,… đã được huấn luyện trước với lượng lớn dữ liệu, do đó nó hiểu các ngữ cảnh của các câu input được đưa vào, sau đó tác giả che đi một phần của câu
và yêu cầu model dự đoán từ dựa trên ngữ cảnh của câu
Phương pháp này khác với phương pháp EDA ở điểm phương pháp EDA thay đổi từ dựa trên cơ sở dữ liệu từ đồng nghĩa Wordnet, còn phương pháp này thay đổi từ dựa trên ngữ cảnh Các từ được thay thế có thể không đồng nghĩa nhưng
từ mới phù hợp với ngữ cảnh hơn
PhoBert là mô hình Pre-trained được tinh chỉnh dựa cho tiếng Việt, do đó
nó hiểu và dự đoán tốt các từ trong câu, văn bản tiếng Việt một cách hiệu quả Đối với phương pháp tăng cường dữ liệu với Pre-trained model này, nên ưu tiên những pre-trained đã được huấn luyện trên ngôn ngữ cụ thể của dữ liệu đang sử dụng, cụ thể là tiếng Việt Do đó PhoBERT là mô hình Pre-trained được sử dụng để tăng cường dữ liệu
Tuy nhiên,có một vấn đề cần xem xét khi thực hiện phương pháp này, chẳng hạn khi thực hiện tăng cường dữ liệu lên nhiều lần giống EDA, các câu mới tạo ra
sẽ có cùng ngữ nghĩa Trong ví dụ trên, khi thực hiện tăng cường từ một câu lên nhiều câu, vị trí masked có thể khác, giả sử với câu “Hôm qua tôi đi mua đồ và mất tiền, tôi đang rất buồn” được masked thành “Hôm qua tôi đi <masked> và mất
<masked>” có thể được tăng cường thành hai câu “Hôm qua tôi đi du lịch và mất điện thoại”, “Hôm qua tôi đi chơi và làm mất ví tiền” Mặc dù 2 câu mới đều thay đổi 2 cặp từ mới nhưng về ngữ cảnh nó vẫn là vào một thời điểm nào đó, chủ ngữ
đi đâu đó làm mất gì đó Do đó việc tạo thêm nhiều câu mới từ phương pháp này cần phải xem xét số lượng câu mới được tạo ra có thể dẫn đến việc mô hình được đào tạo quá nhiều trên một loại dữ liệu cụ thể, quá nhiều câu có cùng ngữ nghĩa,
Trang 34dữ liệu trở nên không đa dạng sẽ khiến mô hình học quá chi tiết và khi gặp các câu ngữ cảnh mới, nó sẽ không dự đoán chính xác
2.5 Phương pháp đánh giá:
2.5.1 Accuracy và F1-Score:
Accuracy là một trong những chỉ số đơn giản và phổ biến nhất để đánh giá hiệu quả của một mô hình phân loại Nó được định nghĩa là tỷ lệ phần trăm số dự đoán đúng trên tổng số dự đoán Công thức như sau:
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =Số dự đoán đúng
Tổng số dự đoán =
TP + TN
TP + TN + FP + FN (2.3) Trong đó:
• TP (True Positives): Số lượng mẫu thực sự dương và được dự đoán
𝐹1 − 𝑆𝑐𝑜𝑟𝑒 = 2 ×Precision × Recall
Precision + Recall (2.4) Trong đó:
• Precision (độ chính xác): Tỷ lệ mẫu được dự đoán là dương thực sự là dương
TP + FP (2.5)
• Recall (độ nhạy): Tỷ lệ mẫu thực sự dương được mô hình dự đoán đúng
Trang 35𝑅𝑒𝑐𝑎𝑙𝑙 = TP
TP + FN (2.6) Trong đề tài này, tập dữ liệu ViHSD bị mất cân bằng dữ liệu, do đó chỉ số F1-Score quan trọng hơn trong các bài toán mất cân bằng dữ liệu vì nó không bị ảnh hưởng bởi sự phân bố không đồng đều của các lớp Accuracy có thể cao nhưng không phản ánh đúng hiệu quả của mô hình vì số lượng câu nhãn Clean nhiều hơn rất nhiều so với 2 nhãn còn lại, do đó mô hình có xu hướng dự đoán đúng nhiều nhãn Clean hơn, dẫn đến Accuracy cao nhưng F1-Score lại thấp vì khả năng nhận diện 2 nhãn còn lại kém Do đó, trong đề tài này tôi tập trung vào F1-Score nhiều hơn để xem xét khả năng phân loại các nhãn ít dữ liệu hơn
2.5.2 Hàm mất mát (Loss Function):
Hàm mất mát là một thước đo để đánh giá mức độ sai lệch giữa nhãn dự đoán và nhãn thực tế Hàm mất mát được đo lường trong quá trình huấn luyện để đánh giá hiệu suất mô hình trên tập dữ liệu validation, ta có thể dựa vào chỉ số này
để điều chỉnh tham số mô hình, đặc biệt là phát hiện khi nào mô hình học quá kỹ vào dữ liệu huấn luyện (Overfitting) hoặc không học đủ từ dữ liệu (Underfitting) Trong đề tài này, tôi sử dụng hàm mất mát phổ biến nhất trong bài toán phân loại
đa lớp, Categorical Cross-Entropy Loss
Hàm mất mát Categorical Crosss Entropy Loss được tính như sau [18]:
L(y,ŷ)= - 1
N i=1 ∑ 𝑦𝑖𝑗log (ŷ𝑖𝑗)
𝐶 𝑗=1
(2.7)
Trong đó:
• N: số lượng mẫu
• C: số lượng lớp
• yij: Nhãn thực tế cho lớp j của mẫu i
• ŷij: Xác suất dự đoán cho lớp j của mẫu i
Trang 362.5.3 Confusion Matrix:
Confusion Matrix (ma trận nhầm lẫn) là một công cụ đánh giá hiệu quả các
mô hình phân loại Nó cung cấp cái nhìn chi tiết về cách mô hình phân loại các mẫu dữ liệu và các lớp khác nhau, bao gồm dự đoán đúng và sai Ma trận có dạng như sau:
và sau khi đưa dữ liệu tăng cường vào, tôi có thể đánh giá và xem xét cách mô hình học dữ liệu tăng cường và cải thiện những nhãn nào
Trang 37CHƯƠNG 3
PHƯƠNG PHÁP THỰC HIỆN PHÂN TÍCH THIẾT KẾ 3.1 Tiền xử lý dữ liệu:
Tôi thực hiện các bước tiền xử lý lần lượt như sau:
• Loại bỏ stop words: Loại bỏ các từ phổ biến như “và”, “là”, “của” không mang ý nghĩa quan trọng trong câu Các từ stop-word được định nghĩa từ một từ điển chứa các stopword
• Lowercase: Chuyển đổi các từ viết hoa thành viết thường
• Thay thế các chuỗi như số tiền ($, đồng), hashtag (#), đường link (www, https ) bằng các từ thay thế như “số_tiền”, “hashtag”, “website”
• Thay thế các dấu gạch dưới “_”, “/” bằng dấu gạch trắng (“xin_chào” sẽ được thay thành “xin chào”)
• Loại bỏ các từ kéo dài bằng cách loại bỏ các ký tự lặp lại liên tiếp trong một
từ (“xin chàoooooooooo” sẽ được thay thành “xin chào”)
• Loại bỏ các icon: Toàn bộ icon sẽ bị xóa bỏ
• Chuẩn hóa cách gõ dấu về cùng một chuẩn gõ dấu (oà thành òa)
• Chuẩn hóa Unicode: Chuẩn hóa văn bản về một loại Unicode
• Xóa bỏ các dấu câu: Các dấu câu trong bình luận thường sử dụng không hợp lý và không tuân theo quy luật nào, do đó tôi thực hiện loại bỏ các dấu câu như dấu phẩy “,”, dấu chấm “.”, dấu hỏi “?”,…
• Tách từ: Thư viện VNCoreNLP được sử dụng để thực hiện tách từ, đây là bước tiền xử lý quan trọng nhất
Trang 38Embedding, Conv2D, MaxPool2D” để định nghĩa các lớp, sau đó cài đặt các lớp bằng thủ công Mô hình bao gồm các lớp sau:
• Input: Lớp này định nghĩa đầu vào của mô hình, có kích thước (sequence_length), tức là mỗi câu có độ dài sequence_length
• Embedding: Lớp này chuyển đổi các từ trong câu thành các vectơ nhúng
có kích thước embedding_dim Đầu vào của lớp Embedding là các chỉ số của từ trong từ điển (input_dim=num_words), và đầu ra là các vectơ nhúng tương ứng với từng từ trong câu
• Conv2D: Lớp này thực hiện phép tích chập 2D trên đầu vào đã được reshape từ lớp Embedding Mỗi lớp Conv2D có num_filters bộ lọc (kernels) với kích thước là (filter_sizes[i], embedding_dim), trong đó i là chỉ số của kernel Kết quả đầu ra của mỗi lớp Conv2D là một tensor có kích thước (sequence_length - filter_sizes[i] + 1, 1, num_filters)
• MaxPool2D: Lớp này thực hiện phép pooling theo chiều dài của các feature maps đã được tính toán từ lớp Conv2D Pooling được thực hiện bằng cách chọn giá trị lớn nhất từ mỗi cửa sổ có kích thước (sequence_length - filter_sizes[i] + 1, 1) Kết quả đầu ra của mỗi lớp MaxPool2D là một tensor
có kích thước (1, 1, num_filters), với mỗi kênh tương ứng với giá trị lớn nhất được chọn từ mỗi feature map
• Fully connected: Lớp fully connected này thực hiện phân loại đầu ra từ lớp Dropout thành các lớp đầu ra tương ứng với số lớp đích (trong trường hợp này là 3 lớp với activation function là softmax)
Sau khi xây dựng các lớp cho mô hình CNN, tôi thực hiện tiền xử lý dữ liệu
và đưa vào mô hình để huấn luyện Hình sau mô tả cách hoạt động của mô hình CNN:
Trang 39Hình 3.1: Thiết kế mô hình CNN
Trong hình 3.1, mô tả cấu trúc mô hình CNN được sử dụng trong nghiên cứu này, với kích thước bộ lọc (filter size) Convolutional lần lượt là 1,2,3,5 Các
bộ lọc được sử dụng để trích xuất các đặc trưng từ dữ liệu đầu vào, mỗi kích thước
bộ lọc đại diện cho cách mà mỗi bộ lọc di chuyển qua dữ liệu để tạo ra các đặc trưng khác nhau Với mỗi kích thước sẽ có 32 bộ lọc (number filter), việc sử dụng nhiều bộ lọc sẽ giúp mô hình học các đặc trưng từ nhiều tỷ lệ và phạm vi khác nhau, đa dạng hóa quá trình học và chia sẻ thông tin giữa các bộ lọc, từ đó tăng cường khả năng học của mô hình Các tham số trên đã được tìm kiếm bằng công
cụ để tối ưu nhất cho tập dữ liệu ViHSD
3.2.2 Pre-trained model:
Đối với các mô hình pre-trained model như BERT, PhoBERT thì quá trình xây dựng mô hình đơn giản và nhanh hơn mô hình CNN bằng việc sử dụng thư viện
“Hugging Face” để lấy hai mô hình BERT và PhoBERT về
Đối với BERT, PhoBERT đều có 2 phiên bản:
• Base: Phiên bản này có 12 lớp Transformer, kích thước hidden_size là
768, 12 heads attention có tổng cộng 110 triệu tham số
Trang 40• Large: Phiên bản này có 24 lớp Transformer, kích thước hidden_size là
1024, 16 heads attention có tổng cộng 340 triệu tham số
Phiên bản Large thông thường đem lại hiệu suất tốt hơn phiên bản Base nhưng
đòi hỏi nhiều tài nguyên phần cứng hơn Do giới hạn về phần cứng, tôi chọn phiên
bản Base cho cả 2 mô hình BERT và PhoBERT
Sau khi lấy mô hình từ thư viện về, tôi thực hiện tiền xử lý, thiết lập tham số
cần thiết như learning_rate, batch_size, epoch,… sau đó đưa vào mô hình để huấn
luyện Việc thiết kế các mô hình pre-trained đơn giản và nhanh hơn xây dựng mô
hình CNN rất nhiều, hầu như các lớp đều được cấu hình sẵn, nếu muốn thay đổi ta
có thể thiết lập lại ở các hyperparameter, nhưng nhìn chung không nhất thiết phải
thay đổi quá nhiều ngoài các tham số ảnh hưởng đến quá trình training như
learning_rate, epoch, batch_size,… vì đây là thiết lập tối ưu nhất cho mô hình
Hình 3.2: Thiết kế mô hình Pre-trained BERT, PhoBERT
3.2.3 PhoBERT-CNN: