Đồ án: Phân tích cung bậc cảm xúc bình luận tiếng Việt trên MXH (UIT-VSMEC)

Đồ án môn học: Phân tích cung bậc cảm xúc bình luận tiếng Việt trên mạng xã hội sử dụng bộ dữ liệu UIT-VSMEC. Ứng dụng học máy thống kê để xử lý ngôn ngữ tự nhiên.

Chuyên ngành

Học Máy Thống Kê

Người đăng

Ẩn danh

Thể loại

Đồ án môn học

2020

41
11
0

Phí lưu trữ

30 Point

Mục lục chi tiết

1. Chương 1: GIỚI THIỆU VÀ PHÂN TÍCH ĐẶC ĐIỂM CỦA BỘ DỮ LIỆU

1.1. Giới thiệu về bộ dữ liệu

1.1.1. Tên bộ dữ liệu: UIT – VSMEC

1.1.2. Nội dung bộ dữ liệu

1.2. Phân tích đặc điểm của bộ dữ liệu

1.2.1. Mô tả chi tiết bộ dữ liệu

1.2.2. Kích thước bộ dữ liệu và số thuộc tính

1.2.3. Mô tả chi tiết các thuộc tính

1.2.4. Mô tả chi tiết các nhãn

1.2.5. Ví dụ về phân loại cảm xúc câu

1.3. Thống kê bộ dữ liệu

1.3.1. Thống kê dữ liệu tập huấn luyện (Train set)

1.3.2. Thống kê dữ liệu tập kiểm thử (Test set)

1.3.3. Thống kê dữ liệu tập kiểm định (Validation set)

2. Chương 2

2.1. Multinomial Naive Bayes (MultinomialNB) [2]

2.2. Support Vector Machine (SVM) [3]

2.2.1. Định nghĩa Support Vector Machine (SVM)

2.2.2. Tối ưu trong thuật toán SVM

2.3. Long Short – Term Memory (LSTM) [4]

2.3.1. Giới thiệu Long Short – Term Memory (LSTM)

2.3.2. Ý tưởng cốt lõi của Long Short – Term Memory (LSTM)

2.3.3. Bên trong Long Short – Term Memory (LSTM)

2.4. Bi – Directional Long Short – Term Memory (Bi - LSTM) [5]

3. Chương 3: PHÂN TÍCH MÔ HÌNH

3.1. Mô hình học máy MultinomialNB và SVM

3.1.1. Khái quát về mô hình MultinomialNB và SVM

3.1.2. Chi tiết tiến trình mô hình MultinomialNB và SVM

3.2. Mô hình học sâu Bi-LSTM

3.2.1. Khái quát về mô hình Bi-LSTM

3.2.2. Chi tiết tiến trình mô hình Bi-LSTM

4. KẾT QUẢ THỰC NGHIỆM

4.1. Confusion matrix trên tập Test

4.2. Confusion matrix trên tập Validation

4.3. Accuracy, precision, recall, f1-score

4.3.1. Multinomial Naive bayes (MultinomialNB)

4.3.2. Support Vector Machine (SVM)

4.3.3. Bi – Directional Long Short – Term Memory (Bi-LSTM)

4.4. Nhận xét kết quả thực nghiệm

TÀI LIỆU THAM KHẢO

PHỤ LỤC 1: SOURCE CODE

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Tổng quan phân tích cảm xúc tiếng Việt bộ dữ liệu VSMEC

Phân tích cảm xúc (Sentiment Analysis) là một nhánh quan trọng của xử lý ngôn ngữ tự nhiên (NLP), tập trung vào việc xác định và phân loại các ý kiến, cảm xúc thể hiện trong văn bản. Trong bối cảnh bùng nổ của mạng xã hội, việc tự động phân tích ý kiến khách hàng từ các bình luận đã trở thành một công cụ thiết yếu cho doanh nghiệp và các nhà nghiên cứu. Nhiệm vụ phân tích cảm xúc bình luận tiếng Việt: UIT-VSMEC không chỉ là một bài toán học thuật mà còn có giá trị thực tiễn cao, giúp nắm bắt dư luận xã hội và phản hồi của người dùng. Để giải quyết bài toán này, sự ra đời của các bộ dữ liệu chất lượng cao là yếu tố tiên quyết. Bộ dữ liệu UIT-VSMEC (University of Information Technology - Vietnamese Social Media Emotion Corpus) do nhóm tác giả từ UIT-VNUHCM xây dựng là một tài nguyên đột phá. Nó cung cấp một corpus được gán nhãn dữ liệu chuyên sâu, không chỉ dừng lại ở các nhãn tích cực-tiêu cực-trung tính mà phân loại chi tiết thành 7 cung bậc cảm xúc riêng biệt. Đây là nền tảng vững chắc để huấn luyện và đánh giá mô hình NLP cho tiếng Việt, đặc biệt là các mô hình học máy cho tiếng Việt và học sâu. Nghiên cứu này tập trung vào việc áp dụng các thuật toán từ cổ điển đến hiện đại trên bộ dữ liệu VSMEC để tìm ra phương pháp tối ưu nhất cho bài toán phân loại văn bản tiếng Việt, mở ra nhiều hướng đi mới cho lĩnh vực NLP tiếng Việt.

