Tìm hiểu kiến trúc transformer và ứng dụng cho bài toán trả lời câu hỏi

65 8 0
Tìm hiểu kiến trúc transformer và ứng dụng cho bài toán trả lời câu hỏi

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN TÌM HIỂU KIẾN TRÚC TRANSFORMER VÀ ỨNG DỤNG CHO BÀI TOÁN TRẢ LỜI CÂU HỎI GVHD: Th.S QCH ĐÌNH HỒNG SVTH: TRẦN QUỐC TUẤN NGUYỄN LÂM SƠN SKL010863 Tp Hồ Chí Minh, năm 2023 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA CƠNG NGHỆ THÔNG TIN 🙠✦🙢 TRẦN QUỐC TUẤN 19133064 NGUYỄN LÂM SƠN 19133050 Đề tài: TÌM HIỂU KIẾN TRÚC TRANSFORMER VÀ ỨNG DỤNG CHO BÀI TỐN TRẢ LỜI CÂU HỎI KHĨA LUẬN TỐT NGHIỆP GIÁO VIÊN HƯỚNG DẪN Ths QUÁCH ĐÌNH HỒNG KHĨA 2019 - 2023 LỜI CAM ĐOAN Đồ án chúng tơi thực với mục đích học tập nghiên cứu để nâng cao kiến thức trình độ chuyên môn nên làm luận văn cách nghiêm túc hoàn toàn trung thực Trong luận văn, sử dụng số tài liệu tham khảo số tác giả Chúng tơi thích nêu phần tài liệu tham khảo cuối phần luận văn Chúng xin cam đoan chịu trách nhiệm nội dung trung thực luận văn tốt nghiệp LỜI CẢM ƠN Chúng tơi xin gửi lời cảm ơn đến quý thầy cô khoa công nghệ thông tin, Trường đại học Sư phạm kỹ thuật thành phố Hồ Chí Minh (HCMC University of Technology and Education) tạo hội cho học tập, rèn luyện tích lũy kiến thức, kỹ để thực khóa luận Đặc biệt, chúng tơi xin gửi lời cảm ơn đến giảng viên hướng dẫn thầy Qch Đình Hồng tận tình dẫn, theo dõi đưa lời khuyên bổ ích giúp giải vấn đề gặp phải q trình nghiên cứu hồn thành đề tài cách tốt Tuy nhiên, kiến thức thân hạn chế thiếu kinh nghiệm thực tiễn nên nội dung khóa luận khó tránh khỏi có vài thiếu sót, chúng tơi mong nhận góp ý, bảo thêm quý thầy cô Chúng xin chân thành cảm ơn! ĐH SƯ PHẠMCỘNG KỸ THUẬT HOÀ TP.HCM KHOA CNTT Độc ******* XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên : Trần Quốc Tuấn MSSV 1: 19133064 Họ tên Sinh viên : Nguyên Lâm Sơn MSSV 2: 19133050 Ngành: Kỹ thuật liệu Tên đề tài: Tìm hiểu kiến trúc Transformer ứng dụng cho toán trả lời câu hỏi Họ tên Giáo viên hướng dẫn: Qch Đình Hồng NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm Đề nghị cho bảo vệ hay không ? Đánh giá loại : Điểm : Tp Hồ Chí Minh, ngày tháng Giáo viên hướng dẫn (Ký & ghi rõ họ tên) năm 2023 ĐH SƯ PHẠMCỘNG KỸ THUẬT HOÀ TP.HCM KHOA CNTT Độc ******* XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh Phúc ******* PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên : Trần Quốc Tuấn MSSV 1: 19133064 Họ tên Sinh viên : Nguyên Lâm Sơn MSSV 2: 19133050 Ngành: Kỹ thuật liệu Tên đề tài: Tìm hiểu kiến trúc Transformer ứng dụng cho toán trả lời câu hỏi Họ tên Giáo viên phản biện: Nguyễn Thiên Bảo NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm Đề nghị cho bảo vệ hay không ? Đánh giá loại : Điểm : Tp Hồ Chí Minh, ngày tháng Giáo viên phản biện (Ký & ghi rõ họ tên) năm 2023 MỤC LỤC LỜI MỞ ĐẦU PHẦN 1: MỞ ĐẦU CHƯƠNG 1: Tổng quan 1.1 Đặt vấn đề 1.2 Mục tiêu nghiên cứu 1.3 Phạm vi nghiên cứu 1.4.Tầm quan trọng đồ án 1.5 Phương pháp nghiên cứu PHẦN 2: NỘI DUNG CHƯƠNG 2: KIẾN TRÚC TRANSFORMER 2.1 Transformer 2.1.1 Giới thiệu 2.1.2 Transformer gì? 2.1.3 Kiến trúc Transformer 2.2 Các thành phần 2.2.1 Input Embedding 2.2.2 Positional Encoding 2.2.3 Encoder 2.2.4 Decoder 2.2.5 Thành phần Attention 10 2.2.6 Thành phần Scaled Dot Product Attention 11 2.2.7 Thành phần Multi-Head Attention 12 2.2.8 Thành phần Add Normalize 14 2.2.9 Thành phần Feed Forward 17 2.2.10 Masked Multi-Head Attention 17 CHƯƠNG 3: MƠ HÌNH BERT 19 3.1 Giới thiệu mơ hình BERT 19 3.2 Sơ lược pre-train fine-tuning BERT 19 3.3 Mơ hình PhoBERT 20 CHƯƠNG 4: XÂY DỰNG MƠ HÌNH ÁP DỤNG KIẾN TRÚC TRANSFORMER CHO BÀI TOÁN TRẢ LỜI CÂU HỎI 22 4.1 Tập liệu 22 4.1.1 Tổng quan tập liệu 22 4.1.2 Quá trình xử lý liệu 23 4.2 Mơ hình dùng để huấn luyện cho toán trả lời câu hỏi 26 4.3 Q trình huấn luyện mơ hình 27 4.3.1 Tổ chức file 27 4.3.2 Các thư viện Python sử dụng 28 4.3.3 Các hàm huấn luyện 28 4.3.4 Fine-tuning mơ hình PhoBERT 33 4.4 Phương pháp đánh giá mô hình 38 4.4.1 Độ đo F1-score 38 4.4.2 Độ đo Exact Match (EM) 40 4.4.3 Hàm đánh giá mơ hình 40 CHƯƠNG 5: ỨNG DỤNG WEBSITE TRẢ LỜI CÂU HỎI 44 5.1 Ý tưởng dựng sản phẩm 44 5.2 Công nghệ sử dụng cho website 44 5.3 Cấu trúc source code 45 5.4 Các lệnh dùng để chạy ứng dụng 46 5.4.1 Chạy môi trường máy cá nhân (local) 46 5.4.2 Phát triển ứng dụng lên môi trường khác 47 5.5 Giao diện website 47 5.5.1 Trang upload file 47 5.5.2 Trang đặt câu hỏi 48 5.5.3 Trang trả lời câu hỏi 49 PHẦN 3: KẾT LUẬN 51 CHƯƠNG 6: TỔNG KẾT VỀ ĐỒ ÁN 51 6.1 Những điều làm 51 6.2 Những mặt cần khắc phục 51 TÀI LIỆU THAM KHẢO 52 DANH MỤC HÌNH ẢNH Hình 1: Mơ hình kiến trúc Transformer [2] Hình 2: Encoder Input [11] Hình 3: Cơng thức tính giá trị Sin & Cos [10] Hình 4: Các thành phần Encoder module [15] Hình 5: Quá trình xử câu Encoder Decoder [21] Hình 6: Mơ hình kiến trúc Transformer [2] Hình 7: Cơng thức tính Pseudo-Math [4] 11 Hình 8: Self-Attention [7] 11 Hình 9: Cơng thức tính giá trị Attention [4] 12 Hình 10: Scaled Dot-Product Attention [17] 12 Hình 11: Cơng thức tính Multi-head Attention [4] 13 Hình 12: Tầng Multi-Head Attention [4] 13 Hình 13: Mơ hình Multi-Head Attention [17] 13 Hình 14: Cơng thức tính Add [3] 14 Hình 15: Ví dụ cơng thức hình 14 14 Hình 16: Cơng thức Normalize [3] 15 Hình 17: Hiệu Add Norm [18] 15 Hình 18: Trước chuẩn hóa [18] 16 Hình 19: Sau chuẩn hóa [18] 16 Hình 20: Giá trị trung bình Lay Norm [18] 17 Hình 21: Cơng thức tính Attention Scores [4] 18 Hình 22: Overall pre-training and fine –tuning procedures for BERT 20 Hình 23: Cơng thức tính xác suất vị trí thứ i [17] 20 Hình 24: Ví dụ cho toán trả lời câu hỏi [16] 22 Hình 25: Kiểm tra liệu 24 Hình 26: Ví dụ token 24 Hình 27: Mơ hình trực quan hóa liệu 25 Hình 28: Code chia tập liệu 26 Hình 29: Các loại mơ hình PhoBERT [14] 27 Hình 30: Tổ chức file 27 Hình 31: Lệnh tải thư viện Colab 28 Hình 32: Code tải mơ hình từ Hugging Face 28 Hình 33: Hàm VnCorreNLP1 29 Hình 34: Hàm checkAns 30 Hình 35: Hàm checkTempAns 30 Hình 36: Hàm _createExample 32 Hình 37: Đoạn code truyền liệu vào cho processor 33 Hình 38: Code xử lý đầu vào 33 Hình 39: Hiệu chỉnh tham số cho tập dev_dataset 34 Hình 40: Code huấn luyện mơ hình 35 Hình 41: Code khỏi tạo biến 36 Hình 42: Các thơng số hệ thống trình huấn luyện 38 Hình 43: Phần trăm trùng lặp biến 39 Hình 44: Cơng thức tính Precision [10] 39 Hình 45: Cơng thức tính Recall [10] 39 Hình 46: Cơng thức tính F1-Score [10] 40 Hình 47: Cơng thức tính Exact Match 40 Hình 48: Hàm đánh giá mơ hình 41 Hình 49: Hàm evaluate 41 Hình 50: Độ đo tập validate 43 Hình 51: Độ đo tập test 43 Hình 52: Cấu trúc Source Code 45 Hình 53: Lệnh cài đặt thư viện 46 Hình 54: Có GPU 46 Hình 55: Khơng có GPU 46 Hình 56: Lệnh vào thư mục backend 47 Hình 57: Lệnh chạy dự án 47 Hình 58: Lệnh kiểm tra phiên Docker 47 Hình 59: Lệnh build Docker 47 Hình 60: Lệnh chạy Docker 47 Hình 61: Giao diện tải tệp lệnh 48 Hình 62: Khi tải lên sai định dạng tệp 48 Hình 63: Giao diện đặt câu hỏi 49 Hình 64: Giao diện trả lời câu hỏi 49 Hình 65: Nút đặt câu hỏi 49 Hình 66: Nút chọn file để hỏi 50 Trong Num (TP) số lượng từ TP, Num (FN) số lượng từ FN F1-score tính hình 46: Hình 46: Cơng thức tính F1-Score [10] 4.4.2 Độ đo Exact Match (EM) Nếu câu trả lời cho câu hỏi câu cụm từ, số từ câu trả lời hệ thống tạo câu trả lời từ khác câu trả lời Trong trường hợp này, Exact Match đại diện cho tỷ lệ phần trăm câu hỏi mà câu trả lời hệ thống tạo hoàn toàn khớp với câu trả lời đúng, có nghĩa từ giống Kết hợp xác thường viết tắt EM Ví dụ: tác vụ mơ hình có chứa N câu hỏi, câu hỏi tương ứng với câu trả lời đúng, câu trả lời từ, cụm từ câu số câu hỏi mà hệ thống trả lời M Exact Match sau tính hình 47: Hình 47: Cơng thức tính Exact Match 4.4.3 Hàm đánh giá mơ hình Hàm sử dụng sau mơ hình chạy xong epoch hình 48: 40 Hình 48: Hàm đánh giá mơ hình Hình 49: Hàm evaluate 41 Hàm evaluate nhận vào năm đối số hình 49: ● model: mơ hình BERT huấn luyện để giải toán Extractive Question Answering (QA) ● tokenizer: tokenizer tương ứng với mô hình BERT để chuyển đổi câu hỏi đoạn văn thành đầu vào cho mơ hình ● dev_dataset: tập liệu đánh giá biểu diễn dạng PyTorch Dataset ● dev_examples: danh sách câu hỏi đoạn văn tương ứng tập liệu đánh giá ● dev_features: danh sách đặc trưng trích xuất từ dev_examples để tạo thành dev_dataset Trong hàm này, trước tiên khởi tạo eval_sampler eval_dataloader để lấy batch liệu từ dev_dataset Tiếp theo, tạo danh sách all_results để chứa kết dự đốn mơ hình batch liệu Sau đó, chúng tơi chạy vịng lặp for để duyệt qua batch liệu eval_dataloader Trong lần lặp, hãm đưa đầu vào batch vào mơ hình để lấy kết dự đốn (output) mơ hình Từ kết đầu này, chúng tơi trích xuất giá trị start_logits end_logits tương ứng với câu hỏi đoạn văn Cuối cùng, tạo đối tượng SquadResult lưu trữ kết dự đốn mơ hình thêm vào danh sách all_results Sau duyệt qua hết batch liệu eval_dataloader, sử dụng all_results để tính tốn kết dự đốn cuối thơng qua hàm compute_predictions_logits Hàm nhận vào 14 đối số để tính tốn kết dự đốn cuối trả danh sách kết dự đoán cho câu hỏi tập dev_examples Cuối cùng, sử dụng kết dự đoán tập liệu đánh giá dev_examples để tính tốn độ xác cách gọi hàm squad_evaluate Kết cuối hàm evaluate thư viện Python chứa giá trị Exact match F1 score Kết mơ hình: Đối với tập validate kết hình 50: + F1 = 52.65 + Ex = 35.58 42 Hình 50: Độ đo tập validate Đối với tập test kết hình 51: + F1 = 50.5 + Ex = 34.2 Hình 51: Độ đo tập test 43 CHƯƠNG 5: ỨNG DỤNG WEBSITE TRẢ LỜI CÂU HỎI 5.1 Ý tưởng dựng sản phẩm Chúng lấy ý tưởng xuất phát từ nhu cầu công nghệ ngày phát triển, người đòi hỏi ngày tiếp thu thêm nhiều kiến thức có nhiều câu hỏi đặt ngày Đặt biệt ChatGPT đời có nhiều ảnh hưởng đến Google tính tiện lời mà đem lại Chính chúng tơi muốn đưa sản phẩm mức độ áp dụng mơ hình mà chúng tơi huấn luyện có giúp ích cho người 5.2 Cơng nghệ sử dụng cho website Chúng sử dụng Flask để xây dựng website Flask Framework web Python nhẹ, đơn giản dễ sử dụng, sử dụng để xây dựng ứng dụng web nhỏ trung bình Flask cung cấp cách tiếp cận tối giản cho việc xây dựng ứng dụng web cách cung cấp công cụ cần thiết để xử lý yêu cầu HTTP, quản lý phiên, tạo mẫu HTML động, xử lý liệu biểu mẫu thực tác vụ khác liên quan đến web Ngoài ra, Flask có cộng đồng lớn, đầy đủ tài liệu hỗ trợ từ cộng đồng, điều giúp cho việc phát triển ứng dụng web trở nên nhanh chóng dễ dàng Flask linh hoạt tích hợp với cơng cụ thư viện khác Python để tăng khả tính linh hoạt ứng dụng web Chúng tơi sử dụng Python 3.8 tính ổn định dễ sử dụng Ngồi cịn sử dụng thư viện Python như: ● Transformer: thư viện mã nguồn mở Hugging Face hỗ trợ tác vụ xử lý ngôn ngữ tự nhiên phân loại văn bản, dịch máy, tạo ngữ liệu trích xuất thơng tin, sử dụng mơ hình học sâu BERT, GPT-2, RoBERT, DistilBERT ● Docx2txt: thư viện mã nguồn mở cho phép trích xuất nội dung từ file định dạng Microsoft Word (.docx) chuyển đổi sang văn túy (.txt) ● Flask: thư viện mã nguồn mở cho phép xây dựng ứng dụng web API REST Python, đơn giản dễ sử dụng ● Vncorenlp: thư viện mã nguồn mở cho phép xử lý ngôn ngữ tự nhiên tiếng Việt, bao gồm tác vụ tách từ, gán nhãn từ loại, phân tích cú pháp, rút gọn từ chuyển đổi chữ viết tắt ● Torch: thư viện mã nguồn mở hỗ trợ tác vụ học máy học sâu Python, bao gồm mơ hình mạng nơ-ron sâu (Deep Neural Networks), thuật tốn tối ưu hóa cơng cụ phân tích liệu Mục đích chúng tơi muốn sử dụng sản phẩm chúng tơi sử dụng Docker để tạo thùng chứa (Container) mang sản phẩm phát triển 44 lên Server khác Hiện sử dụng dịch vụ Machine Virtual Azure để phát triển website 5.3 Cấu trúc source code Sản phẩm quản lý lưu trữ Github theo link: Source code đồ án Hình 52: Cấu trúc Source Code Hình 52, thấy bên ngồi có hai thư mục model backend: - Thư mục model bao gồm: + Thư mục dataset chứa file liệu hỗ trợ cho việc huấn luyện kiểm tra kết model 45 - + Thư mục phober_model chưa model Pho-bert dụng vào phần backend để xử lý tìm câu trả lời cho tốn trả lời câu hỏi + Tệp PreProcess_Data.ipynb dùng để xử lý liệu, chia liệu để làm đầu vào cho model + Tệp PhoBERT.ipynb dùng để tạo token cho đầu vào, huấn luyện, đánh giá mơ hình so với validate tập test Thư mục backend gồm có: + Một thư mục template chứa tệp giao diện trang upload file, dùng để đăng tải tệp word pdf chứa nội dung văn Một tệp khác dùng để phản hồi đáp án câu hỏi + Thư mục css dùng để chứa file dùng để tinh chỉnh cho giao diện nhìn bắt mắt cho người dùng + Thư mục img dùng để chứa hình ảnh hỗ trợ cho website + Tệp app.py dùng để chạy chương trình, tệp tải lên mơ hình xử lý API từ giao diện trả 5.4 Các lệnh dùng để chạy ứng dụng 5.4.1 Chạy môi trường máy cá nhân (local) Bước 1: Trước hết, cần chạy file requirement.txt để cài đặt thư viện hình 53: Hình 53: Lệnh cài đặt thư viện Bước 2: Chúng tơi kiểm tra xem máy tính sử dụng GPU hay khơng (nếu khơng bỏ qua bước này) việc vào tệp app.py tiến hành thay hình 54: Hình 54: Có GPU Thành lệnh giống hình 55: Hình 55: Khơng có GPU Bước 3: Tiếp theo, chạy tệp backend với lệnh sau: + Chúng chuyển vào thư mục backend hình 56: 46 Hình 56: Lệnh vào thư mục backend + Chúng tiến hành chạy ứng dụng cách chạy tệp app.py hình 57: Hình 57: Lệnh chạy dự án 5.4.2 Phát triển ứng dụng lên môi trường khác Bước 1: Chúng ta kiểm tra xem cài đặt Docker chưa hình 58: Hình 58: Lệnh kiểm tra phiên Docker Nếu có thì tiếp tục bước 2, khơng cài đặt Docker Bước 2: Chúng tạo images lệnh hình 59: Hình 59: Lệnh build Docker Bước 3: Tiếp theo chúng tơi chạy container chạy lệnh hình 60: Hình 60: Lệnh chạy Docker 5.5 Giao diện website 5.5.1 Trang upload file Đây trang dùng để tải tệp word pdf, cho người dùng tải lênh tệp có phần tệp docx, pdf bấm vào biểu tượng tải tệp hình 61 Các tệp văn mà người dùng muốn hệ thống dựa theo để trả lời câu hỏi 47 Hình 61: Giao diện tải tệp lệnh Trong hình 62 người dùng tải tệp lên khơng định dạng tệp hệ thống tự động lên thông báo để người dùng biết tải lại tệp khác lên Hình 62: Khi tải lên sai định dạng tệp 5.5.2 Trang đặt câu hỏi Sau hệ thống tải định dạng tệp hệ thống chuyển sang trang câu hỏi trả lời giống hình 63 để người dùng đặt câu hỏi Ở người dùng nhập câu hỏi vào ô câu hỏi bạn sau nhấn vào nút đáp án để hệ thống tìm câu trả lời cho câu hỏi đặt 48 Hình 63: Giao diện đặt câu hỏi 5.5.3 Trang trả lời câu hỏi Đến với hình 64, hệ thống sau nhận câu hỏi văn dựa vào nội dung có văn để tìm câu trả lời trả hình cho người dùng nhìn thấy Hình 64: Giao diện trả lời câu hỏi Nếu người dùng muốn đặt câu hỏi khác viết vào “Câu hỏi bạn” bấm nút “Đặt câu hỏi khác” hình 65 để đặt câu hỏi Hình 65: Nút đặt câu hỏi Nếu người dùng muốn thay đổi nội dung văn bản, để có câu hỏi khác chủ đề chọn vào hình 66: 49 Hình 66: Nút chọn file để hỏi Khi người dùng bấm vào nút hệ thống trở trang tải tệp lên ban đầu để người chọn văn khác tải lên 50 PHẦN 3: KẾT LUẬN CHƯƠNG 6: TỔNG KẾT VỀ ĐỒ ÁN 6.1 Những điều làm Trải qua trình nghiên cứu, hướng dẫn tận tình thầy Qch Đình Hồng, chúng tơi hồn thành luận văn “Tìm hiểu kiến trúc Transformer ứng dụng cho toán trả lời câu hỏi” đạt kết sau Tìm hiểu hệ thống kiến thức liên quan: ● Mơ hình thuật tốn Transformer ● Tổng quan mơ hình Transformer ● Embedding Layer với Position Encoding ● Encoder ● Decoder ● Cách hoạt động Transformer tốn trả lời câu hỏi Chúng tơi tìm tập dataset tiếng Việt phù hợp cho toán trả lời câu hỏi, qua mơ hình Bert PhoBERT chúng tơi chọn mơ hình PhoBERT để tiến hành huấn luyện áp dụng dụng vào toán thực tế mà đặt Về phần mô hình chúng tơi tạo mơ hình PhoBERT để áp dụng cho toán trả lời câu hỏi áp dụng mơ hình vào website để có giao diện, gần gũi cho người sử dụng Ngoài chúng tơi cịn deploy website lên hosting để người dễ dàng sử dụng 6.2 Những mặt cần khắc phục Điểm thứ mơ hình PhoBERT độ xác mơ hình cịn chưa cao, tiến hành nhiều biện pháp tinh chỉnh độ dài chuỗi đầu vào, siêu tham số q trình fine-tune lại mơ hình, chúng tơi nhận tập liệu chưa thật đầy đủ giá hệ đánh giá mơ hình truyền thống khơng phù hợp với mơ hình chúng tơi Điểm thứ hai phần ứng dụng, nhận thấy tốc độ trả lời câu hỏi mơ hình với văn dài 10MB tốc độ phản hồi lâu phải xử lý cắt văn thành đoạn nhỏ khoảng 256 tokens để làm đầu vào mơ hình, điểm sử dụng hệ thống cụm Cluster để chia nhỏ đầu vào phân máy rút ngắn đáng kể thời gian trả lời câu hỏi Do trình cấu hình máy để tạo cụm Cluster phức tạp thời gian hoàn thành đồ án nhanh nên dừng lại việc tìm giải pháp cho mơ hình 51 TÀI LIỆU THAM KHẢO [1] C Zeng et al., "A Survey on Machine Reading Comprehension: Tasks, Evaluation Metrics and Benchmark Datasets," arXiv:2006.11880v2, 2020 [Online] Available: https://arxiv.org/abs/2006.11880 [2] P Đ Khánh, "Attention is all you need," 18 06 2019 [Online] Available: https://phamdinhkhanh.github.io/2019/06/18/AttentionLayer.html [3] mrbo, "Giới thiệu Transformers: Kiến trúc cải tiến xử lý ngôn ngữ tự nhiên," 10 2023 [Online] Available: https://mrbo.site/thuat-toan-transformer/ [4] "Transformer (machine learning model)," [Online] Available: https://en.wikipedia.org/wiki/Transformer_(machine_learning_model) [5] "Transformers," Hugging Face, [Online] Available: https://huggingface.co/docs/transformers/index [6] vncorenlp, N Q Dat and V Thanh, "VnCoreNLP," [Online] Available: https://github.com/vncorenlp/VnCoreNLP [7] P Lippe, "Tutorial 6: Transformers and Multi-Head Attention," [Online] Available: https://uvadlcnotebooks.readthedocs.io/en/latest/tutorial_notebooks/tutorial6/Transformers_and _MHAttention.html [8] M Phi, "Illustrated Guide to Transformers- Step by Step Explanation," 30 04 2020 [Online] Available: https://towardsdatascience.com/illustrated-guide-totransformers-step-by-step-explanation-f74876522bc0 [9] M Saeed, "A Gentle Introduction to Positional Encoding in Transformer Models, Part 1," 20 09 2022 [Online] Available: https://machinelearningmastery.com/agentle-introduction-to-positional-encoding-in-transformer-models-part-1/ [10] M Phi, "Illustrated Guide to Transformers Neural Network: A step by step explanation," 28 04 2020 [Online] Available: https://www.youtube.com/watch?v=4Bdc55j80l8&fbclid=IwAR1yYvR7eXckBEp pTktTcgxBp6X3u_FdQPX9G2JVW7-X-eyVprwr6btfA_E [11] Q Pham, "Tìm hiểu mơ hình Transformer," 20 03 2020 [Online] Available: https://pbcquoc.github.io/transformer [12] S Cristina , "How to Implement Scaled Dot-Product Attention from Scratch in TensorFlow and Keras," 26 09 2022 [Online] Available: https://machinelearningmastery.com/how-to-implement-scaled-dot-productattention-from-scratch-in-tensorflow-and-keras/ [10] N C Thắng, "Chương Precision, Recall F Score," 16 06 2020 [Online] Available: https://www.miai.vn/2020/06/16/oanh-gia-model-ai-theo-cach-mi-anlien-chuong-2-precision-recall-va-f-score/ 52 [14] N Q Dat, "PhoBERT: Pre-trained language models for Vietnamese," VinAI Research, 2020 [Online] Available: https://github.com/VinAIResearch/PhoBERT [15] "IIIustrated Guilde to Transformer," 13 03 2021 [Online] Available: https://trituenhantao.io/tin-tuc/minh-hoa-transformer/ [Accessed 27 05 2023] [16] N Kiet, N Vu, N Anh and N Ngan, "A Vietnamese Dataset for Evaluating Machine Reading Comprehension," 12 2020 [Online] Available: https://aclanthology.org/2020.coling-main.233 [17] J Devlin, M.-W Chang, K Lee and K Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for," 24 05 2019 [Online] Available: https://arxiv.org/pdf/1810.04805.pdf [18] M NAMVARPOUR , "How does Layer Normalization work?," 2021 [Online] Available: https://www.kaggle.com/code/halflingwizard/how-does-layernormalization-work [19] N Q Dat and N T Anh, "PhoBERT: Pre-trained language models for Vietnamese," VinAI Research, 10 05 2020 [Online] Available: https://arxiv.org/pdf/2003.00744.pdf [20] Đ Đ Hùng, "Tìm hiểu kiến trúc transformer," 16 07 2021 [Online] Available: https://viblo.asia/p/tim-hieu-ve-kien-truc-transformer-Az45byM6lxY [21] A Zhang et al., "Encoder-Decoder Seq2Seq for Machine Translation, in Dive into Deep Learning," 2021 [Online] Available: http://d2l.ai/chapter_recurrentmodern/seq2seq.html 53 S K L 0

Ngày đăng: 08/12/2023, 15:29

Tài liệu cùng người dùng

Tài liệu liên quan