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

Sự phát triển mạnh mẽ của Internet, mạng xã hội, diễn đàn trực tuyến và các nền tảng thương mại điện tử đã tạo ra khối lượng dữ liệu văn bản tiếng Việt khổng lồ mỗi ngày. Dữ liệu này bao gồm các dòng trạng thái, bài viết, phản hồi và bình luận thể hiện quan điểm khen - chê, tích cực hoặc tiêu cực của người dùng đối với sản phẩm, dịch vụ và các sự kiện xã hội. Việc thấu hiểu và khai thác tự động luồng thông tin này có ý nghĩa thực tiễn quan trọng đối với các tổ chức và doanh nghiệp trong công tác quản trị thương hiệu, quản trị quan hệ khách hàng và khảo sát ý kiến xã hội học. Thực tế đã chỉ ra rằng các luồng dư luận bất lợi lan truyền nhanh chóng trên mạng xã hội có thể gây ảnh hưởng nghiêm trọng đến hoạt động kinh doanh (điển hình như trường hợp khủng hoảng truyền thông của doanh nghiệp nước giải khát Tân Hiệp Phát), từ đó đặt ra nhu cầu cấp thiết về các hệ thống công nghệ thông tin có khả năng "lắng nghe mạng xã hội" và phân loại sắc thái bình luận theo thời gian thực.

Trong lĩnh vực Xử lý ngôn ngữ tự nhiên (NLP), việc xây dựng các mô hình phân loại quan điểm đối mặt với thách thức lớn về sự thiếu hụt dữ liệu huấn luyện được gán nhãn thủ công chất lượng cao. Các phương pháp biểu diễn từ truyền thống không phụ thuộc ngữ cảnh (như Word2Vec, GloVe, FastText) hoặc mô hình phụ thuộc một chiều (như RNN, ELMo) bộc lộ nhiều hạn chế trong việc nắm bắt toàn diện ý nghĩa ngữ cảnh hai chiều của câu văn. Sự ra đời của mô hình BERT (Bidirectional Encoder Representations from Transformers) của Google AI và mô hình đơn ngữ tiếng Việt PhoBERT đã mang lại giải pháp học chuyển giao (Transfer Learning) hiệu quả, cho phép tận dụng lượng lớn văn bản chưa gán nhãn để tiền huấn luyện trước khi tinh chỉnh cho các tác vụ cụ thể.

Theo văn bản đề tài tốt nghiệp ngành Công nghệ thông tin tại Trường Đại học Quản lý và Công nghệ Hải Phòng, nhiệm vụ nghiên cứu của tác giả Nguyễn Thành Long (Mã SV: 1712111008, Lớp: CT2101C) dưới sự hướng dẫn của ThS. Nguyễn Thị Xuân Hương được xác định gồm 3 nội dung chính:

  1. Tìm hiểu về mô hình ngôn ngữ PhoBERT.
  2. Tìm hiểu về bài toán phân tích quan điểm người dùng, phân loại quan điểm bình luận Tiếng Việt.
  3. Tìm hiểu về ngôn ngữ lập trình Python.

Đối tượng nghiên cứu của đề tài là cấu trúc mô hình ngôn ngữ BERT/PhoBERT và bài toán phân loại quan điểm bình luận tiếng Việt thành 2 lớp sắc thái (tích cực và tiêu cực). Phạm vi nghiên cứu tập trung vào ngữ liệu tiếng Việt, được triển khai thực hiện trong khoảng thời gian từ ngày 16 tháng 07 năm 2021 đến trước ngày 03 tháng 10 năm 2021.


Cơ sở lý thuyết và phương pháp

