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

Trong kỷ nguyên bùng nổ thông tin kỹ thuật số, khối lượng văn bản được tạo ra và lưu trữ trên các nền tảng mạng ngày càng lớn. Việc tìm kiếm, sắp xếp và quản lý nguồn dữ liệu đồ sộ này đòi hỏi các giải pháp xử lý tự động hóa, bởi các quy trình phân loại thủ công bộc lộ nhiều hạn chế về mặt thời gian, nhân lực và khả năng mở rộng. Bài toán phân loại văn bản (Text Classification) — một bài toán kinh điển thuộc nhóm học có giám sát (Supervised Learning) trong học máy và xử lý ngôn ngữ tự nhiên (NLP) — đóng vai trò nền tảng nhằm tự động gán văn bản vào một hoặc nhiều danh mục xác định trước.

Khóa luận tốt nghiệp "Xây dựng hệ thống phân loại văn bản tiếng Việt" do sinh viên Hoàng Mạnh Hiệp thực hiện dưới sự hướng dẫn của ThS. Nguyễn Duy Hiệp tại Trường Đại học Bách khoa Hà Nội (hoàn thành ngày 10/06/2021) tập trung giải quyết bài toán phân loại các bài báo tin tức tiếng Việt dựa trên các mô hình học sâu (Deep Learning) kết hợp với các mô hình biểu diễn từ và mô hình ngôn ngữ học sẵn (pre-trained models).

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định cụ thể như sau:

  1. Tiếp cận bài toán phân loại văn bản tiếng Việt với đầu vào là các đoạn văn bản tin tức tiếng Việt và đầu ra là nhãn của một hoặc nhiều chủ đề tương ứng đã được định nghĩa trước.
  2. Khảo sát các đặc trưng ngôn ngữ học riêng biệt của văn bản tiếng Việt, bao gồm các cấp độ đơn vị (tiếng, từ, câu), cấu tạo ngữ pháp, từ loại và các hiện tượng chính tả đặc thù.
  3. Thu thập, xây dựng bộ dữ liệu văn bản tin tức tiếng Việt từ các trang báo điện tử và chuẩn bị dữ liệu kiểm chuẩn từ nguồn mở để phục vụ huấn luyện và kiểm thử.
  4. Nghiên cứu cơ sở lý thuyết toán học và kiến trúc của các mô hình học sâu phổ biến gồm mạng nơ-ron tích chập (CNN), mạng trí nhớ ngắn hạn định hướng dài hạn (LSTM), mạng LSTM hai chiều (Bi-LSTM) kết hợp biểu diễn từ Word2Vec, cùng mô hình ngôn ngữ ngữ cảnh PhoBERT.
  5. Cài đặt thử nghiệm, so sánh độ chính xác và đánh giá ưu nhược điểm của các phương pháp trên hai tập dữ liệu thực nghiệm.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các văn bản tin tức tiếng Việt; các kỹ thuật biểu diễn từ (One-hot, Word2Vec với Skip-gram và CBOW); các kiến trúc mạng nơ-ron học sâu (CNN, LSTM, Bi-LSTM) và mô hình ngôn ngữ dựa trên Transformer (BERT, PhoBERT).
  • Phạm vi không gian và dữ liệu: Dữ liệu thử nghiệm giới hạn trên các bài báo tiếng Việt thu thập từ các trang web báo chí (kenh14.vn, baomoi.com) phân bố trên 8 chuyên mục cụ thể, cùng bộ dữ liệu chuẩn VNTC (Vietnamese News Text Classification) lưu trữ trên kho lưu trữ mã nguồn mở GitHub.
  • Phạm vi thời gian và ứng dụng: Nghiên cứu được hoàn thành vào tháng 6 năm 2021, tập trung vào tác vụ phân loại đơn nhãn và đa nhãn cho văn bản báo chí. Do nguồn dữ liệu tự thu thập từ báo mạng, các chủ đề của văn bản chưa bao quát được toàn bộ các lĩnh vực đời sống xã hội.

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

Khung lý thuyết và mô hình học máy

