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

Trong giai đoạn đại dịch Covid-19 bùng phát, lượng tin tức và dữ liệu cập nhật về tình hình dịch bệnh gia tăng liên tục trên các phương tiện truyền thông và báo điện tử chính thống. Các văn bản này chứa mật độ dày đặc các thông tin định lượng như số lượng ca nhiễm mới, số ca bình phục, ca tử vong, số liệu phân bổ theo từng địa phương và các mốc thời gian. Người đọc khi tiếp cận văn bản thường có nhu cầu nắm bắt các thông tin tổng hợp đòi hỏi sự tính toán, so sánh hoặc suy luận số liệu (như tính mức chênh lệch giữa các ngày, tổng số ca tại nhiều khu vực, tỷ lệ phần trăm hoặc xác định địa phương có số liệu cao nhất/thấp nhất) thay vì chỉ đọc các số liệu đơn lẻ.

Bài toán Đọc hiểu tự động (Machine Reading Comprehension - MRC) truyền thống chủ yếu tập trung vào việc rút trích các đoạn văn bản (text spans) có sẵn để trả lời câu hỏi. Khi đối mặt với các câu hỏi đòi hỏi tư duy tính toán trên số liệu, các mô hình trích xuất truyền thống không thể tự đưa ra đáp án chính xác nếu đáp án đó chưa được viết tường minh trong ngữ cảnh. Nhằm giải quyết khoảng trống này trong xử lý ngôn ngữ tự nhiên tiếng Việt, khóa luận đặt mục tiêu nghiên cứu và xây dựng hệ thống đọc hiểu tự động có khả năng suy luận số liệu trên tập văn bản chủ đề Covid-19.

Mục tiêu tổng quát của đề tài là xây dựng hệ thống đọc hiểu tự động kết hợp suy luận số liệu cho văn bản tiếng Việt thuộc chủ đề Covid-19. Để hiện thực hóa mục tiêu này, khóa luận đề ra 3 nhiệm vụ nghiên cứu cụ thể:

  1. Nghiên cứu và xây dựng bộ dữ liệu đọc hiểu tự động kết hợp suy luận số liệu chủ đề Covid-19 phục vụ cho bài toán đọc hiểu tự động kết hợp suy luận.
  2. Nghiên cứu các mô hình đọc hiểu tự động kết hợp suy luận hiện có trên thế giới.
  3. Áp dụng những mô hình đọc hiểu tự động này vào bộ dữ liệu đã xây dựng để phân tích và so sánh kết quả; từ đó đưa ra kết luận và định hướng phát triển đề tài.

Đối tượng nghiên cứu của khóa luận là bài toán đọc hiểu tự động kết hợp suy luận số liệu cho văn bản tiếng Việt. Phạm vi nghiên cứu được giới hạn như sau:

  • Phạm vi dữ liệu: Thu thập từ các bài báo tiếng Việt thuộc chủ đề Covid-19 được xuất bản trong khoảng thời gian từ tháng 9 đến tháng 10 năm 2021 trên 4 trang báo điện tử: VnExpress, Thanh Niên, Báo Mới và ZingNews.
  • Phạm vi phương pháp: Tập trung xây dựng bộ dữ liệu ViCOVIDQA với các dạng suy luận số liệu xác định; triển khai đánh giá thực nghiệm và phân tích đối sánh hai mô hình suy luận số liệu là NAQANet và NumNet trên hai bộ dữ liệu ViCOVIDQA và UIT-ViQuAD.

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

Về mặt lý thuyết, bài toán đọc hiểu tự động suy luận số liệu được định nghĩa với đầu vào gồm một đoạn văn bản tiếng Việt $C$ (ngữ cảnh từ bài báo) và một câu hỏi $Q$ liên quan đến nội dung văn bản. Đầu ra là câu trả lời $A$, có thể là một đoạn trích từ văn bản hoặc một giá trị được tính toán dựa trên các số liệu xuất hiện trong $C$ và $Q$.

Khóa luận tiến hành khảo sát các công trình nghiên cứu và bộ dữ liệu MRC trên thế giới và tại Việt Nam:

  • Các bộ dữ liệu quốc tế dạng rút trích: WikiQA, MS MARCO, SQuAD 1.1, SQuAD 2.0, TriviaQA, COVID-QA và DROP (bộ dữ liệu nền tảng tích hợp suy luận số học).
  • Các bộ dữ liệu quốc tế dạng trắc nghiệm/điền khuyết: Children’s Book Test (CBT), RACE, Google MC-AFP, CNN/Daily Mail, Who-did-What, LAMBADA.
  • Các bộ dữ liệu tiếng Việt: UIT-ViQuAD (dữ liệu rút trích từ Wikipedia), UIT-ViNewsQA (dữ liệu chủ đề sức khỏe), ViMMRC (dữ liệu trắc nghiệm môn Tiếng Việt tiểu học), UIT-WikiQA (đọc hiểu cấp độ câu).