Đề tài xây dựng nền tảng lý thuyết dựa trên các khái niệm và mô hình nền tảng trong học máy và xử lý ngôn ngữ tự nhiên:

  • Các mức độ biểu diễn từ trong NLP:
    • Không bối cảnh (Non-context): Các thuật toán như Word2Vec, GloVe, FastText chỉ tạo ra một véc-tơ biểu diễn cố định cho mỗi từ, không thể phản ánh các nét nghĩa khác nhau của từ trong từng ngữ cảnh riêng biệt.
    • Một chiều (Uni-directional): Các mô hình dựa trên mạng nơ-ron hồi quy RNN hoặc ELMo (sử dụng kiến trúc BiLSTM với hai chiều độc lập) chỉ giải thích ngữ cảnh theo một chiều từ trái sang phải hoặc từ phải sang trái.
    • Hai chiều (Bi-directional): Mô hình Transformer với cơ chế tự chú ý (self-attention) cho phép nắm bắt ngữ cảnh đồng thời từ cả hai phía xung quanh từ mục tiêu.
  • Mô hình BERT và cơ chế tiền huấn luyện: BERT sử dụng kiến trúc Encoder của Transformer, được huấn luyện trước trên văn bản không giám sát thông qua hai tác vụ: Mô hình ngôn ngữ được đánh dấu (Masked Language Model - MLM) và Dự báo câu tiếp theo (Next Sentence Prediction - NSP).
  • Mô hình PhoBERT và RoBERTa: PhoBERT kế thừa kiến trúc tối ưu hóa của RoBERTa, được đào tạo riêng cho tiếng Việt với cách tiếp cận phân đoạn từ ở cấp độ từ (word-level tokenization) kết hợp tách từ tố con BPE (Byte Pair Encoding).
  • Các tác vụ xuôi dòng (Downstream tasks) và chuẩn đánh giá GLUE: Các tác vụ chuẩn để kiểm thử khả năng hiểu ngôn ngữ bao gồm Phân tích cảm xúc (Sentiment Analysis), Hỏi đáp (SQuAD), Suy luận ngôn ngữ tự nhiên (NLI), Nhận diện thực thể tên riêng (NER) và Quan hệ văn bản (Textual Entailment).

Phương pháp nghiên cứu thực nghiệm được thực hiện thông qua việc tiếp cận quy trình học chuyển giao (Transfer Learning): sử dụng trọng số mô hình tiền huấn luyện của PhoBERT, áp dụng công cụ tiền xử lý ngôn ngữ tiếng Việt và tiến hành tinh chỉnh (fine-tuning) các lớp mạng nơ-ron trên tập dữ liệu đánh giá phân loại sắc thái bình luận.

Nguồn dữ liệu được đề cập và sử dụng trong nghiên cứu gồm:

  • Ngữ liệu 20GB văn bản tiếng Việt dùng trong huấn luyện trước mô hình PhoBERT.
  • Các bộ dữ liệu benchmark tiếng Việt tiêu chuẩn: VLSP 2013 (gán nhãn từ loại POS), VnDT v1.1 (ngân hàng câu phân tích cú pháp phụ thuộc), VLSP 2016 (nhận dạng thực thể NER), XNLI v1.0 tiếng Việt (suy luận ngôn ngữ NLI).
  • Bộ dữ liệu phân loại bình luận thu thập từ cuộc thi "Phân tích sắc thái bình luận" do AIVIVN tổ chức.

Thiết kế và triển khai

Quá trình thiết kế và thử nghiệm hệ thống phân loại quan điểm bình luận tiếng Việt được xây dựng dựa trên ngăn xếp công nghệ mã nguồn mở và môi trường thực nghiệm chuyên dụng:

Công nghệ và thư viện sử dụng

  • Ngôn ngữ lập trình: Python.
  • Thư viện học sâu và tính toán: TensorFlow.
  • Thư viện mô hình chuyển đổi: Transformers (Wolf và cộng sự).
  • Thư viện xử lý từ tố và chuỗi: fastBPE và fairseq.
  • Công cụ tiền xử lý tiếng Việt: VnCoreNLP (tích hợp bộ phân đoạn từ RDRSegmenter).
  • Mô hình nền tảng: Mô hình tiền huấn luyện PhoBERT (pre-trained model).

Quy trình các bước thực hiện

  1. Cài đặt môi trường: Cài đặt các thư viện cần thiết gồm tensorflow, transformers, fastbpe, fairseq và vncorenlp.
  2. Thu thập dữ liệu và trọng số: Tải bộ dữ liệu từ cuộc thi Phân tích sắc thái bình luận của AIVIVN và tải mô hình pre-trained PhoBERT.
  3. Tiền xử lý văn bản tiếng Việt:
    • Sử dụng công cụ RDRSegmenter trong VnCoreNLP để phân đoạn câu văn tiếng Việt từ cấp độ âm tiết thành các từ hoàn chỉnh.
    • Áp dụng thuật toán BPE (thông qua fastBPE) để mã hóa và chuyển đổi các từ thành các đơn vị từ khóa con (subwords).
  4. Phân chia dữ liệu: Tách tập dữ liệu đầu vào thành 2 tập riêng biệt gồm tập huấn luyện (training set) và tập kiểm định (validation set) theo tỉ lệ 90:10.
  5. Tạo mặt nạ chú ý (Attention Mask): Xây dựng ma trận mask chứa các giá trị 0 và 1 tương ứng với độ dài chuỗi để làm đầu vào cho mô hình Transformer.
  6. Huấn luyện và tinh chỉnh: Tiến hành huấn luyện mô hình phân loại sắc thái (Sentiment Analysis Vietnamese - SAV) với đầu vào là đoạn văn bản và đầu ra là phân phối xác suất của 2 lớp nhãn cảm xúc: tích cực (positive) và tiêu cực (negative).

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