Đề tài thiết lập cơ sở lý thuyết dựa trên các trụ cột chính:

  1. Lý thuyết ngôn ngữ học tiếng Việt trong xử lý văn bản: Tiếng Việt là ngôn ngữ đơn lập, có sự khác biệt rõ rệt về mặt ký pháp, cú pháp và ngữ pháp so với các ngôn ngữ hòa kết (như tiếng Anh, tiếng Pháp). Đơn vị cấu thành gồm:

    • Tiếng: Đơn vị phát âm nhỏ nhất (âm tiết), trong văn bản đứng độc lập, có thể tự mang nghĩa hoặc kết hợp tạo từ.
    • Từ: Đơn vị nhỏ nhất để tạo câu, gồm từ đơn (một tiếng) và từ ghép/từ láy (nhiều tiếng). Điều này đặt ra yêu cầu bắt buộc về tác vụ tách từ (word segmentation).
    • Từ loại và ngữ pháp: Hệ thống từ loại (danh từ, động từ, tính từ, phó từ, liên từ, đại từ, trợ từ, cảm từ, loại từ, giới từ, số từ, trạng từ) và trật tự sắp xếp từ giữ vai trò chủ đạo xác định quan hệ ngữ pháp.
    • Đặc điểm chính tả: Các biến thể từ đồng âm tự do ("Mĩ"/"Mỹ", "kĩ"/"kỹ"), từ địa phương ("cây kiểng"/"cây cảnh"), vị trí đặt dấu thanh ("hỏa"/"hoả"), quy tắc viết hoa tên riêng và việc phiên âm từ mượn ngoại lai ("Singapore"/"Xinh-ga-po").
  2. Kỹ thuật biểu diễn từ (Word Embedding):

    • Hạn chế của One-hot vector: Kích thước phụ thuộc số lượng từ vựng trong từ điển, ma trận thưa gây tốn bộ nhớ và tích vô hướng giữa hai từ bất kỳ luôn bằng 0, không thể hiện được tính tương đồng ngữ nghĩa.
    • Mô hình Word2Vec: Mạng nơ-ron 2 tầng với một tầng ẩn, ánh xạ từ sang không gian véc-tơ liên tục số chiều thấp (thường từ 300 đến 400 chiều). Tác giả phân tích hai kiến trúc:
      • Skip-gram: Dùng từ trung tâm $w_c$ để cực đại hóa xác suất sinh ra các từ ngữ cảnh $w_o$ trong cửa sổ kích thước $m$: $$\log P(w_o | w_c) = \frac{\exp(u_o^\top v_c)}{\sum_{i \in V} \exp(u_i^\top v_c)}$$ Hàm mất mát được tối ưu hóa bằng phương pháp hạ độ dốc ngẫu nhiên (SGD).
      • CBOW (Continuous Bag of Words): Sử dụng trung bình cộng các véc-tơ của các từ ngữ cảnh xung quanh để dự đoán từ trung tâm.
  3. Kiến trúc mạng nơ-ron tích chập (CNN) cho NLP:

    • Văn bản được biểu diễn thành ma trận kích thước $L \times d$ ($L$ là số lượng token/từ, $d$ là số chiều véc-tơ nhúng).
    • Các bộ lọc trượt (filters/kernels) có kích thước cố định theo chiều rộng bằng $d$ và chiều cao linh hoạt (2, 3, 4 tương ứng 2-gram, 3-gram, 4-gram) nhằm trích xuất các đặc trưng ngữ nghĩa cục bộ.
    • Cơ chế lấy giá trị lớn nhất (1-max pooling) được áp dụng trên từng bản đồ đặc trưng (feature map) để trích chọn đặc trưng nổi bật nhất và đưa về kích thước cố định, trước khi qua tầng kết nối đầy đủ (Fully Connected) và hàm kích hoạt Softmax để phân phối xác suất lớp.
  4. Mạng nơ-ron hồi quy và mạng LSTM (Long Short Term Memory):

    • Mạng RNN cơ bản gặp vấn đề triệt tiêu đạo hàm (vanishing gradient) khi huấn luyện trên chuỗi dài, dẫn đến mất khả năng nhớ phụ thuộc xa (long-term dependency).
    • Kiến trúc LSTM giải quyết hiện tượng trên thông qua ô trạng thái (cell state $C_t$) chạy dọc mạng cùng 3 cổng điều khiển:
      • Cổng quên (Forget gate $f_t$): Dùng hàm sigmoid để quyết định tỷ lệ thông tin từ $C_{t-1}$ cần giữ lại hay loại bỏ.
      • Cổng vào (Input gate $i_t$): Kết hợp hàm sigmoid và tầng tạo ứng viên $\tilde{C}_t$ qua hàm tanh để cập nhật thông tin mới vào $C_t$.
      • Cổng ra (Output gate $o_t$): Quyết định trạng thái ẩn $h_t$ dựa trên việc lọc thông tin của ô trạng thái mới qua hàm tanh.
    • Kiến trúc Bi-LSTM duyệt chuỗi theo cả hai chiều (từ trái qua phải và từ phải qua trái) để thu thập ngữ cảnh toàn diện.
  5. Mô hình Transformer và PhoBERT:

    • Cơ chế chú ý tự thân đa chỏm (Multi-Head Self-Attention) loại bỏ hoàn toàn đệ quy chuỗi, tính toán độ tương quan ngữ nghĩa giữa các từ đồng thời qua 3 ma trận trọng số Query ($Q$), Key ($K$) và Value ($V$): $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}}\right)V$$
    • Mã hóa vị trí (Positional Encoding) sử dụng hàm hình sin và cosin để bảo toàn trật tự chuỗi của các từ.
    • Mô hình PhoBERT: Kế thừa kiến trúc RoBERTa (tối ưu hóa trên framework PyTorch từ mô hình BERT của Google), loại bỏ tác vụ dự đoán câu kế tiếp (Next Sentence Prediction - NSP), chỉ sử dụng tác vụ tạo mặt nạ ngôn ngữ (Masked Language Model - MLM) với tỷ lệ che 15%. PhoBERT sử dụng công cụ VnCoreNLP để tách từ tiếng Việt trước khi áp dụng thuật toán mã hóa cặp byte (Byte Pair Encoding - BPE) để xử lý các từ hiếm và ngoài từ điển (OOV).