1.1. Sentiment Analysis tiếng Việt là gì và tại sao lại quan trọng

Sentiment analysis tiếng Việt là quá trình sử dụng các kỹ thuật máy tính để tự động xác định thái độ, cảm xúc (tích cực, tiêu cực, trung tính hoặc các cung bậc chi tiết hơn) được thể hiện trong một đoạn văn bản tiếng Việt. Tầm quan trọng của nó ngày càng tăng do sự phát triển của nội dung do người dùng tạo ra trên các nền tảng như Facebook, Tiki, Shopee. Đối với doanh nghiệp, đây là công cụ social listening mạnh mẽ, giúp theo dõi sức khỏe thương hiệu, phân tích phản hồi sản phẩm, và cải thiện dịch vụ khách hàng. Trong lĩnh vực xã hội, nó giúp các tổ chức nắm bắt xu hướng dư luận về các vấn đề nóng. Việc tự động hóa quy trình này giúp tiết kiệm thời gian và nguồn lực so với phân tích thủ công.

1.2. Khám phá bộ dữ liệu UIT VSMEC Nền tảng cho nghiên cứu

Bộ dữ liệu UIT-VSMEC là một Vietnamese sentiment corpus được thu thập từ mạng xã hội Facebook. Theo tài liệu nghiên cứu, bộ dữ liệu gốc bao gồm 6.927 bình luận đã được chuẩn hóa và gán nhãn thủ công. Dữ liệu được chia thành ba tập: tập huấn luyện (5.548 mẫu), tập kiểm định (686 mẫu) và tập kiểm thử (693 mẫu). Điểm đặc biệt của UIT-VSMEC là hệ thống nhãn chi tiết với 7 loại cảm xúc: 'Enjoyment' (Thích thú), 'Sadness' (Buồn bã), 'Anger' (Tức giận), 'Disgust' (Ghê tởm), 'Fear' (Sợ hãi), 'Surprise' (Bất ngờ) và 'Other' (Khác). Cấu trúc này cung cấp một bài toán text classification đa lớp phức tạp hơn, thúc đẩy sự phát triển của các mô hình có khả năng hiểu sâu sắc ngữ nghĩa tiếng Việt.

II. Thách thức chính trong việc phân tích cảm xúc tiếng Việt

Việc phân tích cảm xúc bình luận tiếng Việt đối mặt với nhiều thách thức đặc thù, khiến nó trở nên phức tạp hơn so với tiếng Anh. Ngôn ngữ tiếng Việt có cấu trúc đơn lập, không biến đổi hình thái từ, và giàu tính đa nghĩa, tượng thanh, tượng hình. Các bình luận trên mạng xã hội thường chứa nhiều từ lóng, teencode, viết tắt, và các biểu tượng cảm xúc (emoticons), đòi hỏi giai đoạn tiền xử lý dữ liệu văn bản phải cực kỳ cẩn thận. Hơn nữa, người Việt thường sử dụng các hình thức nói giảm, nói tránh, mỉa mai (irony) và châm biếm (sarcasm), nơi ý nghĩa bề mặt của câu chữ hoàn toàn trái ngược với cảm xúc thật sự. Ví dụ, một bình luận "Phim hay ghê" có thể mang hàm ý khen thật hoặc chê bai, phụ thuộc hoàn toàn vào ngữ cảnh. Những yếu tố này đặt ra yêu cầu cao cho các mô hình học máy cho tiếng Việt, đòi hỏi chúng không chỉ nhận diện từ khóa mà phải hiểu được ngữ cảnh và các mối quan hệ ngữ nghĩa phức tạp. Việc thiếu các bộ dữ liệu được gán nhãn dữ liệu quy mô lớn và chất lượng cao như UIT-VSMEC cũng từng là một rào cản lớn, hạn chế khả năng phát triển các mô hình deep learning for NLP mạnh mẽ cho tiếng Việt.

2.1. Sự phức tạp của ngữ nghĩa và ngữ cảnh trong bình luận

