chương 1, như đã trình bày ở trên, chúng em giới thiệu về bài toán phân tích cảm xúc, những kiểu loại và những thách thức đối với bài toán. Chương tiếp theo, chúng em xin trình bày về các hướng tiếp cận để giải quyết bài toán phân tích cảm xúc. Các mô hình phổ biến về mạng neural cũng như cấu trúc, thuật toán và mô hình được đề xuất sẽ được giới thiệu ở chương 3. Ở chương 4, chúng em tập trung trình bày về kết quả thực nghiệm, so sánh giữa các mô hình và thực hiện đánh giá.
Cuối cùng, chúng em tổng kết về những nội dung đã được nêu trong khóa luận, từ đó đưa ra hướng phát triển tiếp theo trong tương lai. Trang 8 Chương 2. Các hướng tiếp cận phân tích cảm xúc CHƯƠNG 2 CÁC HƯỚNG TIẾP CẬN PHÂN TÍCH CẢM XÚC Có ba hướng tiếp cận phân tích cảm xúc trong văn bản: theo hướng học máy (machine learning approach), theo định hướng ngữ nghĩa (semantic orientation approach) và theo học sâu (deep learning approach). Tiếp cận theo hướng máy học Các giải thuật học máy đã và đang được sử dụng rộng rãi cho bài toán phân tích cảm xúc, mô hình túi từ (BoW - Bag-of-Word) là thuật toán điển hình được áp dụng phổ biến đối với bài toán phân loại tài liệu.
Mô hình BoW sử dụng đầu vào là các văn bản và được thể hiện dưới dạng túi (multiset) chứa các từ của nó, mô hình này chỉ chú trọng phần từ và bỏ qua tầm quan trọng của ngữ nghĩa hay trật tự từ. Tất cả các từ trong đoạn văn đều được xem là quan trọng như nhau. Ứng dụng trong thực tế, mô hình túi từ chủ yếu được sử dụng như một công cụ tạo đặc trưng. Sau khi đã chuyển văn bản thành túi từ, chúng ta có thể tìm các cách phương pháp khác nhau để mô tả văn bản.
Loại đặc điểm hoặc tính năng phổ biến nhất được tính toán từ mô hình túi từ là tần suất xuất hiện của một từ xuất hiện trong văn bản. Nhược điểm lớn của mô hình BoW theo hướng tiếp cận bằng học máy đó là trật tự của từ trong văn bản. Ví dụ ta có ba câu sau: “Tôi không biết.” “Không, tôi biết.” “Tôi biết không?” Khi được trích chọn đặc trưng bằng BoW, sẽ sinh ra ba vector giống nhau, nhưng ý nghĩa lại khác nhau hoàn toàn. Trang 9 Chương 2.
Các hướng tiếp cận phân tích cảm xúc Tiếp cận theo hướng ngữ nghĩa Tiếp cận theo hướng ngữ nghĩa là phương pháp phân loại văn bản dựa trên việc xác định tính phân cực của các từ trong văn bản đầu vào, chính xác hơn thì cách tiếp cận này chủ yếu phụ thuộc các từ mang cảm xúc. Sau khi xác định bằng nhiều phương pháp khác nhau, những từ mang cảm xúc này sẽ được tính toán và gán điểm. Sau cùng ta tính tổng các điểm của những từ đó, thông qua một ngưỡng nào đó, ta có thể thực hiện việc phân loại. Cách tiếp cận này có thể không hoạt động tốt vì tính phân cực của từ mang cảm xúc phải phụ thuộc vào ngữ cảnh, và không có kho ngữ liệu nào có thể cung cấp tính phân cực của từ dựa vào ngữ cảnh.
Hình 2–1 Ví dụ về tiếp cận theo hướng ngữ nghĩa. Trang 10 Chương 2. Các hướng tiếp cận phân tích cảm xúc Tiếp cận theo Deep learning Học sâu vốn là một khía cạnh nhỏ trong học máy, với sự phát triển nhanh chóng tốc độ xử lý của GPU, CPU, điều này làm tiền đề cho phương pháp học sâu bằng mạng neural và phát triển mạnh mẽ, dẫn đến hướng giải quyết tốt hơn học máy là phương pháp tiếp cận bằng học sâu. Đối với bài toán phân tích cảm xúc, phương pháp học sâu sẽ sử dụng các mô hình mạng neural để tiếp cận, các mô hình phổ biến để giải quyết như mạng CNN (mạng nơ-rôn tích chập), RNN (mạng nơ-rôn quy hồi), cùng biến thể là LSTM (mạng nơ-rôn phụ thuộc gần xa).
Ngoài xử lý hình ảnh, CNN còn được áp dụng vào các hệ thống phân loại văn bản, với cơ chế tích chập để lấy ra những đặc điểm nổi trội nhất của đoạn văn đầu vào. Đối với bài toán phân tích cảm xúc, ta có thể sử dụng mô hình CNN để đưa ra tính phân cực. Mạng quy hồi vượt trội ở đặc điểm “nhớ”, trên lý thuyết mạng RNN có thể nhớ được thông tin, sau đó thực hiện dự đoán tính phân cực từ đoạn văn đầu vào, nhưng do tính mất mát đạo hàm khi lan truyền ngược, nảy sinh vấn đề không thể học được trên đoạn văn dài. Một biến thể khác của RNN có thể giải quyết vấn đề này bằng cơ chế cổng, đó là mạng gần xa LSTM cùng cơ chế cổng GRU.
Do những nhược điểm của những mô hình trên, cơ chế Attention được Bahdanau giới thiệu vào 2014, giúp tối ưu việc xử lý ngôn ngữ tự nhiên nói chung và bài toán phân tích cảm xúc nói riêng. ❖ Hướng tiếp cận của đề tài Ta biết rằng học sâu là một tập con của học máy, do đó học sâu có nhiều mô hình xử lý phát triển hơn so với phương pháp học máy truyền thống. Đề tài này được thực hiện theo hướng tiếp cận học sâu bằng những mô hình mạng neural sẽ được giới thiệu ở những chương sau. Vì thời gian hạn chế, đề tài của chúng em chưa thể đưa ra thực nghiệm để so sánh giữa hướng tiếp cận theo học máy và theo học sâu.
Trang 11 Chương 3. Các mô hình mạng neural CHƯƠNG 3 CÁC MÔ HÌNH MẠNG NEURAL Mạng nơ-rôn (neural network) Mạng neural là một mô hình mạng toán học được lập trình mô phỏng theo mạng thần kinh của con người. Hình 3–1 Mô hình mạng neural. Kết cấu của một mạng neural là các neural riêng lẻ, được gọi là các preceptron.
Một preceptron nhận vào một hoặc nhiều thông tin đầu vào nhưng trả ra một kết quả duy nhất. Khi neural nhận tín hiệu đầu vào từ các dendrite, khi tín hiệu vượt qua một ngưỡng (threshold) thì tín hiệu sẽ được truyền đi sang một neural khách theo sợi axon. Công thức tính output y như sau: y = a (𝑤1 𝑥1 + 𝑤2 𝑥2 + 𝑤3 𝑥3 − 𝜃) (3.1) Giải thích đơn giản thì output sẽ trả ra một kết quả dựa trên tổng của các input và trọng số của chúng. Đầu vào là các x cùng trọng số w tương ứng.
0 if ∑𝑖 𝑤𝑖 𝑥𝑖 ≤ threshold output = (3.2) 1 if ∑𝑖 𝑤𝑖 𝑥𝑖 > threshold Ví dụ như vấn đề đặt ra là “đi chơi”, cùng các trường hợp sau: “Thời tiết có nắng không?” “Chuẩn bị mọi thứ cho chuyến đi chưa?” “Có bạn bè đi cùng không?” Trang 12 Chương 3. Các mô hình mạng neural “Đã giải quyết xong công việc chưa?” Output sẽ trả ra kết quả có hoặc không, cùng với nhiều trường hợp quyết định việc đó. Những trường hợp đó sẽ là các 𝑥𝑖 và trọng số 𝑤𝑖 ở đây mang nghĩa là độ ưu tiên,ví dụ như 𝑤1 = 0. Với đầu ra và đầu vào là dạng nhị phân, chúng ta rất khó để điều chỉnh một lượng nhỏ đầu vào để đầu ra thay đổi chút ít, nên chúng ta sẽ mở rộng chúng ra trong khoảng [0, 1], được tính bởi công thức sigmoid f : 1 f= ( với z là ∑𝑖 𝑤𝑖 𝑥𝑖 ) (3.3) 1+ 𝑒 −𝑧 Hàm sigmoid là một hàm kích hoạt phi tuyến tính, giống như các hàm tanh, ReLU, … Hàm kích hoạt phải là một hàm phi tuyến tính, vì nếu là tuyến tính thì khi kết hợp với các phép toán tuyến tính thì đầu ra cũng là một thao tác tuyến tính, lúc này phép tính sẽ trở nên vô nghĩa.
Đây là một số hàm kích hoạt phi tuyến tính như đã nêu trên: Hình 3–2 Đồ thị của một số hàm kích hoạt phi tuyến tính. Kiến trúc của một mạng neural, còn được gọi là các preceptron đa tầng, gồm có ba kiểu tầng: tầng dữ liệu đầu vào (input layer), tâng dữ liệu đầu ra (output layer) và tầng thể hiện tính logic của mạng (hidden layer). Một mạng neural chỉ có duy nhất một tầng đầu vào và một tầng đầu ra, nhưng lại có một hoặc nhiều các tầng ẩn. Trang 13 Chương 3.
Các mô hình mạng neural Đầu ra của mạng neural trả ra bao nhiêu node, phụ thuộc vào bài toán đang xử lý. Đối với bài toán phân tích cảm xúc, kết quả quan tâm là tính phân cực của đoạn văn gồm tích cực (positive) và tiêu cực (negative), nên lúc này, tầng output sẽ trả ra hai node. Hình 3–3 Mạng neural mô phỏng với các tầng Mạng neural tích chập(CNN) Các hệ thống xử lý ảnh như các trang mạng xã hội Facebook, hay trang tìm kiếm hàng đầu Google đã đưa và ứng dụng của họ những chức năng thông minh như nhận diện khuôn mặt, phát hiện thông tin người dùng nhờ hình ảnh, … những thành tựu trên được gọi là Thị giác máy tính (Computer Vision). Mạng CNN là một trong những mô hình học sâu được xây dựng để xử lý hình ảnh, bên cạnh đó, CNN còn được dùng để xử lý giọng nói, văn bản, âm thanh, … Mạng CNN (Convolution Neural Network) được gọi là mạng tích chập do nó sử dụng một biểu thức toán tích chập, CNN là mạng neural xử lý dữ liệu theo dạng lưới, trượt trên các ma trận.
Trang 14 Chương 3. Các mô hình mạng neural Hình 3–4 CNN trượt qua các điểm ảnh của một tấm hình. Mạng CNN là tập hợp của nhiều lớp chồng lên nhau, gồm có các lớp Convolution, lớp Pooling, lớp Fully-Connected, … sau đó kết hợp với các hàm kích hoạt phi tuyến tính (activate function) để tạo ra các thông tin trừu tượng hơn cho tầng tiếp theo. Các tầng liên kết với nhau thông qua cơ chế tích chập, như tên gọi của mạng này, tầng tiếp theo sẽ là kết quả tích chập từ tầng trước đó, mỗi tầng được áp đặt các bộ lọc (filters) khác nhau.
Hình 3–5 Sơ đồ hoạt động của mạng CNN. Như đã nêu trên, mạng CNN không chỉ có thể xử lý trong lĩnh vực hình ảnh, chúng ta cũng có thể áp dụng vào các bài toán về phân loại văn bản (text classification) [2]. Đối với xử lý hình ảnh, đầu vào của mạng là các điểm ảnh (pixels), các bộ lọc sẽ trượt qua các điểm ảnh này. Còn trong xử lý văn bản, đầu vào sẽ là các mệnh đề, các câu văn được biểu diễn dưới dạng một ma trận, mỗi dòng của ma trận sẽ ứng với một từ, cũng có thể là một ký tự, các bộ lọc sẽ trượt qua tất cả các dòng của ma trận.
Mỗi dòng của Trang 15 Chương 3. Các mô hình mạng neural ma trận chính là một vector đại diện cho một từ, thông thường các vector này được biểu diễn ở mức thấp (low-dimensional) như word2vec hay glove.