Phương pháp nghiên cứu và nguồn dữ liệu

Nghiên cứu sử dụng phương pháp thực nghiệm khoa học, kết hợp phân tích định tính về đặc điểm ngôn ngữ học tiếng Việt với đánh giá định lượng hiệu năng mô hình máy học:

  • Phương pháp tiền xử lý: Văn bản thô được làm sạch, tách từ tiếng Việt và chuyển đổi sang dạng số thông qua bảng từ điển nhúng Word2Vec hoặc bộ token hóa BPE của PhoBERT.
  • Nguồn dữ liệu thực nghiệm:
    1. Bộ dữ liệu thu thập thực tế (Crawl): Lấy từ các trang tin điện tử kenh14.vn và baomoi.com, đã được gán nhãn theo 8 chủ đề với tổng số 39.390 văn bản.
    2. Bộ dữ liệu đối sánh VNTC: Bộ ngữ liệu phân loại văn bản tiếng Việt chuẩn từ nguồn mở trên GitHub (github.com/duyvuleo/VNTC), tổ chức theo các thư mục nhãn riêng biệt.
    3. Ngữ liệu tiền huấn luyện PhoBERT: Được huấn luyện trên 20GB văn bản tiếng Việt thô (gồm 1GB ngữ liệu Vietnamese Wikipedia và 19GB ngữ liệu Vietnamese news corpus).

Bảng thống kê số lượng văn bản của bộ dữ liệu thu thập (Crawl):

STT Chủ đề phân loại Số lượng văn bản (bài báo)
1 Điện ảnh 4.866
2 Du lịch 5.367
3 Giáo dục 5.330
4 Kinh doanh 5.750
5 Ngân hàng 5.408
6 Sức khỏe 2.984
7 Thể thao 3.967
8 Thời sự pháp luật 5.718
Tổng 8 chuyên mục 39.390

Thiết kế và quy trình thực nghiệm

Mặc dù trọng tâm đề tài là khảo sát mô hình học sâu, tác giả đã thiết lập quy trình kỹ thuật hoàn chỉnh để xử lý và phân loại văn bản:

[Văn bản tiếng Việt thô]
[Tiền xử lý & Chuẩn hóa chính tả]
[Tách từ tiếng Việt (Word Segmentation / VnCoreNLP)]
[Mô hình Word2Vec]                 [Mô hình PhoBERT Tokenizer (BPE)]
[Biểu diễn véc-tơ từ]              [Token IDs & Attention Masks]
[Phân loại: CNN / LSTM / Bi-LSTM]  [Tinh chỉnh PhoBERT (Fine-tuning)]
            [Phân loại chuyên mục đầu ra]

Quy trình kỹ thuật gồm các bước chính:

  1. Chuẩn bị và tiền xử lý dữ liệu: Tiếp nhận dữ liệu bài báo từ tập crawl hoặc tập VNTC; loại bỏ các thẻ định dạng, xử lý nhiễu chính tả cơ bản; tiến hành phân đoạn từ ghép tiếng Việt (tách chuỗi liên tục thành các đơn vị từ vựng chuẩn).
  2. Xây dựng nhánh phân loại dựa trên Word2Vec:
    • Ánh xạ các từ trong văn bản thành các véc-tơ nhúng liên tục.
    • Đưa ma trận câu qua mạng CNN với các kernel có kích thước $2 \times d$, $3 \times d$, $4 \times d$ kết hợp 1-max pooling để rút trích đặc trưng n-gram cục bộ.
    • Hoặc đưa chuỗi véc-tơ qua mạng LSTM / Bi-LSTM tuần tự để nắm bắt quan hệ ngữ cảnh phụ thuộc thời gian.
    • Đầu ra của tầng ẩn cuối cùng được kết nối với tầng Dense (Softmax) để phân loại 8 chủ đề.
  3. Xây dựng nhánh phân loại dựa trên PhoBERT:
    • Văn bản sau khi tách từ bằng VnCoreNLP được đưa qua bộ mã hóa Byte Pair Encoding (BPE).
    • Thêm các token chuyên dụng: [CLS] ở đầu chuỗi (đại diện cho thông tin toàn câu) và [SEP] ở cuối chuỗi.
    • Thêm tầng phân loại (Classification Layer) kết nối với đầu ra của token [CLS].
    • Tiến hành quá trình tinh chỉnh (fine-tuning) toàn bộ các tham số của mô hình trên tập dữ liệu bài báo tiếng Việt.

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

Chương 1. Giới thiệu đề tài

Chương mở đầu tập trung phát biểu bài toán phân loại văn bản tiếng Việt dưới dạng bài toán học có giám sát. Tác giả phân tích tính cấp thiết của việc tự động hóa khâu phân loại tin tức trong bối cảnh bùng nổ dữ liệu thông tin số. Nội dung xác định rõ mô hình phân loại nhận đầu vào là chuỗi ký tự tiếng Việt và trả về nhãn chuyên mục định sẵn. Tác giả vạch ra hướng giải quyết gồm hai trục tiếp cận chính: phương pháp học sâu truyền thống kết hợp véc-tơ nhúng Word2Vec (với các kiến trúc CNN, LSTM, Bi-LSTM) và phương pháp tinh chỉnh mô hình ngôn ngữ ngữ cảnh hai chiều PhoBERT, đồng thời giới thiệu tổng quan cấu trúc đồ án gồm 6 chương.

Chương 2. Dữ liệu văn bản Tiếng Việt

Chương 2 trình bày chi tiết các đặc thù của tiếng Việt dưới góc độ xử lý ngôn ngữ tự nhiên. Tác giả phân tích bản chất ngôn ngữ đơn lập, làm rõ các đơn vị ngữ pháp từ cấp độ tiếng (âm tiết độc lập, giá trị ngữ âm và ngữ pháp), từ (từ đơn một tiếng, từ ghép nhiều tiếng, từ láy) đến cấp độ câu (câu đơn, câu ghép). Chương này đặc biệt nhấn mạnh tầm quan trọng của việc tách từ trong tiếng Việt qua các ví dụ thực tế ("Học sinh học sinh học" phân tách thành "học sinh | học | sinh học"). Bên cạnh đó, tác giả liệt kê 12 từ loại trong tiếng Việt và khảo cứu 6 vấn đề gây nhiễu chính tả thường gặp trong văn bản báo chí: từ đồng âm tự do, từ địa phương, quy tắc gõ dấu thanh không chuẩn, cách viết hoa tùy tiện, cách phiên âm tiếng nước ngoài và dấu gạch nối. Cuối chương là bảng thống kê chi tiết bộ dữ liệu thu thập gồm 39.390 bài báo từ kenh14.vn và baomoi.com chia thành 8 lớp chuyên mục, cùng phần giới thiệu về tập dữ liệu chuẩn VNTC.