Ngữ nghĩa và ngữ cảnh là hai rào cản lớn nhất. Một từ có thể mang nhiều nghĩa tùy thuộc vào câu văn. Các yếu tố như mỉa mai, sử dụng từ địa phương, hoặc các câu nói đang là xu hướng (trending) làm cho việc phân loại văn bản tiếng Việt trở nên khó khăn. Mô hình cần có khả năng hiểu được các sắc thái tinh tế này, điều mà các phương pháp dựa trên túi từ (Bag-of-Words) truyền thống thường bỏ qua. Đây là lý do các mô hình học sâu có khả năng nắm bắt ngữ cảnh dài hạn tỏ ra vượt trội.

2.2. Vấn đề tiền xử lý dữ liệu văn bản tiếng Việt đặc thù

Giai đoạn tiền xử lý dữ liệu văn bản cho tiếng Việt đòi hỏi các bước chuyên biệt. Các công việc bao gồm: chuẩn hóa Unicode, xử lý teencode và từ viết tắt, tách từ (word segmentation) - một bước quan trọng vì tiếng Việt không có dấu cách rõ ràng giữa các từ như tiếng Anh, và loại bỏ các từ dừng (stop words). Chất lượng của bước này ảnh hưởng trực tiếp đến hiệu suất của mô hình, đặc biệt là khi thực hiện vector hóa văn bản để chuyển đổi dữ liệu chữ thành dạng số mà máy tính có thể hiểu được.

III. Phương pháp phân tích cảm xúc dùng SVM Naive Bayes

Trong nghiên cứu trên bộ dữ liệu UIT-VSMEC, nhóm tác giả đã áp dụng hai mô hình học máy cổ điển phổ biến là Multinomial Naive Bayes (MultinomialNB) và Support Vector Machine (SVM). Đây là những phương pháp nền tảng trong bài toán phân loại văn bản tiếng Việt. Quy trình thực hiện bắt đầu bằng bước tiền xử lý dữ liệu văn bản một cách kỹ lưỡng. Cụ thể, các bình luận thô được chuyển đổi thành dạng vector số học thông qua hai kỹ thuật chính: CountVectorizerTfidfTransformer từ thư viện Scikit-learn. CountVectorizer thực hiện việc đếm tần suất xuất hiện của mỗi từ để tạo ra một ma trận thưa, trong khi TfidfTransformer chuẩn hóa ma trận này bằng cách tính trọng số TF-IDF (Term Frequency-Inverse Document Frequency), giúp làm nổi bật các từ quan trọng và giảm tác động của các từ phổ biến nhưng ít mang ý nghĩa. Sau khi hoàn tất quá trình vector hóa văn bản, dữ liệu được đưa vào huấn luyện với hai mô hình. MultinomialNB, dựa trên định lý Bayes, là một thuật toán nhanh và hiệu quả cho text classification. SVM lại tìm cách xác định một siêu phẳng tối ưu để phân tách các lớp dữ liệu. Kết quả thực nghiệm cho thấy cả hai mô hình đều cung cấp một đường cơ sở (baseline) quan trọng để đánh giá mô hình NLP.

3.1. Kỹ thuật vector hóa văn bản với CountVectorizer và TF IDF

Để các mô hình học máy có thể xử lý được văn bản, cần phải chuyển đổi chúng thành các vector số. Nghiên cứu sử dụng CountVectorizer để xây dựng một từ điển gồm tất cả các từ trong kho dữ liệu và biểu diễn mỗi bình luận bằng một vector tần suất từ. Sau đó, TfidfTransformer được áp dụng để tính toán trọng số TF-IDF. Kỹ thuật này giúp giảm bớt tầm quan trọng của những từ xuất hiện thường xuyên trong tất cả các văn bản (như 'và', 'là', 'thì') và tăng tầm quan trọng của những từ đặc trưng cho một loại cảm xúc nhất định. Đây là bước cốt lõi trong khai phá dữ liệu văn bản.

3.2. Đánh giá hiệu suất mô hình SVM và MultinomialNB

Theo kết quả được báo cáo trong tài liệu, mô hình SVM cho thấy hiệu suất vượt trội hơn so với MultinomialNB trên bộ dữ liệu UIT-VSMEC. Cụ thể, SVM đạt được chỉ số Accuracy là 0.54 và F1-score là 0.52 trên tập kiểm thử. Trong khi đó, MultinomialNB chỉ đạt Accuracy 0.45 và F1-score 0.39. Trích dẫn từ nghiên cứu: "Có thể nhận thấy cùng sử dụng Countvectorizer và TfidfTransformer để tiền xử lý dữ liệu nhưng mô hình SVM có kết quả tốt hơn so với mô hình MultinomialNB. Điều đó cho thấy mô hình SVM phù hợp với bộ dữ liệu này hơn". Điều này chứng tỏ khả năng của SVM trong việc xử lý không gian đặc trưng chiều cao hiệu quả hơn.

