GIỚI THIỆU ĐỀ TÀI
Tổng quan về bài toán hỏi đáp
Ngày nay, với sự phát triển của xã hội, khối lượng thông tin trên không gian mạng ngày càng tăng lên một cách mạnh mẽ Điều này dẫn đến nhu cầu lớn về các hệ thống hỏi đáp - những hệ thống trả lời tự động câu hỏi bằng cách chọn lọc thông tin từ các nguồn tri thức Tuy nhiên, việc phát triển các hệ thống này gặp không ít thách thức về cú pháp, ngữ nghĩa hay các vấn đề biểu diễn thông tin cho bài toán hỏi đáp Điều này đã tạo động lực cho rất nhiều các nghiên cứu nổi bật trong những thập kỷ gần đây Một nghiên cứu được coi là nền tảng xuất hiện sớm nhất trong giải quyết bài toán hỏi đáp có thể kể đến như hệ thống BASEBALL [1]. BASEBALL là một chương trình được phát triển bởi Green và cộng sự nhằm mục đích trả lời các câu hỏi về trò chơi bóng chày được chơi ở Mỹ Ý tưởng của chương trình là tìm câu trả lời được lưu trữ trong thẻ với sự trợ giúp của từ điển.
Với sự tăng lên nhanh chóng về số lượng thông tin trên không gian mạng, người dùng có nhu cầu đặt các câu hỏi rất cụ thể, và muốn nhận được các câu trả lời ngắn và chính xác Vì vậy, đã có rất nhiều các nghiên cứu trên thế giới đã được phát triển để đưa ra câu trả lời ngắn gọn và chính xác trong hệ thống hỏi đáp Tùy vào dạng dữ liệu dùng để cung cấp câu trả lời thì các hệ thống hỏi đáp cũng có các hướng tiếp cận khác nhau Với dữ liệu có cấu trúc như dữ liệu dạng bảng, dữ liệu dạng RDF, các nghiên cứu phát triển hệ thống hỏi đáp dựa trên các Ontology có độ chính xác cao [2], và dễ dàng triển khai trên một tập dữ liệu được xây dựng sẵn.
Ngược lại, với dạng dữ liệu văn bản tự do, không có cấu trúc thì vẫn là thách thức lớn đối với các nghiên cứu hiện nay Với sự cải thiện rõ rệt ở khả năng tính toán của máy tính, các hướng giải quyết bài toán hỏi đáp dựa trên bộ mã hóa-giải mã đã được nghiên cứu sâu và chứng kiến sự tiến bộ vượt bậc, đặc biệt là sau khi có sự tham gia của máy học và các kỹ thuật học sâu [3] [4] [5] [6] [7] [8] Hình 1.1 cho thấy thống kê tổng số bài báo về lĩnh vực Hỏi đáp đã được đóng góp và chấp nhận trong Hiệp hội Ngôn ngữ học tính toán (Association for Computational Linguistics - ACL) [9] chỉ ra sự chú trọng phát triển cho lĩnh vực hỏi đáp ngày càng tăng lên rõ rệt.
Việc đưa ra câu trả lời ngắn gọn và chính xác dựa trên một đoạn văn bản tự do là một thách thức đòi hỏi hệ thống phải nắm bắt được các đặc trưng cần thiết của cả câu hỏi lẫn đặc trưng của phần văn bản tự do tương ứng với câu hỏi đó Nhiệm vụ này vừa chính xác là mục tiêu của bài toán “Đọc hiểu văn bản” trong Xử lý ngôn ngữ tự nhiên Các nghiên cứu hiện đại đã chú trọng áp dụng thêm nhiệm vụ máy đọc hiểu (Machine Reading Comprehension MRC) cho hệ thống hỏi đáp [10]
[11] [12] Đây cũng là hướng tiếp cận của luận văn để xây dựng một hệ thống hỏi đáp dựa trên đọc hiểu văn bản Về mặt dữ liệu, để phục vụ cho việc giải quyết hệ thống hỏi đáp theo hướng dựa trên đọc hiểu văn bản, rất nhiều bộ dữ liệu tiếng Anh cũng đã được xây dựng từ các tài nguyên hữu ích thực tế để trả lời câu hỏi bao gồm Wikipedia, Quora, Reddit, Tweeter, Stackoverflow, … [11] [13] [14] [15]
Hình 1.1 Thống kê số lượng các bài báo về hỏi đáp tại ACL
Bài toán hỏi đáp dựa trên đọc hiểu văn bản
Một trong những nhiệm vụ chính trong Xử lý ngôn ngữ tự nhiên là giúp máy tính có thể “đọc và hiểu” được ngôn ngữ Để hoàn thành nhiệm vụ này, dựa trên ý tưởng kiểm tra xem một người có thể hiểu đầy đủ một đoạn văn bản hay không bằng cách yêu cầu họ trả lời các câu hỏi về đoạn văn bản đó, các nhà nghiên cứu đã tiến hành mô phỏng lại quá trình này để xác định khả năng đọc hiểu của máy trên nhiều khía cạnh khác nhau Cũng tương tự như bài kiểm tra ngôn ngữ của con người, đọc hiểu là một cách tự nhiên để đánh giá khả năng hiểu ngôn ngữ của máy tính. Đọc hiểu văn bản là một bài toán với đặc điểm đa dạng của đầu vào (một đoạn văn, nhiều đoạn văn, văn bản dạng bảng, …) [12] Với bài toán gốc, đầu vào ban đầu sẽ gồm một đoạn văn bản và một câu hỏi liên quan tới đoạn văn đó Tuy nhiên, bài toán này khó áp dụng vào thực tế, khi rất nhiều đoạn văn bản được cung cấp để tìm ra câu trả lời cho câu hỏi Vì vậy, trong các nghiên cứu gần đây, để ứng dụng dễ dàng hơn vào thực tiễn, các giải pháp đã được mở rộng nghiên cứu cho bài toán đọc hiểu cho nhiều đoạn văn (Multi-passage MRC) Để giải quyết tốt cả hai bài toán này, các nghiên cứu thường đi theo hướng tiếp cận xây dựng mô hình có kết quả tốt khi đọc hiểu với một đoạn văn bản và sau đó sử dụng lại mô hình đó kèm thêm bước chọn lựa văn bản ở phía trước để giải quyết bài toán với nhiều đoạn văn Vì vậy, luận văn sẽ đề xuất hệ thống hỏi đáp đi theo hướng giải quyết bài toán đọc hiểu với một đoạn văn, sau đó sẽ áp dụng chính kết quả đó vào trong bài toán đọc hiểu nhiều đoạn văn bản.
Bài toán đọc hiểu văn bản cổ điểncó đầu vào gồm câu hỏi và một đoạn văn bản dẫn chứng, đầu ra là câu trả lời có thể có trong đoạn văn đó Ví dụ như ở hình 1.3, có các câu hỏi về một văn bản chủ đề là “Đại học Notre Dame” được dùng để làm đầu vào, nhiệm vụ của máy sẽ tìm ra câu trả lời chứa trong đoạn văn bản được cung cấp, ở trường hợp này các câu hỏi là về kiến trúc và lịch sử của ngôi trường đại học, máy sẽ dựa trên đoạn văn bản dẫn chứng để đưa ra câu trả lời tương ứng. Để làm được điều này, máy sẽ phải đọc hiểu hoàn toàn được nội dung của câu hỏi cũng như đoạn văn, từ đó đưa ra câu trả lời chính xác.
Hình 1.2 Ví dụ về bài toán hỏi đáp dựa trên đọc hiểu
Hiện này, bài toán này có thể được áp dụng rộng rãi trong nhiều hệ thống xử lý ngôn ngữ khác nhau như công cụ tìm kiếm, hệ thống đối thoại hay trợ lý ảo cá nhân Hình 1.3 cho ta thấy một vài ứng dụng nổi bật hiện nay được áp dụng hỏi đáp dựa trên đọc hiểu Khi chúng ta nhập một câu hỏi vào công cụ tìm kiếm Google, đôi khi Google có thể trả lại trực tiếp câu trả lời đúng bằng cách đánh dấu nó trong ngữ cảnh (nếu câu hỏi đủ đơn giản), ví dụ như “Trường đại học Bách khoa có bao nhiêu trường?”, kết quả trả về sẽ không chỉ còn là các trang được tìm kiếm ra nữa mà còn trực tiếp là câu trả lời chính xác kèm theo dẫn chứng Một ví dụ khác về hệ hỏi đáp dựa trên đọc hiểu, nếu ta mở "Trợ lý ảo Cortana" trên chính máy tính có cài đặt Window OS, như được hiển thị ở phần góc dưới bên trái của máy tính, chúng ta cũng có thể hỏi nó những câu hỏi như "Thái Bình Dương rộng bao nhiêu?", Cortana sẽ trực tiếp đưa ra câu trả lời là "63,78 triệu dặm vuông" Rõ ràng là MRC có thể giúp cải thiện hiệu suất của các công cụ tìm kiếm và hệ thống đối thoại, có thể cho phép người dùng nhanh chóng nhận được câu trả lời đúng cho câu hỏi của họ.
Hình 1.3 Một số ứng dụng của bài toán hỏi đáp dựa trên đọc hiểu [12]
Các nghiên cứu về đọc hiểu văn bản trên thế giới
Việc nghiên cứu các giải pháp giải quyết bài toán hỏi đáp dựa trên đọc hiểu đã được bắt đầu khá sớm Ngay từ năm 1977, Lehnert và cộng sự [8] đã xây dựng một chương trình trả lời câu hỏi được gọi là QUALM được sử dụng bởi hai hệ thống hiểu câu chuyện Độ chính xác của hệ thống nằm trong khoảng từ 30% đến 40% trên 11 tác vụ phụ khác nhau Hầu hết các hệ thống MRC trong cùng thời kỳ là các mô hình thống kê hoặc dựa trên các luật.
Các nghiên cứu tiếp sau đó thiếu bộ dữ liệu MRC chất lượng cao nên đều không thể phát triển thêm, lĩnh vực nghiên cứu này đã bị bỏ quên trong một thời gian dài. Gần đây với sự xuất hiện của bộ dữ liệu quy mô lớn cùng với khả năng tính toán cao hơn và các kỹ thuật học sâu, đã thúc đẩy toàn bộ các nghiên cứu trong Xử lý ngôn ngữ tự nhiên nói chung cũng như các nghiên cứu về bài toán Hỏi đáp dựa trên đọc hiểu nói riêng Một bước ngoặt cho lĩnh vực này đến vào năm 2015 [10]. Để giải quyết những nút thắt này, Hermann và cộng sự [10] đã xác định một phương pháp tạo tập dữ liệu mới cung cấp tập dữ liệu đọc hiểu được giám sát quy mô lớn vào năm 2015 Họ cũng đã phát triển một lớp mạng học sâu để học cách đọc tài liệu và trả lời các câu hỏi phức tạp với kiến thức tối thiểu Kể từ năm 2015, với sự xuất hiện của nhiều bộ dữ liệu được giám sát quy mô lớn và các mô hình mạng nơ-ron, lĩnh vực đọc hiểu của máy đã bước vào giai đoạn phát triển nhanh chóng Số lượng bài báo về MRC đã tăng lên với tốc độ ấn tượng.
Hiện nay, dựa trên các cách đưa ra câu trả lời cho bài toán đọc hiểu, có hai cách tổng quát để giải quyết bài toán: (i) Sử dụng phương pháp tổng hợp (Generative
MRC) và (ii) Sử dụng phương pháp trích xuất (Extractive MRC) Ở cách tiếp cận thứ nhất, có thể xem đây là cách tiếp cận khó hơn khi đưa ra câu trả lời không cần thiết bắt buộc phải nằm trong đoạn văn bản được cung cấp, mà được máy tự sinh ra dựa trên các thông tin biểu diễn của chuỗi đầu vào Điều đó giúp câu trả lời được linh hoạt hơn và phù hợp với thực tế Tuy nhiên do việc câu trả lời tự sinh, có tính linh hoạt cao nên việc đánh giá độ hiệu quả của mô hình trở nên khó khăn hơn. Ngoài ra chi phí xây dựng bộ dữ liệu của giải pháp này cũng rất tốn kém Gần đây, nhờ sự phát triển dữ liệu của các công ty phần mềm lớn, các tập dữ liệu lớn phổ biến dành cho dạng tiếp cận này có thể kể đến như NarrativeQA [18], Natural Questions Dataset [19] dành cho Tiếng Anh hay DuReader [20] dành cho Tiếng Trung Các mô hình phổ biến được sử dụng để giải quyết bài toán này là LSTM
Với cách tiếp cận thứ hai, sử dụng phương pháp trích xuất, câu trả lời được xác định sẽ nằm trong đoạn văn bản dẫn chứng, việc này sẽ giúp cho việc đánh giá độ hiệu quả của mô hình được chính xác hơn Việc xây dựng dữ liệu cho cách tiếp cận này cũng bớt tốn kém và dễ dàng hơn cách thứ nhất Khi trích xuất câu trả lời từ chính văn bản dẫn chứng cũng đáp ứng được các hệ thống hỏi đáp trong thực tế không yêu cầu tính phức tạp cao như suy diễn và lý giải, phục vụ được đa số các nhiệm vụ trả lời tự động hiện nay Đây cũng là phương pháp được luận văn sử dụng để giải quyết bài toán đọc hiểu một văn bản.
Nhờ sự cải tiến từ kiến trúc mạng nơ-ron đặc biệt là Cơ chế chú ý (Attention mechenism) trong kiến trúc Transformer [24] đã mang đến bước đột phá cho học sâu trong giải quyết các vấn đề của Xử lý ngôn ngữ tự nhiên nói chung và bài toán hỏi đáp dựa trên đọc hiểu nói riêng Các bộ dữ liệu cho bài toán hỏi đáp dựa trên đọc hiểu cũng được xây dựng nhiều hơn, đặc biệt là ở tiếng Anh, có thể kể đến như DuoRC [11], MCTest [25], SQuAD1.1 [26], NewsQA [14] hay TriviaQA [17] Đi cùng theo đó là sự ra đời của rất nhiều các mô hình học sâu tận dụng cơ chế chú ý đã đạt được hiệu quả cao trên các bộ dữ liệu kể trên như: BERT [27], XLM-R [28] hay T5 [29] Điểm chung của các mô hình học sâu này đều sử dụng kiến trúc bộ mã hóa (encoder) – bộ giải mã (decoder) để xây dựng lên, tùy vào từng yêu cầu bài toán cụ thể ta có thể sử dụng cả hai bộ như các kiến trúc T5, BART [6] hoặc chỉ sử dụng bộ mã hóa hoặc bộ giải mã để giải quyết bài toán (BERT, GPT-2) Sự hiệu quả của các mô hình học sâu cho bài toán hỏi đáp dựa trên đọc hiểu với các ngôn ngữ có đủ tài nguyên ngữ liệu đã đạt đến kết quả tốt, gần như ngang bằng với kết quả khi ta đem so sánh với con người (>95% với tùy tập dữ liệu).
Tuy nhiên, trong thực tế, hệ thống hỏi đáp sẽ chứa rất nhiều các đoạn văn bản để làm dẫn chứng cho các câu hỏi, việc áp dụng ngay mô hình đọc hiểu trên tất cả các đoạn văn để đưa ra câu trả lời sẽ làm giảm độ chính xác của mô hình Vì vậy, các nghiên cứu trên thế giới hiện nay đã mở rộng bài toán đọc hiểu với trường hợp có nhiều văn bản làm dẫn chứng hay còn được gọi là Nhiều văn bản (Multi- passages MRC) Các tập dữ liệu trên tiếng Anh cho bài toán này được tận dụng lại từ những tập dữ liệu của bài toán gốc và cũng được xây dựng thêm như MS- MARCO [13], HotpotQA [16], SQuAD Open [30], Natural Question Answering
[19], các nghiên cứu cho bài toán hỏi đáp dựa trên đọc hiểu với nhiều văn bản cũng bắt đầu phổ biến hơn tuy nhiên các mô hình vẫn chưa đem lại kết quả cao, ví dụ như DrQA [31], REALM [32], DPR [30] với tập dữ liệu SQuAD Open chỉ khoảng (70-80%) Đây là một bài toán khó hơn so với bài toán gốc, do việc phải tìm ra đoạn văn bản dẫn chứng cụ thể, tuy nhiên lại phù hợp và dễ áp dụng hơn vào thực tế, vì vậy việc phát triển mô hình theo hướng này là điều cần thiết Các nghiên cứu hiện nay để xử lý hỏi đáp dựa trên đọc hiểu nhiều đoạn văn bản thường theo hướng cải tiến thêm một bước chọn các văn bản dẫn chứng liên quan đến câu hỏi (Retrieval) sau đó đưa các văn bản vào mô hình hỏi đáp dựa trên đọc hiểu (Reading).
Việc tách làm hai thành phần để giải quyết sẽ tận dụng được các mô hình đạt kết quả tốt từ bài toán đọc hiểu với một văn bản, từ đó tiếp tục tối ưu các mô hình của từng thành phần cho bài toán đọc hiểu nhiều văn bản, mở ra nhiều hướng nghiên cứu giải pháp cho bài toán hơn Hiện tại, các nghiên cứu cho riêng bài đọc hiểu nhiều đoạn văn bản phần lớn đều tập trung tối ưu cho thành phần chọn lựa ra các văn bản dẫn chứng liên quan [33] [31] [32] [7] [5] Thậm chí, với bài toán đặc thù khi mà kích thước của bộ dữ liệu văn bản dẫn chứng rất khổng lồ hàng trăm Gigabyte đến Terabyte dữ liệu và trải rộng trên nhiều lĩnh vực khác nhau của xã hội, bài toán hỏi đáp dựa trên nguồn dữ liệu này sẽ được phát triển theo hướng mở (Open-domain QA), tăng cường độ chính xác ở thành phần trích xuất ra các đoạn văn bản liên quan nhất từ tập dẫn chứng trộn chung với nhau khổng lồ, điều này giúp bài toán có tính ứng dụng vào thực tế cao hơn Tuy nhiên điểm hạn chế của hướng đi này cũng chính từ việc dữ liệu chung đó quá lớn đòi hỏi chi phí tính toán rất cao, và các nghiên cứu cho hướng này nổi bật như DPR [30], REALM [32] cũng chưa đạt độ chính xác cao trên các tập dữ liệu đánh giá.
Một cách tiếp cận phổ biến hơn được áp dụng cho bài toán MRC với nhiều văn bản đó là tiếp cận chia nhỏ thành các tập dữ liệu chung vừa đủ cho một lĩnh vực cụ thể và áp dụng các thuật toán xếp hạng văn bản dựa trên TF-IDF hoặc các mô hình học máy [33] để trích xuất các đoạn văn bản liên quan nhất, đặc biệt có thể kết nối các thông tin giữa các phần văn bản với nhau dựa trên đồ thị tri thức (KnowledgeGraph), từ đó đưa ra các kết quả chính xác hơn Các tập dữ liệu cho cách tiếp cận này được xây dựng và phổ biến hiện nay như HotpotQA [16], MS MARCO [13],DuReader [20], ComplexWebQuestions [34], HybridQA [35], R4C
[36], 2WikiMultiHopQA [37] Với cách tiếp cận này, chi phí tính toán, độ chính xác cũng được cải thiện hơn đáng kể và phù hợp để áp dụng vào thực tế.
Các nghiên cứu về đọc hiểu văn bản cho tiếng Việt
Hiện nay, việc xây dựng và đánh giá độ hiệu quả các giải pháp cho bài toán hỏi đáp dựa trên đọc hiểu nhiều văn bản mới chỉ được thực hiện hiệu quả trên các ngôn ngữ giàu tài nguyên như tiếng Anh hay tiếng Trung Ngược lại, với các ngôn ngữ nghèo tài nguyên như tiếng Việt thì các nghiên cứu vẫn còn rất ít Nguyên nhân chủ yếu do để đạt được hiệu quả cao, ngoài việc cải tiến về mặt kiến trúc mô hình, thì dữ liệu cũng là một yếu tố quan trọng để tăng sự hiệu quả của mô hình, đây là một hạn chế lớn với những ngôn ngữ ít tài nguyên Bằng chứng là các mô hình hiện tại đạt độ chính xác cao đều được huấn luyện qua với một tập ngữ liệu rất lớn, có thể kể đến như XLM-RLarge cần đến 2.5TB dữ liệu để huấn luyện, sau đó tiếp tục được huấn luyện và đánh giá trên một tập dữ liệu đọc hiểu chất lượng cao Điều này giúp cho mô hình học dễ dàng các biểu diễn từ của ngôn ngữ và sau đó tối ưu cho bài toán đọc hiểu.
Với các ngôn ngữ ít tài nguyên dữ liệu như tiếng Việt chỉ có hai tập dữ liệu mở là UIT-ViQuAD [38] và UIT-ViNewsQA [39] dành cho bài toán đọc hiểu với phương pháp trích xuất và tập dữ liệu mở ViMMRC [40] dành cho bài toán đọc hiểu với loại câu hỏi có đáp án dạng lựa chọn đáp án có sẵn Trong đó, UIT- ViQuAD là tập dữ liệu phổ biến hay được sử dụng nhất trong các nghiên cứu về bài toán hỏi đáp dựa trên đọc hiểu dành cho tiếng Việt Tập dữ liệu này được tác giả Kiet và cộng sự thu thập từ Wikipedia Việt Nam đa dạng các lĩnh vực trong cuộc sống, từ văn hóa, chính trị cho đến thể thao, giải trí, sau đó sử dụng phương pháp thủ công để tạo ra bộ dữ liệu Hỏi đáp dựa trên đọc hiểu với khoảng 23.000 cặp hỏi-đáp.
Tuy nhiên, khối lượng dữ liệu này hoàn toàn không đủ để có thể huấn luyện các mô hình học sâu phức tạp đạt kết quả cao Cùng với đó, thì đặc trưng của bộ dữ liệu là đọc hiểu một đoạn văn bản, không thể sử dụng cho nhiệm vụ đọc hiểu với nhiều văn bản Các mô hình ngôn ngữ cho đa tác vụ xử lý ngôn ngữ tự nhiên thường được sử dụng, có thể kể đến như mBERT [41], XLM-R [16], PhoBERT
[42], QANet [43], DrQA [31], ViBERT [44], vELECTRA [44] hay BARTPho
[45] Các mô hình mới nhất này đã đạt kết quả chính xác đến 60- 80% khi đánh giá trên các tập dữ liệu tiếng Việt, tuy nhiên vẫn còn khoảng cách nhất định khi so sánh với kết quả của con người (95-98% phụ thuộc vào tập dữ liệu được xét đến). Để giải quyết các vấn đề nêu trên, trong khuôn khổ luận văn em sẽ đưa ra một phương pháp tăng cường dữ liệu và huấn luyện tinh chỉnh cải thiện độ chính xác cho bài toán đọc hiểu một văn bản Bên cạnh đó em đề xuất xây dựng một bộ dữ liệu mở rộng phục vụ cho bài toán đọc hiểu nhiều văn bản Cuối cùng là đưa ra một hệ thống hoàn chỉnh ứng dụng mô hình đọc hiểu vào hỏi đáp tiếng Việt trong trường hợp nhiều văn bản để phù hợp hơn với các hệ thống hỏi đáp thực tế.
Mục tiêu nghiên cứu của luận văn
Trong phạm vi nghiên cứu giải pháp để cải thiện các vấn đề đã nêu ở mục 1.4, luận văn của em gồm các đề xuất để cải thiện hệ thống hỏi đáp tiếng Việt như sau: (i) Đề xuất giải pháp để khắc phục tình trạng thiếu dữ liệu đọc hiểu ở tiếng Việt, (ii) Xây dựng bộ dữ liệu mở rộng cho đọc hiểu nhiều văn bản, (iii) Đề xuất kiến trúc hệ thống hỏi đáp ứng dụng mô hình đọc hiểu. Đối với đề xuất thứ nhất, giải pháp đưa ra cần đảm bảo các tiêu chí sau Đầu tiên giải pháp phải mang tính tổng quan, có thể áp dụng trên nhiều ngôn ngữ nguồn và đích khác nhau và không bị phụ thuộc vào bất kỳ ngôn ngữ nào, đồng thời có thể áp dụng trên nhiều tập dữ liệu khác nhau với cùng mục đích, không bị phụ thuộc vào cấu trúc của tập dữ liệu Thứ hai, tập dữ liệu thu thập được sau quá trình xử lý phải có cấu trúc, định dạng theo một chuẩn và phù hợp với bài toán đọc hiểu. Thứ ba, tập dữ liệu được tạo ra vẫn phải bảo đảm về kích thước dữ liệu phù hợp để sử dụng với mục đích huấn luyện mô hình Bên cạnh đó, hiệu năng của phương pháp cũng phải được tăng lên khi so sánh với các mô hình cơ sở khi cùng được đánh giá trên một tập dữ liệu nhỏ của tiếng Việt. Đề xuất thứ hai, tập dữ liệu được xây dựng cần phải đáp ứng được cho cả quá trình huấn luyện và kiểm thử của bài toán đọc hiểu với nhiều đoạn văn bản Ngoài ra, phương pháp xây dựng dữ liệu cần linh hoạt, dễ dàng mở rộng cho các tập dữ liệu đọc hiểu gốc Đảm bảo bộ dữ liệu được đánh giá khoa học, có thang đo định lượng trong quá trình xây dựng Định dạng cấu trúc của bộ dữ liệu cần phải có các trường thông tin bổ sung cần thiết, phục vụ cho việc giải quyết các vấn đề khác nảy sinh cho trường hợp nhiều đoạn văn bản như việc các văn bản có thể liên kết lẫn nhau.
Với đề xuất cuối cùng nhằm đưa bài toán hỏi đáp dựa trên đọc hiểu trở nên phù hợp với thực tế hơn Kiến trúc hệ thống đề xuất cần đảm bảo các cấu phần xử lý bên trong của hệ thống được dễ dàng mở rộng hoặc tối ưu từng phần trong tương lai Hệ thống đáp ứng được nhiệm vụ đưa ra câu trả lời rõ ràng và ngắn gọn đáp ứng thông tin cho người dùng Các kết quả đánh giá hệ thống một cách khoa học để làm cơ sở nhằm thúc đẩy các nghiên cứu cho bài toán hỏi đáp ứng dụng đọc hiểu nhiều văn bản tiếng Việt.
Bố cục luận văn
Trên đây, em đã đưa ra những nghiên cứu và vấn đề còn tồn tại đối với bài toán hỏi đáp dựa trên đọc hiểu và đưa ra định hướng giải pháp cho các vấn đề đã được nêu Phần còn lại của luận văn tốt nghiệp được em tổ chức theo cấu trúc sau.
Chương 2 trình bày về các cơ sở lý thuyết có liên quan tới bài toán xử lý dữ liệu và xây dựng giải pháp dành cho bài toán hỏi đáp dựa trên đọc hiểu, bao gồm các kiến thức nền tảng cùng các kiến thức chính được ứng dụng trực tiếp vào các phương pháp đề xuất của luận văn.
Chương 3, em sẽ trình bày chi tiết về phương pháp đã sử dụng để tăng cường dữ liệu đọc hiểu dành cho tiếng Việt Dựa vào cơ sở lý thuyết đã trình bày ở chương 2, trong chương 3 em sẽ trình bày chi tiết về phương pháp xử lý dữ liệu và sử dụng huấn luyện tinh chỉnh dành cho bài toán đọc hiểu với một đoạn văn bản và đưa ra các thử nghiệm, đánh giá về các phương pháp đã đề xuất, đồng thời so sánh hiệu năng với các phương pháp khác cùng giải quyết bài toán.
Chương 4 trình bày cụ thể về phương pháp xây dựng mở rộng bộ dữ liệu cho bài toán đọc hiểu với nhiều văn bản, đưa ra mô hình hỏi đáp để giải quyết bài toán này dựa trên việc tận dụng lại các kết quả của chương 3 và đánh giá các mô hình và phương pháp đề xuất trên tập dữ liệu mới xây dựng Từ đó, xây dựng hệ thống hỏi đáp dựa trên đọc hiểu đầu tiên cho tiếng Việt.
Cuối cùng, chương 5 sẽ kết luận lại nội dung của luận văn, bao gồm những kết quả, đóng góp của luận văn và hướng phát triển trong tương lai.
CƠ SỞ LÝ THUYẾT
Mạng nơ-ron nhân tạo
Tổng quan về mạng nơ-ron nhân tạo Ý tưởng của một mạng học sâu đó chính là mô phỏng kiến trúc dạng Nơ-ron trong bộ não bằng một thuật toán Với mục đích mô phỏng lại quá trình của bộ não từ khi chúng ta tiếp nhận thông tin, xử lý thông tin, và tạo ra đầu ra, một mạng nơ- ron nhân tạo sẽ nhận thông tin từ các nút mạng đầu vào, xử lý chúng và cho ra một nút đầu ra để có thể chuyển tiếp tới các nút mạng khác tiếp tục xử lý hoặc trở thành đầu ra cuối cùng của bài toán.
Hình 2.1 Mô tả nơ-ron của con người Để mô phỏng nơ-ron con người, mạng nơ-ron thêm các lớp mạng ẩn và để biểu diễn các quan hệ phi tuyến, phía sau mỗi lớp mạng là một hàm kích hoạt phi tuyến, ví dụ hàm sigmoid hoặc tanh, các mạng Nơ-ron được chứng minh rằng có khả năng xấp xỉ hầu hết bất kỳ hàm số nào Hình 2.2 mô tả một mạng nơ-ron đơn giản với hai lớp.
Hình 2.2 Ví dụ về mạng nơ-ron
Lớp thứ nhất: Đầu vào (màu xanh), đầu ra (màu đỏ) Lớp thứ hai: Đầu vào (màu đỏ), đầu ra (màu tím) Ở đây, đầu ra của lớp thứ nhất chính là đầu vào của lớp thứ hai Tổng hợp lại ta được một mô hình mà ngoài lớp đầu vào (màu xanh) và đầu ra (màu tím), ta còn có một lớp nữa (màu đỏ) Mô hình này có tên gọi là Multi-layer Perceptron (MLP) Lớp trung gian ở giữa còn được gọi là lớp ẩn (hidden layer).
Mạng mạng nơ-ron hồi quy RNN
Mạng nơ-ron hồi quy được tạo ra để giải quyết các vấn đề của việc trích xuất thông tin cho loại dữ liệu chuỗi ví dụ như: Dữ liệu thời gian, văn bản, giọng nói. Đặc điểm của các dữ liệu loại này đó là việc phụ thuộc thông tin lẫn nhau qua các bước thời gian (time-step), trong khi đó các mô hình mạng nơ-ron khác như mạng nơ-ron tích chập CNN chỉ có thể lưu giữ các thông tin độc lập ở từng bước thời gian, điều này dẫn đến không phù hợp cho loại dữ liệu chuỗi khi mà dữ liệu phụ thuộc cả vào thông tin dữ liệu các bước thời gian trước đó, do đó mạng nơ-ron hồi quy được ra đời Trong lĩnh vực xử lý ngôn ngữ tự nhiên với dữ liệu chuỗi là các chuỗi văn bản, người ta sẽ áp dụng mạng nơ-ron hồi quy, trước kia là các mô hình xác xuất như: Mô hình Markov, mô hình N-gram, … để biểu diễn xác xuất xuất hiện của một từ dựa trên các từ trước đó, các mô hình xử lý công việc này được gọi là Mô hình ngôn ngữ.
Bắt đầu từ lý thuyết chuỗi Markov và mô hình N-gram, khi mà xác xuất của một từ tại thời điểm t chỉ phụ thuộc vào n-1 từ trước đó Nếu muốn thể hiện các ảnh hưởng có thể có của các từ ở trước vị trí t - (n−1) đến vị trí của từ xt, ta cần phải tăng n Tuy nhiên, cùng với đó số lượng tham số của mô hình cũng sẽ tăng lên theo hàm mũ, vì ta cần lưu |V| n giá trị với một từ điển V nào đó Do đó, thay vì mô hình hóa P(xt xt-1,…,xt-n+1), sẽ tốt hơn nếu ta sử dụng mô hình biến tiềm ẩn (latent∣ variable model), trong đó ௧ ∣ ௧௧ , … , ௧ | ௧௧ , ௧ PT 2.1 h t được gọi là biến tiềm ẩn và nó lưu trữ thông tin của chuỗi Biến tiềm ẩn còn được gọi là biến ẩn (hidden variable), trạng thái ẩn (hidden state) hay biến trạng thái ẩn (hidden state variable) Các mạng nơ-ron có trạng thái ẩn được gọi là Mạng nơ-ron hồi quy.
Với Xt và Ht lần lượt là đầu vào và trạng thái ẩn tại thời điểm t Không giống với mạng MLP, mạng RNN sẽ lưu thêm giá trị Ht-1 cho trạng thái ẩn tại thời điểm t-1 và một ma trận trọng số Whh để mô tả hàm tính toán sử dụng trạng thái ẩn của thời điểm t-1 cho thời điểm t Khi đó giá trị trạng thái ẩn lưu trữ tại thời điểm t sẽ được tính như sau: ௧ ௧ ∅ ௧ ௧ ௧௧
So sánh với mạng nơ-ron thông thường, thì PT 2.2 đã có thêm thành phần H t-1 W hh dùng để thêm thông tin phụ thuộc tại thời điểm t với thời điểm t-1 Biểu thức 2.2 cứ thế được tính toán ở các thời điểm t và mang tính đệ quy Có rất nhiều cách để tạo ra hàm tính toán đệ quy này, biểu thức 2.2 chỉ là một hàm tính toán đơn giản để biểu diễn cách sử dụng của mạng RNN tính toán trạng thái ẩn Một điều đặc biệt là và ௧ là các tham số của mô hình sẽ được sử dụng lại tại các thời điểm t, vì vậy chi phí tính toán cho phần tham số của mô hình cũng sẽ không tăng lên khi số t tăng Hình 2.3 mô tả các khối tính toán logic của một mạng nơ-ron hồi quy Ở bất kỳ thời điểm t, việc tính toán trạng thái ẩn gồm: (i) Kết hợp nối đầu vào
X t và H t-1 ; (ii) Truyền giá trị đã gộp được bước (i) vào một lớp kết nối đầy đủ. Trong trường hợp này sẽ là áp dụng phương trình 2.2.
Hình 2.3 Mô tả mạng nơ-ron hồi quy RNN
Mạng nơ-ron hồi quy đã chứng minh được khả năng của nó đặc biệt là khi áp dụng cho việc giải quyết các nhiệm vụ trong Xử lý ngôn ngữ tự nhiên Hình 2.4 mô tả việc áp dụng mạng RNN cho bài toán sinh câu hay còn đọc gọi là dự đoán từ tiếp theo của câu Tuy nhiên, qua thực tế người ta đã cho thấy rằng khi độ dài chuỗi càng lớn, tức là t càng tăng lên thì khả năng lưu trữ thông tin của mạng hồi quy không còn hiệu quả nữa, trạng thái ẩn h không còn biểu diễn được giá trị thông tin tại thời điểm cách xa t Vì vậy các nhà nghiên cứu đã nghiên cứu và đề xuất hai biến thể thay thế cho công thức 2.2 của mạng nơ-ron hồi quy thông thường đó là Gated Recurrent Unit GRU và Long short-term memory LSTM.
Kiến trúc bộ mã hóa – giải mã (Encoder-Decoder)
Mô hình thuộc kiến trúc này bao gồm 2 phần: Bộ mã hóa (Encoder) và bộ giải mã (Decoder), điển hình là các mô hình Seq2Seq Bộ mã hoá đóng vai trò mã hoá đầu vào thành trạng thái chứa các véc-tơ Tiếp đó, trạng thái được truyền vào bộ giải mã để sinh đầu ra Ứng dụng đầu tiên của mô hình này trong xử lý ngôn ngữ tự nhiên là trong dịch máy, bộ mã hoá biến đổi một câu nguồn, ví dụ như “Hello world.”, thành trạng thái, chẳng hạn là một véc-tơ chứa thông tin ngữ nghĩa của câu đó Sau đó bộ giải mã sử dụng trạng thái này để dịch câu sang ngôn ngữ đích, ví dụ sang tiếng Pháp “Bonjour le monde.”
Hình 2.4 Kiến trúc của bộ mã hóa - giải mã Ứng dụng của kiến trúc này hiên nay đã được áp dụng ở hầu hết các bài toán xử lý ngôn ngữ tự nhiên, với bài toán hỏi đáp dựa trên đọc hiểu đó là việc tận dụng thông tin trạng thái để đưa ra câu trả lời.
Cơ chế chú ý
Cơ chế chú ý cơ bản
Cơ chế học chú ý được ra đời vào năm 2014, với ý tưởng sử dụng một véc-tơ ngữ cảnh có thể tương tác với toàn bộ véc-tơ trạng thái ẩn của bộ mã hóa thay vì chỉ sử dụng véc-tơ trạng thái ẩn cuối cùng để tạo ra véc-tơ biểu diễn cho bộ giải mã Cụ thể hơn, mô hình Seq2Seq khi áp dụng cơ chế chú ý vào sẽ có cấu trúc như sau (các khối màu xanh dương là mã hóa, màu đỏ là giải mã):
Hình 2.5 Mô tả cơ chế chú ý cơ bản
Chi tiết các bước, tại mỗi bước thời gian t ở phía bộ giải mã:
(i) Nhận véc-tơ trạng thái ẩn của bộ giải mã h t và tất cả các véc-tơ trạng thái ẩn của bộ mã hóa hs.
(ii) Tính điểm chú ý ứng với bước thời gian t tại bộ giải mã Với mỗi véc-tơ trạng thái ẩn của bộ mã hóa thì ta cần tính điểm thể hiện sự liên quan với véc-tơ trạng thái ẩn ht của bộ giải mã Cụ thể, ta sẽ áp dụng một phương trình tính điểm "chú ý" với đầu vào là véc-tơ trạng thái ẩn ht và một véc- tơ trạng thái ẩn hs và trả về điểm score(ht, hs).
(iii) Tính trọng số chú ý tại bước thời gian t Áp dụng hàm softmax với đầu vào là điểm chú ý.
(iv) Tính toán véc-tơ bối cảnh ct là tổng của các trọng số chú ý nhân với véc- tơ trạng thái ẩn của bộ giải mã hs tại time-step tương ứng. ௧ ௧ ௧௧௧௧ PT 2.4 ൌ௧ ௧ ′ ൌ௧
Cuối cùng, các véc-tơ chú ý a t dùng để đưa ra đầu ra được tính dựa trên véc-tơ bối cảnh ct và véc-tơ trạng thái ẩn ht.
Tận dụng cơ chế học chú ý được áp dụng cho mô hình Seq2Seq với việc chỉ
“tập trung” vào những thông tin liên quan ở một vài time-step ảnh hưởng lớn ở bộ mã hóa để dự đoán ra từ ở bộ giải mã Mô hình mạng Transfomer đã áp dụng cơ chế này trên chính bộ mã hóa để giữ lại các thông tin liên quan lẫn nhau của các từ trong một câu đầu vào, và gọi nó là Tự chú ý - “Self-attention”.
Hình 2.6 Mô tả khối tự chú ý (Self-attention)
Hàm này có đầu vào là một Query(Q) và một tập hợp các Key-Value và một kết quả đầu ra Trong đó Q, K, V và kết quả đầu ra đều là véc-tơ Kết quả đầu ra được tính dưới dạng tổng trọng số của các Value, trong đó trọng số được gán cho mỗiValue được tính bằng hàm tương thích của Key với Query tương ứng Trong thực tế, các Query được đẩy vào tính toán attention đồng thời vì vậy giúp giảm thời gian tính toán.
Sau khi tính toán các ra các giá trị Value dựa trên điểm số chú ý tại mỗi Query. Với mỗi lớp attention thì sẽ thu được các phần thông tin liên quan lẫn nhau giữa các từ trong câu, và sẽ thực hiện kết hợp các phân thông tin này lại trên từng từ để cho ra véc-tơ lưu giữ thông tin của từ.
Với mô hình trong bài báo Transformer [24], cơ chế chú ý được sử dụng với 3 mục đích:
(i) Trong các lớp "Attention encoder-decoder", các Query đến từ lớp decoder trước đó và các Key và Value bộ nhớ đến từ đầu ra của bộ mã hóa Điều này cho phép mọi vị trí trong bộ giải mã chú ý trên tất cả các vị trí trong chuỗi đầu vào.
(ii) Bộ mã hóa chứa các lớp tự chú ý Trong lớp tự chú ý, tất cả các Key,
Value và Query đến từ cùng một nơi, trong trường hợp này là đầu ra của lớp trước đó trong bộ mã hóa Mỗi vị trí trong bộ mã hóa có thể tương ứng với tất cả các vị trí trong lớp trước của bộ mã hóa.
(iii) Tương tự, các lớp tự chú ý trong bộ giải mã cho phép mỗi vị trí trong bộ giải mã tham gia vào tất cả các vị trí trong bộ giải mã cho đến và bao gồm cả vị trí đó Chúng ta cần ngăn chặn luồng thông tin sang trái trong bộ giải mã để bảo toàn thuộc tính tự động hồi quy Thực hiện điều này bên trong sự chú ý của sản phẩm theo tỷ lệ chấm bằng cách che dấu (cài đặt thành -inf) tất cả các giá trị trong đầu vào của softmax tương ứng với các kết nối bất hợp pháp.
Hình 2.7 Mô tả lớp Multi-head attention
Biểu diễn của từ
Trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP), để các hệ thống máy tính có thể hiểu được ngôn ngữ của con người, ta phải tìm cách biến đổi các từ ngữ sang các giá trị số để có thể đưa vào xử lý Do đó biểu diễn từ đã trở thành một nhiệm vụ cực kỳ quan trọng và thiết yếu trong lĩnh vực xử lý ngôn ngữ tự nhiên Biểu diễn từ là một quá trình chuyển đổi các dữ liệu thô thành các dữ liệu dạng số như véc-tơ hay ma trận, giúp các hệ thống máy tính có thể hiểu được Các cách thức để biểu diễn từ đặc trưng nhất có thể kể đến như: Biểu diễn sử dụng TF-IDF hoặc các mô hình học máy để biểu diễn từ.
Biểu diễn bằng tần suất từ TF-IDF
Cách đơn giản nhất để chuyển đổi các văn bản sang dạng số đó là các từ được biểu diễn bằng các véc-tơ với các trọng số là "1" hoặc "0" One-hot encoding và Bag-of-words (BoW) là hai mô hình đại diện cho phương pháp này Nhược điểm của các mô hình này là chi phí tính toán cao, các véc-tơ đại diện cho các từ mang ít giá trị thông tin và độ khái quát yếu Vì vậy, một cách biểu diễn từ khác đã được ra đời ứng dụng thống kê nhằm thể hiện độ quan trọng của từ trong một tập văn bản. Thay vì chỉ đếm từ, ở phương pháp này có thêm các trọng số dựa trên tần số từ đó xuất hiện Phương pháp này được gọi là Term Frequency - Inverse Document Frequency (tần suất xuất hiện của từ - tần suất nghịch đảo văn bản - TF-IDF) Đây là một kĩ thuật sử dụng trong phân tích dữ liệu văn bản Trọng số này được sử dụng để đánh giá tầm quan trọng của một từ trong một văn bản Giá trị cao thể hiện độ quan trọng cao và nó phụ thuộc vào số lần từ xuất hiện trong văn bản nhưng bù lại bởi tần suất của từ đó trong tập dữ liệu TF-IDF được sử dụng để lọc những từ stopwords trong các bài toán như tóm tắt văn bản và phân loại văn bản TF-IDF được hình thành từ hai yếu tố:
- TF (Term Frequency): Là số lần từ xuất hiện trong văn bản Vì các văn bản có thể có độ dài ngắn khác nhau nên một số từ có thể xuất hiện nhiều lần trong một văn bản dài hơn là một văn bản ngắn Như vậy, term frequency thường được chia cho độ dài văn bản (tổng số từ trong một văn bản).
- IDF (Inverse Document Frequency): Nghịch đảo tần suất của văn bản giúp đánh giá tầm quan trọng của một từ Khi tính toán TF, tất cả các từ được coi như có độ quan trọng bằng nhau Nhưng một số từ như “là”, “của” và “thì” thường xuất hiện rất nhiều lần nhưng độ quan trọng là không cao Như thế chúng ta cần giảm độ quan trọng của những từ này xuống.
Biểu diễn từ bằng các mô hình học máy
Những mô hình cổ điển ở trên do chỉ sử dụng phương pháp thống kê nên không thể nắm bắt được các ý nghĩa về ngữ pháp và ngữ nghĩa của từ vựng, đồng thời các véc-tơ biểu diễn của các từ cho các mô hình cổ điển thường có số chiều rất lớn, phụ thuộc vào kích thước của tập từ điển dẫn đến tài nguyên tính toán bị tốn và lãng phí Do đó chúng ta cần một phương pháp khác để có thể biểu diễn các từ dưới dạng các véc-tơ với số chiều giảm xuống nhưng mang nhiều ý nghĩa hơn Để giải quyết vấn đề này, rất nhiều mô hình đã được đề xuất Những mô hình này tự học và tìm ra các đặc tính (feature) của từ vựng mà không cần sự can thiệp của con người, do đó được gọi là các mô hình học đặc tính của từ (Feature Learning) hay còn được gọi là các mô hình học biểu diễn từ (Representation Learning) Sự ra đời của các phương pháp này đã giúp tăng hiệu năng đáng kể cho các mô hình học máy nhờ giảm thiểu kích thước véc-tơ mô hình phải tính toán Các mô hình này có thể được huấn luyện bằng cả phương pháp Học có giám sát (Supervised Learning) và phương pháp Học không giám sát (Unsupervised Learning) và được chia ra làm hai loại chính là Biểu diễn từ phi ngữ cảnh (Non-Contextual Word Embedding) và Biểu diễn từ theo ngữ cảnh (Contextual Word Embedding) Sau đây em sẽ nói rõ hơn về hai loại này.
Biểu diễn từ phi ngữ cảnh : Đây là phương pháp sử dụng những kỹ thuật được gọi chung là Word Embedding để biểu diễn từ Word Embedding là một kỹ thuật học tự học các đặc tính của từ đã được nhắc tới ở trên, thông qua đó các từ trong tập từ điển sẽ được ánh xạ tới một véc-tơ N chiều Những từ có ý nghĩa tương tự nhau sẽ có các véc-tơ tương ứng gần với nhau và ngược lại Các thuật toán phổ biến của phương pháp này là Word2Vec, GloVe và FastText Word2Vec Được công bố vào năm 2013 [46], Word2Vec là một mô hình biểu diễn từ được huấn luận bằng phương pháp học không giám sát và bao gồm hai tầng ẩn, giúp mô hình có thể nắm được các mối liên hệ ngữ nghĩa và ngữ pháp giữa các từ vựng.
Hai mô hình nổi tiếng của Word2Vec là Skip-gram và CBOW Mô hình Skip- gram giả sử rằng từ một từ đích ta có thể suy ra các từ ngữ cảnh Mô hình này có ưu điểm là làm việc tốt với các bài toán có dữ liệu nhỏ, do mô hình có khả năng biểu diễn tốt những từ có tần suất thấp Điều này được giải thích do ta xây dựng được nhiều mẫu huấn luyện xung quanh từ có tần suất thấp này Ngược lại CBOW giả sử rằng từ các từ ngữ cảnh, ta có thể đoán được từ đích Mô hình CBOW phù hợp với các bộ dữ liệu lớn khi số mẫu huấn luyện được tạo ra từ mỗi ngữ cảnh (context) ít hơn nhiều so với Skip-gram Hình 2.8 minh họa cho kiến trúc cơ bản của hai mô hình CBOW và Skip-gram.
Hình 2.8 Kiến trúc của mô hình CBOW và Skip-gram
Global Vectors (GloVe): Với việc huấn luyện Word2Vec, các véc-tơ biểu diễn từ đã có khả năng bắt được các ý nghĩa về ngữ pháp cũng như ngữ nghĩa của từ tốt hơn Tuy nhiên, mô hình Word2Vec chỉ tập trung chính vào các ngữ cảnh cục bộ xung quanh từ bị giới hạn bởi kích thước cửa sổ sử dụng, trong khi đó các thông tin thống kê toàn cục của từ hầu như không được sử dụng Đó là lí do GloVe [47] được ra đời Được coi là phiên bản mở rộng của Word2Vec, GloVe sử dụng thêm một ma trận toàn cục X với mỗi phần tử Xij đại diện cho tần suất từ wi và từ wj cùng xuất hiện trong một cửa sổ để cung cấp thêm thông tin khi huấn luyện.
FastText: Các phương pháp biểu diễn từ như Word2vec hay GloVe rất đơn giản, chính xác và với tập dữ liệu lớn các phương pháp này có thể học được biểu diễn ngữ nghĩa cho các từ vựng Tuy nhiên, các mô hình này không thể học được các véc-tơ biểu diễn cho các từ không nằm trong từ điển (out-of-vocabulary - OOV).
Những từ OOV thể được định nghĩa theo hai cách: những từ không có trong vốn từ vựng hiện tại và những từ không xuất hiện trong tập huấn luyện của mô hình Để giải quyết vấn đề này đã có rất nhiều mô hình được đề xuất, trong đó phổ biến nhất là FastText [48] Được đề xuất vào năm 2016, FastText là một phương pháp mở rộng của mô hình Word2Vec, trong đó thay vì đưa các từ đơn lẻ vào mạng neural, mô hình sẽ cắt các từ thành các phần (n-grams) khác nhau để đưa vào huấn luyện. Nhờ đó mô hình có thể học được mối quan hệ giữa các ký tự cũng như ý nghĩa về mặt ngữ nghĩa của từ Khác với Word2vec, các từ hiếm khi được đi qua mô hình FastText thường vẫn có véc-tơ biểu diễn chính xác do các n-grams của từ này rất có khả năng đã xuất hiện trong các từ khác Do đó FastText có hiệu năng tốt hơn Word2Vec hay GloVe và được ứng dụng trong rất nhiều tác vụ xử lý ngôn ngữ tự nhiên khác nhau Do dựa trên Word2Vec để phát triển, FastText cũng được huấn luyện bằng mô hình CBOW.
Mặc dù các mô hình kể trên đều có thể giữ lại được thông tin về ngữ nghĩa và ngữ pháp của tài liệu, tuy nhiên một vấn đề vẫn chưa được giải quyết là làm cách nào để có thể giữ lại được cả thông tin đầy đủ về ngữ cảnh của tài liệu này Với hầu hết các tác vụ xử lý ngôn ngữ tự nhiên, việc có thể hiểu được ngữ cảnh thật sự là vô cùng quan trọng Do đó, các mô hình dựa trên ngữ cảnh được ra đời nhằm giải quyết vấn đề trên Dưới đây, một số mô hình biểu diễn từ theo ngữ cảnh phổ biến được trình bày ngắn gọn.
Biểu diễn từ theo ngữ cảnh
Biểu diễn từ theo ngữ cảnh chung (Context2Vec) được đề xuất bởi Melamud và cộng sự [49] vào năm 2016, Context2Vec giúp tạo ra các biểu diễn từ phụ thuộc vào ngữ cảnh Mô hình này được xây dựng dựa theo mô hình CBOW của Word2Vec nhưng sử dụng thêm các mạng BiLSTM Để huấn luyện mô hình, một tập ngữ liệu lớn đã được sử dụng, đồng thời ngữ cảnh của câu cũng như các từ mục tiêu được biểu diễn thành các véc-tơ với số chiều nhỏ và được tối ưu để có thể phản ánh lại được sự phụ thuộc giữa các từ mục tiêu này và ngữ cảnh câu của chúng.
Mô hình ELMo: Được để xuất bởi Peters và cộng sự [22], mô hình ELMo
(Embedding from language Models - mô hình ngôn ngữ nhúng) giúp tạo ra các biểu diễn từ với ngữ cảnh sâu (deep contextual word representation) để có thể giải quyết các vấn đề phức tạp liên quan đến các liên kết trong ngôn ngữ Cấu trúc của mô hình được biểu diễn ở Hình 2.9.
Hình 2.9 Cấu trúc mô hình ELMo.
Các véc-tơ biểu diễn từ được học từ mô hình ngôn ngữ hai hướng (bi- directional) và với các câu khác nhau, mô hình ELMo cho ra các véc-tơ khác nhau để biểu diễn một từ.
Mô hình Transformer: Được giới thiệu vào năm 2017, mô hình Transformer
[24] đã được chứng minh là hiệu quả và nhanh hơn các cấu trúc LSTM và CNN trong việc tạo ra các mô hình ngôn ngữ Hình 2.10 minh họa chi tiết kiến trúc mô hình Transformer Tổng quan, kiến trúc của mô hình Transformer chính là mô hình Seq2Seq đã được trình bày ở phần trước Encoder được sử dụng với vai trò học véc-tơ biểu thị của câu Mục tiêu hướng tới của lớp Encoder là véc-tơ biểu diễn của câu do lớp này sinh ra mang đầy đủ thông tin của câu đó Ngược lại, lớp Decoder có vai trò chuyển véc-tơ biểu diễn được sinh bởi lớp Encoder sang câu với ngôn ngữ đích Một trong những ưu điểm của mô hình Transformer khi so sánh với các mô hình ngôn ngữ trước đó là khả năng xử lý song song các từ trong câu. Lớp Encoder của mô hình Transformer bao gồm nhiều lớp encoder nhỏ khác nhau khác, mỗi lớp này có khả năng xử lý đồng thời các từ Trong khi đó, với mô hình sử dụng kiến trúc mạng LSTM, các từ trong câu phải được xử lý tuần tự khiến cho tốc độ xử lý không thể so sánh với mô hình Transformer.
Mô hình mạng BERT [27]
BERT là một mô hình ngôn ngữ dùng để biểu diễn một từ dưới dạng véc tơ phù hợp với ngữ cảnh Kiến trúc của BERT được xây dựng dựa trên các lớp mã hóa của mô hình Transformer đã được trình bày ở 2.3 Trong bài báo được công bố
[27], BERT có hai mô hình có kích thước khác nhau được gọi là: BERT-base và BERT-large, với sự khác nhau duy nhất là số lượng các lớp mã hóa được sử dụng (BERT-base sử dụng 12 lớp mã hóa, BERT-large sử dụng 24 lớp mã hóa) Mỗi lớp mã hóa của BERT áp dụng tất cả các thành phần của lớp mã hóa mạng Transformer gồm các thành phần: Multi-head attention, Add Norm, Feed forward.
Với đầu vào là một chuỗi văn bản, sau khi đi qua các lớp phân tách token, chuỗi token sẽ được đưa vào mô hình Điểm đặc biệt ở BERT là có một token [CLS] ở đầu mỗi chuỗi đầu vào, được sử dụng như token đại diện cho nội dung của toàn bộ chuỗi đầu vào, token này thường được sử dụng cho các bài toán phân loại chuỗi hoặc tóm tắt văn bản.
Hình 2.11 Mô hình mạng BERT-base
Các token của chuỗi văn bản sẽ đi qua từng lớp mã hóa gồm 3 lớp nhỏ: Multi- head attention, Feed forward và Add&Norm Các token đi qua cơ chế học chú ý ở lớp Multi-head attention đã được trình bày ở phần 2.2 Sau đó đi qua một mạng nơ ron kết nối đầy đủ và sử dụng véc tơ đó làm đầu vào cho lớp mã hóa tiếp theo Đầu ra cuối cùng sẽ là các véc tơ có số chiều bằng 768 đối với BERT-base dùng làm véc tơ biểu diễn cho từ tương ứng theo ngữ cảnh của toàn bộ câu.
ĐỀ XUẤT CẢI TIẾN KỸ THUẬT CHO BÀI TOÁN ĐỌC HIỂU TIẾNG VIỆT
Mô hình cơ sở
Mô hình ngôn ngữ tiền huấn luyện của BERT [27] và các biến thể của nó [50]
[42] [28] đã chứng minh được độ hiệu quả trên rất nhiều các bài toán trong Xử lý ngôn ngữ tự nhiên Nhằm phục vụ việc đánh giá sau này, mô hình cơ sở sẽ áp dụng mô hình XLM-RoBERTa (XLM-R) cho bài toán MRC giống với kiến trúc mô hình trong bài báo "A Vietnamese Dataset for Evaluating Machine Reading Comprehension" của tác giả Kiet và cộng sự [38] Mô hình XLM-R có kiến trúc giống với RoBERTa và là một biến thể của mô hình BERT Tuy nhiên, khác với RoBERTa chỉ được tiền huấn luyện trên tiếng Anh, XLM-R được tiền huấn luyện trên một tập dữ liệu đa ngôn ngữ rất lớn ~2.5TB (100 ngôn ngữ) bao gồm cả tiếng Anh và tiếng Việt Việc tiền huấn luyện với một tập dữ liệu lớn như vậy thật sự là một đóng góp to lớn Điều này đặc biệt có ích cho các ngôn ngữ nghèo tài nguyên do có thể tận dụng lại mô hình tiền huấn luyện này cho chính ngôn ngữ của họ Đối với bài toán đọc hiểu, mô hình XLM-R được dùng để làm các lớp biểu diễn từ, có nhiệm vụ mã hóa chuỗi đầu vào gồm câu hỏi, đoạn văn bản dẫn chứng và các mã phân tách (, ) thành một véc-tơ có độ dài cố định Ta sẽ thực hiện huấn luyện tinh chỉnh (fine-turning) từ mô hình tiền huấn luyện Đầu tiên, chuỗi câu ban đầu sẽ qua một lớp phân tách mã (tokenizer) để chuyển hóa đầu vào thành các mã (token) dựa trên tập từ vựng (vocabulary) của mô hình Sau đó, đi qua một lớp mã hóa theo thứ tự (Positional Encoding) nhằm tăng cường thông tin về vị trí của các token trong chuỗi Hình 3.1 mô tả chuỗi đầu vào cho mô hình XLM-R Chuỗi token đó tiếp tục đi qua 12 khối Encoder gồm: lớp Multi-Head Attention, lớp cộng và chuẩn hóa (Add & Norm) và lớp kết nối đầy đủ (Feed-Forward), cụ thể về kiến trúc mã hóa này đã được trình bày ở 2.3 Đầu ra của mỗi token sau khi qua các lớp mã hóa XLM-R sẽ là một véc-tơ có dim h = 512 Sau đó, ở lớp trên cùng của mô hình sẽ có thêm một lớp kết nối đầy đủ với dim o = 2 cùng với hàm kích hoạt
Softmax để tính toán xác xuất của vị trí bắt đầu và vị trí kết thúc của câu trả lời trong đoạn văn.
Hình 3.1 Mô tả đầu vào cho mô hình XLM-R
Trong quá trình huấn luyện tinh chỉnh, mô hình sử dụng hàm mất mát Cross- Entropy cho việc tính toán vị trí bắt đầu và kết thúc của câu trả lời Công thức 3.1, 3.2, 3.3 mô tả cách tính hàm mất mát của mô hình. ௧ ௧ ௧ ௧௧ ௧௧ ௧ PT 3.1 ௧ ௧ ௧ ௧ ௧ ௧ ௧ ௧௧ ௧௧ ௧ PT 3.2 ௧ ௧ ௧ ௧ ௧ ௧ ௧
Hình 3.2 Các bước xây dựng mô hình cơ sở cho bài toán MRC
Đề xuất cải tiến kỹ thuật cho đọc hiểu tiếng Việt (UtlTran)
Kỹ thuật sẽ tập trung cải thiện về mặt dữ liệu cho bài toán đọc hiểu tiếng Việt. Với ý tưởng tận dụng các bộ dữ liệu về đọc hiểu chất lượng cao của tiếng Anh để tăng cường cho tiếng Việt.
Hình 3.3 Kỹ thuật cải tiến UtlTran đề xuất
Kỹ thuật cải tiến UtlTran được chia làm 3 bước:
(i) Sử dụng kỹ thuật dịch để chuyển đổi từ tập dữ liệu MRC tiếng Anh sang tiếng Việt Áp dụng phương pháp đánh dấu vị trí câu trả lời cùng với việc đề xuất hai chiến lược dịch để tập dữ liệu sau khi dịch đạt hiệu quả đảm bảo độ chính xác sau khi dịch.
(ii) Phân tích và lựa chọn mô hình ngôn ngữ tiền huấn luyện phù hợp để biểu diễn từ Áp dụng phương pháp học chuyển giao (Transfer learning) để đưa mô hình ngôn ngữ sang mô hình đọc hiểu bằng cách huấn luyện với tập dữ liệu MRC dịch trước đó, tạo ra mô hình tiền huấn luyện cho bài toán đọc hiểu.
(iii) Huấn luyện tinh chỉnh với mô hình đọc hiểu tiền huấn luyện trước đó với tập dữ liệu của tiếng Việt, tạo ra kết quả cuối cùng cho mô hình đọc hiểu tiếng Việt.
Kỹ thuật chuyển đổi dữ liệu
Hình 3.4 Các bước chuyển đổi dữ liệu
Chuyển đổi định dạng dữ liệu: Các tập dữ liệu của bài toán đọc hiểu đối với tiếng Anh rất phong phú và có chất lượng rất tốt, vì vậy, luận văn sẽ sử dụng các tập dữ liệu MRC tiếng Anh để tăng cường cho tiếng Việt Để chuyển chuẩn hóa được các thông tin trong khi chuyển đổi, thì cần phải định nghĩa một khung cho các trường thông tin của các giá trị cần được chuyển đổi Ở đây, em áp dụng định dạng dữ liệu JSON theo cấu trúc của tập dữ liệu SQuAD v1.1, một tập dữ liệu phổ biến nhất cho bài toán đọc hiểu văn bản Hình 3.5 mô tả chi tiết định dạng SQuAD được sử dụng làm định dạng cho bài toán.
Hình 3.5 Định dạng dữ liệu SQuAD 1.1
Dịch dữ liệu: Sau khi lấy được các thông tin theo định dạng đã chọn, do đặc trưng của các bộ dữ liệu khác nhau nên xuất hiện những đoạn văn có độ dài lớn. Một số công cụ dịch bị giới hạn độ dài của văn bản, ngoài ra khi so sánh lại với văn bản gốc đoạn văn bản dài được dịch ra gây ra sai lệch thông tin ảnh hưởng từ chất lượng dịch và thời gian dịch cũng sẽ tăng lên khi tập dữ liệu gốc có kích thước lớn Vì vậy, trước khi dịch văn bản, em tiến hành loại bỏ các đoạn văn bản có độ dài lớn hơn 5000 ký tự Sau khi tiến hành loại bỏ các văn bản, để dịch các tập dữ liệu với ngôn ngữ phổ biến sang ngôn ngữ mới như từ tiếng Anh sang tiếng Việt, em sử dụng một công cụ trên Python có tên là Deep-Translator Đây là một thư viện Python hoàn toàn miễn phí, linh hoạt và không bị giới hạn để dịch giữa các ngôn ngữ khác nhau một cách đơn giản thông qua việc hỗ trợ nhiều trình dịch như Google Translate, Microsoft Translator hay Yandex Translator Có một số thư viện khác cũng có thể sử dụng cho tác vụ dịch, tuy nhiên trong quá trình thử nghiệm em nhận ra rằng hầu hết các thư viện đó đều có khá nhiều lỗi, một số phải trả phí hoặc bị giới hạn số lần dịch trong một thời gian Thêm vào đó, một số thư viện khác hiện không còn được hỗ trợ hoặc quá phức tạp để sử dụng.
Chuẩn hóa vị trí câu trả lời: Trong các tập dữ liệu với định dạng SQuAD v1.1, để đánh dấu câu trả lời cho câu hỏi ở trong ngữ cảnh, các tập dữ liệu này sẽ sử dụng hai thông số là "answer_start" dùng để đánh dấu vị trí của ký tự đầu tiên của câu trả lời và "text" để lưu trữ nội dung câu trả lời Điều này dẫn đến việc sau khi qua bước dịch dữ liệu sang ngôn ngữ khác sẽ phát sinh ra sự sai biệt ở vị trí câu trả lời trong đoạn ngữ cảnh đã được dịch so với đoạn ngữ cảnh gốc.
Hình 3.6 Giải pháp sử dụng hai token xác định vị trí câu trả lời sau dịch Để giải quyết vấn đề đó, em sử dụng hai token đặc biệt là [ans_s] và [ans_e] để đánh dấu vị trí bắt đầu và kết thúc của câu trả lời Sau khi đoạn ngữ cảnh được dịch sang Tiếng Việt, do hai token đặc biệt ở trên không bị biến đổi nên câu trả lời có thể dễ dàng tìm ra được lại dựa vào chúng Từ đó chúng ta có thể xác định lại giá trị "answer_start" và "text" cho câu trả lời ở tập ngữ liệu mới Hình 3.6 đưa ra ví dụ minh họa cho phương thức hoạt động của các token đặc biệt này.
Các chiến lược hiệu chỉnh lại văn bản: Mặc dù các mô hình được phát triển dựa theo mô hình Transformer có khả năng nắm giữ được ngữ cảnh của câu khá tốt, tuy nhiên các mô hình này vẫn gặp khó khăn khi phải xử lý các câu có ngữ cảnh quá dài Bên cạnh đó, hầu hết các tập dữ liệu Tiếng Anh về bài toán Đọc hiểu nhưNewsQA, TriviaQA đều có ngữ cảnh của các câu dài hơn 2000 ký tự Do đó, sau khi thu được tập dữ liệu mới từ việc dịch, chỉnh sửa lại vị trí cũng như nội dung câu trả lời, công việc tiếp theo em phải tiến hành là giảm độ dài trung bình ngữ cảnh của các câu trong tập dữ liệu mới này Để tiến hành tác vụ này, em đưa ra hai phương pháp để giảm trung bình độ dài ngữ cảnh của tập dữ liệu:
1 Loại bỏ câu dựa theo độ dài ngữ cảnh: Ở phương pháp này em đặt một giá trị ngưỡng (λ) cho độ dài của ngữ cảnh ở cả hai tập dữ liệu gốc và sau khi đã được dịch Chỉ các câu có ngữ cảnh với độ dài nhỏ hơn giá trị (λ) mới được giữ lại trong tập dữ liệu.
2 Giảm độ dài ngữ cảnh bằng vị trí câu trả lời: Một giá trị ngưỡng (δ) được đặt cho vị trí câu trả lời, những câu có vị trí câu trả lời lớn hơn giá trị ngưỡng (δ) sẽ bị loại bỏ khỏi tập ngữ liệu dịch Sau đó, một giá trị ngưỡng khác gọi là (α) được sử dụng với mục đích cắt bớt ngữ cảnh Các câu còn lại sau khi loại bỏ bớt câu trả lời sẽ bị cắt bớt ngữ cảnh một cách ngẫu nhiên với giá trị nhỏ hơn giá trị ngưỡng (α) này.
Như vậy, dựa theo cách thức để giảm độ dài trung bình ngữ cảnh, ta sẽ có hai kỹ thuật dùng để chuyển đổi dữ liệu khác nhau Để cho tiện dụng, hai kỹ thuật này sẽ được gọi tên là Kỹ thuật chuyển đổi CL (context length) và Kỹ thuật chuyển đổi
AP (answer position) lần lượt tương ứng với kỹ thuật chuyển đổi dữ liệu sử dụng phương pháp giảm độ dài trung bình ngữ cảnh dựa theo độ dài ngữ cảnh và kỹ thuật chuyển đổi dữ liệu sử dụng phương pháp giảm độ dài trung bình ngữ cảnh dựa theo vị trí câu trả lời.
Sau khi qua các bước kể trên, ta sẽ thu được các tập dữ liệu dành cho ngôn ngữ hiếm tài nguyên ngữ liệu với kích thước lớn, giúp gia tăng dữ liệu huấn luyện cho các mô hình ở những bước sau Mặc dù được xây dựng dựa trên các tập dữ liệu đã được kiểm định ở ngôn ngữ gốc, tuy nhiên các tập dữ liệu mới này vẫn có thể còn tồn tại nhiều từ không mang nhiều ý nghĩa và thường gây nhiễu dẫn đến giảm kết quả của các mô hình (dấu câu, các từ sai chính tả, các từ lóng, ) Do đó các tập dữ liệu này trước khi được đưa vào các mô hình cần qua một bước tiền xử lý dữ liệu.
Tiền xử lý dữ liệu
Trong tất cả các bài toán xử lý ngôn ngữ tự nhiên, việc tiền xử lý dữ liệu luôn là công việc đầu tiên phải tiến hành Các tập ngữ liệu văn bản thu thập được thường chứa rất nhiều từ không mong muốn như các từ dừng (stop word), dấu câu, các từ sai chính tả, các từ lóng, Những từ này thường không mang nhiều ý nghĩa và thường gây nhiễu dẫn đến giảm kết quả của các mô hình Để giải quyết vấn đề đó, trước khi sử dụng dữ liệu, ta cần các phương pháp và kỹ thuật để tiền xử lý dữ liệu đầu vào giúp làm sạch các dữ liệu này Sau đây là các công đoạn được luận văn sử dụng để tiền xử lý dữ liệu văn bản.
Thực nghiệm và đánh giá
Các tập dữ liệu sử dụng cho tiền huấn luyện Ởtrong nghiên cứu này, em sử dụng hai tập dữ liệu Tiếng Anh phổ biến là TriviaQA [13], NewsQA [45] kết hợp với tập dữ liệu dịch XQuAD [35] để tiền huấn luyện mô hình.
TriviaQA Được công bố vào năm 2017, TriviaQA là một tập dữ liệu Hỏi đáp dựa trên đọc hiểu dành cho Tiếng Anh với trên 650 nghìn cụm gồm câu hỏi, câu trả lời và dẫn chứng Trong đó Trivia QA chứa khoảng 95 nghìn cặp câu hỏi - câu trả lời đã được kiểm chứng bởi những người đam mê câu đố và các tài liệu chứng minh được thu thập độc lập Dữ liệu của TriviaQA được thu thập từ hai nguồn chính là Wikipedia và các trang web khác Ở đây em chỉ sử dụng phần dữ liệu được thu thập từ Wikipedia.
NewsQA Được công bố bởi Microsoft Research, tập dữ liệu NewsQA là một tập dữ liệu Hỏi đáp dựa trên đọc hiểu được thu thập và xây dựng qua bốn bước chính: (i) thu thập các bài viết, (ii) xây dựng các câu hỏi, (iii) xây dựng câu trả lời, và (iv) rà soát lại tập dữ liệu Các tài liệu được sử dụng ở đây là các bài viết được thu thập từ CNN (một trang tin tức của Mỹ) bằng cách sử dụng phương pháp cung cấp bởi Hermann và cộng sự [46] Các bài viết này bao gồm nhiều chủ đề khác nhau như kinh tế, khoa học, thể thao, chính trị, Tổng cộng tập dữ liệu này có hơn 120 nghìn cặp câu hỏi - câu trả lời.
XQuAD Tập dữ liệu XQuAD là một tập dữ liệu được tạo ra bằng cách dịch từ tập dữ liệu SQuAD v1.1 bằng Tiếng Anh sang mười ngôn ngữ khác nhau trong đó có Tiếng Việt Với tập kiểm tra (Test set), các nhà phát triển bộ dữ liệu XQuAD đã thông qua các dịch giả chuyên nghiệp để chuyển đổi ngữ liệu của tập SQuAD v1.1 sang các ngôn ngữ khác Với tập huấn luyện (Training set), XQuAD sử dụng một hệ thống tự động dịch để chuyển ngữ liệu sang các ngôn ngữ khác nhau.
Bảng 3.1 Thống kê số lượng cặp câu hỏi-đáp trong các tập dữ liệu dùng để tiền huấn luyện MRC tiếng Việt
Tập dữ liệu gốc 110,647 92,549 87,187 Áp dụng Kỹ thuật chuyển đổi CL 42,284 40,805 _ (TriviaQA: λ = 4350, NewsQA: λ = 3500) Áp dụng Kỹ thuật chuyển đổi AP (θ = 500, 40,285 36,310 _ α = 650)
Bảng 3.2 Thông số chi tiết của các bộ dữ liệu tiền huấn luyện MRC
Kỹ thuật chuyển đổi CL
Kỹ thuật chuyển đổi AP
Tập dữ liệu Số câu hỏi Độ dài TB Độ dài TB Độ dài TB đoạn văn câu hỏi câu trả lời
* Sử dụng tập translated-train của bộ dữ liệu XQuAD
Trong nghiên cứu này, em chỉ sử dụng tập train của XQuAD trong bước tiền huấn luyện của mô hình Bên cạnh đó, do hai tập ngữ liệu TriviaQA và NewsQA gốc được xây dựng cho Tiếng Anh cùng định dạng khác biệt, do đó em sẽ áp dụng kỹ thuật chuyển đổi các tập ngữ liệu ở ngôn ngữ giàu ngữ liệu sang ngôn ngữ khác(được trình bày ở phần 3.3) với hai tập dữ liệu này Thông tin chi tiết về hai tập dữ liệu TriviaQA và NewsQA sau khi áp dụng Kỹ thuật chuyển đổi CL và Kỹ thuật chuyển đổi AP được trình bày chi tiết ở Bảng 3.1 và Bảng 3.2, bao gồm bốn tập ngữ liệu mới khác nhau, mỗi tập có kích thước khoảng 40 nghìn câu trả lời Trong quá trình chuyển đổi tập ngữ liệu gốc sang ngôn ngữ khác, việc lựa chọn các ngưỡng để giảm độ dài trung bình ngữ cảnh vô cùng quan trọng và phụ thuộc vào từng tập ngữ liệu Nếu ngưỡng được lựa chọn quá thấp sẽ dẫn đến tình trạng tập dữ liệu được tạo ra chứa rất nhiều nhiễu Ngược lại, nếu các ngưỡng bị đặt quá cao sẽ khiến cho số lượng câu bị loại quá nhiều, dẫn đến tập dữ liệu thu được không đủ lớn để có thể sử dụng huấn luyện mô hình.
Tập dữ liệu cho huấn luyện tinh chỉnh
Tập dữ liệu QA (Question Answering) dành cho Tiếng Việt (UIT-ViQUAD [20]) được sử dụng để huấn luyện tinh chỉnh các mô hình Tập dữ liệu này có định dạng giống với tập dữ liệu SQuAD v1.1 với 23,074 cặp câu hỏi-câu trả lời dựa trên
174 bài viết được chọn ngẫu nhiên trong 5,000 bài viết bằng Tiếng Việt được xem nhiều nhất trên Wikipedia Thống kê về tập dữ liệu này được trình bày ở bảng 3.3, bao gồm thông tin chi tiết về số lượng bài viết đã được sử dụng, số lượng các đoạn văn, câu hỏi cũng như trung bình độ dài của các đoạn văn, câu hỏi và câu trả lời trong ba tập Train, Dev và Test của tập dữ liệu.
Bảng 3.3 Thống kê chi tiết tập dữ liệu UIT-ViQuAD
Số bài Số đoạn Số câu Độ dài TB Độ dài TB viết văn hỏi đoạn văn câu hỏi Độ dài TB câu trả lời
Các mô hình thực nghiệm
BERT (Bidirectional Encoder Representations from Transformers): Là một mô hình tiền huấn luyện cho các bài toán xử lý ngôn ngữ tự nhiên Mô hình được phát triển vào năm 2018 bởi các nhà nghiên cứu đến từ Google AI Language Mô hình được tiền huấn luyện trên một kho dữ liệu đa ngôn ngữ lớn theo cách tự giám sát (self-supervised) Điều này đồng nghĩa với việc mô hình chỉ được tiền huấn luyện trên các dữ liệu thô, không được đánh nhãn bởi người mà thay vào đó sử dụng một quy trình tự động để tạo ra đầu vào và nhãn từ các dữ liệu văn bản đó Việc sử dụng BERT cho một bài toán cụ thể tương đối đơn giản và có thể được sử dụng cho nhiều bài toán ngôn ngữ khác nhau, với việc chỉ cần thêm một lớp nhỏ vào lõi của mô hình. mBERT: Được phân tích kỹ trong bài báo "How Multilingual is Multilingual
BERT?", mBERT là một phiên bản đa ngôn ngữ của mô hình BERT được tiền huấn luyện với 104 ngôn ngữ có dữ liệu nhiều nhất trên Wikipedia Mô hình này đã thể hiện được sự hiệu quả hơn khi so sánh với BERT trong các ngôn ngữ ít tài nguyên ngữ liệu.
PhoBERT: Mô hình tiền huấn luyện PhoBERT [23] là mô hình ngôn ngữ hàng đầu hiện nay dành riêng cho Tiếng Việt Được phát triển bởi VinAI Research, mô hình đã thể hiện được sự ưu việt của nó so với các mô hình khác trong các tác vụ xử lý ngôn ngữ tự nhiên dành cho Tiếng Việt Hai phiên bản PhoBERT là "base" và "large" là mô hình ngôn ngữ đơn ngữ quy mô lớn đầu tiên được tiền huấn luyện cho tiếng Việt Phương pháp tiếp cận tiền huấn luyện của PhoBERT dựa trên RoBERTa, tối ưu hóa quy trình tiền huấn luyện của mô hình BERT để có hiệu suất tối ưu hơn PhoBERT được huấn luyện trên khoảng 20GB dữ liệu bao gồm khoảng 1GB từ Wikipedia Tiếng Việt và 19GB còn lại lấy từ các nguồn tin tức mới khác nhau của Tiếng Việt.
XLM-R: Được đề xuất vào năm 2020 bởi Conneau và cộng sự, XLM-R được đánh giá là một phương pháp mạnh để tiền huấn luyện các mô hình đa ngôn ngữ với lượng ngữ liệu sử dụng khổng lồ (lên tới 2.5TB dữ liệu huấn luyện), qua đó giúp tăng hiệu suất đáng kể cho một loạt tác vụ liên quan tới bài toán xử lý ngôn ngữ tự nhiên Mô hình này cho kết quả vượt trội đáng kể khi so với mô hình mBERT trên nhiều tác vụ khác nhau về xử lý ngôn ngữ tự nhiên Trong luận văn, em sẽ triển khai hai mô hình XLM-RBase và XLM-RLarge để đánh giá kết quả.
Zero-shot Learning: Đây là một phương pháp đặc biệt của phương pháp Học chuyển giao (Transfer Learning) mà ở đó các mô hình học sâu đã được huấn luyện trước với các bài toán tương tự hoặc tổng quan hơn và yêu cầu phải xử lý bài toán được đặt ra nhưng không được huấn luyện tinh chỉnh với dữ liệu của bài toán này.
Về cơ bản, mô hình sử dụng Zero-shot Learning sẽ sử dụng những kiến thức mà mô hình này học được trước đó để áp dụng trực tiếp vào bài toán hiện tại.
Các độ đo đánh giá Để đánh giá các mô hình, luận văn sử dụng hai độ đo đánh giá phổ biến trong lĩnh vực Xử lý ngôn ngữ tự nhiên cũng như các tác vụ Hỏi đáp dựa trên đọc hiểu, bao gồm Exact Match (EM) và F1-score.
EM: Với mỗi cặp câu hỏi - câu trả lời, nếu chuỗi các ký tự của câu trả lời do hệ thống Hỏi đáp dựa trên đọc hiểu dự đoán ra giống hoàn toàn câu trả lời trong tập kiểm thử của câu hỏi đó, khi đó EM bằng 1, ngược lại EM sẽ có giá trị bằng 0 Đây là một độ đo rất chặt chẽ dạng all-or-nothing (đúng hết hoặc sai), với giá trị bằng 0 dù câu trả lời được dự đoán ra chỉ sai khác một giá trị Đây là lí do ta cần một độ đo đánh giá khác có thể đo lường mức độ chính xác của câu trả lời được dự đoán so với câu trả lời chính xác trong tập dữ liệu.
HỆ THỐNG HỎI ĐÁP DỰA TRÊN ĐỌC HIỂU TIẾNG VIỆT
Kiến trúc tổng quan của hệ thống hỏi đáp dựa trên đọc hiểu
Mô hình hỏi đáp dựa trên đọc hiểu nhiều văn bản
Hình 4.1 mô tả mô hình chứa các thành phần xử lý logic chính trong hệ thống hỏi đáp đề xuất, bao gồm 3 phần: (i) Xếp hạng văn bản, (ii) chọn lựa đoạn văn và (iii) các đoạn văn được chọn lựa cuối cùng được đưa vào mô hình đọc hiểu để trích xuất ra câu trả lời.
Hình 4.1 Mô hình đề xuất cho bài toán Hỏi đáp dựa trên MRC
Kiến trúc đề xuất được dựa theo mô hình của nghiên cứu “Learning to Retrieve
Reasoning Paths over Wikipedia Graph for Question Answering” [33] Với kiến trúc này, trong bài báo Akari Asai và cộng sự đã đạt được kết quả tốt nhất hiện nay trên bộ dữ liệu SQuAD Open [31] Kiến trúc đã tận dụng được kết quả của mô hình đọc hiểu một đoạn văn bản cùng với đó là mở rộng thêm với mô-đun dùng để chọn lựa các đoạn văn liên quan.
Với dữ liệu tiếng Việt, để hoàn thành được kiến trúc đề xuất trên, luận văn cần hoàn thiện thêm hai thành phần chính gồm: (i) Xếp hạng tập văn bản dẫn chứng và (ii) chọn lựa đoạn văn Ở các phần 4.2 và 4.3 của chương sẽ trình bày chi tiết về các bước xây dựng nên hai thành phần này.
Kiến trúc hệ thống hỏi đáp đề xuất
Tiếp theo, luận văn đề xuất phát triển một hệ thống hỏi đáp hoàn chỉnh áp dụng các thành phần xử lý logic đã trình bày trong phần 4.1.1, nhằm giải quyết bài toán hỏi đáp dựa trên đọc hiểu trong thực tiễn.
Hình 4.2 Kiến trúc tổng quan của hệ thống hỏi đáp
Hình 4.2 mô tả kiến trúc tổng quan của hệ thống hỏi đáp Hệ thống đề xuất được xây dựng dựa trên framework Flask của Python với việc lưu trữ các văn bản dẫn chứng dạng văn bản trên cơ sở dữ liệu SQLite và một tệp lưu trữ ma trận trọng số TF-IDF của các văn bản dẫn chứng sẽ được trình bày chi tiết ở phần 4.2, cùng với thiết kế giao diện website sử dụng Bootstrap 3 Các cấu phần xử lý bên trong của hệ thống gồm: Mô-đun xếp hạng văn bản dựa trên ma trận TF-IDF, mô-đun chọn lựa văn bản sử dụng mô hình BERT-RNN được trình bày ở phần 4.3 và mô-đun đọc hiểu văn bản XLM-RLarge được lấy kết quả từ chương 3.
Việc chia nhỏ thành các mô-đun theo từng chức năng sẽ giúp cho việc phát triển hiệu năng của hệ thống sau này, khi mà ta có thể tối ưu lại cho từng khối chức năng mà không ảnh hưởng đến các chức năng khác Giúp hệ thống có tính mở rộng và thực tiễn cao Các phần tiếp theo của chương sẽ đi vào chi tiết các công việc để xây dựng các mô-đun trong hệ thống hỏi đáp đề xuất.
Mô-đun xếp hạng đoạn văn bản
Với bài toán hỏi đáp, một vài biến thể của TF-IDF thường được sử dụng trong các thành phần tìm kiếm như một công cụ chính để đánh giá và sắp xếp văn bản dựa vào truy vấn của người dùng( [30] [31]).
Một hệ thống hỏi đáp cần có một cơ sở dữ liệu để lưu trữ các đoạn văn bản và được sử dụng để đưa ra thông tin câu trả lời cho câu hỏi của người dùng Ở mô- đun xếp hạng văn bản của hệ thống được đề xuất sẽ sử dụng công thức TF-IDF để biểu diễn mức độ quan trọng của từ trong một tập ngữ liệu, ở đây chính là tập các đoạn văn dẫn chứng (D) Hình 4.3 biểu diễn ma trận TF-IDF của các từ trong tập ngữ liệu chung D, ma trận này sẽ được lưu lại để phục vụ việc tính toán so sánh với câu hỏi truy vấn đầu vào.
Hình 4.3 Ma trận TF-IDF của tập dữ liệu chung
Nhằm mục đích tận dụng lại nguồn dữ liệu tiếng Việt hỏi đáp dựa trên đọc hiểu chất lượng cao và dễ dàng so sánh hiệu quả với bài toán đọc hiểu một đoạn văn bản, em sử dụng lại toàn bộ các bộ đoạn văn, câu hỏi, câu trả lời có trong bộ dữ liệu UIT-ViQuAD Các đoạn văn bản dẫn chứng được tách riêng, tổng hợp lại và lưu trữ trong một cơ sở dữ liệu chung để phục vụ cho công việc truy xuất văn bản dẫn chứng ở những bước kế tiếp Việc xây dựng ma trận TF-IDF cũng sẽ được thực hiện trên tập cơ sở dữ liệu chung này.
Hình 4.4 mô tả lại việc sử dụng ma trận TF-IDF và tập cơ sở dữ liệu chung khi hệ thống có một câu hỏi truy vấn được truyền vào Câu hỏi sẽ được chuyển thành dạng véc-tơ TF-IDF sau đó thực hiện phép nhân ma trận với ma trận TF-IDF lưu trữ trong hệ thống, từ đó cho ra một véc-tơ trọng số biểu thị mức độ liên quan của câu hỏi với các đoạn văn trong cơ sở dữ liệu.
Hình 4.4 Quá trình xử lý câu hỏi để xếp hạng đoạn văn bản
Trong thực tế, mặc dù sau khi qua bước xếp hạng và chọn văn bản dựa trên TF-IDF thì số lượng đoạn văn bản được lọc ra vẫn lớn nhằm để đạt được độ chính xác tốt làm đầu vào cho các mô-đun phía sau, do đó giá trị K để lấy tập các văn bản liên quan nhất thường được cấu hình vào khoảng 200-500 tùy thuộc vào bộ dữ liệu khác nhau Do đó nếu ta áp dụng ngay mô-đun đọc hiểu vào toàn bộ K đoạn văn bản thì kết quả vẫn sẽ chưa thể đạt kết quả kỳ vọng và thời gian tính toán cũng sẽ tăng lên Vì vậy nghiên cứu đề xuất thêm một mô-đun sử dụng mô hình học sâuBERT-RNN để tăng cường độ chính xác cho việc lựa chọn các đoạn văn bản liên quan.
Mô-đun chọn lựa văn bản
Mô-đun giải quyết tác vụ “Chọn lựa văn bản” là một mô hình học sâu vì vậy cần phải có một bộ dữ liệu huấn luyện cho mô hình Các bộ dữ liệu đọc hiểu tiếng Việt hiện nay, đều chưa đáp ứng được cho bài toán “đọc hiểu trên nhiều đoạn văn bản” do phần đoạn văn đi kèm câu hỏi trong các bộ dữ liệu này đều chỉ là một đoạn văn.
Do đó, nhằm mục đích huấn luyện mô hình chọn lựa văn bản, luận văn đề xuất phương pháp xây dựng từ một bộ dữ liệu đọc hiểu tiếng Việt một đoạn văn bản thành bộ dữ liệu đọc hiểu nhiều đoạn văn bản và huấn luyện trên bộ dữ liệu mở rộng này.
Xây dựng bộ dữ liệu Tiếng Việt cho đọc hiểu nhiều văn bản
Bên cạnh việc xây dựng cơ sở dữ liệu và ma trận TF-IDF đã được trình bày ở mục 4.2, luận văn đề xuất thêm một quá trình để xây dựng bộ dữ liệu mới nhằm huấn luyện cho tác vụ “Chọn lựa các tập văn bản dẫn chứng” – Retrieval sử dụng mô hình BERT-RNN Việc tăng cường dữ liệu huấn luyện sẽ được thực hiện bằng cách mở rộng tập dữ liệu huấn luyện UIT-ViQuAD để áp dụng cho dạng bài toán đọc hiểu nhiều văn bản, cùng với dữ liệu thu thập qua công cụ tìm kiếm trên không gian mạng. Định dạng cấu trúc cho tập dữ liệu
Tập dữ liệu UIT-ViQuAD với thiết kế ban đầu nhằm cho mục đích giải quyết bài toán đọc hiểu một văn bản, vì vậy khi sử dụng lại bộ dữ liệu này để huấn luyện và đánh giá cho bài toán đọc hiểu nhiều văn bản, ta cần phải định dạng lại các trường thông tin cho phù hợp, em sẽ sử dụng định dạng dữ liệu từ bài báo
“Learning to Retrieve Reasoning Paths over Wikipedia Graph for Question Answering” [33] của Akari Asai và cộng sự, cấu trúc định dạng này có thể chuyển đổi trực tiếp dữ liệu dạng MRC đơn văn bản sang nhiều văn bản, ngoài ra còn có các trường thông tin để mở rộng bài toán về tương lai, khi mà câu trả lời cần được suy luận kết hợp thông tin từ nhiều đoạn văn Cấu trúc của tập dữ liệu phục vụ cho phần Retrieval được mô tả như hình 4.5 Các giá trị được sử dụng khi chuyển đổi từ bộ dữ liệu UIT-ViQuAD gồm: “question”, “q_id”, “context” và “short_gold”. Đặc biệt giá trị cho trường “context” ở đây sẽ là nhiều văn bản. Để thu thập các văn bản tăng cường cho trường dữ liệu “context”, em sử dụng việc kết hợp các văn bản ở trong tập ngữ liệu chung cùng với thu thập các đoạn văn bản thông qua công cụ tìm kiếm.
Hình 4.5 Cấu trúc dữ liệu cho thành phần chọn lựa đoạn văn bản
Với mục đích tạo ra mô hình có thể chọn lựa được đoạn văn bản liên quan nhất cho câu trả lời từ một tập các đoạn văn liên quan, quá trình xây dựng dữ liệu sẽ cần phải tạo thêm các văn bản tiêu cực (negative sample) cho thông tin ngữ cảnh (context) Mục đích là để mô hình chọn được đúng đoạn văn chứa câu trả lời giữa một tập các văn bản khác Ngoài ra các văn bản tiêu cực này còn cần phải đảm bảo có liên quan đến chủ đề của câu hỏi để mô hình có thể học được các thông tin cần thiết để nhiệm vụ phân biệt không quá dễ dàng, tránh hiện tượng over-fitting,nhưng cũng cần đủ tính khái quát và khác biệt để tránh việc không thể phân biệt được với văn bản gốc. Để thực hiện việc tìm ra các đoạn văn mang tính chất như vậy, em đánh giá các đoạn văn thu thập cần đạt hai yêu cầu: (i) Độ dài của các đoạn văn bản cần xấp xỉ độ dài trung bình của đoạn văn trong tập dữ liệu gốc và đảm bảo câu trả lời không nằm trong các đoạn văn thu thập được; (ii) Chủ đề và nội dung của các đoạn văn so với đoạn văn bản gốc cũng cần có sự tương đương ở một ngưỡng đảm bảo không bị trùng lặp cũng như lạc chủ đề.
Với yêu cầu thứ nhất, trong quá trình tìm kiếm văn bản, công cụ tìm kiếm sẽ trả về một tài liệu dài cho mỗi đường dẫn thu thập được Tài liệu của mỗi đường dẫn sẽ được chia nhỏ thành các đoạn văn với độ dài không dài quá 512 ký tự, và lọc bỏ các đoạn có chứa câu trả lời Các đoạn văn sau quá trình lọc để đáp ứng độ dài và đảm bảo không có câu trả lời nằm trong các đoạn văn thu thập Tiếp theo, tập đoạn văn này sẽ đi qua các bước xử lý nhằm loại bỏ các ký tự đặc biệt, các dấu câu thừa ở đầu đoạn và cuối đoạn, loại bỏ các thẻ HTML còn sót lại trong đoạn văn.
Với yêu cầu thứ hai em đã sử dụng mô hình SimCSE-BERT [51] một mô hình có khả năng biểu diễn ý nghĩa đoạn văn thành vec-tơ rất hiệu quả Lấy ý tưởng từ nhiệm vụ so sánh độ tương đồng trong lĩnh vực Xử lý ảnh, mô hình sử dụng hàm mất mát của cách học tương phản (Contractive learning) để tối ưu tham số của mô hình BERT và tìm ra các đặc trưng tương đồng của hai câu đầu vào trong quá trình huấn luyện Với tiếng Việt, mô hình này đã được phát triển bởi tác giả Phuc [52] và được công khai mã nguồn trên thư viện HuggingFace.
Hình 4.6 Trực quan hóa các câu được mã hóa bởi SimCSE-BERT
Các đoạn văn sau khi đảm bảo yêu cầu thứ nhất sẽ được mã hóa qua mô hìnhSimCSE-BERT với tiếng Việt Sau khi tiến hành mã hóa các đoạn văn bản thu thập được qua mô hình SimCSE-BERT, em sử dụng độ đo tương đương Cosine similarity theo công thức 4.1 để đánh giá mức độ tương đương nhau về mặt ngữ nghĩa của các đoạn văn bản thu thập với văn bản gốc. ൌ௧
Hình 4.6 là ví dụ các câu được mã hóa theo SimCSE-BERT, chứng minh tác dụng biểu diễn ý nghĩa về độ tương đồng của văn bản sau khi được mã hóa bởi SimCSE-BERT Tiếp theo, em áp dụng một ngưỡng để lọc bỏ các đoạn văn có độ tương đương thấp hoặc độ tương đương quá cao, từ đó thu thập được các đoạn văn bản thô đảm bảo yêu cầu của bộ dữ liệu Ngưỡng được lựa chọn sử dụng là: 0.4 –
0.8, em áp dụng quá trình lấy mẫu ngẫu nhiên và đánh giá thủ công các văn bản thu thập được để đưa ra ngưỡng này.
Ngoài ra nhằm tăng cường chất lượng các đoạn văn, em cũng sử dụng thêm các đoạn văn bản được cung cấp sẵn có cùng chủ đề trong bộ dữ liệu ViQuAD, các đoạn văn này được xếp hạng lại dựa theo ma trận TF-IDF đã trình bày ở bước trước và lấy tối đa 10 đoạn có điểm TF-IDF cao nhất Hình 4.7 mô tả quá trình tạo dữ liệu huấn luyện này Các đoạn văn sau khi thu thập được qua cả hai nguồn công cụ tìm kiếm và bộ dữ liệu gốc, sẽ được dùng làm giá trị cho thông tin “context” tương ứng cho mỗi câu hỏi của tập dữ liệu huấn luyện theo định dạng cấu trúc đã được trình bày đã mục 4.3.1.
Hình 4.7 Quá trình xây dựng dữ liệu nhiều văn bản
Mô hình chọn lựa đoạn văn bản
Sau khi xây dựng được bộ dữ liệu dùng cho việc huấn luyện mô hình BERT- RNN để chọn lọc ra các tập văn bản liên quan nhất Ở phần này, em sẽ trình bày về các thành phần chính trong mô-đun đọc hiểu nhiều văn bản và cách thức áp dụng các mô-đun trong hệ thông Hỏi đáp được đề xuất. Được đề xuất trong bài báo “Learning to Retrieve Reasoning Paths over
Wikipedia Graph for Question Answering” [33] , mô hình BERT-RNN được tạo ra để giải quyết cho bài toán đọc hiểu nhiều văn bản và còn phức tạp hơn khi mà để tìm ra câu trả lời, mô hình cần phải tìm ra một tập đoạn văn bản liên kết lẫn nhau, tổng hợp chúng lại, để đưa ra câu trả lời Tuy nhiên, với nội dung của luận văn, mô hình chỉ tìm ra câu trả lời từ một đoạn văn bản, không có quá trình tổng hợp các đoạn văn bản như bài báo gốc Hình 4.8 mô tả cho bài toán gốc được giải quyết trong bài báo.
Về lý do, luận văn chọn mô hình mạng này đó là trong bài báo gốc, mô hình cũng đã được thử nghiệm với bộ dữ liệu SQuAD Open với đặc điểm dữ liệu tương tự như bộ dữ liệu vừa được xây dựng theo phương pháp ở mục 4.3.1, chỉ tồn tại duy nhất 1 đoạn văn bản chứa câu trả lời Mô hình cũng đã đạt được kết quả cao nhất trên tập dữ liệu này Vì vậy mô hình sẽ được em sử dụng để giải quyết bài toán đọc hiểu với tập dữ liệu tự xây dựng.
Hình 4.8 Dạng bài toán gốc đọc hiểu nhiều văn bản trong bài báo BERT-RNN
Mô hình BERT-RNN gồm hai khối: (i) Khối mã hóa BERT; (ii) Khối chọn lựa các đoạn văn dẫn chứng sử dụng RNN Hình 4.9 mô tả cấu trúc của mô hình mạng BERT-RNN.
Mô-đun đọc hiểu văn bản
Với thành phần đọc hiểu của mô hình, em sẽ sử dụng lại mô hình XLM-RLarge kết hợp với phương pháp UtlTran đạt được từ kết quả thử nghiệm ở chương 3 Một điểm khác biệt là trong quá trình thử nghiệm, mặc dù đã mô hình chọn lọc văn bản BERT-RNN để tăng cường độ chính xác sau chọn lựa nên áp dụng thêm thuật toán BeamSearch với kích thước 10 vì vậy vẫn sẽ có 10 văn bản ở đầu vào của bước này Mô hình đọc hiểu sẽ cần chạy qua tất cả các đoạn văn đó và trả ra câu trả lời có xác xuất cao nhất.
Thử nghiệm và đánh giá
Nhằm mục đích đánh giá hệ thống hỏi đáp được đề xuất trên một tập dữ liệu chất lượng, vì vậy em lựa chọn bộ dữ liệu UIT-ViQuAD đã được dùng trong các thử nghiệm ở chương 3 Các tập đánh giá và kiểm thử của bộ dữ liệu sẽ được loại bỏ phần đoạn văn bản cung cấp kèm theo cho mỗi câu hỏi và chỉ giữ lại các cặp câu hỏi – câu trả lời, đối với tập huấn luyện sẽ chia thành hai phiên bản: Một phiên bản cho mô hình BERT-RNN chọn lựa các đoạn văn bản và phiên bản còn lại giữ nguyên định dạng để cho mô hình đọc hiểu XLM-RLarge đã được trình bày ở chương 3 Bộ dữ liệu sau khi chuyển đổi được em gọi là UIT-ViQuAD-Open.
Bảng 4.1 Thông số chi tiết của bộ dữ liệu UIT-ViQuAD Open
Số đoạn văn đi 4,957 N/A N/A kèm câu hỏi Đánh giá bộ dữ liệu UIT-ViQuAD-Open
Với việc xây dựng dữ liệu vẫn dựa trên bộ dữ liệu gốc UIT-ViQuAD nên đặc thù của bộ dữ liệu được xây dựng vẫn chỉ đáp ứng bài toán đọc hiểu với câu trả lời nằm duy nhất trong một đoạn văn bản, công việc thu thập dữ liệu các đoạn văn bản được trình bày ở mục 4.3.1 chỉ đóng góp thêm các đoạn văn bản nhiễu (negative sample) nhằm mục đích áp dụng bài toán gốc của đọc hiểu văn bản vào hệ thống hỏi đáp tốt nhất có thể Với tiếng Anh, các bộ dữ liệu được chuẩn bị kỹ càng hơn cho bài toán đọc hiểu nhiều văn bản như HotpotQA [16] sẽ đem lại độ chính xác cũng như tính ứng dụng cao hơn so với bộ dữ liệu được luận văn xây dựng Đây cũng là hướng để cải thiện bộ dữ liệu UIT-ViQuAD Open trong tương lai.
Bảng 4.2 So sánh bộ dữ liệu xây dựng với bộ dữ liệu HotpotQA
Số đoạn văn/01 câu hỏi 50 15
Số đoạn văn sử dụng để 03 01 suy diễn câu trả lời
Liên kết giữa các đoạn Có Không văn bản dẫn chứng
Thử nghiệm mô hình với bộ dữ liệu UIT-ViQuAD-Open Ởthử nghiệm này, nhằm mục đích xây dựng nên một phương pháp tổng thể kết hợp cả ba lớp đã được phát triển ở chương 3 và chương 4 và đặc biệt là đánh giá hiệu quả của phương pháp UtlTran khi được sử dụng ở một hệ thống hỏi đáp dựa trên đọc hiểu nhiều văn bản.
Bảng 4.3 Kết quả thử nghiệm trên tập test-open UIT-ViQuAD của giải pháp UtlTran
TF-IDF + BERT-RNN + XLM-R Large 42.67 56.79
TF-IDF + BERT-RNN + UtlTran + XLM-RLarge 50.36 65.83
Kết quả thử nghiệm cho thấy, hệ thống đề xuất tuy có giảm độ chính xác đi khi đánh giá trên tập test của UIT-ViQuAD, đây là điều dễ hiểu vì độ khó của tập dữ liệu lúc này đã tăng lên, do không còn đoạn văn bản dẫn chứng đi kèm với câu hỏi làm đầu vào nữa mà mô hình phải tự tìm ra đoạn văn này từ tập dữ liệu chung Một điểm đáng chú ý ở đây chính là việc áp dụng kỹ thuật UtlTran tiền huấn luyện mô hình đọc hiểu trên bộ dịch liệu dịch đem lại hiệu quả vượt trội với chênh lệch khoảng 9% F1 khi so sánh với việc không áp dụng kỹ thuật UtlTran.
Minh họa hệ thống hỏi đáp tiếng Việt đề xuất
Hình 4.11 Giao diện máy tính của hệ thống thử nghiệm
Hình 4.12 Giao diện điện thoại của hệ thống
Hình 4.13 Giao diện hỏi đáp ngắn gọn
Ngoài chức năng hiển thị ngắn gọn câu trả lời cho người dùng được minh họa như hình 4.13 Hệ thống còn được phát triển thêm chức năng hiển thị đầy đủ thông tin dẫn chứng liên quan đến câu trả lời được minh họa trong hình 4.14 Người dùng chỉ cần chạm vào câu trả lời trên giao diện thì thông tin dẫn chứng liên quan sẽ xuất hiện, điều này giúp thuận tiện trong quá trình tìm kiếm thêm thông tin.
Hình 4.14 Chức năng hiện thị toàn bộ thông tin
Hình 4.15 Một vài ví dụ hỏi đáp trên hệ thống