Chương 3. Cơ sở lý thuyết

Chương 3 là phần nghiên cứu chuyên sâu về mặt toán học và cấu trúc kỹ thuật của các mô hình sử dụng trong đồ án:

  • Mạng tích chập (CNN): Thiết lập toán tử tích chập trên ma trận 2D, các công thức tính kích thước đầu ra dựa trên kích thước đầu vào ($W_1, H_1$), kích thước bộ lọc ($F$), bước nhảy ($S$) và độ đệm lề ($P$): $$W_2 = \left\lfloor\frac{W_1 + 2P - F}{S}\right\rfloor + 1$$ Mô tả chi tiết tầng tích chập, các loại tầng pooling (max-pooling, avg-pooling), tầng kết nối đầy đủ và cơ chế áp dụng CNN vào văn bản dựa trên các bộ lọc n-gram.
  • Mạng nơ-ron hồi quy và LSTM: Phân tích cơ chế truyền ngược thời gian của RNN, nguyên nhân suy giảm đạo hàm và cấu tạo 4 tầng ẩn của một tế bào LSTM (Forget gate, Input gate, Output gate).
  • Mô hình Word2Vec: Đánh giá nhược điểm của biểu diễn One-hot; phân loại các nhóm nhúng từ; giải thích cặn kẽ thuật toán Skip-gram và CBOW cùng các dẫn xuất toán học tính gradient xác suất có điều kiện.
  • Mô hình PhoBERT: Giới thiệu kiến trúc Transformer (các khối Encoder, Decoder, cơ chế Multi-Head Attention, Positional Encoding, Residual Connection, Layer Normalization); phân tích nguyên lý học ngữ cảnh hai chiều của BERT qua hai tác vụ MLM và NSP; so sánh kiến trúc cải tiến RoBERTa; phân tích cấu tạo mô hình PhoBERT dành riêng cho tiếng Việt (huấn luyện trên 20GB ngữ liệu, chia 2 phiên bản Base 12 tầng và Large 24 tầng, kết hợp VnCoreNLP và mã hóa BPE để khử lỗi từ ngoài từ điển OOV).

Chương 4. Phương pháp giải quyết

(Theo danh mục mục lục và đề cương đồ án): Chương này trình bày chi tiết các bước cài đặt kỹ thuật nhằm hiện thực hóa bài toán:

  • Quy trình chuẩn bị và làm sạch dữ liệu văn bản thô.
  • Thực hiện phân tách từ và tiền xử lý chuyên biệt cho tiếng Việt.
  • Thiết lập quy trình nhúng từ với mô hình học sẵn Word2Vec và cấu hình kết nối vào các kiến trúc mạng CNN, mạng LSTM và mạng Bi-LSTM.
  • Quy trình tích hợp và tinh chỉnh mô hình ngôn ngữ học sẵn PhoBERT cho bài toán phân loại văn bản nhiều nhãn.

Chương 5. Đánh giá và cài đặt thử nghiệm

(Theo danh mục mục lục, danh sách hình vẽ và danh mục bảng biểu đồ án): Chương này tổng hợp toàn bộ các thực nghiệm đánh giá hiệu năng:

  • Thiết lập kịch bản thử nghiệm đối sánh trên hai bộ dữ liệu: tập dữ liệu thu thập (Crawl) và tập dữ liệu tin tức mở (VNTC).
  • Báo cáo kết quả độ chính xác và độ mất mát qua các bảng số liệu: Bảng 5.1 & 5.2 (Mô hình CNN trên tập crawl và VNTC), Bảng 5.3 & 5.4 (Mô hình LSTM trên tập crawl và VNTC), Bảng 5.5 & 5.6 (Mô hình Bi-LSTM trên tập crawl và VNTC), Bảng 5.7 (So sánh tổng thể giữa các mô hình học sâu) và Bảng 5.8 (Kết quả của mô hình PhoBERT trên tập crawl).
  • Khảo sát các biểu đồ độ chính xác huấn luyện và kiểm định (Hình 5.1 đến 5.7).