Chương 1. Mô hình BERT

Chương 1 tập trung hệ thống hóa cơ sở lý thuyết về mô hình BERT (Bidirectional Encoder Representations from Transformers) do Google AI giới thiệu. Nội dung phân tích nguyên nhân ra đời của BERT nhằm giải quyết bài toán thiếu hụt dữ liệu gán nhãn thông qua học chuyển giao (Transfer Learning) từ các kho ngữ liệu phi cấu trúc khổng lồ trên Internet. Chương này trình bày chi tiết các khái niệm:

  • Sự khác biệt giữa mô hình đọc một chiều LTR (Left-to-Right) và mô hình học bối cảnh hai chiều MLM (Masked Language Model).
  • Cơ chế hoạt động của khối Transformer, bao gồm các tiến trình tự chú ý (self-attention) và chú ý tương tác giữa Encoder và Decoder.
  • Quy trình tiền huấn luyện (Pre-training) thông qua hai nhiệm vụ MLM (che ngẫu nhiên các từ và dự đoán) và NSP (Next Sentence Prediction - dự đoán câu tiếp theo).
  • Quy trình tinh chỉnh (Fine-tuning) mô hình BERT cho các tác vụ downstream trong thang đo GLUE benchmark như phân tích cảm xúc, hỏi đáp SQuAD, nhận diện thực thể NER và suy luận ngôn ngữ NLI.

Chương 2. Mô hình PhoBERT

Chương 2 trình bày về sự ra đời, cấu trúc và hiệu năng của PhoBERT - mô hình ngôn ngữ đơn ngữ quy mô lớn dành riêng cho tiếng Việt dựa trên nền tảng RoBERTa:

  • PhoBERT được huấn luyện trước trên tập ngữ liệu 20GB văn bản tiếng Việt.
  • Điểm đặc trưng cốt lõi của PhoBERT là quy trình tiền xử lý thực hiện phân đoạn từ tiếng Việt (thông qua VnCoreNLP) trước khi áp dụng mã hóa BPE, giúp giữ trọn vẹn ngữ nghĩa của từ ghép tiếng Việt thay vì xử lý trực tiếp trên cấp độ âm tiết như các mô hình đa ngôn ngữ.
  • Chương này công bố chi tiết kết quả thử nghiệm tinh chỉnh PhoBERT trên 4 tác vụ xuôi dòng chuẩn: Gán nhãn từ loại (POS), Phân tích cú pháp phụ thuộc (Dependency parsing), Nhận diện thực thể (NER) và Suy luận ngôn ngữ tự nhiên (NLI). Kết quả cho thấy PhoBERT vượt trội hơn các mô hình SOTA tiền nhiệm và mô hình đa ngôn ngữ XLM-R.
  • Tổng kết các hướng ứng dụng thực tiễn của PhoBERT như tìm từ đồng nghĩa/trái nghĩa, tạo véc-tơ nhúng cho chatbot, trích xuất thực thể, phân loại văn bản và hệ thống gợi ý tìm kiếm.

Chương 3. Ứng dụng PhoBERT vào bài toán phân tích quan điểm bình luận tiếng Việt

Chương 3 đi sâu vào bài toán ứng dụng thực tế:

  • Phát biểu bài toán phân tích tình cảm (Sentiment Analysis) / khai phá quan điểm (Opinion Mining), mô hình hóa bài toán dưới góc nhìn học máy thành bài toán phân lớp nhị phân với 2 nhãn cảm xúc tích cực và tiêu cực từ văn bản tiếng Việt.
  • Phân tích bài toán quản trị thương hiệu doanh nghiệp và nhu cầu "lắng nghe mạng xã hội" để phát hiện sớm các thông tin bất lợi.
  • Chi tiết hóa môi trường thực nghiệm, các thư viện mã nguồn mở Python (TensorFlow, Transformers, fastBPE, fairseq, VnCoreNLP).
  • Trình bày đầy đủ quy trình thực nghiệm từ chuẩn bị dữ liệu cuộc thi AIVIVN, phân chia tập dữ liệu 90:10, tạo mask đầu vào và huấn luyện tinh chỉnh mô hình.

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

Kết quả thực nghiệm của mô hình PhoBERT trên các tác vụ chuẩn

