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

Trong bối cảnh khoa học công nghệ, mạng Internet và hệ thống máy tính phát triển mạnh mẽ, khối lượng thông tin dưới dạng văn bản ngày càng gia tăng và trở nên đa dạng. Khả năng tìm kiếm, xử lý và chọn lọc thông tin hữu ích, chính xác trở thành một thách thức lớn. Lĩnh vực Xử lý ngôn ngữ tự nhiên (Natural Language Processing - NLP), nằm ở giao điểm giữa công nghệ thông tin và ngôn ngữ học, đóng vai trò then chốt trong việc giải quyết các bài toán văn bản như tóm tắt tự động, trích chọn thông tin, dịch máy và đặc biệt là xác định độ tương tự giữa hai văn bản.

Đối với ngôn ngữ tiếng Việt, việc xác định độ tương đồng văn bản còn gặp nhiều hạn chế do phần lớn các nghiên cứu và công cụ sẵn có được phát triển chủ yếu cho tiếng Anh. Sự khác biệt về cấu tạo từ, từ ghép, hiện tượng đồng âm, đồng nghĩa và các quy tắc chính tả tiếng Việt đặt ra yêu cầu phải có những khảo sát và phương pháp tiếp cận chuyên sâu.

Đề tài khóa luận được xác định với các nội dung trọng tâm:

  1. Mục đích nghiên cứu: Khảo sát, hệ thống hóa các phương pháp xác định độ tương đồng văn bản từ cấp độ từ vựng/cú pháp đến cấp độ ngữ nghĩa sâu, từ đó làm tiền đề xây dựng mô hình hệ thống đánh giá sự tương đồng văn bản ứng dụng kiến trúc học sâu.
  2. Nhiệm vụ nghiên cứu:
    • Tìm hiểu tổng quan về các bài toán, thuật ngữ và thách thức trong xử lý ngôn ngữ tự nhiên.
    • Nghiên cứu bài toán so sánh văn bản và các đặc trưng ngôn ngữ của tiếng Việt.
    • Khảo sát các kỹ thuật tiền xử lý, mô hình biểu diễn văn bản (vector space, word embeddings).
    • Nghiên cứu các thước đo khoảng cách và các mô hình học ngôn ngữ hiện đại (Transformer, BERT).
    • Xây dựng chương trình thực nghiệm huấn luyện và đánh giá độ tương tự câu trên dữ liệu thực tế.
  3. Đối tượng và phạm vi nghiên cứu:
    • Đối tượng: Các phương pháp xác định mức độ tương tự văn bản về cú pháp (câu, từ, đoạn văn) và ngữ nghĩa; các mô hình biểu diễn văn bản và kiến trúc BERT.
    • Không gian và thời gian: Đồ án tốt nghiệp đại học ngành Công nghệ phần mềm (Khoa Công nghệ Thông tin 1, Học viện Công nghệ Bưu chính Viễn thông), thực hiện trong giai đoạn khóa học 2017 – 2022, bảo vệ vào tháng 12 năm 2021.

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