Về kiến trúc mô hình, khóa luận nghiên cứu ba mô hình học sâu:

  • QANet: Kiến trúc kết hợp mạng nơ-ron tích chập một chiều (1D-CNN), tích chập tách biệt chiều sâu (Depthwise Separable CNN) và cơ chế tự chú ý đa đầu (Multi-Head Self-Attention) cùng khối Context-Query Attention, giúp tăng tốc độ tính toán song song so với mạng RNN truyền thống.
  • NAQANet (Numerically-aware QANet): Kế thừa khối mã hóa của QANet và mở rộng đầu ra để giải quyết 4 dạng câu trả lời: (1) vị trí bắt đầu và kết thúc trên đoạn văn; (2) vị trí bắt đầu và kết thúc trên câu hỏi; (3) câu trả lời phép đếm (dự đoán số nguyên từ 0 đến 9 qua hàm softmax); (4) câu trả lời phép toán số học (gán dấu $+$, $-$, hoặc $0$ cho từng số trong văn bản để tính tổng).
  • NumNet: Tích hợp mạng nơ-ron đồ thị (Graph Neural Network - GNN) vào bài toán MRC số liệu. Mô hình biểu diễn các con số trong đoạn văn và câu hỏi thành các nút trên đồ thị có hướng không đồng nhất $G = (V, E)$. Đồ thị sử dụng 2 loại cạnh quan hệ số học (lớn hơn $>$, nhỏ hơn hoặc bằng $\le$) kết hợp với 4 loại quan hệ vị trí ngữ cảnh ($c-c$, $q-q$, $q-c$, $c-q$) để truyền thông tin giữa các nút số liệu trước khi đưa vào mô đun dự đoán.

Phương pháp nghiên cứu thực nghiệm bao gồm quy trình thu thập ngữ liệu báo chí thực tế, xây dựng bộ tiêu chí gán nhãn (Guidelines), tổ chức đội ngũ cộng tác viên gán nhãn qua nhiều vòng kiểm định chéo và kiểm chuẩn con người, kết hợp huấn luyện đánh giá mô hình học sâu. Ba thước đo định lượng được sử dụng để đánh giá hiệu suất mô hình gồm: Độ chính xác tuyệt đối (Exact Match - EM), Điểm F1 ở cấp độ token (F1-score) và Độ chính xác (Accuracy).

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

Chương 1. Bài toán đọc hiểu tự động suy luận số liệu và tính ứng dụng

Chương này trình bày tổng quan về bài toán đọc hiểu tự động kết hợp suy luận số liệu và phân tích vai trò thực tiễn của bài toán trong việc tích hợp vào các hệ thống trợ lý ảo (như Siri, Alexa, Cortana) và các công cụ tìm kiếm trực tuyến (như Google, Bing). Tác giả thiết lập bài toán hình thức với cấu trúc đầu vào - đầu ra, nêu rõ tính cấp thiết của việc tự động hóa xử lý số liệu báo chí dịch bệnh trong bối cảnh Covid-19, đồng thời xác định đối tượng, phạm vi nghiên cứu, cấu trúc luận văn và tóm tắt các kết quả đạt được.

Chương 2. Các công trình nghiên cứu liên quan

Chương 2 thực hiện khảo sát có hệ thống các công trình nghiên cứu trong và ngoài nước liên quan đến bài toán MRC:

  • Phân loại và phân tích ưu nhược điểm của các bộ dữ liệu đọc hiểu rút trích và trắc nghiệm trên thế giới, nhấn mạnh bộ dữ liệu DROP như bước chuyển dịch sang suy luận số liệu.
  • Tổng hợp tình hình phát triển các bộ dữ liệu MRC tiếng Việt (UIT-ViQuAD, UIT-ViNewsQA, ViMMRC, UIT-WikiQA).
  • Trình bày chi tiết toán học và kiến trúc của các mô hình: QANet, mô hình nhận biết số liệu NAQANet và mô hình suy luận dựa trên đồ thị NumNet.
  • Trình bày định nghĩa và công thức tính toán của các phương pháp đánh giá: Accuracy, F1-Score và Exact Match.

Chương 3. Xây dựng bộ dữ liệu