Văn bản đồ án tổng hợp kết quả đánh giá thực nghiệm của PhoBERT trên 4 tác vụ xử lý ngôn ngữ tự nhiên tiếng Việt so với các phương pháp hiện đại nhất (SOTA) trước đó:

Tác vụ NLP Bộ dữ liệu thử nghiệm Mô hình SOTA trước đó Hiệu suất SOTA trước (%) Hiệu suất của PhoBERT (%) Mức độ cải thiện
Gán nhãn từ loại (POS) VLSP 2013 WPD / VnCoreNLP-POS 96,0 (Độ chính xác) 96,8 (Độ chính xác) Tăng +0,8%
Cú pháp phụ thuộc VnDT v1.1 Trình phân tích Biaffine 75,0 (LAS) / 81,2 (UAS) 78,8 (LAS) / 85,2 (UAS) Tăng +3,8% - 4,0%
Nhận diện thực thể (NER) VLSP 2016 VnCoreNLP-NER / BiLSTM-CNN-CRF + ETNLP Điểm F1 cơ sở PhoBERTbase vượt +2,0 điểm F1; PhoBERTlarge hơn base +1,1 điểm F1 Tạo mốc SOTA mới
Suy luận ngôn ngữ (NLI) XNLI v1.0 tiếng Việt mBERT / XLM-MLM+TLM / XLM-R Thấp hơn PhoBERT vượt trội so với XLM-R Vượt trội với ít tham số hơn

Về quy mô mô hình, PhoBERT đạt hiệu năng cao hơn mô hình đa ngôn ngữ XLM-R dù sử dụng ít tham số hơn đáng kể:

  • Phiên bản Base: PhoBERTbase có 135 triệu tham số so với 250 triệu tham số của XLM-Rbase.
  • Phiên bản Large: PhoBERTlarge có 370 triệu tham số so với 560 triệu tham số của XLM-Rlarge.
  • Mô hình XLM-R sử dụng tập ngữ liệu 2,5TB (chứa 137GB tiếng Việt, gấp khoảng 7 lần so với 20GB của PhoBERT), tuy nhiên PhoBERT vẫn cho kết quả vượt trội nhờ cơ chế phân đoạn từ tiếng Việt trước khi áp dụng BPE.

Đóng góp của đề tài

  1. Hệ thống hóa lý thuyết: Làm rõ cơ chế hoạt động của mô hình ngôn ngữ hai chiều Transformer/BERT và cấu trúc tối ưu của PhoBERT đối với đặc thù đơn lập của tiếng Việt.
  2. Khẳng định ưu thế của mô hình đơn ngữ: Chứng minh thực nghiệm rằng mô hình ngôn ngữ được đào tạo riêng cho tiếng Việt kết hợp phân đoạn từ (word-level tokenization) mang lại hiệu quả vượt trội hơn so với các mô hình đa ngôn ngữ xử lý ở cấp độ âm tiết.
  3. Xây dựng quy trình ứng dụng: Triển khai hoàn chỉnh quy trình kỹ thuật tinh chỉnh PhoBERT với các thư viện Python chuyên dụng để giải quyết bài toán phân tích sắc thái bình luận tiếng Việt phục vụ nhu cầu thực tiễn.

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

Văn bản đề tài chỉ ra một số hạn chế và định hướng nghiên cứu tiếp theo:

  • Hạn chế trong phân tích cú pháp phụ thuộc: Kết quả thực nghiệm cho thấy PhoBERTlarge đạt điểm phân tích cú pháp phụ thuộc thấp hơn 0,9% so với PhoBERTbase. Nguyên nhân được xác định là lớp Transformer cuối cùng trong kiến trúc mô hình có thể không phải là lớp chứa thông tin mã hóa phong phú nhất về mặt cấu trúc cú pháp.
  • Phạm vi bài toán phân loại bình luận: Thử nghiệm ứng dụng mới tập trung vào bài toán phân tích cảm xúc nhị phân ở mức độ cơ bản (2 lớp: tích cực và tiêu cực), chưa mở rộng sang bài toán đánh giá mức độ chi tiết (thang điểm từ 1 đến 5) hoặc xác định nguồn gốc, mục tiêu và khía cạnh cảm xúc phức tạp.
  • Hướng nghiên cứu tiếp theo:
    • Tiến hành khảo sát, đánh giá hiệu suất trích xuất thông tin cú pháp từ từng lớp Transformer riêng biệt của PhoBERT thay vì chỉ sử dụng lớp đầu ra cuối cùng.
    • Tối ưu hóa các siêu tham số huấn luyện và mở rộng kiểm thử mô hình trên các tập dữ liệu bình luận lớn hơn trong các ngữ cảnh thực tế đa dạng.