Khóa luận thiết lập nền tảng lý thuyết dựa trên các trụ cột chính của khoa học máy tính và xử lý ngôn ngữ tự nhiên:

  • Biểu diễn từ vựng và văn bản (Vector Space & Embeddings): Chuyển đổi dữ liệu văn bản thành dữ liệu số (numeric) thông qua các kỹ thuật từ cơ bản (One-Hot Encoding, Bag of Words - BoW) đến các mô hình không gian vector dày đặc phân bố (Word2Vec với hai kiến trúc CBOW / Skip-gram, Doc2Vec với PV-DM / PV-DBOW).
  • Thước đo khoảng cách và độ tương đồng toán học: Sử dụng các công thức định lượng khoảng cách và góc hình học gồm Cosine Similarity, khoảng cách Euclid (Euclidean Distance), khoảng cách Manhattan và hệ số tương đồng Jaccard (dựa trên tập từ chung / Contrast Model).
  • Mô hình học biểu diễn ngữ nghĩa sâu (Language Models): Kiến trúc Transformer với cơ chế Self-Attention, Multi-Head Attention, Position Encoding, cùng mô hình ngôn ngữ BERT (Bidirectional Encoder Representations from Transformers) được tiền huấn luyện qua hai tác vụ Masked Language Model (MLM) và Next Sentence Prediction (NSP).
  • Phương pháp nghiên cứu:
    • Phương pháp phân tích - tổng hợp lý thuyết: Thu thập tài liệu, khảo sát các công trình nghiên cứu về trích xuất thông tin, xử lý cú pháp - ngữ nghĩa và mô hình hóa ngôn ngữ.
    • Phương pháp thực nghiệm: Thiết lập đường ống (pipeline) xử lý dữ liệu, tinh chỉnh mô hình (fine-tuning) BERT trên tập dữ liệu suy luận ngôn ngữ tự nhiên, tiến hành đánh giá định lượng thông qua hàm mất mát (loss) và độ chính xác (accuracy).
  • Nguồn dữ liệu: Tập ngữ liệu chuẩn SNLI (Stanford Natural Language Inference) Corpus được trích xuất từ nền tảng Kaggle dưới dạng các tệp CSV chứa các cặp câu đi kèm nhãn quan hệ ngữ nghĩa.

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

Chương 1: Tổng quan về độ tương tự giữa hai văn bản

Chương 1 khái quát các định nghĩa nền tảng về văn bản và lĩnh vực xử lý ngôn ngữ tự nhiên (NLP). Văn bản được định nghĩa là phương tiện ghi nhận, lưu giữ và truyền đạt thông tin qua chữ viết, có tính trọn vẹn về nội dung và cấu trúc liên kết. Tác giả phân tích cấu trúc của hệ thống NLP qua các thành phần cốt lõi:

  • Nhận thức máy móc (Machine Perception): Khả năng mô phỏng các giác quan con người để xử lý dữ liệu đầu vào.
  • Sự hiểu biết ngôn ngữ tự nhiên (NLU): Gồm 4 bước tiếp cận tuần tự:
    1. Phân tích hình vị (nhận diện hình vị, từ gốc, tách từ - word segmentation, gán nhãn từ loại - POS).
    2. Phân tích cú pháp (dựa trên văn phạm phi ngữ cảnh CFG và văn phạm phụ thuộc DG, với các thuật toán như CKY, Earley, Chart, GLR).
    3. Phân tích ngữ nghĩa (xác định ý nghĩa từ vựng và ngữ nghĩa thành phần liên kết).
    4. Phân tích diễn ngôn và ngữ dụng học (quan hệ giữa ngôn ngữ và ngữ cảnh sử dụng).
  • Sinh ngôn ngữ tự nhiên (NLG): Chuyển đổi biểu diễn máy tính sang ngôn ngữ người đọc.

Chương này cũng phân loại và phân tích một số ứng dụng tiêu biểu của NLP như Nhận dạng tiếng nói (ASR/STT), Tổng hợp tiếng nói (TTS), Nhận dạng chữ viết (OCR), Truy xuất thông tin (IR), Trích chọn thông tin (IE), Hệ thống hỏi đáp (QA) và Tóm tắt văn bản tự động (gồm phương pháp trích xuất - extractive và tóm lược ý - abstractive).

Chương 2: Các phương pháp xác định mức độ tương tự giữa hai văn bản

Chương 2 tập trung vào việc mô hình hóa bài toán so sánh văn bản, chỉ rõ các đặc thù của tiếng Việt:

  • Cấu tạo từ phức tạp (từ đơn, từ ghép, từ láy), sự phong phú của từ đồng nghĩa, từ đồng âm khác nghĩa và các biến thể chính tả.
  • Kỹ thuật tiền xử lý văn bản tiếng Việt và biểu diễn văn bản sang không gian số (Embedding).

Tác giả so sánh các mô hình biểu diễn dữ liệu:

  • One-hot Encoding: Nhược điểm tạo ma trận thưa (sparse matrix), kích thước chiều lớn ($N \times M$) và không phản ánh mối quan hệ ngữ nghĩa giữa các từ.
  • Word Embedding (Word2Vec, Doc2Vec): Giảm số chiều xuống $N \times D$, cho phép bảo toàn ngữ cảnh và quan hệ tương quan giữa các từ trong không gian vector.