Chương 6. Kết luận và hướng phát triển

(Theo danh mục mục lục đồ án): Tác giả tổng kết lại toàn bộ quá trình nghiên cứu, chỉ ra các đóng góp đạt được về mặt thử nghiệm công nghệ, nêu lên những hạn chế còn tồn đọng trong quá trình xử lý dữ liệu và đề xuất các định hướng mở rộng hệ thống trong tương lai.


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

Kết quả nghiên cứu được xác thực từ văn bản

Dựa trên toàn bộ nội dung văn bản học thuật được công bố, các kết quả cụ thể bao gồm:

  1. Khảo sát toàn diện ngữ liệu tiếng Việt phục vụ NLP: Đồ án hệ thống hóa các quy tắc cấu tạo từ đơn, từ ghép, từ láy, hệ thống 12 từ loại tiếng Việt và làm rõ ảnh hưởng của 6 hiện tượng bất cập trong chính tả báo chí đối với các mô hình học máy.
  2. Xây dựng bộ dữ liệu phân loại tin tức tiếng Việt: Tác giả đã hoàn thành việc thu thập và phân loại 39.390 bài báo có gán nhãn theo 8 chủ đề rõ ràng từ hai nguồn báo mạng phổ biến (kenh14.vn và baomoi.com), tạo thành tập dữ liệu phục vụ trực tiếp cho quá trình huấn luyện và đánh giá.
  3. Thiết lập hệ thống thực nghiệm đối sánh đa mô hình:
    • Đồ án đã cấu hình và đưa vào kiểm thử thực nghiệm 4 kiến trúc học sâu khác nhau: CNN, LSTM, Bi-LSTM (kết hợp biểu diễn véc-tơ Word2Vec) và mô hình ngôn ngữ dựa trên Transformer (PhoBERT).
    • Tiến hành đo lường độc lập trên 2 tập ngữ liệu riêng biệt (tập dữ liệu crawl 8 chủ đề và tập ngữ liệu VNTC từ GitHub) thông qua 8 bảng kết quả thực nghiệm chuyên biệt (Bảng 5.1 đến 5.8) và 7 đồ thị phân tích hàm mất mát cùng độ chính xác (Hình 5.1 đến 5.7).
    • Mô hình PhoBERT được khảo cứu trên hai biến thể kiến trúc gồm PhoBERT-Base (12 khối Transformer, hidden size 768, 12 attention heads) và PhoBERT-Large (24 khối Transformer, hidden size 1024, 16 attention heads), tận dụng trọng số tiền huấn luyện từ 20GB văn bản tiếng Việt.

Đóng góp học thuật và giải pháp đề xuất

  • Đóng góp so với các tiếp cận trước: Thay vì chỉ áp dụng các thuật toán học máy truyền thống (như Naive Bayes, SVM, mô hình tuyến tính) vốn phụ thuộc lớn vào việc rút trích đặc trưng thủ công, tác giả đã thử nghiệm đồng thời các kỹ thuật học biểu diễn từ phân tán (Word2Vec) kết hợp mạng nơ-ron tích chập/hồi quy và kỹ thuật biểu diễn ngữ cảnh hai chiều (PhoBERT), giúp tự động hóa quá trình trích xuất đặc trưng văn bản tiếng Việt.
  • Giải pháp kỹ thuật:
    • Khẳng định tính bắt buộc của công đoạn tách từ (word segmentation) trước khi đưa vào mô hình hóa đối với ngôn ngữ đơn lập như tiếng Việt.
    • Ứng dụng kỹ thuật mã hóa Byte Pair Encoding (BPE) và công cụ VnCoreNLP trong PhoBERT để giải quyết triệt để vấn đề từ ngoài từ điển (OOV) — một rào cản lớn mà phương pháp One-hot vector và Word2Vec truyền thống không khắc phục được.

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

Hạn chế