Giá trị tham khảo

Tài liệu đồ án tốt nghiệp này mang lại giá trị tham khảo chuyên môn cho các đối tượng:

  • Sinh viên và học viên chuyên ngành Công nghệ thông tin, Khoa học dữ liệu, Trí tuệ nhân tạo: Nguồn tài liệu hệ thống hóa rõ ràng về kiến trúc mạng nơ-ron Transformer, mô hình BERT và phương pháp học chuyển giao trong xử lý ngôn ngữ tự nhiên.
  • Nhà phát triển và người nghiên cứu NLP tiếng Việt: Cung cấp quy trình thực hành chuẩn về cách tích hợp công cụ tách từ VnCoreNLP, thuật toán fastBPE và thư viện transformers để tiền xử lý và tinh chỉnh các mô hình pre-trained tiếng Việt.
  • Kỹ sư triển khai hệ thống phân tích dữ liệu mạng xã hội: Tài liệu tham khảo hữu ích cho việc xây dựng các module tự động phân loại cảm xúc người dùng phục vụ bài toán quản trị thương hiệu và chăm sóc khách hàng.

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

1. Đề tài đồ án do ai thực hiện, thuộc cơ sở đào tạo nào và thời gian thực hiện khi nào? Đề tài do sinh viên Nguyễn Thành Long (Mã SV: 1712111008, Lớp: CT2101C) thực hiện tại Khoa Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng, dưới sự hướng dẫn của ThS. Nguyễn Thị Xuân Hương. Thời gian giao đề tài từ ngày 16/07/2021 và yêu cầu hoàn thành trước ngày 03/10/2021.

2. Vì sao PhoBERT lại đạt hiệu suất cao hơn mô hình đa ngôn ngữ XLM-R trên các tác vụ tiếng Việt dù sử dụng ít tham số và dữ liệu tiền huấn luyện ít hơn? PhoBERT thực hiện phân đoạn từ tiếng Việt (ở cấp độ từ) bằng công cụ RDRSegmenter trước khi áp dụng BPE để tạo ra các từ tố con, giúp bảo toàn ranh giới từ và ngữ nghĩa đặc thù của tiếng Việt. Ngược lại, XLM-R áp dụng trực tiếp BPE lên các câu ở cấp độ âm tiết. Điều này khẳng định mô hình ngôn ngữ đơn ngữ được thiết kế phù hợp với đặc thù ngôn ngữ sẽ đạt hiệu quả cao hơn mô hình đa ngôn ngữ.

3. Trong quy trình thực nghiệm tại Chương 3, tập dữ liệu bình luận được phân chia như thế nào và dùng công cụ gì để tiền xử lý? Tập dữ liệu từ cuộc thi Phân tích sắc thái bình luận của AIVIVN được phân chia thành tập huấn luyện (train) và tập kiểm định (validation) theo tỉ lệ 90:10. Quá trình tiền xử lý sử dụng thư viện VnCoreNLP để phân đoạn từ, kết hợp thư viện fastBPE để mã hóa từ tố con và tạo mặt nạ chú ý (mask 0, 1) cho thư viện Transformers.

4. Tại sao phiên bản PhoBERTlarge lại có điểm số phân tích cú pháp phụ thuộc thấp hơn phiên bản PhoBERTbase? Theo giải thích trong đồ án, lớp Transformer cuối cùng trong kiến trúc mô hình BERT có thể không phải là nơi lưu trữ thông tin tối ưu và phong phú nhất về cấu trúc cú pháp câu. Do đó, việc PhoBERTlarge có kết quả thấp hơn 0,9% so với PhoBERTbase ở tác vụ này đặt ra nhu cầu cần đánh giá biểu diễn cú pháp từ từng lớp ẩn trung gian của mô hình.


Kết luận

Đồ án tốt nghiệp của sinh viên Nguyễn Thành Long đã nghiên cứu toàn diện cơ sở lý thuyết của mô hình ngôn ngữ hai chiều BERT và mô hình đơn ngữ tiếng Việt PhoBERT. Nghiên cứu đã làm rõ ưu thế vượt trội của PhoBERT trên các tác vụ xử lý ngôn ngữ tự nhiên tiếng Việt thông qua các số liệu thực nghiệm benchmark chuẩn xác. Đồng thời, đề tài đã xây dựng thành công quy trình tiền xử lý và tinh chỉnh mô hình trên nền tảng Python, mở ra giải pháp công nghệ hiệu quả cho bài toán phân loại quan điểm bình luận tiếng Việt phục vụ quản trị thông tin thực tiễn.