Chương 2 cũng trình bày chi tiết các thước đo định lượng độ tương tự:

  • Jaccard Similarity: Đánh giá tỉ lệ giao thoa trên hội của tập hợp các từ chung giữa hai văn bản.
  • Cosine Similarity: Đo góc cosin giữa hai vector biểu diễn, tập trung vào hướng thay vì độ dài vector.
  • Khoảng cách Euclid (Euclidean Distance): Tính khoảng cách hình học đường thẳng giữa hai điểm vector trong không gian nhiều chiều.
  • Khoảng cách Manhattan: Tính tổng khoảng cách chênh lệch tuyệt đối giữa các tọa độ tương ứng.

Chương 3: Độ tương đồng văn bản về mặt ngữ nghĩa và ứng dụng

Chương 3 phân tích sâu các phương pháp tiếp cận độ tương đồng ngữ nghĩa (Semantic Similarity):

  • Phương pháp cấu trúc/tri thức (Topological/Knowledge-based Methods): Khai thác mạng lưới từ vựng hoặc đồ thị quan hệ.
  • Phương pháp dựa trên thống kê (Statistical-Based): Phân tích tần suất và phân phối từ trong ngữ liệu.
  • Phương pháp dựa trên mô hình ngôn ngữ (Language Model-Based): Phân tích cấu trúc mạng Transformer (lớp Encoder, Decoder, cơ chế Self-Attention và Multi-Head Attention) và kiến trúc mô hình BERT.

Nội dung trọng tâm của chương là thiết kế và triển khai thực nghiệm ứng dụng fine-tuning mô hình BERT để xác định độ tương đồng ngữ nghĩa câu dựa trên tập dữ liệu SNLI.


Thiết kế và triển khai hệ thống

1. Kiến trúc và môi trường công nghệ

Hệ thống được xây dựng trên nền tảng ngôn ngữ lập trình Python, sử dụng các thư viện và framework chuyên dụng:

  • TensorFlow & Transformers (Hugging Face): Hỗ trợ nạp mô hình tiền huấn luyện, cấu hình các lớp mạng và tối ưu hóa quá trình học.
  • BertTokenizer (bert-base-uncased): Thực hiện mã hóa văn bản đầu vào thành các chuỗi chỉ số token (token IDs).
  • Pandas & NumPy: Xử lý, lọc sạch tệp CSV dữ liệu dạng bảng và thao tác ma trận nhiều chiều.

2. Tiền xử lý và phân chia dữ liệu

  • Loại bỏ các giá trị rỗng (NaN) và các dòng dữ liệu không hợp lệ (-) trong bộ ngữ liệu SNLI.
  • Chuyển đổi nhãn phân loại thành dạng vector One-hot Encoding tương ứng với 3 nhãn quan hệ:
    • Contradiction: Cặp câu mang ý nghĩa đối lập, mâu thuẫn.
    • Entailment: Cặp câu mang ý nghĩa kéo theo / suy diễn được từ nhau.
    • Neutral: Cặp câu có mối quan hệ trung lập, không khẳng định cũng không phủ định lẫn nhau.
  • Chia dữ liệu thành các tập độc lập: Tập huấn luyện (train), tập xác thực (validation), tập tinh chỉnh tham số (dev) và tập kiểm thử (test).
  • Xây dựng bộ tạo dữ liệu tùy biến (custom data generator) để cung cấp dữ liệu theo từng lô (batch).

3. Cấu hình tham số và quy trình huấn luyện

  • Chiều dài chuỗi tối đa (max_length): 128.
  • Kích thước batch (batch_size): 32.
  • Số lượng chu kỳ học (epochs): 2.
  • Quy trình huấn luyện gồm 2 giai đoạn:
    1. Trích xuất đặc trưng: Đóng băng các tầng trọng số của BERT đã huấn luyện trước, chỉ huấn luyện các lớp phân loại phía trên.
    2. Tinh chỉnh toàn diện (Fine-tuning): Mở khóa các tầng trọng số của bert_model và huấn luyện lại toàn bộ mạng với tốc độ học (learning rate) thấp nhằm giúp mô hình thích ứng với miền dữ liệu mới.

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

