Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp của sinh viên Nhan Kim Thành và Trần Đức Khang (Trường Đại học Ngoại ngữ - Tin học TP.HCM, chuyên ngành Công nghệ Thông tin) tập trung vào bài toán phân tích cảm xúc (Sentiment Analysis / Opinion Mining) trong lĩnh vực Xử lý ngôn ngữ tự nhiên (NLP).

Theo trình bày của nhóm tác giả, sự phát triển mạnh mẽ của Internet, các diễn đàn, trang blog và mạng xã hội đã tạo ra một khối lượng khổng lồ phản hồi, nhận xét của người dùng dưới dạng văn bản phi cấu trúc. Để các tổ chức và doanh nghiệp có thể nắm bắt kịp thời nhu cầu, mức độ hài lòng của khách hàng đối với sản phẩm, dịch vụ hoặc thương hiệu, việc tự động hóa quá trình xác định và trích xuất cảm xúc từ văn bản là một nhu cầu cấp thiết. Mặc dù các kỹ thuật học máy truyền thống đã được áp dụng rộng rãi, sự ra đời của học sâu (Deep Learning) và các kiến trúc mạng nơ-ron hồi quy kết hợp cơ chế tập trung (Attention Mechanism) đã mở ra hướng tiếp cận hiệu quả hơn cho việc xử lý các chuỗi ngôn ngữ phức tạp.

Khóa luận xác định các mục tiêu và nhiệm vụ nghiên cứu cụ thể như sau:

  1. Tổng quan về bài toán phân tích cảm xúc, phân loại các dạng bài toán con và nhận diện các thách thức kỹ thuật trong xử lý ngôn ngữ tự nhiên.
  2. Tìm hiểu cấu trúc, nguyên lý toán học và cơ chế hoạt động của các mô hình mạng nơ-ron phổ biến: Mạng nơ-ron tích chập (CNN), Mạng nơ-ron quy hồi (RNN), Mạng nơ-ron phụ thuộc gần xa (LSTM), Đơn vị quy hồi có cổng (GRU) và mô hình kết hợp CNN-LSTM.
  3. Nghiên cứu mô hình Chuỗi-sang-Chuỗi (Seq2Seq) kết hợp cơ chế Attention (Soft Attention) nhằm khắc phục hiện tượng mất mát thông tin khi xử lý các chuỗi văn bản dài.
  4. Thu thập các bộ dữ liệu đánh giá chuẩn, xây dựng quy trình tiền xử lý văn bản, thiết lập mô hình thực nghiệm mạng quy hồi kết hợp cơ chế Attention (RNN-Attention-network) và đánh giá hiệu quả phân loại.

Đối tượng và phạm vi nghiên cứu của đề tài được giới hạn như sau:

  • Đối tượng nghiên cứu: Các văn bản nhận xét, đánh giá của người dùng về sản phẩm và phim ảnh.
  • Phạm vi cấp độ: Phân tích cảm xúc ở cấp độ văn bản (document-level).
  • Phạm vi phân loại: Phân loại nhị phân (binary classification) thành hai lớp cảm xúc: tích cực (positive) và tiêu cực (negative).

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và mô hình nghiên cứu