IV. Cách tiếp cận học sâu với Bi LSTM và Word Embedding

Để cải thiện hiệu suất và nắm bắt các mối quan hệ ngữ nghĩa phức tạp, nghiên cứu đã triển khai một mô hình deep learning for NLP sử dụng kiến trúc Bi-directional Long Short-Term Memory (Bi-LSTM). Khác với các phương pháp học máy cổ điển, cách tiếp cận này không dùng TF-IDF mà dựa vào kỹ thuật Word Embedding. Cụ thể, mô hình sử dụng một mô hình Word2Vec tiền huấn luyện của FastText cho tiếng Việt. Word Embedding ánh xạ mỗi từ thành một vector dày đặc trong không gian nhiều chiều, nơi các từ có nghĩa tương tự sẽ nằm gần nhau. Điều này giúp mô hình hiểu được ngữ nghĩa của từ thay vì chỉ xem chúng là các ký tự độc lập. Kiến trúc Bi-LSTM là một cải tiến của mạng RNN, có khả năng học các phụ thuộc dài hạn trong câu. Việc sử dụng hai chiều (forward và backward) cho phép Bi-LSTM xử lý thông tin từ cả hai hướng của câu, giúp nó nắm bắt ngữ cảnh một cách toàn diện hơn. Mô hình Bi-LSTM cho bài toán phân tích cảm xúc bình luận tiếng Việt: UIT-VSMEC được thiết kế với một lớp Embedding, một lớp Bi-LSTM và một lớp đầu ra với 7 nơ-ron (tương ứng 7 nhãn cảm xúc) cùng hàm kích hoạt sigmoid. Đây là một bước tiến lớn trong việc xây dựng các hệ thống NLP tiếng Việt thông minh và chính xác hơn.

4.1. Vai trò của Word Embedding trong việc nắm bắt ngữ nghĩa

Word Embedding đóng vai trò then chốt trong các mô hình học sâu cho NLP. Bằng cách biểu diễn từ dưới dạng vector, nó cho phép mô hình tính toán sự tương đồng về mặt ngữ nghĩa. Ví dụ, vector của 'vui' và 'hạnh phúc' sẽ gần nhau hơn so với vector của 'vui' và 'buồn'. Việc sử dụng một mô hình đã được tiền huấn luyện trên một kho dữ liệu lớn giúp mô hình kế thừa được một lượng kiến thức ngôn ngữ khổng lồ, cải thiện đáng kể hiệu suất trên các tác vụ như sentiment analysis tiếng Việt.

4.2. Kiến trúc và quy trình huấn luyện mô hình Bi LSTM

Mô hình Bi-LSTM trong nghiên cứu được xây dựng tuần tự. Đầu tiên, lớp Embedding tải các trọng số từ mô hình Word2Vec tiền huấn luyện. Tiếp theo, chuỗi các vector từ được đưa qua lớp Bi-LSTM để trích xuất các đặc trưng phụ thuộc vào ngữ cảnh. Cuối cùng, một lớp dày đặc (Dense layer) với hàm kích hoạt sigmoid sẽ đưa ra xác suất cho mỗi loại cảm xúc. Mô hình được huấn luyện trên tập train của UIT-VSMEC với 5 epochs và sử dụng tập validation để theo dõi hiệu suất. Quá trình này, dù tốn nhiều thời gian hơn so với SVM, nhưng hứa hẹn mang lại độ chính xác cao hơn.

V. So sánh kết quả và ứng dụng thực tiễn của các mô hình

Quá trình đánh giá mô hình NLP là bước cuối cùng và quan trọng nhất để xác định phương pháp hiệu quả cho bài toán phân tích cảm xúc bình luận tiếng Việt: UIT-VSMEC. Dựa trên các chỉ số Accuracy, Precision, Recall và F1-score trên tập kiểm thử, kết quả cho thấy một sự khác biệt rõ rệt về hiệu suất. Mô hình Bi-LSTM đã chứng tỏ sự vượt trội so với hai mô hình học máy truyền thống. Cụ thể, mô hình Bi-LSTM đạt F1-score là 0.58 và Accuracy là 0.58, cao hơn hẳn so với SVM (F1-score 0.52, Accuracy 0.54) và MultinomialNB (F1-score 0.39, Accuracy 0.45). Trích dẫn từ nhận xét kết quả: "Mô hình Bi-LSTM ... có kết quả kiểm tra trên tập Test ... cao hơn hẳn so với những mô hình học máy truyền thống như MultinomialNB hay SVM." Điều này khẳng định sức mạnh của các kiến trúc học sâu trong việc xử lý sự phức tạp của ngôn ngữ tự nhiên. Về ứng dụng, các mô hình này có thể được tích hợp vào hệ thống social listening để theo dõi danh tiếng thương hiệu, tự động phân loại phản hồi khách hàng, hoặc phân tích dư luận về các chiến dịch marketing. Việc phân tích ý kiến khách hàng tự động giúp doanh nghiệp ra quyết định nhanh chóng và hiệu quả hơn.