Chương 3 trình bày chi tiết quy trình 5 bước xây dựng bộ dữ liệu ViCOVIDQA:

  1. Tuyển dụng annotator và xây dựng Guidelines: Tuyển chọn 5 cộng tác viên là sinh viên có nền tảng xử lý ngôn ngữ tự nhiên thông qua bài kiểm tra năng lực. Xây dựng tài liệu hướng dẫn định nghĩa 9 loại suy luận và quy tắc đặt câu hỏi.
  2. Thu thập bài báo: Thu thập 841 bài báo gắn nhãn Covid-19 từ 4 trang báo (VnExpress, Thanh Niên, Báo Mới, ZingNews), đối chiếu số liệu ca bệnh với cổng thông tin Bộ Y tế.
  3. Tạo câu hỏi và câu trả lời: Thực hiện qua 2 giai đoạn thử nghiệm (đạt 76% F1 ở lần 1 và 89% F1 ở lần 2 sau khi hiệu chỉnh tài liệu hướng dẫn). Quá trình gán nhãn chính thức diễn ra trong 8 tuần, mỗi bài báo tạo tối thiểu 5 câu hỏi (trong đó ít nhất 2 câu suy luận số liệu).
  4. Kiểm tra dữ liệu: Thực hiện tự kiểm tra, kiểm tra chéo giữa các cộng tác viên theo 3 tiêu chí (lỗi chính tả, độ chính xác phép tính, tính liên quan của ngữ cảnh) và kiểm tra nghiệm thu bởi tác giả.
  5. Thu thập thêm câu trả lời (Human benchmark): 5 cộng tác viên trả lời lại các tập phát triển và kiểm thử độc lập, ghi nhận thời gian trả lời trung bình 18 giây/câu, đạt hiệu suất con người 76.17% F1 trên tập phát triển và 77.xx% F1 trên tập kiểm thử.

Bảng dưới đây tổng hợp thông số cấu trúc của bộ dữ liệu ViCOVIDQA:

Thuộc tính thống kê Tập huấn luyện (Train) Tập phát triển (Dev) Tập kiểm thử (Test) Toàn bộ (All)
Số lượng bài báo 672 85 84 841
Số lượng câu hỏi 5.193 744 657 6.594
Chiều dài bài báo trung bình (từ) - - - 543,26
Chiều dài câu hỏi trung bình (từ) - - - 17,46
Chiều dài câu trả lời trung bình (từ) - - - 3,27
Kích thước từ điển (từ vựng) 6.506 2.812 2.653 7.180

Phân bố 9 loại câu hỏi suy luận trong bộ dữ liệu ViCOVIDQA được xác định như sau:

STT Loại câu hỏi suy luận Tỷ lệ trong tập Train (%) Tỷ lệ chung toàn bộ (%)
1 Phép trừ 12,45 -
2 Phép so sánh 7,10 -
3 Phép liệt kê 9,43 -
4 Các phép tính khác (nhân, chia, trung bình, tỉ lệ) 3,81 -
5 Đồng tham chiếu 1,17 1,16
6 Phép đếm - 16,10
7 Nhóm các phép toán số học cộng/trừ/khác - 39,44
8 Nhóm câu hỏi suy luận số liệu tổng cộng - 63,21
9 Các loại suy luận khác (trích xuất trực tiếp) - 36,79

Khóa luận cũng phân loại câu hỏi theo 8 dạng từ để hỏi: Who, When, Where, Why, How, What, Others và bổ sung dạng How Many (chiếm tỷ trọng cao nhất).

Chương 4. Thực nghiệm và đánh giá kết quả

Chương này mô tả quá trình cài đặt thực nghiệm mô hình NAQANet và NumNet trên tập dữ liệu ViCOVIDQA kết hợp biểu diễn từ PhoW2V, đồng thời chạy đối sánh trên bộ dữ liệu UIT-ViQuAD. Kết quả thực nghiệm ghi nhận mô hình NAQANet kết hợp PhoW2V đạt hiệu suất cao nhất trên tập kiểm thử của ViCOVIDQA với điểm số 22.58% F1.

Chương 4 cũng đi sâu phân tích hiệu suất mô hình dưới nhiều góc độ: ảnh hưởng của từng loại suy luận (các câu hỏi phép đếm và phép tính đơn giản có kết quả tốt hơn so với câu hỏi đồng tham chiếu hay phép tính phức tạp), tác động của độ dài đoạn văn (đoạn văn dài làm giảm đáng kể độ chính xác), tác động của độ dài câu hỏi, phân tích lỗi dự đoán và thực hiện nghiên cứu cắt bỏ (Ablation study) trên mô đun suy luận của mô hình NumNet.

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