Khóa luận xây dựng nền tảng dựa trên các khái niệm và mô hình học sâu trong xử lý ngôn ngữ tự nhiên:

  • Mạng nơ-ron nhân tạo cơ bản (Artificial Neural Network - ANN): Mô hình Perceptron đa tầng (MLP), các hàm kích hoạt phi tuyến tính (Sigmoid, Tanh, ReLU) để giải quyết các bài toán phi tuyến.
  • Mạng nơ-ron tích chập (CNN - Convolutional Neural Network): Áp dụng cấu trúc trượt bộ lọc (filters) có kích thước khác nhau (2, 3, 4 từ) qua ma trận biểu diễn câu từ các vector nhúng (Word2Vec, GloVe), kết hợp lớp gom cụm 1-max pooling để rút trích đặc trưng tiêu biểu nhất.
  • Mạng nơ-ron quy hồi (RNN - Recurrent Neural Network): Mô hình xử lý dữ liệu chuỗi với trạng thái ẩn $s_t = f(Ux_t + Ws_{t-1})$. Khóa luận phân tích chi tiết giải thuật Lan truyền ngược qua thời gian (BPTT - Backpropagation Through Time), hàm lỗi Cross-Entropy, thuật toán tối ưu hóa Gradient Descent ngẫu nhiên (SGD), đồng thời chứng minh toán học hiện tượng triệt tiêu đạo hàm (Vanishing Gradient Problem) thông qua ma trận Jacobi khi đạo hàm của các hàm Sigmoid và Tanh bão hòa ở hai đầu mút.
  • Mạng LSTM và GRU: Kiến trúc bộ nhớ dài-ngắn (LSTM - Hochreiter & Schmidhuber, 1997) với 3 cổng chuyên biệt (cổng quên $f_t$, cổng vào $i_t$, cổng ra $o_t$) và trạng thái tế bào (cell state $C_t$); biến thể đơn giản hóa GRU (Cho et al., 2014) tích hợp cổng cập nhật ($z_t$) và cổng cài đặt lại ($r_t$); mô hình LSTM hai chiều (BiLSTM) và mô hình lai CNN-LSTM (Wang et al., 2016).
  • Mô hình Seq2Seq và cơ chế Attention: Cấu trúc Encoder-Decoder (Sutskever et al.) và cơ chế tập trung Attention (Bahdanau et al., 2014) sử dụng Alignment model $\alpha$ để tính trọng số $\alpha_{ij}$ và tạo ra vector ngữ cảnh $c_i = \sum \alpha_{ij}h_j$, giúp giải quyết hạn chế nén thông tin vào vector cố định.
  • Mô hình mạng chú ý phân cấp (Hierarchical Attention Networks - HAN): Mô hình của Zichao Yang et al. (2016) gồm bộ mã hóa từ, Attention cấp từ, bộ mã hóa câu và Attention cấp câu.

Phương pháp nghiên cứu thực nghiệm

Tác giả sử dụng phương pháp nghiên cứu thực nghiệm mô phỏng trên máy tính:

  • Xây dựng pipeline tiền xử lý văn bản: Tách token theo khoảng trắng, xóa dấu câu, xóa ký tự phi chữ cái, lọc bỏ danh sách từ dừng (stopwords), loại bỏ từ đơn ký tự, thiết lập bộ từ điển tần suất (vocab.txt) loại bỏ từ xuất hiện dưới 2 lần, mã hóa chỉ mục và đồng bộ độ dài vector bằng kỹ thuật đệm số 0 (pad_sequences).
  • Xây dựng mô hình thực nghiệm RNN-Attention-network kết hợp lớp nhúng từ (Keras Word Embedding), lớp mã hóa chuỗi tuần tự sử dụng đơn vị GRU, lớp tính toán trọng số Attention ở mức từ và lớp phân loại Softmax.

Nguồn dữ liệu thực nghiệm

Khóa luận sử dụng 5 tập dữ liệu thực nghiệm chuẩn:

Tên tập dữ liệu Nguồn / Tác giả Số lượng mẫu Phân chia Train / Test Đặc điểm dữ liệu
Book Blitzer et al. 2.000 đánh giá (1.000 pos / 1.000 neg) 90% (1.800) / 10% (200) Đánh giá sản phẩm sách trên Amazon
DVD Blitzer et al. 2.000 đánh giá (1.000 pos / 1.000 neg) 90% (1.800) / 10% (200) Đánh giá đĩa phim/nhạc DVD
Electronics Blitzer et al. 2.000 đánh giá (1.000 pos / 1.000 neg) 90% (1.800) / 10% (200) Đánh giá thiết bị điện tử
Kitchen Blitzer et al. 2.000 đánh giá (1.000 pos / 1.000 neg) 90% (1.800) / 10% (200) Đánh giá thiết bị nhà bếp
IMDB Movie Keras Datasets 50.000 đánh giá (25.000 pos / 25.000 neg) 50% (25.000) / 50% (25.000) Đánh giá phim ảnh mã hóa chỉ mục

Thiết kế và triển khai mô hình thực nghiệm

Khóa luận trình bày chi tiết thông số môi trường phần cứng, phần mềm và kiến trúc phân tầng của mạng thực nghiệm RNN-Attention-network:

Cấu hình môi trường thực nghiệm

  • Hệ điều hành: Windows 10 Pro 64-bit.
  • Bộ vi xử lý (CPU): Intel® Core™ i7-5700HQ @ 2.7GHz.
  • Bộ nhớ trong (RAM): 16GB.
  • Xử lý đồ họa (GPU): NVIDIA GeForce GTX 950M.
  • Môi trường phát triển tích hợp (IDE): PyCharm 2018.2.
  • Thư viện lập trình học sâu: Keras (Python).

Cấu trúc các tầng của mô hình RNN-Attention-Network

Mô hình thực nghiệm áp dụng cho bài toán phân loại cảm xúc nhị phân trên tập dữ liệu Book được cấu hình theo bảng tham số:

Tên lớp (Layer Type) Kích thước đầu ra (Output Shape) Số lượng tham số (Param #) Kết nối từ (Connected to)
input_1 (InputLayer) (None, 200) 0 -
embedding_1 (Embedding) (None, 200, 100) 1.080.400 input_1[0][0]
gru_1 (GRU) (None, 200, 100) 60.300 embedding_1[0][0]
dense_1 (Dense) (None, 200, 1) 101 gru_1[0][0]
flatten_1 (Flatten) (None, 200) 0 dense_1[0][0]
activation_1 (Activation) (None, 200) 0 flatten_1[0][0]
repeat_vector_1 (RepeatVector) (None, 100, 200) 0 activation_1[0][0]
permute_1 (Permute) (None, 200, 100) 0 repeat_vector_1[0][0]

Quy trình hoạt động: Chuỗi văn bản sau khi chuẩn hóa về độ dài cố định 200 từ được đưa qua tầng Embedding để ánh xạ thành ma trận vector 100 chiều. Tầng GRU đóng vai trò bộ mã hóa chuỗi (Sequence Encoder) trích xuất ngữ cảnh tuần tự. Tầng Dense, Flatten, Activation và RepeatVector tạo nên cơ chế Word Attention nhằm tính toán trọng số quan trọng của từng từ, tổng hợp thành vector biểu diễn văn bản trước khi đưa vào phân loại.


Nội dung chính theo từng chương

Chương 1: Giới thiệu chung

Chương mở đầu trình bày lịch sử hình thành của Trí tuệ nhân tạo (Hội nghị Dartmouth 1956), nền móng của học máy và học sâu với các mốc Perceptron (1957) và thuật toán Lan truyền ngược (1986). Tác giả làm rõ khái niệm bài toán phân loại văn bản (Text Classification) và phân tích cảm xúc (Sentiment Analysis).

Chương này phân loại chi tiết các dạng bài toán phân tích cảm xúc:

  • Phân tích tính phân cực (Polarity classification): Đánh giá theo thang 5 mức độ hoặc 2 mức nhị phân.
  • Khám phá cảm xúc (Emotion detection): Xác định trạng thái vui, buồn, giận dữ.
  • Phân tích cảm xúc theo khía cạnh (Aspect-based sentiment): Bóc tách cảm xúc gắn với tính năng cụ thể của sản phẩm.
  • Phân tích ý định (Intent analysis): Nhận diện hành động mong muốn của người viết (hỏi đáp, khiếu nại, yêu cầu hỗ trợ).
  • Phân tích cảm xúc đa ngôn ngữ (Multilingual sentiment analysis).

Đồng thời, chương 1 chỉ ra 5 thách thức chính của bài toán: Tính chủ quan và giọng điệu (Subjectivity and tone); Bối cảnh và phân cực (Context and polarity); Mỉa mai và châm biếm (Irony and sarcasm); Câu so sánh (Comparisons); Biểu tượng cảm xúc (Western Emojis và Eastern Emojis theo phân loại của Guibon). Tác giả xác lập mục tiêu, phạm vi nghiên cứu ở mức văn bản nhị phân và bố cục 4 chương của khóa luận.

Chương 2: Các hướng tiếp cận phân tích cảm xúc

Chương 2 phân tích và đối sánh 3 hướng tiếp cận chính:

  1. Tiếp cận theo hướng học máy (Machine Learning approach): Phổ biến với mô hình túi từ (Bag-of-Words - BoW). Mô hình trích xuất đặc trưng dựa trên tần suất xuất hiện nhưng có nhược điểm lớn là bỏ qua thứ tự từ và cấu trúc ngữ nghĩa (tác giả minh họa qua 3 câu có cùng túi từ nhưng nghĩa hoàn toàn khác: "Tôi không biết.", "Không, tôi biết.", "Tôi biết không?").
  2. Tiếp cận theo hướng ngữ nghĩa (Semantic orientation approach): Dựa trên việc chấm điểm phân cực của các từ cảm xúc theo từ điển và tính tổng điểm dựa trên ngưỡng phân loại. Phương pháp này gặp hạn chế do tính phân cực của từ biến thiên theo ngữ cảnh thực tế.
  3. Tiếp cận theo học sâu (Deep Learning approach): Tận dụng khả năng tính toán của phần cứng GPU/CPU và các mô hình mạng nơ-ron (CNN, RNN, LSTM, GRU, cơ chế Attention của Bahdanau 2014) để tự động học các biểu diễn ngữ nghĩa phức tạp và sự phụ thuộc xa trong chuỗi văn bản.

Chương 3: Các mô hình mạng neural

Chương 3 là phần lý thuyết trọng tâm, hệ thống hóa chi tiết các mô hình nơ-ron học sâu:

  • Cấu tạo mạng nơ-ron nhân tạo: Nơ-ron đơn lẻ (Perceptron), các lớp mạng (Input, Hidden, Output) và công thức hàm kích hoạt phi tuyến (Sigmoid, Tanh, ReLU).
  • Mạng nơ-ron tích chập (CNN): Cơ chế quét ma trận bộ lọc qua các vector từ nhúng, trích xuất bản đồ đặc trưng (feature map) và sử dụng 1-max pooling để đưa về kích thước cố định phục vụ phân loại.
  • Mạng nơ-ron quy hồi (RNN): Cấu trúc hồi quy thông tin theo thời gian, thuật toán BPTT. Tác giả dẫn xuất chi tiết đạo hàm hàm lỗi qua quy tắc chuỗi và giải thích toán học nguyên nhân triệt tiêu đạo hàm qua ma trận Jacobi.
  • Biến thể LSTM và GRU: Cấu tạo 4 lớp tương tác trong ô nhớ LSTM (cổng quên dùng hàm sigmoid, cổng vào dùng sigmoid và tanh, cập nhật cell state, cổng ra quyết định $h_t$); cấu trúc rút gọn của GRU gộp trạng thái tế bào và trạng thái ẩn; mô hình BiLSTM và mô hình kết hợp CNN-LSTM.
  • Kiến trúc Seq2Seq và cơ chế Attention: Phân tích mô hình Seq2Seq dạng Encoder-Decoder, chỉ ra hạn chế của việc nén dữ liệu vào một vector duy nhất; trình bày chi tiết cơ chế Attention mềm (Soft Attention) của Bahdanau (2014), cách tính Alignment score $e_{ij}$, trọng số chuẩn hóa $\alpha_{ij}$ qua Softmax và vector ngữ cảnh $c_i$.

Chương 4: Thực nghiệm và đánh giá

Chương 4 mô tả toàn bộ quá trình triển khai thực nghiệm:

  • Trình bày thông số 5 bộ dữ liệu thực nghiệm (Book, DVD, Electronics, Kitchen từ Blitzer và tập IMDB Movie từ Keras).
  • Đặc tả cấu hình phần cứng (Intel Core i7, 16GB RAM, GTX 950M) và môi trường phần mềm (Windows 10, PyCharm 2018.2, Keras).
  • Xây dựng mô hình RNN-Attention-network dựa trên mô hình phân cấp HAN (Yang et al., 2016), đơn giản hóa lớp biểu diễn từ bằng Keras Word Embedding kết hợp đơn vị GRU và tầng Word Attention.
  • Trình bày quy trình chi tiết xử lý dữ liệu: Tách từ, xóa dấu câu, loại bỏ stopword, xây dựng từ điển vocab.txt, mã hóa chỉ mục và đệm độ dài pad_sequences.
  • Thiết lập bảng cấu hình chi tiết các tầng mạng thực nghiệm, thông số đầu ra và số lượng tham số huấn luyện trên tập dữ liệu Book.

Kết quả và đóng góp

Kết quả kỹ thuật và số liệu thực nghiệm

Khóa luận đã hoàn thành các nội dung kỹ thuật với các số liệu được ghi nhận:

  • Xây dựng hoàn chỉnh pipeline tiền xử lý và làm sạch văn bản cho 4 tập dữ liệu đánh giá sản phẩm (mỗi tập gồm 2.000 nhận xét, chia 1.800 mẫu huấn luyện và 200 mẫu kiểm thử theo tỷ lệ 90% - 10%) và tập dữ liệu IMDB Movie (50.000 mẫu chia đều 25.000 mẫu train và 25.000 mẫu test).
  • Triển khai thành công kiến trúc mô hình thực nghiệm RNN-Attention-network trên nền tảng Keras với tổng cộng 1.140.801 tham số (trong đó lớp Embedding chiếm 1.080.400 tham số, lớp GRU chiếm 60.300 tham số và lớp Dense của Attention chiếm 101 tham số trên tập dữ liệu Book).
  • Kiểm chứng khả năng tích hợp cơ chế Word-level Attention vào mạng quy hồi GRU để tự động gán trọng số tập trung cho các từ khóa mang tính cảm xúc biểu đạt cao trong câu.

Đóng góp của khóa luận

  • Hệ thống hóa toàn diện cơ sở lý thuyết về các mô hình mạng nơ-ron sâu trong xử lý ngôn ngữ tự nhiên, đặc biệt là diễn giải toán học rõ ràng về thuật toán lan truyền ngược BPTT và hiện tượng triệt tiêu đạo hàm trong RNN.
  • Phân tích chi tiết cơ chế hoạt động của các cổng trong LSTM, GRU và cơ chế căn chỉnh Soft Attention của Bahdanau.
  • Đề xuất và hiện thực hóa mô hình RNN-Attention-network đơn giản hóa từ kiến trúc HAN (Yang et al., 2016), áp dụng trực tiếp cho bài toán phân loại cảm xúc văn bản nhị phân trên nhiều miền dữ liệu khác nhau.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên các nội dung được nhóm tác giả thừa nhận trong văn bản:

  • Hạn chế về thực nghiệm đối kháng: Do giới hạn về mặt thời gian, đề tài chưa kịp triển khai các thực nghiệm đối sánh trực tiếp về mặt số liệu hiệu năng giữa hướng tiếp cận học sâu (Deep Learning) và các thuật toán học máy truyền thống (Machine Learning) trên cùng một tập dữ liệu.
  • Phạm vi phân loại: Nghiên cứu chỉ mới tập trung giải quyết bài toán phân loại cảm xúc ở cấp độ văn bản (document-level) và phân loại nhị phân 2 lớp (tích cực / tiêu cực), chưa mở rộng sang cấp độ câu, cấp độ khía cạnh chi tiết (aspect-based) hoặc thang đo cảm xúc đa mức độ (5 mức phân cực).
  • Mô hình nhúng từ: Nhóm sử dụng trực tiếp lớp nhúng từ sẵn có của Keras (Keras word embeddings) để đơn giản hóa mô hình, chưa triển khai trích xuất vector từ mức ký tự bằng GRU theo đúng cấu trúc nguyên bản đầy đủ của mô hình HAN.
  • Hướng nghiên cứu tiếp: Mở rộng nghiên cứu thực nghiệm so sánh đa mô hình, áp dụng cơ chế Attention ở cả cấp độ câu (Sentence-level Attention) và mở rộng phạm vi bài toán sang phân tích cảm xúc dựa trên khía cạnh và đa ngôn ngữ.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo học thuật rõ ràng cho các đối tượng:

  • Sinh viên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo: Là tài liệu tham khảo tốt khi bắt đầu nghiên cứu về Xử lý ngôn ngữ tự nhiên (NLP), phân loại văn bản và phân tích cảm xúc.
  • Người nghiên cứu các mô hình chuỗi và Attention: Phần trình bày tại Chương 3 cung cấp cơ sở toán học chi tiết, các bước dẫn xuất vi phân của BPTT, phân tích ma trận Jacobi và nguyên lý hoạt động của các cổng LSTM/GRU cùng cơ chế Soft Attention.
  • Người triển khai ứng dụng thực tế với Keras: Chương 4 cung cấp quy trình từng bước về tiền xử lý dữ liệu văn bản thô, xây dựng từ điển vocab.txt, sử dụng hàm pad_sequences và cách thiết lập mạng phân tầng kết hợp Embedding, GRU và Attention trên Keras.

Câu hỏi thường gặp

1. Khóa luận giải quyết bài toán phân tích cảm xúc ở cấp độ nào và gồm những nhãn phân loại nào?

Khóa luận thực hiện phân tích cảm xúc ở cấp độ văn bản (document-level), tập trung vào bài toán phân loại tính phân cực nhị phân thành 2 lớp: tích cực (positive) và tiêu cực (negative).

2. Hiện tượng triệt tiêu đạo hàm (vanishing gradient) trong mạng RNN truyền thống được tác giả giải thích như thế nào?

Theo giải thích toán học trong khóa luận, khi thực hiện thuật toán lan truyền ngược qua thời gian (BPTT), việc tính đạo hàm đối với các tham số ở các bước thời gian xa đòi hỏi phải nhân liên tiếp các ma trận Jacobi qua quy tắc chuỗi. Do đạo hàm của các hàm kích hoạt như Sigmoid hoặc Tanh đều tiến dần về 0 ở các vùng bão hòa, các giá trị nhỏ khi nhân liên tiếp sẽ bị thu hẹp theo cấp số nhân và triệt tiêu hoàn toàn sau vài bước thời gian, khiến mạng RNN không thể học được các mối quan hệ phụ thuộc xa trong câu văn dài.

3. Nhóm tác giả đã sử dụng những tập dữ liệu nào và tỷ lệ phân chia tập dữ liệu ra sao?

Khóa luận sử dụng 5 tập dữ liệu: 4 tập dữ liệu đánh giá sản phẩm của Blitzer et al. gồm Book, DVD, Electronics, Kitchen (mỗi tập gồm 2.000 mẫu, chia 90% Train tương ứng 1.800 mẫu và 10% Test tương ứng 200 mẫu) và 1 tập dữ liệu IMDB Movie reviews từ thư viện Keras gồm 50.000 mẫu (chia 25.000 mẫu Train và 25.000 mẫu Test).

4. Kiến trúc mô hình RNN-Attention-network trong khóa luận được xây dựng dựa trên nghiên cứu nào?

Mô hình thực nghiệm được nhóm tác giả xây dựng dựa trên kiến trúc Mạng chú ý phân cấp (Hierarchical Attention Networks - HAN) của Zichao Yang et al. (2016), được đơn giản hóa bằng cách sử dụng trực tiếp lớp Keras Word Embedding kết hợp bộ mã hóa chuỗi GRU và lớp tính toán trọng số Attention ở mức từ (Word Attention).

5. Cấu hình phần cứng và công cụ lập trình được sử dụng trong nghiên cứu là gì?

Thực nghiệm được thực hiện trên máy tính chạy hệ điều hành Windows 10 Pro 64-bit, CPU Intel Core i7-5700HQ @ 2.7GHz, RAM 16GB, card đồ họa NVIDIA GeForce GTX 950M, môi trường phát triển PyCharm 2018.2 và thư viện học sâu Keras.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nhan Kim Thành và Trần Đức Khang đã tổng quan hóa và nghiên cứu có hệ thống bài toán phân tích cảm xúc văn bản cùng các mô hình mạng nơ-ron học sâu hiện đại. Tác giả đã làm rõ bản chất toán học của hiện tượng triệt tiêu đạo hàm trong RNN, cơ chế hoạt động của các cổng kiểm soát thông tin trong LSTM/GRU và vai trò tối ưu hóa của cơ chế Attention trong kiến trúc Seq2Seq. Thông qua việc triển khai thực nghiệm mô hình RNN-Attention-network trên 5 bộ dữ liệu chuẩn với thư viện Keras, khóa luận đã cung cấp một quy trình kỹ thuật hoàn chỉnh từ tiền xử lý dữ liệu đến thiết kế và huấn luyện mô hình phân loại cảm xúc nhị phân mức văn bản.