5.1. Phân tích ma trận nhầm lẫn Confusion Matrix và F1 Score

Ma trận nhầm lẫn (Confusion Matrix) cung cấp một cái nhìn chi tiết về hiệu suất của mô hình trên từng lớp cảm xúc. Phân tích từ tài liệu cho thấy các mô hình thường phân loại tốt các nhãn có nhiều dữ liệu như 'Enjoyment', nhưng gặp khó khăn với các nhãn ít phổ biến hơn. Chỉ số F1-score, là trung bình điều hòa của Precision và Recall, được xem là thước đo tổng thể tốt nhất cho bài toán phân loại đa lớp không cân bằng này. Việc Bi-LSTM đạt F1-score cao nhất (0.58) cho thấy nó cân bằng tốt nhất giữa hai yếu tố này.

5.2. Ứng dụng kết quả trong phân tích ý kiến khách hàng

Trong thực tế, một mô hình phân tích cảm xúc tiếng Việt chính xác có thể được triển khai để tự động hóa việc đọc và phân loại hàng ngàn bình luận mỗi ngày trên các sàn thương mại điện tử hoặc mạng xã hội. Doanh nghiệp có thể nhanh chóng xác định các bình luận tiêu cực ('Anger', 'Disgust') để kịp thời xử lý khủng hoảng, hoặc thu thập các bình luận tích cực ('Enjoyment') để làm tư liệu marketing. Đây là một ứng dụng trực tiếp và giá trị của việc khai phá dữ liệu văn bản.

VI. Kết luận Hướng phát triển cho NLP tiếng Việt trong tương lai

Nghiên cứu về phân tích cảm xúc bình luận tiếng Việt: UIT-VSMEC đã cung cấp những so sánh giá trị giữa các phương pháp học máy truyền thống và học sâu. Kết luận rõ ràng rằng các mô hình học sâu như Bi-LSTM, nhờ khả năng hiểu ngữ nghĩa và ngữ cảnh qua Word Embedding, mang lại hiệu quả vượt trội. Tuy nhiên, kết quả F1-score 0.58 cho thấy vẫn còn nhiều không gian để cải thiện. Hướng phát triển trong tương lai cho lĩnh vực NLP tiếng Việt chắc chắn sẽ tập trung vào các mô hình Transformer tiên tiến như BERT, và đặc biệt là các biến thể được tối ưu cho tiếng Việt như PhoBERT. Các mô hình này đã tạo ra một cuộc cách mạng trong xử lý ngôn ngữ tự nhiên nhờ cơ chế chú ý (attention mechanism), cho phép chúng nắm bắt các mối quan hệ từ xa một cách hiệu quả. Việc áp dụng PhoBERT sentiment analysis trên bộ dữ liệu VSMEC hứa hẹn sẽ đẩy hiệu suất lên một tầm cao mới. Ngoài ra, việc mở rộng bộ dữ liệu, tích hợp phân tích đa phương thức (văn bản và hình ảnh), và xử lý các hiện tượng ngôn ngữ phức tạp hơn như mỉa mai sẽ là những thách thức thú vị cho cộng đồng nghiên cứu học máy cho tiếng Việt.

6.1. Tóm tắt các phát hiện chính từ nghiên cứu trên VSMEC

Nghiên cứu đã khẳng định rằng: 1) Bộ dữ liệu UIT-VSMEC là một tài nguyên quý giá cho bài toán phân loại cảm xúc đa lớp. 2) Mô hình học sâu (Bi-LSTM) hoạt động hiệu quả hơn đáng kể so với các mô hình học máy cổ điển (SVM, Naive Bayes) trên bộ dữ liệu này. 3) Việc sử dụng Word Embedding tiền huấn luyện là một yếu tố quan trọng giúp cải thiện hiệu suất. Tuy nhiên, các mô hình vẫn cần được cải tiến để đạt độ chính xác cao hơn trong ứng dụng thực tế.

6.2. Triển vọng của mô hình Transformer và PhoBERT sentiment analysis

