Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
1,73 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH ——————– * ——————— LUẬN VĂN TỐT NGHIỆP Xây Dựng Hệ Thống Hỏi-Đáp HỘI ĐỒNG: Khoa học máy tính GVHD: TS Nguyễn Đức Dũng GVPB: ThS Băng Ngọc Bảo Tâm —o0o— Sinh viên thực hiện: Trần Xuân Hội MSSV: 1711457 Hồng Đình Khang MSSV: 1711679 TP HỒ CHÍ MINH, 08/2021 Lời cam đoan Chúng tơi xin cam đoan cơng trình nghiên cứu riêng hướng dẫn Tiến sĩ Nguyễn Đức Dũng Nội dung nghiên cứu kết trung thực chưa công bố trước Các số liệu sử dụng cho trình phân tích, nhận xét chúng tơi thu thập từ nhiều nguồn khác ghi rõ phần tài liệu tham khảo Ngồi ra, chúng tơi có sử dụng số nhận xét, đánh giá số liệu tác giả khác, quan tổ chức khác Tất có trích dẫn thích nguồn gốc Nếu phát có gian lận nào, chúng tơi xin hồn tồn chịu trách nhiệm nội dung thực tập tốt nghiệp Trường đại học Bách Khoa thành phố Hồ Chí Minh không liên quan đến vi phạm tác quyền, quyền chúng tơi gây q trình thực Lời ngỏ Trước hết, xin gửi lời cảm ơn chân thành đến TS Nguyễn Đức Dũng, giảng viên hướng dẫn đề cương luận văn người thầy gắn bó với chúng tơi nhóm nghiên cứu khoa học thời gian làm luận văn tốt nghiệp Nhờ kiến thức thầy truyền đạt, tinh thần, động viên, hướng dẫn góp ý từ thầy giúp chúng tơi hồn tất đề cương luận văn cách tốt Chúng xin gửi lời cảm ơn đến thầy cô trường Đại học Bách Khoa, đặc biệt thầy cô công tác Khoa Khoa học Kỹ thuật Máy tính truyền đạt kiến thức tảng quý báu để thời gian vừa qua Cuối cùng, xin cảm ơn gia đình bạn bè, người ln bên cạnh ủng hộ lựa chọn hướng Tóm tắt nội dung Hiện lĩnh vực nghiên cứu toán liên quan đến lĩnh vực học sâu ngày nhận nhiều ý Bên cạnh xử lý ảnh, xử lý ngôn ngữ tự nhiên ứng dụng vào nhiều hệ thống đại đặc biệt ứng dụng có liên quan đến ngôn ngữ âm Hiện tại, toán lĩnh vực trọng phát triển để cải tiến hiệu nhờ vào phát triển liệu, kĩ thuật mạng học sâu khả tính tốn nhanh máy tính Một tốn xử lý ngơn ngữ tự nhiên tốn Hỏi-đáp, đề tài nhóm chúng tơi tập trung tìm hiểu giải tốn Hỏi-đáp cho tiếng Anh tiếng Việt Đầu tiên khảo sát nghiên cứu liên quan đến toán, phân loại toán hướng tiếp cận để giải từ trước đến Từ chúng tơi chọn hướng tiếp cận kết hợp Xử lý ngôn ngữ tự nhiên học sâu, đồng thời tìm hiểu số mơ hình tiêu biểu đưa để giải toán chọn mơ hình thích hợp làm tảng, chúng tơi áp dụng thành công vài cải tiến mơ hình tảng Ngồi việc khảo sát tập liệu huấn luyện quan trọng liệu nhân tố tiên tốn Đối với tiếng Anh chúng tơi khảo sát lựa chọn tập liệu SQuAD, tập liệu dùng nhiều mục đích nghiên cứu đánh giá mơ hình Đối với tiếng Việt, nhóm sử dụng mơ tập liệu tiếng Việt xây dừng từ trước để thực Mục lục Giới thiệu toán Hỏi - Đáp 1.1 Tổng quan toán Hỏi-đáp 1.2 Động lực thực 1.3 Mục tiêu phạm vi đề tài 1.4 Cấu trúc luận văn tốt nghiệp 1 Khảo sát nghiên cứu liên quan 2.1 Khái quát chung 2.1.1 Sự phát triển toán 2.1.2 Động lực phát triển 2.1.3 Bài toán đọc-hiểu toán hỏi-đáp 2.1.4 Hàm lượng giá 2.2 Tập liệu 2.2.1 Dữ liệu cho tiếng Anh 2.2.2 Dữ liệu cho tiếng Việt 2.3 Mơ hình học sâu với tốn Hỏi-đáp 5 5 7 10 10 Kiến thức tảng 3.1 Convolutional Neural Network (CNNs) 3.1.1 Convolution 3.1.2 Kiến trúc CNNs 3.2 Recurrent Neural Network 3.3 Long Short Term Memory (LSTM) 3.4 Depth Wise Convolution 3.5 Attention 3.6 Self-attention 3.7 Các thư viện hỗ trợ lập trình 12 12 12 12 13 14 16 17 19 19 Kiến trúc mơ hình Hỏi-đáp 4.1 Những điểm đổi mơ hình QANet 4.2 Phân tích kiến trúc mơ hình 4.3 Đề xuất ý tưởng cải tiến 4.3.1 QANet với kiến trúc Universal Transformer 22 22 23 27 27 Hiện thực mơ hình 5.1 Tiền xử lý liệu 5.2 Huấn luyện mơ hình 5.3 Công đoạn huấn luyện mơ hình 31 31 36 38 i Xây dựng mơ hình Hỏi-đáp tiếng Việt 6.1 Tập liệu tiếng Việt 6.2 Hiện thực mơ hình hỏi đáp Tiếng việt 6.3 Phân tích tập liệu tiếng Việt 39 39 43 44 Thí nghiệm Kết 7.1 Phương pháp đánh giá 7.2 Kết mơ hình tiếng Anh 7.2.1 Trên tập liệu SQuAD v1.1 7.2.2 Kết kiểm thử 7.2.3 Trên tập liệu SQuAD v2.0 7.3 Kết tập liệu tiếng Việt 7.4 Xây dựng giao diện ứng dụng: 7.4.1 Mục tiêu: 7.4.2 Mơ hình ứng dụng: 7.4.3 Giao diện tính trả lời câu hỏi: 7.4.4 Giao diện tính hỗ trợ tạo liệu: 46 46 46 46 47 49 50 55 55 56 57 57 Tổng kết 8.1 Kết đạt 8.2 Hạn chế 8.3 Hướng phát triển 59 59 60 60 Danh sách bảng 2.1 2.2 Bảng thống kê loại câu hỏi tập liệu SQuAD Những từ liên quan cho việc suy luận in đậm Câu trả lời gạch chân 4.1 Cấu hình tham số mơ hình ALBERT so với mơ hình BERT 27 6.1 Thống kê tỉ lệ loại câu trả lời tập liệu tiếng Việt 45 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 Các kết thử nghiệm mơ hình QANet tập SQuAD v1.1 Thơng tin cấu hình chi tiết mơ hình QANet Thơng tin cấu hình chi tiết mơ hình QANet cải tiến Mô hình QANet với Universal Transformer tập SQuAD v1.1 Kết huấn luyện mơ hình QANet tập liệu SQuAD v2.0 Số lượng tập liệu tiếng Việt trước sau xử lý Thơng tin cấu hình chi tiết mơ hình QANet tiếp Việt Các kết thử nghiệm tập tiếng Việt Những ví dụ điểm liệu tối nghĩa 48 48 49 49 50 50 51 52 53 iii Danh sách hình vẽ 1.1 1.2 Mơ hình hệ thống hỏi đáp Ứng dụng hệ thống hỏi đáp vào cơng cụ tìm kiếm Google 2.1 2.2 Số lượng báo lĩnh vực đọc hiểu Thống kê số lượng tập liệu F1 socre mơ hình state-of-the-art mơ hình 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Ví dụ Convolution Kiến trúc đơn giản CNNs cho toán phân lớp ảnh Mạng Recurrent Neural Network LSTM unit LSTM ’s gates Chia kernel × thành kernel × Mơ hình sequence-to-sequence Attention layer Minh họa cho tầng self-attention 13 13 14 15 15 16 18 18 20 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 Sự minh họa cho trình làm giàu liệu Mô hình tổng quan QANet Ma trận tương quan Attention Layer Ma trận row-wise softmax A ALBERT đạt state-of-the-art SQuAD RACE benchmarks Mơ hình tổng quan Universal Transformer Trạng thái tính tốn khối Encoder Block Universal Transformer Mơ hình QANet với kiến trúc Transformer 22 23 25 26 28 28 29 30 7.1 7.2 7.3 Đồ thị hàm mát tập huấn luyện (train) trình huấn luyện Đồ thị hàm mát tập phát triển (dev) trình huấn luyện Đồ thị hàm mát tập huấn luyện (train) trình huấn luyện tập liệu tiếng Việt Đồ thị hàm mát tập phát triển (dev) trình huấn luyện tập liệu tiếng Việt Ma trận tương quan văn câu hỏi ví dụ Mơ hình ứng dụng Màn hình trải nghiệm tính dự đoán câu trả lời hệ thống Màn hình tính tạo liệu(1) Màn hình tính tạo liệu(2) 47 47 7.4 7.5 7.6 7.7 7.8 7.9 iv 51 51 54 56 57 58 58 Chương Giới thiệu tốn Hỏi - Đáp Hiện cơng phát triển lĩnh vực Trí tuệ nhân tạo ngày phát triển mạnh mẽ, Xử lý ngôn ngữ tự nhiên nhánh nghiên cứu tốn liên quan đến ngơn ngữ phát triển khơng ngừng Những tốn kể đến lĩnh vực xử lý ngôn ngữ tự nhiên như: Sentiment Analysis, Name Entity Regconition, Machine Translation, Automatic Summarization, Question Answering Hệ thống hỏi đáp (Question Answering) dạng truy vấn thông tin Cho trước đoạn văn mô tả, hệ thống hỏi đáp nhằm mục tiêu đưa câu trả lời phần đoạn văn mơ tả đưa vào Hiện cách tiếp cận xử dụng nhiều học máy học sâu, không thiết phải nhà ngôn ngữ học người nắm vững ngơn ngữ học làm Hiện có nhiều cơng ty lớn Google, Facebook IBM trường đại học lớn giới MIT, Stanford đầu tư nhiều vào việc nghiên cứu lĩnh Ở Việt Nam, lĩnh vực xử lý ngôn ngữ tự nhiên chưa phát triển Trong phần này, giải thích hệ thống hỏi đáp (Question Answering), nêu lại chọn đề tài làm hướng nghiên cứu Từ vạch mục tiêu tốn, cơng việc cần phải làm Đồng thời, giới hạn phạm vi nghiên cứu trình bày cấu trúc luận văn chung 1.1 Tổng quan toán Hỏi-đáp Trong suốt chiều dài lĩnh vực xử lý ngôn ngữ tự nhiên, dạy cho máy tính cách đọc văn hiểu chúng nghiên cứu quan trọng chưa giải cách đầy đủ Để hồn thành cơng việc này, nhà nghiên cứu tạo hướng nghiên cứu “đọc hiểu” (machine reading comprehension - MRC) với tập liệu lớn, cơng cụ tính tốn mạnh kĩ thuật học sâu thúc đẩy hướng phát triển lĩnh vực xử lý ngôn ngữ tự nhiên Trong cộng đồng xử lý ngôn ngữ tự nhiên, MRC nhận nhiều ý năm gần [23], [8] “Đọc hiểu” ứng dụng nhiều hệ thống xử lý ngôn ngữ tự nhiên search engine hệ thống hội thoại Hình 1.2 ví dụ, nhập câu hỏi vào cơng cụ search Google Google trả lời câu trả lời xác cho câu hỏi Giả sử đọc tác phẩm Sherlock Holmes Và có câu hỏi đơn giản “ai người bạn thân nhân vật Sherlock Holmes tác phẩm này?” Thay đọc hết qua tác phẩm, với hệ thống hỏi đáp có cặp đầu vào đoạn văn - câu hỏi, hệ thống “tìm” câu trả lời, John Waston Một cách chi tiết hơn, hệ thống dựa THÍ NGHIỆM VÀ KẾT QUẢ Mơ hình QANet1 QANet2 QANet3 QANet4 F1 78.4 78.9 79.26 80 EM 69 69.7 70.22 70.6 Bảng 7.1: Các kết thử nghiệm mơ hình QANet tập SQuAD v1.1 Mơ hình QANet1 QANet2 QANet3 QANet4 Thông tin chi tiết GLoVe, word dim = 100, connector dim = 96,multihead = 1, batch size = 32 GLoVe, word dim = 300, connector dim = 128,multihead = 2, batch size = 16 fasttext, word dim = 300, connector dim = 128, multihead = 1, batch size =32 fasttfext, word dim = 300, connector dim = 128,multihead = 4, batch size =32 Bảng 7.2: Thông tin cấu hình chi tiết mơ hình QANet (+0.5) điểm EM 69.7 (+0.7) Tập mã hóa fasttext tạo gần đây, mã hóa từ ngữ tốt so với GLoVe, thay GLoVe fasttext với kích thước 300-D, điểm F1/EM 79.26/70.2 (+0.36/+0.32) tăng so với GLoVe 300-D với F1/EM 78.9/69.7 Ngoài số lượng head chế self-attention yếu tố giúp mơ hình xây dựng Transformer có hiệu cao, nhóm thử nghiệm với số head kết tốt mô hình QANet mà nhóm huấn luyện Nhóm cân nhắc thay số head giới hạn phần cứng nên nhóm chưa thử nghiệm So với mơ hình gốc báo F1/EM 82.7/73.6 kết Tuy nhiên nhóm nhận thấy kết thấp yếu tố sau Thứ nhất, giới hạn tài ngun tính tốn nhóm dùng tối đa head so với sead tầng self-attention báo gốc Thứ hai, chúng tơi xây dựng mơ hình framework PyTorch khác với mơ hình nhóm tác giả thực framework TensorFlow Kết cải tiến Chúng tơi có chút cải tiến áp dụng khối Encoder mơ hình Universal Transformer để áp dụng vào mơ hình QANet thu vài kết khả quan Mơ hình QANet với kiến trúc Universal Transformer chúng tơi chọn cấu hình giống mơ hình QANet3, khác chỗ chúng tơi thay khối Encoder Block tầng Embedding Encoder Layer mơ hình QANet khối Recurrent Encoder Block Universal Trasformer Block Chúng tơi có thử thay khối Recurrent tầng Model Encoder chúng tơi thấy khơng hiệu tầng tầng suy diễn vị trí bắt đầu vị trí kết thúc câu trả lời, việc dùng tùy ý số lần tính tốn để dự đốn vị trí câu trả lời khơng hợp lí Chúng tơi thử nghiệm với số lần tối đa tính tốn Trong với số lần tính tốn tối đa chế ACT khiến cho kết giảm đi: F1/EM 78.83/69.59 (-0.43/-0.64), nhiên dùng với số lần tính tốn tối đa mơ hình F1/EM tăng: 79.98/70.9 (+0.72/+0.68) Điểm EM tốt chế cải tiến cịn cao mơ hình tốt bên QANet (+0.3) với số head chế cải tiến dùng số head Thời gian huấn luyện mơ hình với cải tiến khoảng 12h nhiên số lượng GPU cần cho việc tính tốn tăng lên số khối Encoder tính tốn mạng tăng lên chung 48 THÍ NGHIỆM VÀ KẾT QUẢ Mơ hình QANetUT1 QANetUT2 Thông tin chi tiết fasttext, word dim = 300, connector dim = 128,multihead = 1, batch size =32, numblock = fasttext, word dim = 300, connector dim = 128,multihead = 1, batch size =16, numblock = Bảng 7.3: Thơng tin cấu hình chi tiết mơ hình QANet cải tiến QANet3 QANetUT1 QANetUT2 F1 79.26 78.83 79.98 EM 70.22 69.59 70.9 Bảng 7.4: Mơ hình QANet với Universal Transformer tập SQuAD v1.1 trọng số mô hình 7.2.3 Trên tập liệu SQuAD v2.0 Khi thực mơ hình tập liệu SQuAD v2.0 [15] đời đặt nhiều thách thức cho mơ hình Hỏi-đáp tại, tập liệu có câu hỏi khơng có câu trả lời trong SQuAD v1.1 chắn có câu trả lời Điều khiến mơ hình phải học trường hợp chi tiết không dễ dàng suy đốn kết quả; mơ hình dễ bị "lừa" từ gần nghĩa tập liệu Chúng đặt mục tiêu huấn luyện mơ hình QANet tập SQuAD v2.0 Nhìn chung huấn luyện SQuAD v2.0 khơng có thay đổi so với SQuAD v1.1, nhiên điểm khác biệt câu hỏi khơng có câu trả lời khiến phải thay đổi lại cách tiền xử lý liệu Vì mơ hình chúng tơi thực, trả vị trí bắt đầu vị trí kết thúc cho câu hỏi nằm đoạn văn Những câu hỏi khơng có câu trả lời phải điểm liệu tập huấn luyện Tuy nhiên với điểm liệu khơng có câu trả lời? Vì vector biểu diễn đoạn văn lúc vị trí mảng giá trị index tương ứng từ mà từ vị trí index tra vector biểu diễn từ Ở bước tiền xử lý liệu, với câu hỏi khơng có câu trả lời chúng tơi gán cho vị trí bắt đầu kết thúc -1 câu hỏi có câu trả lời khơng thay đổi so với cách tiền xử lý trước Tiếp đến lưu lại liệu dạng numpy, đến load liệu lên để tạo tập liệu, thêm giá trị vào đầu đoạn văn; giá trị index tương ứng với từ “–OOV–” (out of vocabularry) Ví dụ với chiều dài tối đa văn 400 mà xét bước tiền xử lý, lúc 401 sau chèn thêm phần tử Sau chúng tơi tăng giá trị cho vị trí bắt đầu kết thúc lên Như với câu hỏi khơng có câu trả lời lúc vị trí bắt đầu kết thúc 0, cịn câu hỏi có câu trả lời vị trí bắt đầu kết thúc tăng lên 1, thêm phần tử vào đầu mảng nên giải chuyện Mô hình lúc huấn luyện rồi, với câu hỏi khơng có câu trả lời mơ hình có giá trị thực tế cho từ bắt đầu kết thúc Còn câu hỏi cịn lại từ đoạn văn Thời gian huấn luyện cho SQuAD v2.0 tốn khoảng 32 tiếng huấn luyện Vì với tập SQuAD v2.0 không áp dụng cải tiến SQuAD v1.1 mà chạy mơ hình để quan sát kết Về cấu hình chi tiết mơ hình, chúng tơi chạy mơ hình có cấu QANet3 thử 49 THÍ NGHIỆM VÀ KẾT QUẢ QANet on SQuAD2 F1 66.5 EM 63.1 Bảng 7.5: Kết huấn luyện mơ hình QANet tập liệu SQuAD v2.0 nghiệm tập liệu SQuAD v1.1 bảng 7.2, cấu hình mà chúng tơi thử nghiệm tập SQuAD v2.0 Kết mà thu với F1/EM 66.5/63.1 gần ngang thấp điểm % với kết thống kê chạy QANet tập liệu Tuy nhiên áp dụng chế để thực huấn luyện SQuAD v2.0 PyTorch Điều thấy tập liệu làm giảm kết F1/EM đáng kể; ví dụ F1_score từ 80% xuống 66.5% Tập liệu tập liệu dùng cho mô hình hỏi đáp sau Trong trình huấn luyện SQuAD v2.0 tham khảo nhiều mã nguồn khác có cách dẫn đến huấn luyện kết kém, sau cách chúng tơi áp dụng trình bày áp dụng mã nguồn từ Stanford CS224n 7.3 Kết tập liệu tiếng Việt Tập liệu Tập liệu mà Dữ liệu huấn luyện Dữ liệu đánh giá Dữ liệu kiểm thử Tổng cộng Trước tiền xử lý 5247 672 710 6629 Sau tiền xử lý 5110 650 687 6447 Tỉ lệ 80% 10% 10% 100% Bảng 7.6: Số lượng tập liệu tiếng Việt trước sau xử lý Quá trình huấn luyện kiểm thử Cấu hình chung mơ hình QANet ngơn ngữ tiếng Việt khơng có thay đổi nhiều so với tiếng Anh Kích thước bó chúng tơi chọn 16 mơ hình tiếng Việt Như trình bày mục 6.2, tập mã hóa từ vựng nhóm chúng tơi dùng tập mã hóa với từ có kích thước 100-D dùng thư viện Pyvi hỗ trợ cho việc tiền xử lý Với tập liệu huấn luyện khoảng 6600 điểm liệu, mô hình chúng tơi huấn luyện xấp xỉ khoảng 30 phút huấn luyện Google Colab Vì mơ hình huấn luyện nhanh nên chúng tơi có nhiều thử nghiệm mơ hình Hình 7.3 ta thấy mơ hình hội tụ bước 6000, với bước bó liệu huấn luyện, hàm mát tập huấn luyện dao động quanh giá trị 2; hình 7.4 từ bước 3500 đến bước 6000, hàm mát mơ hình khơng thay đổi nhiều mà dao dộng quanh giá trị Vì sau vài q trình huấn luyện, chúng tơi áp dụng chế early stopping để dừng trình huấn luyện mơ hình lại Trong huấn luyện mơ hình học sâu điều quan tâm hàm mát tập phát triển tập kiểm thử kết phần phản ánh liệu thực tế mà gặp phải Bidaf on SQuAD v2.0 tham khảo tại: https://github.com/chrischute/squad 50 THÍ NGHIỆM VÀ KẾT QUẢ Hình 7.3: Đồ thị hàm mát tập huấn luyện (train) trình huấn luyện tập liệu tiếng Việt Hình 7.4: Đồ thị hàm mát tập phát triển (dev) trình huấn luyện tập liệu tiếng Việt Chúng tơi có đến gần 10 thử nghiệm cho mơ hình tiếng Việt xong chúng tơi xin tóm gọn kết cao đạt Với mơ hình QANet tiếng Việt kết tốt mà huấn luyện với điểm F1/EM 76.2/61.8 với thơng số mơ hình: số lượng head chế self-attention 2, kích thước bó kích thước tầng ẩn 128, thơng số tầng giữ ngun so với mơ hình tiếng Anh Kết trình chạy tập liệu tiếng Việt chúng tơi tóm tắt bảng 7.8 Chúng ta nhận thấy kết mơ hình cải tiến lại thấp so với mơ hình QANet gốc, đề cập đến số tồn tập liệu đề cập phía Với việc áp dụng chế Universal Transformer mơ hình QANet vào tập liệu tiếng Việt Cũng với nhiều thử nghiệm xong thu kết cao 75.3/60.4, mơ Mơ hình QANet5 QANetUT3 Thơng tin chi tiết ml4u_embedding, word dim = 100, connector dim = 128,multihead = 2, batch size =8 ml4u_embedding, word dim = 100, connector dim = 128,multihead = 1, batch size = 16, numblock = Bảng 7.7: Thơng tin cấu hình chi tiết mơ hình QANet tiếp Việt 51 THÍ NGHIỆM VÀ KẾT QUẢ QANet5 QANetUT3 F1 76.2 75.3 EM 61.8 60.4 Bảng 7.8: Các kết thử nghiệm tập tiếng Việt hình với số lượng head 1, kích thước bó 16 tầng ẩn 128 Chúng đến vài nhận xét huấn luyện mơ hình tiếng Việt sau • QANet thơng thường: việc huấn luyện với mơ hình có kích thước bó đạt kết tốt so với 16 Số lượng head tốt so với head Chúng nghĩ tập liệu nhỏ việc huấn luyện với số bó lớn khiến mơ hình khó hội tụ • QANet với Universal Transformer:: mơ hình QANet với Universal Transformer đạt kết khả quan huấn luyện với kích thước bó lớn 16 Vì chúng tơi thực số phân tích tập kết Chúng thực phân tích lí mơ hình Universal Transformer lại đạt kết không cao cách xem xét điểm liệu tập phát triển Chúng tiến hành quan sát 70 điểm liệu tập phát triển chúng tơi nhận thấy có 16 điểm liệu (chiếm 22%) có nhiều điểm tồn như: câu trả lời khơng xác, câu hỏi với cụm từ không liên qua đến đáp án, câu trả lời dài khơng xúc tích Có thể với tồn 650 điểm liệu có nhiều lỗi Bảng 7.9 đề cập ví dụ tiêu biểu số 16 điểm liệu có vấn đề phân tích lí chúng tơi nghĩ Với ví dụ đầu, câu hỏi “Người Tuatha de Danaan xuất thần thoại nào?”; ta thấy đoạn văn có đề cập đến hầm tỉnh Down nói dẫn đến vùng đất người “Tuatha de Danaan” khơng có nghĩa Tuatha de Danaan xuất thần thoại Alien Câu hỏi khó, người đọc hiểu đề cập thần thoại Alien đầu câu nên đáp án Alien mơ hình khơng Câu hỏi khiến chúng tơi với vai trị người đọc thắc mắc đáp án câu hỏi Ta thấy mơ hình hiểu đối tượng cần trả lời với câu hỏi chứa từ “thần thoại” Với ví dụ thứ 2, câu hỏi nghĩa từ “photon” tài liệu tiếng Việt, đoạn văn chứa câu đơn “photon dịch tử”, từ “dịch” đoạn văn theo ý kiến không tương đương với từ “nghĩa” câu hỏi chúng tơi nghĩ câu hỏi nên cần thay đổi để điểm liệu xác Trên hình 7.5 biểu diễn tương quan câu hỏi với đoạn văn; thấy từ “nghĩa là” có câu hỏi đoạn văn.Chúng ta thấy từ “nghĩa là” đoạn có tương quan cao với từ “nghĩa ” câu hỏi, từ “dịch” có tương quan Điều dẫn đến đưa qua tầng Model Encoder mơ hình dự đốn kết “âm thanh” câu trả lời thực tế điểm liệu “thanh tử” Với việc sau đổi từ “nghĩa” câu hỏi thành từ “dịch” lúc từ dịch đoạn văn lúc có tương quan cao với từ dịch câu hỏi; lúc mơ hình dự đốn kết câu trả lời “thanh tử” phù hợp với câu trả lời thực tế đề cập bảng 7.9 Chúng tơi đưa vài ví dụ vài điểm liệu tập liệu chưa đạt độ xác cao có sở Việc lạm dụng từ đồng nghĩa việc tạo tập liệu lại làm cho vài điểm liệu bị sai lệch Việc điểm chưa vài điểm liệu khơng có nghĩa tập liệu giảm bớt tính ứng dụng tập liệu Chúng ta thấy mô hình QANet đạt điểm F1_score 76% kết khả quan Tuy nhiên câu hỏi khó mơ hình chưa trả lời được, điều chúng tơi cho tập liệu chưa đủ lớn câu hỏi chưa đủ đa dạng Song với kết thu nghĩ khởi đầu cho việc nghiên cứu tốn Hỏi-đáp với tiếng Việt mơ hình học sâu 52 THÍ NGHIỆM VÀ KẾT QUẢ STT Ví dụ Đoạn văn: Trong thần thoại Celtic có truyền thuyết hang động gọi "Cruachan", hay biết đến "cổng địa ngục Ireland", hang động huyền thoại cổ xưa mà theo truyền thuyết nói xưa sinh vật lạ chui lên, nhìn thấy mặt đất Ngồi cịn có câu chuyện hiệp sĩ thời trung cổ vị thánh hành hương đến hang động nằm Station Island, tỉnh Donegal Ireland Tại đây, họ thực hành trình vào lịng đất để đến luyện ngục Thần thoại Ailen cho đường hầm tỉnh Down, phía Bắc Ireland, dẫn đến vùng đất người Tuatha de Danaan, tộc người cho truyền dạy đạo Druid (một tơn giáo cổ) cho người Ireland, sau quay trở lại lòng đất Câu hỏi:Người Tuatha de Danaan xuất thần thoại nào? Câu trả lời dự đoán: Celtic Câu trả lời thực tế: Alien Đoạn văn:Chữ photon có nguồn gốc từ tiếng Hy Lạp, nghĩa âm thanh, photon bước sóng dài lan truyền âm Khái niệm photon lần đề xuất nhà vật lý Nga Igor Tamm Ở số tài liệu tiếng Việt cũ, photon dịch tử Câu hỏi:Ở số tài liệu tiếng Việt cũ, photon nghĩa gì? Câu trả lời dự đoán: âm Câu trả lời thực tế: tử Mức độ Nhận xét chung Khó Đoạn văn tối nghĩa Trung bình Câu hỏi sai Bảng 7.9: Những ví dụ điểm liệu tối nghĩa 53 THÍ NGHIỆM VÀ KẾT QUẢ (a) (b) Hình 7.5: Ma trận tương quan văn câu hỏi ví dụ 54 THÍ NGHIỆM VÀ KẾT QUẢ 7.4 Xây dựng giao diện ứng dụng: 7.4.1 Mục tiêu: Để biểu diễn khả mơ hình huấn luyện, nhóm xây dựng giao diện ứng dụng web để người dùng sử dụng Ứng dụng web có hai tùy chọn sử dụng dùng mơ hình tiếng Anh dùng mơ hình tiếng Việt sử dụng thông qua nút bấm Cả hai tùy chọn dùng chung form cho phép nhập vào đoạn văn ngữ cảnh, nhập vào đoạn văn nút gửi yêu cầu Ứng dụng web tự gửi yêu cầu đến api tương ứng server tùy thuộc vào lựa chọn mơ hình người dùng Server thực api dùng để dự đốn cho mơ hình tiếng Anh cịn lại dành cho tiếng Việt Dữ liệu gửi cho máy chủ có định dạng tập tin JSON với cấu trúc: Ví dụ Cấu trúc yêu cầu gửi tới server xử lí: { ’context’: ’Và Harry lần giới phép thuật liên lạc, cậu nhận thư từ Trường Phù thủy Pháp sư Hogwarts gửi tới’, ’question’: ’Harry nhận thư từ ai?’, } Trong context đoạn văn ngữ cảnh, question câu hỏi người dùng nhập vào Server nhận vào u cầu, triển khai mơ hình dự đốn trả kết bao gồm câu trả lời ma trận thể độ tương quan đoạn văn câu hỏi Ví dụ Cấu trúc phản hồi từ server cho client: { ’text\_predict’: [’Trường’, ’Phù thủy’, ’và’, ’Pháp sư’, ’Hogwarts’], ’s’: [ [0.1, 0.3, 0.4, , 0.8], [0.1, 0.3, 0.4, , 0.8], [0.1, 0.3, 0.4, , 0.8] ] } Trong text_predict câu trả lời dự đốn từ mơ hình, s ma trận độ tương quan đoạn văn câu hỏi, kích thước ma trận chiều dài đoạn văn x chiều dài câu hỏi Nhóm chọn ngơn ngữ Javascript thư viện ReactJS để xây dựng ứng dụng web, cịn phần xử lí logic nhóm dùng framework Flask để xây dựng server có tích hợp sẵn hai mơ hình huấn luyện dự đốn tiếng Anh tiếng Việt Server nhận vào yêu cầu từ phía web, đưa liệu cần dự đốn vào mơ hình tương ứng với u cầu, sau mơ hình cho kết gồm câu trả lời ma trận tương quan 55 THÍ NGHIỆM VÀ KẾT QUẢ Hình 7.6: Mơ hình ứng dụng 7.4.2 Mơ hình ứng dụng: Hình 7.6 mơ tả tồn hệ thống mà nhóm phát triển ứng dụng, hệ thống chia làm phần nhằm giúp cho việc deploy phát triển trở nên dễ dàng hơn, tách biệt phần giao diện phần xử lí logic cho ứng dụng Sau cân nhắc lợi ích với kinh phí bỏ ra, nhóm định dùng server cung cấp Amazon Web Service để deploy ứng dụng Đối với FrontEnd, nhóm dùng webserver Nginx để cung cấp giao diện ứng dụng cho người dùng bao gồm tệp tĩnh html, js css Đối với BackEnd nhóm dùng uWSGI server tích hợp Flask app, nguồn cung cấp api cho giao diện ứng dụng (trả lời câu hỏi, tạo mẩu liệu) Để tích hợp mơ hình tiếng Anh tiếng Việt, nhóm tải lên server tệp mơ hình huấn luyện đặt vào thư mục cố định Ngồi nhóm làm tương tự tệp có dung lượng cao khác tệp chứa Word Embedding, Character Embedding, Dataset SquAD, phiên khác mơ hình tiếng Anh tiếng Việt Làm giúp cho Flask trở nên độc lập không bị phụ thuộc vào phiên mô hình mà nhóm muốn sử dụng, từ Flask cần trỏ tới vị trí thư mục mơ hình mà nhóm muốn sử dụng khơng cần thiết phải chạy lại app Để tổ chức lưu mẩu liệu mà người dùng tạo ra, nhóm dùng sở liệu MongoDB lưu trữ server với Flask app, cấu trúc liệu lưu vào MongoDB giống với cấu trúc tập liệu SquAD, việc làm nhằm tối ưu công đoạn tiền xử lí liệu cần sử dụng tập liệu Ngồi sử dụng cở sở liệu, nhóm cịn triển khai caching redis nhằm lưu số liệu cần thiết cho giao diện như: số lượng mẩu liệu sở liệu, điểm liệu mẫu đề xuất cho người dùng ( đoạn văn mẫu, câu hỏi mẫu) Việc sử dụng redis cần thiết, để tránh việc đọc ghi tệp tin tĩnh nhiều để lấy điểm liệu làm mẫu Ngồi ra, nhóm tổ chức sở liệu theo cấu trúc SquAD ứng với đoạn văn có nhiều câu hỏi (tỉ lệ : m), ứng với câu hỏi lại có nhiều câu trả lời (tỉ lệ : n), số lượng điểm liệu lại chứa tỉ lệ đoạn văn: câu hỏi: câu trả lời : : 1, 56 THÍ NGHIỆM VÀ KẾT QUẢ đếm số điểm liệu cách query gây thời gian hiển thị số điểm liệu lên giao diện tính phụ khơng cần phải hiển thị xác tuyệt đối Để giải quyết, nhóm dùng redis để cache giá trị đại diện cho số lượng điểm liệu, cập nhật lại cần Sau xác định rõ số lượng vai trò thành phần hệ thống, việc lại deploy kết nối thành phần hệ thống Nhóm chọn cách đóng gói thành phần Docker để chạy container ứng với thành phần server, sau cấu hình mạng để container giao tiếp với 7.4.3 Giao diện tính trả lời câu hỏi: Hình 7.7 giao diện tính trả lời câu hỏi Tại đây, tên form có hai nút bấm người dùng chọn mơ hình tiếng Anh tiếng Việt Tiếp theo là: ô nhập đoạn văn ngữ cảnh, cho phép người dùng tự nhập chọn số đoạn mẫu phân loại theo ngôn ngữ; ô nhập câu hỏi; nút gửi yêu cầu Sau người dùng điền đầy đủ gửi yêu cầu cho hệ thống, câu trả lời nhận hiển thị phía form Hình 7.7: Màn hình trải nghiệm tính dự đoán câu trả lời hệ thống 7.4.4 Giao diện tính hỗ trợ tạo liệu: Hình 7.8 7.9 giao diện tính tạo liệu cho tiếng Anh tiếng Việt Giao diện có chức cho người dùng tạo nhanh mẩu liệu, sau hệ thống tái cấu trúc lại mẩu liệu thành kiểu cấu trúc mà hệ thống dễ phân rã, tiền xử lí dùng để huấn luyện mơ hình kiểm thử mơ hình Theo thứ tự từ xuống giao diện: phần thông tin số lượng mẩu liệu có hệ thống, chia làm ba cột: số lượng tất cả, số lượng mẩu tiếng Anh, số lượng mẩu tiếng Việt; Tiếp theo form cho phép tạo liệu, bao gồm ô hiển thị đoạn văn nút chọn đoạn văn ngẫu nhiên từ hệ thống, nhập câu hỏi, phần cịn lại tạo câu trả lời nút gửi yêu cầu Nhóm khơng cho người dùng nhập vào câu trả lời, khiến người dùng nhiều thời gian để tạo liệu đồng thời tăng khả tạo mẩu liệu không phù hợp với mục tiêu 57 THÍ NGHIỆM VÀ KẾT QUẢ Hình 7.8: Màn hình tính tạo liệu(1) Hình 7.9: Màn hình tính tạo liệu(2) hệ thống, ví dụ hệ thống đưa câu trả lời mà câu trả lời nằm đoạn văn, nhiên người dùng lại tạo mẩu liệu với câu trả lời thành phần nằm đoạn văn Do nhóm cho phép người dùng tạo câu trả lời cách bôi đen lên đoạn văn nơi mà người dùng cho câu trả lời cho câu hỏi họ, việc bảo đảm mẩu liệu tạo phù hợp với mục tiêu hệ thống 58 Chương Tổng kết Chúng tơi trình bày nội dung liên quan đề tài Hỏi-đáp từ thực khảo sát tốn, chọn mơ hình trọng tâm để thực, trình bày kiến thức tảng thực mơ hình Hỏi-đáp ngơn ngữ tiếng Anh tiếng Việt Trong phần tổng kết lại kết đạt được, mặt hạn chế đề tài định hướng phát triển 8.1 Kết đạt Trong trình làm luận văn, chúng tơi thực mơ hình Hỏi-đáp ngơn ngữ tiếng Anh tiếng Việt Mơ hình mà đặt làm trọng tâm để thực lại mô hình QANet, trình bày vào năm 2018 [21] Trên tập liệu SQuAD v1.1, kết mà nhóm đạt tốt nhẩt 80% 70.9% tương ứng với điểm F1 EM kết thực thêm chế cải tiến kết hợp Universal Transformer, so với công bố tốt mơ hình 76.2% 84.6% mơ hình thấp Nguyên nhân hạn chế tài ngun phần cứng nhóm chúng tơi khơng thể huấn luyện theo mơ hình có cấu hình chi tiết báo công bố đồng thời không áp dụng chế làm giàu liệu Việc áp dụng QANet với kiến trúc Universal Transformer giúp cải thiện F1 (+0.7) EM (+0.6) so với mơ hình gốc với thơng số Trên tập liệu SQuAD v2.0 [15], thực vài tinh chỉnh bước tiền xử lý liệu bước huấn luyện để huấn luyện tập liệu Tập liệu đời vào năm 2018 sau tập SQuAD v1.1 [16] năm có thêm câu hỏi khơng có câu trả lời Với kết 66.5% 63.1% tương ứng với F1 EM, so với mơ hình kết thấp nhiều thấy QANet có kết tương tập liệu Với tập liệu 32 tiếng để huấn luyện Đối với tập liệu tiếng Việt, thực vài thay đổi từ mơ hình tiếng Anh để huấn luyện Kết thu 76.1% 61.6% tương ứng với F1_score EM Kết mức tương đối xây dựng ứng dụng để trả lời câu hỏi liệu tiếng Việt Kết khả quan tập liệu có kích thước nhỏ nên mơ hình q khớp tập liệu tập phát triển với tập huấn luyện có chung phân phối Chúng tơi có vài điểm nhận xét tập liệu tiếng Việt 7.3 Những kết áp dụng cải tiến giúp cải thiện việc làm nhãn liệu ngôn ngữ tiếng Việt, cung cấp tập liệu tốt cho toán học sâu để giải tốn Hỏi-đáp Ngồi nhằm mục đích trực quan ứng dụng đề tài, xây dựng giao diện để người dùng nhập vào đoạn văn đặt câu hỏi đoạn văn đó, ngôn ngữ tiếng Anh lẫn tiếng Việt Mơ hình chúng tơi dự đốn câu trả lời trả cho người dùng 59 TỔNG KẾT Kết thúc trình làm luận văn tốt nghiệp, trình khảo nghiên cứu liên quan, trang bị nhiều kiến thức liên quan đến lĩnh vực xử lý ngôn ngữ tự nhiên Việc thực mơ hình Hỏi-Đáp giúp nhóm học kỹ lập trình ngơn ngữ Python, thư viện học sâu Python TensorFlow, PyTorch hay Keras Quá trình thực mơ hình hỏi đáp tập SQuAD v2.0 thực ý tưởng cải tiến giúp cải thiện khả giải vấn đề từ việc đặt vấn đề, tìm hướng giải giải điểm phát sinh trình giải 8.2 Hạn chế Trong q trình hồn thành đề tài luận văn chúng tôi, bên cạnh kết đạt được, chúng tơi cịn tồn vài hạn chế định Đối với mơ hình hỏi đáp tiếng Việt, hạn chế lớn tập liệu Tập liệu sử dụng dù đáp ứng chứng minh tính khả thi đề tài, nhiên số lượng tập liệu cịn nhỏ tính xác tập liẹu chưa cao Việc lựa chọn tập văn để làm tập liệu quan trọng có nhiều văn có cấu trúc ngữ pháp phức tạp chưa xác dẫn đến mơ hình khó suy diễn câu trả lời Một vài điểm liệu bị sai chúng tơi quan sát, điểm liệu làm xong nên xem xét lại Đồng thời đa dạng tập liệu cịn chưa cao Với mơ hình tập liệu tiếng Anh, hạn chế nguồn tài nguyên phần cứng nên mơ hình mà chúng tơi thử nghiệm phải giảm kích thước so với mơ hình gốc, điều làm giảm độ xác mơ hình mà thực lại Điều xảy tương tự với mơ hình tiếng Việt Đồng thời mơ hình tiếng Việt độ xác mơ hình cịn phụ thuộc vào cách đặt câu hỏi 8.3 Hướng phát triển Nếu tài nguyên phần cứng đáp ứng chúng tơi huấn luyện với mơ hình có kích thước lớn chúng tơi nghĩ tăng độ xác Những cải tiến mơ hình QANet với Universal Transformer thử nghiệm nhiều ý tưởng Tiếp đến tập trung nghiên cứu ngữ pháp ngữ nghĩa tập liệu tiếng Việt, từ chúng tơi thu thập nhiều liệu thô để làm phong phú tập liệu đảm bảo tính xác Trong tương lai gần, liệu hoàn thiện với số lượng kiểm định mơ hình hiệu liệu giúp người lựa chọn tiếp cận toán Hỏi-đáp tiếng Việt Nhóm tìm hiểu sâu mơ hình state-of-the-art hỏi đáp BERT, ALBERT để cập nhật kĩ thuật lĩnh vực học sâu Bài tốn Hỏi-đáp có tính ứng dụng nhiều lĩnh vực; nghiên cứu cải tiến kĩ thuật lĩnh vực đóng góp cho tính ứng dụng tính học thuật 60 Bibliography [1] Shaojie Bai, J Zico Kolter, and Vladlen Koltun “Deep Equilibrium Models” In: (2019) URL : https://arxiv.org/abs/1909.01377 [2] Franc¸ois Chollet “Xception: Deep Learning with Depthwise Separable Convolutions” In: (2016) URL: https://arxiv.org/abs/1610.023575 [3] Junyoung Chung et al “Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling” In: (2014) URL: https://arxiv.org/abs/1412.3555 [4] Mostafa Dehghani et al “Universal Transformers” In: (2018) org/abs/1807.03819 URL : https://arxiv [5] Jacob Devlin et al “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding” In: (2018) URL: https://arxiv.org/abs/1810.04805 [6] Diederik, P Kingma, and Jimmy Ba “Adam: A Method for Stochastic Optimization” In: (2014) URL: https://arxiv.org/abs/1412.6980 [7] Alex Graves “Adaptive Computation Time for Recurrent Neural Networks” In: (2017) URL : https://arxiv.org/abs/1603.08983 [8] Somil Gupta, Bhanu Pratap Singh Rawat, and Hong Yu “Conversational Machine Comprehension: a Literature Review” In: (2020) URL: https://arxiv.org/abs/2006 00671 [9] Karl Moritz Hermann et al “Teaching Machines to Read and Comprehend” In: (2015) URL : https://arxiv.org/abs/1506.03340 [10] Yoon Kim et al “Character-Aware Neural Language Models” In: (2015) //arxiv.org/abs/1508.06615 URL : https: [11] Zhenzhong Lan et al “A Lite BERT for Self-supervised Learning of Language Representations” In: (2020) URL: https://github.com/tensorflow/nmt [12] Yinhan Liu et al “RoBERTa: A Robustly Optimized BERT Pretraining Approach” In: (2019) URL: https://arxiv.org/abs/1907.11692 [13] Jeffrey Pennington, Richard Socher, and Christopher Manning “GloVe: Global Vectors for Word Representation” In: (2019) URL: https://www.aclweb.org/anthology/ D14-1162/ [14] Matthew E Peters et al “Deep contextualized word representations” In: (2018) https://arxiv.org/abs/1802.05365 URL : [15] Pranav Rajpurkar, Robin Jia, and Percy Liang “Know What You Don’t Know: Unanswerable Questions for SQuAD” In: (2018) URL: https://arxiv.org/abs/1806.03822 [16] Pranav Rajpurkar et al “SQuAD: 100,000+ Questions for Machine Comprehension of Text” In: (2016) URL: https://arxiv.org/abs/1606.05250 61 BIBLIOGRAPHY [17] Matthew Richardson, Christopher J.C Burges, and Erin Renshaw “MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of Text” In: (2013) URL: https://www.aclweb.org/anthology/D13-1020/ [18] Minjoon Seo et al “Bidirectional Attention Flow for Machine Comprehension” In: (2016) URL : https://arxiv.org/abs/1611.01603 [19] Ashish Vaswani et al “Attention Is All You Need” In: (2017) org/abs/1706.03762 URL : https://arxiv [20] Zhilin Yang et al “XLNet: Generalized Autoregressive Pretraining for Language Understanding” In: (2019) URL: https://arxiv.org/abs/1906.08237 [21] Adams Wei Yu et al “QANet: Combining Local Convolution with Global Self-Attention for Reading Comprehension” In: (2018) URL: https : / / arxiv org / abs / 1804 09541 [22] Changchang Zeng et al “A Survey on Machine Reading Comprehension: Tasks, Evaluation Metrics and Benchmark Datasets” In: (2020) URL: https://arxiv.org/abs/ 2006.11880 [23] Xin Zhang et al “Machine Reading Comprehension: a Literature Review” In: (2019) URL : https://arxiv.org/abs/1907.01686 62 ... hơn, hệ thống dựa GIỚI THIỆU BÀI TỐN HỎI - ĐÁP Hình 1.1: Mơ hình hệ thống hỏi đáp vào câu hỏi đoạn văn dùng làm đầu vào hệ thống, dựa hệ thống học sâu trích xuất đâu câu trả lời cho câu hỏi tương... thực ứng dụng mô hệ thống Hỏi- đáp cho tiếng Việt tiếng Anh • Thứ tư: áp dụng mơ hình Hỏi- đáp với ngơn ngữ tiếng Việt xây dựng từ trước Phạm vi đề tài này, xây dựng toán Hỏi- đáp tiếng Anh tiếng... nhóm xây dụng chủ yếu với tập liệu SQuAD v1.1 [16] SQuAD v2.0 [15] Với tập tiếng Việt nhóm sử dụng tập liệu xây dựng nhóm trước Hệ thống hỏi đáp mà GIỚI THIỆU BÀI TOÁN HỎI - ĐÁP nhóm thực hệ thống