Theo các nội dung được chính tác giả chỉ rõ trong đồ án:

  1. Độ đa dạng của dữ liệu: Dữ liệu tự thu thập từ các trang tin điện tử chỉ mới bao gồm 8 chuyên mục tin tức nhất định, chưa bao hàm hết các khía cạnh đa dạng của toàn bộ các thể loại văn bản tiếng Việt trong thực tế.
  2. Nhiễu chính tả và chuẩn hóa văn bản: Các vấn đề về biến thể chính tả tiếng Việt (từ đồng âm tự do "Mĩ"/"Mỹ", từ địa phương, vị trí đánh dấu không chuẩn "hỏa"/"hoả", quy chuẩn viết hoa tên riêng, phiên âm tiếng nước ngoài) chưa được xử lý triệt để ở khâu tiền xử lý tự động, gây ảnh hưởng đến tính đồng nhất của tập từ vựng.
  3. Chi phí tính toán: Các mô hình học sâu nhiều tham số và mô hình Transformer (PhoBERT) đòi hỏi tài nguyên tính toán phần cứng lớn (GPU, RAM) và thời gian huấn luyện kéo dài.

Hướng nghiên cứu tiếp

Từ các hạn chế trên và mục lục định hướng tại Chương 6, các hướng mở rộng bao gồm:

  • Mở rộng quy mô và phạm vi thu thập dữ liệu sang nhiều lĩnh vực chuyên ngành và nguồn văn bản khác ngoài báo chí điện tử.
  • Nghiên cứu sâu hơn các thuật toán chuẩn hóa văn bản và tiền xử lý chính tả tiếng Việt tự động trước khi phân loại.
  • Thử nghiệm tối ưu hóa siêu tham số (hyperparameters) và áp dụng các mô hình học sâu này cho các tác vụ xử lý ngôn ngữ tự nhiên tiếng Việt liên quan khác như: phân tích cảm xúc (Sentiment Analysis), nhận dạng thực thể tên riêng (NER), phát hiện ý định trong Chatbot và tóm tắt văn bản tự động.

Giá trị tham khảo

Tài liệu khóa luận này mang lại giá trị tham khảo thiết thực cho các nhóm đối tượng:

  • Sinh viên, học viên ngành Khoa học máy tính, Công nghệ thông tin, Trí tuệ nhân tạo: Là tài liệu tham khảo chi tiết về cách thức triển khai một bài toán phân loại văn bản tiếng Việt từ bước lý thuyết ngôn ngữ đến thiết kế mô hình học sâu.
  • Người làm nghiên cứu về NLP tiếng Việt: Cung cấp tài liệu tổng hợp có hệ thống về mặt toán học của các kiến trúc Word2Vec (Skip-gram, CBOW), CNN cho văn bản, cơ chế cổng của LSTM, và nguyên lý hoạt động của khối Transformer kết hợp mã hóa BPE trong PhoBERT.
  • Nội dung đáng tham khảo nhất:
    • Mục 2.1 và 2.2 ở Chương 2: Phân tích sâu sắc về bản chất ngôn ngữ đơn lập của tiếng Việt, cách phân loại từ loại và các thách thức đặc thù về chính tả trong văn bản.
    • Toàn bộ Chương 3: Trình bày bài bản các công thức giải tích gradient của Word2Vec, cấu tạo toán học của LSTM và kiến trúc chú ý của mô hình PhoBERT.
    • Cấu trúc phân loại 8 chuyên mục với 39.390 văn bản thực tế, là nguồn tham khảo hữu ích cho việc xây dựng tập dữ liệu thực nghiệm.

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

1. Bộ dữ liệu tự thu thập của tác giả gồm bao nhiêu bài viết và phân bổ theo những chủ đề nào?
Bộ dữ liệu do tác giả tự thu thập từ website kenh14.vn và baomoi.com có tổng cộng 39.390 văn bản, được phân chia cụ thể thành 8 chuyên mục: Kinh doanh (5.750 văn bản), Thời sự pháp luật (5.718 văn bản), Ngân hàng (5.408 văn bản), Du lịch (5.367 văn bản), Giáo dục (5.330 văn bản), Điện ảnh (4.866 văn bản), Thể thao (3.967 văn bản) và Sức khỏe (2.984 văn bản).