Tương lai của sentiment analysis tiếng Việt gắn liền với các mô hình Transformer. PhoBERT, được huấn luyện trên một kho dữ liệu tiếng Việt khổng lồ, đã chứng tỏ hiệu năng xuất sắc trên nhiều tác vụ NLP. Việc tinh chỉnh (fine-tuning) PhoBERT trên UIT-VSMEC có thể sẽ là bước tiếp theo, giúp mô hình đạt được độ chính xác ở mức tiệm cận con người. Các thư viện NLP tiếng Việt hiện đại đang ngày càng tích hợp các mô hình này, giúp việc triển khai trở nên dễ dàng hơn.

11/09/2025

Trích đoạn nội dung tài liệu

Chương 1. GIỚI THIỆU VÀ PHÂN TÍCH ĐẶC ĐIỂM CỦA BỘ DỮ LIỆU 1.1 Giới thiệu về bộ dữ liệu 1.1 Tên bộ dữ liệu: UIT – VSMEC 1.2 Nguồn  Google Drive: https://drive.com/drive/folders/ 1HooABJyrddVGzll7fgkJ6VzkG_XuWfRu  Bộ dữ liệu được thu thập bởi: Vọng Anh Hồ, Dương Huỳnh-Công Nguyên, Danh Hoàng Nguyên, Linh Thị-Văn Phạm, Đức-Vũ Nguyễn, Kiệt Văn Nguyễn, và Ngân Lưu-Thúy Nguyễn. [1]  Bộ dữ liệu được thu thập từ mạng xã hội Facebook bằng cách sử dụng API Facebook để lấy bình luận tiếng Việt từ các bài đăng công khai.3 Nội dung bộ dữ liệu  Bộ dữ liệu dùng để phân tích cung bậc cảm xúc của các bình luận của người dùng trên mạng xã hội.  Bộ dữ liệu gồm 3 tập tin: Tập huấn luyện (train_nor_8121.xlsx), tập kiểm thử (test_nor_811.xlsx) , tập kiểm định (valid_nor_811.4 Bài toán  Phân loại cảm xúc của các bình luận trên mạng xã hội  Input: Sentence (câu bình luận)  Output: Đưa ra một nhãn trong các nhãn sau: Enjoyment, Sadness, Anger, Disgust, Fear, Surprise, Other (Nhãn thể hiện cảm xúc của câu bình luận) 2 1.2 Phân tích đặc điểm của bộ dữ liệu 1.1 Mô tả chi tiết bộ dữ liệu 1.1 Kích thước bộ dữ liệu và số thuộc tính  Bộ dữ liệu gồm 6927 điểm dữ liệu được chia làm 3 tập: Tập huấn luyện (train_nor_8121.xlsx – 5548 điểm dữ liệu – 80% bộ dữ liệu), tập kiểm thử (test_nor_811.xlsx – 693 điểm dữ liệu – 10% bộ dữ liệu) , tập kiểm định (valid_nor_811.xlsx – 686 điểm dữ liệu – 10% bộ dữ liệu).

 Mỗi điểm dữ liệu gồm 2 thuộc tính: Sentence, Emotion.  Hình minh họa dữ liệu trong bộ dữ liệu Hình 1. Hình minh họa dữ liệu trong tập Test của bộ dữ liệu 3 1.2 Mô tả chi tiết các thuộc tính Số thứ tự Tên thuộc tính Mô tả thuộc Kiểu dữ liệu Miền giá trị tính 1 Sentence Câu bình luận String Chữ cái, chữ của người dùng số, kí tự đặc mạng xã hội biệt. 2 Emotion Nhãn phân loại String Enjoyment, các cảm xúc Sadness, Surprise, Disgust, Fear, Anger, Other.

Bảng mô tả chi tiết các thuộc tính trong bộ dữ liệu 1.3 Mô tả chi tiết các nhãn Số thứ tự Tên nhãn Ý nghĩa 1 Anger Nhãn cho những bình luận thể hiện sự giận dữ, cảm giác phiền toái, bực tức, tức giận,… 2 Disgust Nhãn cho những bình luận thể hiện sự ghê tởm, không thích, ác cảm,… 3 Enjoymen Nhãn cho những bình luận thể hiện cảm xúc thích t thú, vui vẻ, nó bao gồm cả các trạng thái tích cực, hài lòng, lạc quan hoặc những cảm xúc tương tự như vậy. 4 Fear Nhãn cho những bình luận thể hiện sự lo lắng, sợ hãi, có thể hơn thế nữa là hoảng loạn, kinh hoang – hỗn hợp của sợ hãi, ghê tởm, sốc. 4 5 Other Nhãn cho những bình luận không thuộc các loại cảm xúc: Anger, Disgust, Enjoyment, Fear, Other, Sadness, Surprise, hoặc không chứa đựng cảm xúc. 6 Sadness Nhãn cho những bình luận thể hiện cảm xúc buồn, chán nản, thất vọng, tuyệt vọng, đau khổ, thống khổ, hoặc những cảm xúc tương tự như vậy.