Chương 5 tóm tắt các kết quả đạt được về việc xây dựng thành công bộ ngữ liệu ViCOVIDQA và kết quả đánh giá thực nghiệm các mô hình suy luận số liệu baseline. Tác giả đồng thời chỉ ra các hạn chế kỹ thuật hiện tại và đề xuất định hướng phát triển trong tương lai.

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

Khóa luận đã đạt được các kết quả định lượng và đóng góp khoa học cụ thể:

  • Xây dựng thành công ViCOVIDQA - bộ dữ liệu đọc hiểu tự động kết hợp suy luận số liệu đầu tiên cho tiếng Việt với quy mô 6.594 cặp câu hỏi - câu trả lời được trích xuất từ 841 bài báo chủ đề Covid-19.
  • Thiết lập tỷ lệ câu hỏi suy luận số liệu đạt 63.21% (bao gồm 39.44% câu hỏi phép toán số học, 16.10% phép đếm, cùng các dạng so sánh, chọn lựa, liệt kê và đồng tham chiếu), trong khi nhóm câu hỏi rút trích trực tiếp chiếm 36.79%.
  • Xác lập điểm chuẩn hiệu suất của con người (Human Performance) trên tập dữ liệu với kết quả F1 đạt 76.17% trên tập phát triển và 77.xx% trên tập kiểm thử, với thời gian phản hồi trung bình 18 giây/câu.
  • Cung cấp kết quả đánh giá thực nghiệm mô hình baseline: Mô hình NAQANet kết hợp PhoW2V đạt kết quả tốt nhất trên tập kiểm thử ViCOVIDQA với 22.58% F1.
  • So với các nghiên cứu trước đây tại Việt Nam (chủ yếu tập trung vào đọc hiểu rút trích đơn thuần như UIT-ViQuAD hay trắc nghiệm như ViMMRC), khóa luận đã tiên phong đặt nền tảng nghiên cứu cho dạng bài toán MRC yêu cầu năng lực suy luận và tính toán số học trên ngữ cảnh tiếng Việt.

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

Khóa luận ghi nhận một số hạn chế dựa trên phạm vi và kết quả thực nghiệm:

  • Chiều dài trung bình của đoạn văn trong ViCOVIDQA tương đối lớn (543.26 từ/bài báo, gấp 2.5 lần bộ dữ liệu DROP), gây khó khăn cho việc áp dụng trực tiếp các mô hình ngôn ngữ tiền huấn luyện theo kiến trúc Transformer tiêu chuẩn (như BERT, XLM-R) vốn bị giới hạn độ dài đầu vào ở mức 512 tokens.
  • Tỷ lệ câu hỏi suy luận dạng đồng tham chiếu còn thấp (chỉ chiếm 1.16% - 1.17%) do tính chất phức tạp trong việc đặt câu hỏi và gán nhãn, chỉ có 50% cộng tác viên có khả năng xây dựng loại câu hỏi này.
  • Hiệu suất của các mô hình thực nghiệm (NAQANet đạt 22.58% F1) còn khoảng cách rất lớn so với hiệu suất trả lời của con người (trên 77% F1), cho thấy bài toán suy luận số liệu trên văn bản tiếng Việt vẫn là thách thức lớn đối với các kiến trúc mô hình học sâu hiện nay.

Hướng nghiên cứu tiếp theo được tác giả đề xuất:

  • Nghiên cứu áp dụng và tinh chỉnh các kiến trúc mô hình ngôn ngữ lớn hoặc các mô hình có khả năng xử lý ngữ cảnh dài để vượt qua rào cản độ dài văn bản.
  • Cải tiến mô đun suy luận đồ thị GNN trong NumNet để mô hình hóa tốt hơn các quan hệ ngữ nghĩa và số học phức tạp trong tiếng Việt.
  • Mở rộng quy mô bộ dữ liệu ViCOVIDQA sang các chủ đề kinh tế, xã hội khác có mật độ số liệu cao ngoài phạm vi Covid-19.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo chuyên môn phù hợp cho sinh viên, học viên cao học và các nhóm nghiên cứu thuộc các ngành Khoa học Dữ liệu, Công nghệ Thông tin, Trí tuệ Nhân tạo và Xử lý Ngôn ngữ Tự nhiên (NLP).