2. Điểm khác biệt cốt lõi giữa kiến trúc mô hình PhoBERT so với mô hình BERT gốc là gì?
PhoBERT được xây dựng dựa trên kiến trúc RoBERTa (kế thừa từ BERT trên nền tảng PyTorch), được huấn luyện riêng biệt trên 20GB ngữ liệu tiếng Việt (1GB từ Wikipedia tiếng Việt và 19GB từ tin tức). Khác với BERT gốc, PhoBERT loại bỏ tác vụ dự đoán câu tiếp theo (NSP), chỉ giữ lại tác vụ mặt nạ ngôn ngữ (MLM), đồng thời sử dụng công cụ VnCoreNLP để tách từ tiếng Việt trước khi áp dụng thuật toán mã hóa cặp byte (Byte Pair Encoding - BPE) để biểu diễn các đơn vị từ phụ.

3. Cơ chế áp dụng mạng nơ-ron tích chập (CNN) vào dữ liệu văn bản được tác giả thiết lập như thế nào?
Văn bản được ánh xạ thành ma trận 2 chiều có kích thước $L \times d$ (trong đó $L$ là số lượng từ và $d$ là số chiều của véc-tơ nhúng từ Word2Vec). Các bộ lọc tích chập có chiều rộng cố định bằng $d$ và chiều cao linh hoạt tương ứng với các n-gram (2, 3, 4 từ). Sau khi trượt bộ lọc để tạo ra các bản đồ đặc trưng (feature maps), mô hình sử dụng phép lấy giá trị lớn nhất 1-max pooling để rút ra đặc trưng nổi bật nhất của mỗi bộ lọc, sau đó ghép nối lại thành một véc-tơ duy nhất đưa vào tầng kết nối đầy đủ có hàm Softmax để tính xác suất phân loại.

4. Tại sao phương pháp biểu diễn từ One-hot vector bị hạn chế và Word2Vec khắc phục điều đó ra sao?
One-hot vector có kích thước bằng tổng số từ vựng trong từ điển khiến ma trận biểu diễn bị thưa và tốn bộ nhớ; đồng thời véc-tơ này không mang thông tin ngữ nghĩa vì khoảng cách hay tích vô hướng giữa hai từ bất kỳ luôn bằng 0. Word2Vec khắc phục điều này bằng cách biểu diễn mỗi từ thành một véc-tơ thực trong không gian liên tục số chiều thấp (khoảng vài trăm chiều), trong đó các từ có ngữ cảnh và ý nghĩa tương đồng sẽ nằm gần nhau trong không gian véc-tơ.

5. Những đặc điểm ngôn ngữ học tiếng Việt nào được tác giả nhận định là rào cản chính trong bài toán phân loại văn bản?
Tiếng Việt là ngôn ngữ đơn lập, ranh giới từ không trùng với ranh giới khoảng trắng (tồn tại cả từ đơn một tiếng và từ ghép/từ láy nhiều tiếng), đòi hỏi phải thực hiện bước phân đoạn từ phức tạp. Ngoài ra, văn bản tiếng Việt còn gặp các hiện tượng gây nhiễu chính tả như từ đồng âm tự do ("Mĩ"/"Mỹ"), dùng từ địa phương, đánh dấu thanh không theo chuẩn ("hỏa"/"hoả"), viết hoa tùy tiện, cách phiên âm từ mượn ngoại lai và dấu gạch nối không đồng nhất.


Kết luận

Khóa luận tốt nghiệp của sinh viên Hoàng Mạnh Hiệp tại Đại học Bách khoa Hà Nội đã cung cấp một công trình nghiên cứu thực nghiệm có hệ thống về bài toán phân loại văn bản tin tức tiếng Việt dựa trên các kiến trúc học sâu hiện đại. Tác giả đã kết nối chặt chẽ giữa các đặc trưng ngôn ngữ học đơn lập của tiếng Việt với các giải pháp biểu diễn từ (Word2Vec) và mô hình ngôn ngữ ngữ cảnh hai chiều (PhoBERT). Bên cạnh việc khảo cứu toán học chi tiết về mạng CNN, LSTM và Transformer, đồ án đã hoàn thành việc xây dựng ngữ liệu báo chí 8 chuyên mục với gần 40.000 văn bản và thiết lập các kịch bản đối sánh mô hình, đóng góp nguồn tài liệu học thuật giá trị cho lĩnh vực xử lý ngôn ngữ tự nhiên tiếng Việt.