7 Surprise Nhãn cho những bình luận thể hiện sự bất ngờ, như vừa gặp phải một điều gì đó khó tin, mạnh hơn có thể là sốc. Bảng mô tả chi tiết các nhãn trong bộ dữ liệu 1.4 Ví dụ về phân loại cảm xúc câu Số thứ tự Sentence Emotion 1 hãy xử tù chung thân bọn người mất nhân tính gây Anger ra nghiệp chướng này 2 ngửa thấy mùi là đã thấy kinh rồi Disgust 3 ngưỡng mộ quá đi ạ. chúc 2 ac mãi mãi hạnh phúc Enjoyment như này nha :))) 4 xã hội thật phức tợp , huhu. không muốn sống Fear chung loài người nữa , tao về núi đây 5 có gì vui không nhỉ Other 6 còn buồn hơn là cố quan tâm thế nào họ vẫn không Sadness hề rep lại 7 hot đến vậy cơ à ? mình chưa nghe bao giờ luôn Surprise Bảng 3.

Bảng ví dụ về các câu bình luận và nhãn tương ứng 5 1.2 Thống kê bộ dữ liệu 1.1 Thống kê dữ liệu tập huấn luyện (Train set) Số thứ tự Tên nhãn Số lượng Tỉ lệ 1 Anger 391 0. Thống kê dữ liệu tập huấn luyện 1.2 Thống kê dữ liệu tập kiểm thử (Test set) Số thứ tự Tên nhãn Số lượng Tỉ lệ 1 Anger 40 0. Thống kê dữ liệu tập kiểm thử 6 1.3 Thống kê dữ liệu tập kiểm định (Validation set) Số thứ tự Tên nhãn Số lượng Tỉ lệ 1 Anger 49 0. Thống kê dữ liệu tập kiểm định 7 Chương 2.1 Multinomial Naive Bayes (MultinomialNB) [2] Mô hình MultinomialNB được sử dụng chủ yếu trong các bài toán phân loại văn bản mà vector đặc trưng được xây dựng trên thuật toán bag of words (BoW).

Ở mô hình, các vector đặc trưng là các giá trị số tự nhiên mà giá trị thể hiện số lần xuất hiện trong văn bản. Ta tính xác suất các từ xuất hiện trong văn bản P( x i | y ) như sau: Ni P( x i| y ) = N c Trong đó:  N i là tổng số lần từ x i không xuất hiện lần nào trong văn bản.  N c là tổng số lần từ của tất cả các từ x 1 , … x n xuất hiện trong văn bản. Công thức trên có hạn chế là khi từ x i không xuất hiện lần nào trong văn bản, ta sẽ có N i = 0.

Điều nãy sẽ làm cho P( x i| y ) = 0. Để khắc phục vấn đề này, người ta sử dụng kĩ thuật gọi là Laplace Smoothing bằng cách cộng thêm vào tử và mẫu để giá trị luôn khác 0. Ni + α P( x i| y ) = N + dα c Trong đó:  α thường là số dương, bằng 1.  dα được cộng vào mẫu để đảm bảo.2 Support Vector Machine (SVM) [3] 2.1 Định nghĩa Support Vector Machine (SVM) là một thuật toán thuộc nhóm Supervised Learning (Học có giám sát) dùng để phân chia dữ liệu (Classification) thành các nhóm riêng biệt.

Hình dung ta có bộ data gồm các điểm xanh và đỏ đặt trên cùng một mặt phẳng. Ta có thể tìm được đường thẳng để phân chia riêng biệt các bộ điểm xanh và đỏ như hình bên dưới. Minh họa đường thẳng phân chia dữ liệu trong thuật toán SVM Với những bộ dữ liệu phức tạp hơn ta cần dùng thuật toán để ánh xạ bộ dữ liệu đó vào không gian nhiều chiều hơn (n chiều), từ đó tìm ra siêu mặt phẳng (hyperplane) để phân chia. Ví dụ trong hình bên dưới là việc ánh xạ tập dữ liệu từ không gian 2 chiều sang không gian 3 chiều.