1. Kết quả thực nghiệm định lượng

Khóa luận đã tiến hành thử nghiệm mô hình với 2 thiết lập quy mô dữ liệu huấn luyện khác nhau trên tập kiểm thử:

Tiêu chí Trường hợp 1 Trường hợp 2
Số mẫu huấn luyện (Train samples) 15.000 bản ghi 100.000 bản ghi
Số mẫu xác thực (Validation samples) 3.000 bản ghi 10.000 bản ghi
Số mẫu kiểm thử (Test samples) 3.000 bản ghi 10.000 bản ghi
Số chu kỳ học (Epochs) 2 2
Tỉ lệ mất mát (Loss) 62,45% 36,85%
Độ chính xác (Accuracy) 74,06% 87,29%

Kết quả thực nghiệm cho thấy khi tăng quy mô tập dữ liệu huấn luyện từ 15.000 lên 100.000 bản ghi, độ chính xác của mô hình tăng thêm 13,23% (từ 74,06% lên 87,29%) và hàm mất mát giảm mạnh từ 62,45% xuống còn 36,85%.

2. Kiểm thử trên các cặp câu ví dụ

Tác giả đã chạy thử nghiệm hàm suy luận độ tương tự trên các cặp câu mẫu:

  • Cặp câu 1:
    • Câu 1: "Two women are observing something together."
    • Câu 2: "Two women are standing with their eyes closed."
    • Kết quả: Phân loại quan hệ mâu thuẫn (Contradiction).
  • Cặp câu 2:
    • Câu 1: "A costumed smiling woman is holding an umbrella"
    • Câu 2: "A happy woman in a fairy costume holds an umbrella"
    • Kết quả: Phân loại quan hệ tương đồng / kéo theo (Entailment).
  • Cặp câu 3:
    • Câu 1: "A soccer game with multiple males playing"
    • Câu 2: "Some men are playing a sport"
    • Kết quả: Phân loại quan hệ tương đồng / kéo theo (Entailment).

Ở cả 3 trường hợp thử nghiệm, mô hình được huấn luyện với 100.000 bản ghi (Trường hợp 2) đều cho kết quả phân loại chuẩn xác và mức độ tin cậy cao hơn so với mô hình 15.000 bản ghi.

3. Đóng góp của đồ án

  • Hệ thống hóa toàn diện các phương pháp xác định mức độ tương đồng văn bản từ cơ bản (khoảng cách hình học, tập từ chung) đến nâng cao (word embedding, mô hình Transformer/BERT).
  • Xây dựng thành công ứng dụng thực nghiệm tinh chỉnh BERT cho bài toán dự đoán quan hệ ngữ nghĩa và độ tương đồng giữa các câu văn, đạt độ chính xác 87,29%.

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

1. Hạn chế

  • Hạn chế phần cứng và tài nguyên tính toán: Khóa luận chỉ thực nghiệm được tối đa với 100.000 bản ghi dữ liệu và 2 epoch. Việc tăng số lượng dữ liệu lớn hơn 100.000 không thể thực hiện được do giới hạn về bộ nhớ và cấu hình máy tính.
  • Quy mô ứng dụng: Mô hình mới chỉ tập trung xử lý ở cấp độ câu/đoạn văn bản ngắn tiếng Anh từ bộ dữ liệu SNLI, chưa bao quát hoàn toàn các định dạng văn bản phức tạp và dữ liệu tiếng Việt thực tế.

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

  • Nâng cấp cấu hình hạ tầng máy tính để có thể huấn luyện trên các tập dữ liệu có quy mô lớn hơn.
  • Nghiên cứu tăng số lượng chu kỳ học (epochs) và tinh chỉnh siêu tham số tối ưu.
  • Mở rộng ứng dụng để có khả năng tiếp nhận và so sánh trực tiếp các định dạng dữ liệu đầu vào đa dạng như đường dẫn văn bản (URL), tệp tin HTML và dữ liệu bài báo từ các nền tảng mạng xã hội.