Các nội dung có giá trị tham khảo nổi bật bao gồm:

  • Quy trình 5 bước xây dựng và kiểm định chất lượng bộ dữ liệu MRC (từ tuyển chọn cộng tác viên, thiết kế Guidelines phân loại 9 dạng suy luận đến kiểm tra chéo và đo lường benchmark con người).
  • Phương pháp luận chuyển đổi bài toán đọc hiểu văn bản thông thường sang bài toán suy luận số học kết hợp đồ thị (Graph Neural Network).
  • Bộ số liệu thống kê chi tiết và mã nguồn/cấu trúc của bộ dữ liệu ViCOVIDQA phục vụ việc làm giàu tài nguyên nghiên cứu cho cộng đồng NLP tiếng Việt.

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

1. Bộ dữ liệu ViCOVIDQA có quy mô bao nhiêu và được phân chia theo tỷ lệ nào?
Bộ dữ liệu gồm 6.594 cặp câu hỏi - câu trả lời được xây dựng từ 841 bài báo. Dữ liệu được chia thành 3 tập: Tập huấn luyện (Train) gồm 5.193 câu hỏi từ 672 bài báo; Tập phát triển (Dev) gồm 744 câu hỏi từ 85 bài báo; Tập kiểm thử (Test) gồm 657 câu hỏi từ 84 bài báo.

2. Tỷ lệ các dạng câu hỏi suy luận số liệu trong ViCOVIDQA được phân bổ như thế nào?
Các câu hỏi suy luận số liệu chiếm tổng cộng 63.21% bộ dữ liệu, trong đó: Phép đếm chiếm 16.10%; Phép trừ chiếm 12.45% (tập Train); Phép liệt kê chiếm 9.43%; Phép so sánh chiếm 7.10%; Các phép tính hỗn hợp (nhân, chia, trung bình, tỉ lệ) chiếm 3.81%; Đồng tham chiếu chiếm 1.16% - 1.17%. Nhóm câu hỏi rút trích trực tiếp không suy luận số liệu chiếm 36.79%.

3. Hiệu suất của con người trên bộ dữ liệu ViCOVIDQA đạt mức bao nhiêu và chênh lệch thế nào so với máy?
Hiệu suất trả lời của con người đạt điểm trung bình F1 là 76.17% trên tập phát triển và 77.xx% trên tập kiểm thử (với thời gian trung bình 18 giây/câu). Trong khi đó, mô hình máy đạt kết quả tốt nhất là NAQANet kết hợp PhoW2V chỉ đạt 22.58% F1 trên tập kiểm thử, tạo ra khoảng cách hiệu suất hơn 54% F1 giữa người và máy.

4. Vì sao độ dài bài báo trong ViCOVIDQA lại gây khó khăn cho các mô hình tiền huấn luyện?
Chiều dài trung bình của các bài báo trong ViCOVIDQA là 543.26 từ (do giữ nguyên toàn bộ nội dung bài báo). Mức độ dài này vượt quá ngưỡng giới hạn độ dài đầu vào tối đa phổ biến (512 tokens) của các mô hình ngôn ngữ tiền huấn luyện như BERT hay XLM-R, khiến mô hình không thể tiếp nhận trọn vẹn ngữ cảnh nếu không có giải pháp cắt tỉa hoặc phân đoạn văn bản.

5. Mô hình NumNet xử lý mối quan hệ giữa các con số trong văn bản bằng cơ chế nào?
NumNet trích xuất các con số trong đoạn văn và câu hỏi để tạo thành các nút trên đồ thị có hướng không đồng nhất $G = (V, E)$. Mô hình sử dụng 2 loại cạnh quan hệ giá trị ($>$, $\le$) kết hợp 4 loại cạnh quan hệ ngữ cảnh ($c-c$, $q-q$, $q-c$, $c-q$) và áp dụng nhiều bước suy luận GNN xếp chồng để cập nhật vector biểu diễn số liệu trước khi đưa vào mô đun dự đoán đáp án.

Kết luận

Khóa luận tốt nghiệp của tác giả Lê Việt Thắng đã nghiên cứu toàn diện bài toán đọc hiểu tự động kết hợp suy luận số liệu cho văn bản tiếng Việt thuộc chủ đề Covid-19. Công trình đã xây dựng thành công bộ dữ liệu ViCOVIDQA với 6.594 cặp câu hỏi - câu trả lời từ 841 bài báo, định hình bộ tiêu chuẩn gán nhãn 9 dạng suy luận và thiết lập điểm chuẩn đánh giá con người đạt trên 77% F1. Kết quả thử nghiệm các mô hình học sâu NAQANet và NumNet (đạt F1 cao nhất 22.58%) phản ánh độ thách thức cao của tập dữ liệu và mở ra hướng nghiên cứu mới trong việc ứng dụng mạng nơ-ron đồ thị và mô hình hóa số liệu cho xử lý ngôn ngữ tự nhiên tiếng Việt.