Minh họa việc ánh xạ tập dữ liệu từ không gian 2 chiều sang 3 chiều 2.2 Tối ưu trong thuật toán SVM Các đường thẳng tối ưu là đường tạo cho ta cảm giác 2 lớp dữ liệu nằm cách xa nhau và cách xa đường đó nhất. Trong SVM, người ta sử dụng thuật ngữ là Margin. Margin là khoảng cách giữa siêu phẳng (trong trường hợp không gian 2 chiều là đường thẳng) đến 2 điểm dữ liệu gần nhất tương ứng với 2 phân lớp. Minh họa Margin trên không gian 2 chiều 1 0 SVM tối ưu thuật toán bằng cách tìm maximize của margin này, từ đó tìm ra siêu phẳng tốt nhất để phân lớp dữ liệu.

Support Vectors là các điểm nằm trên 2 đường biên và chúng có nhiệm vụ hỗ trợ tìm ra siêu phẳng. Mô hình dự đoán kết quả đầu ra của của những điểm dữ liệu mới dựa trên các vector đặc biệt này.1 Long Short – Term Memory (LSTM) [4] 2.1 Giới thiệu Long Short – Term Memory (LSTM) Mạng bộ nhớ dài-ngắn (Long Short Term Memory networks), thường được gọi là LSTM - là một dạng đặc biệt của RNN, nó có khả năng học được các phụ thuộc xa. LSTM được giới thiệu bởi Hochreiter & Schmidhuber (1997), và sau đó đã được cải tiến và phổ biến bởi rất nhiều người trong ngành. Chúng hoạt động cực kì hiệu quả trên nhiều bài toán khác nhau nên dần đã trở nên phổ biến như hiện nay.

LSTM được thiết kế để tránh được vấn đề phụ thuộc xa (long-term dependency). Việc nhớ thông tin trong suốt thời gian dài là đặc tính mặc định của chúng, chứ ta không cần phải huấn luyện nó để có thể nhớ được. Tức là ngay nội tại của nó đã có thể ghi nhớ được mà không cần bất kì can thiệp nào. Mọi mạng hồi quy đều có dạng là một chuỗi các mô-đun lặp đi lặp lại của mạng nơ-ron.

Với mạng RNN chuẩn, các mô-dun này có cấu trúc rất đơn giản, thường là một tầng tanh.The repeating module in a standard RNN contains a single layer. LSTM cũng có kiến trúc dạng chuỗi như vậy, nhưng các mô-đun trong nó có cấu trúc khác với mạng RNN chuẩn. Thay vì chỉ có một tầng mạng nơ-ron, chúng có tới 4 tầng tương tác với nhau một cách rất đặc biệt. The repeating module in an LSTM contains four interacting layers.

Các ký hiệu trong cấu trúc LSTM 2.2 Ý tưởng cốt lõi của Long Short – Term Memory (LSTM) Chìa khóa của LSTM là trạng thái tế bào (cell state) - chính đường chạy thông ngang phía trên của sơ đồ hình vẽ. Trạng thái tế bào là một dạng giống như băng truyền. Nó chạy xuyên suốt tất cả các mắt xích (các nút mạng) và chỉ tương tác tuyến tính đôi chút. Vì vậy mà các thông tin có thể dễ dàng truyền đi thông suốt mà không sợ bị thay đổi.Mô phỏng cấu trúc trạng thái tế bào của Long Short - Term Memory LSTM có khả năng bỏ đi hoặc thêm vào các thông tin cần thiết cho trạng thái tế báo, chúng được điều chỉnh cẩn thận bởi các nhóm được gọi là cổng (gate).

Các cổng là nơi sàng lọc thông tin đi qua nó, chúng được kết hợp bởi một tầng mạng sigmoid và một phép nhân. Mô phỏng cổng Tầng sigmoid sẽ cho đầu ra là một số trong khoản [0, 1][0,1], mô tả có bao nhiêu thông tin có thể được thông qua. Khi đầu ra là 00 thì có nghĩa là không cho thông tin nào qua cả, còn khi là 11 thì có nghĩa là cho tất cả các thông tin đi qua nó. Một LSTM gồm có 3 cổng như vậy để duy trì và điều hành trạng thái của tế bào.3 Bên trong Long Short – Term Memory (LSTM) Bước đầu tiên của LSTM là quyết định xem thông tin nào cần bỏ đi từ trạng thái tế bào.

Quyết định này được đưa ra bởi tầng sigmoid - gọi là “tầng cổng quên” (forget gate layer). Nó sẽ lấy đầu vào là ht - 1 và x t rồi đưa ra kết quả là một số trong khoảng [0, 1] cho mỗi số trong trạng thái tế bào C t - 1.Đầu ra là 1 thể hiện rằng nó giữ toàn bộ thông tin lại, còn 0 chỉ rằng toàn bộ thông tin sẽ bị bỏ đi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