Giá trị tham khảo

Tài liệu khóa luận cung cấp giá trị tham khảo chuyên môn cho:

  • Sinh viên ngành Công nghệ phần mềm, Công nghệ thông tin và Khoa học dữ liệu: Dùng làm tài liệu tham khảo về cấu trúc một đồ án tốt nghiệp ứng dụng NLP, cách tổ chức mã nguồn và quy trình xử lý dữ liệu dạng bảng.
  • Người nghiên cứu bài toán Text Similarity / Natural Language Inference: Tham khảo cách thức áp dụng các thước đo hình học (Cosine, Jaccard, Euclidean) và phương pháp fine-tuning kiến trúc BERT sử dụng thư viện TensorFlow và Hugging Face Transformers.
  • Phần nội dung có giá trị tham khảo cao nhất: Chương 2 (hệ thống hóa các thước đo khoảng cách và biểu diễn Word2Vec/Doc2Vec) và Chương 3 (chi tiết quy trình cấu hình, tiền xử lý và huấn luyện mô hình BERT trên bộ dữ liệu SNLI).

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

1. Tác giả sử dụng kiến trúc mô hình ngôn ngữ nào để xây dựng ứng dụng so sánh văn bản?

Tác giả sử dụng kiến trúc mô hình Transformer với mô hình tiền huấn luyện BERT (phiên bản bert-base-uncased thông qua BertTokenizer), sau đó tiến hành tinh chỉnh (fine-tuning) trên tập dữ liệu suy luận ngôn ngữ tự nhiên.

2. Tập dữ liệu thực nghiệm được lấy từ nguồn nào và bao gồm những nhãn phân loại gì?

Dữ liệu thực nghiệm được lấy từ nền tảng Kaggle, dựa trên tập ngữ liệu SNLI (Stanford Natural Language Inference) Corpus định dạng CSV. Tập dữ liệu bao gồm 3 nhãn phân loại quan hệ: Contradiction (đối lập), Entailment (đi kèm/kéo theo) và Neutral (trung lập).

3. Cấu hình siêu tham số trong quá trình huấn luyện mô hình được thiết lập như thế nào?

Mô hình được thiết lập với độ dài tối đa chuỗi đầu vào max_length = 128, kích thước mỗi lô dữ liệu batch_size = 32, và số chu kỳ huấn luyện epoch = 2.

4. Kết quả thực nghiệm cụ thể giữa hai trường hợp dữ liệu huấn luyện đạt được là bao nhiêu?

  • Ở Trường hợp 1 (15.000 mẫu train, 3.000 mẫu val/test): Hàm mất mát đạt 62,45%, độ chính xác đạt 74,06%.
  • Ở Trường hợp 2 (100.000 mẫu train, 10.000 mẫu val/test): Hàm mất mát giảm còn 36,85%, độ chính xác đạt 87,29%.

5. Tại sao tác giả không thực nghiệm với tập dữ liệu lớn hơn 100.000 bản ghi?

Tác giả đã thử nghiệm tăng kích thước dữ liệu lớn hơn 100.000 bản ghi, tuy nhiên do hạn chế về cấu hình và tài nguyên máy tính nên quá trình huấn luyện không thể thực hiện được.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Thị Hồng đã hoàn thành việc khảo sát toàn diện các cơ sở lý thuyết và phương pháp xác định độ tương tự văn bản trong xử lý ngôn ngữ tự nhiên. Nghiên cứu đã triển khai thành công mô hình học sâu dựa trên kiến trúc BERT tiền huấn luyện, tinh chỉnh trên tập dữ liệu SNLI và đạt độ chính xác 87,29% với 100.000 mẫu dữ liệu. Kết quả nghiên cứu và những hạn chế về tài nguyên được làm rõ trong đồ án là tiền đề hữu ích cho các hướng phát triển mở rộng trên dữ liệu lớn và các định dạng tài liệu phức tạp trong tương lai.