Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
2,43 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA HỒNG QUỐC NAM HỆ THỐNG HỖ TRỢ MƠN HỌC NGƠN NGỮ LẬP TRÌNH Ngành: Khoa Học Máy Tính Mã số: 60.48.01.01 LUẬN VĂN THẠC SĨ TP.HỒ CHÍ MINH, tháng 8, năm 2018 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA - ĐHQG - HCM Cán hướng dẫn khoa học: TS Nguyễn Đức Dũng PGS TS Huỳnh Tường Nguyên Cán chấm nhận xét 1: TS Võ Thị Ngọc Châu Cán chấm nhận xét 2: TS Tô Bá Lâm Luận văn thạc sĩ bảo vệ Trường Đại Học Bách Khoa, ĐHQG Tp.HCM ngày 17 tháng năm 2018 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: TS Nguyễn Đức Thái (Chủ tịch) TS Nguyễn Lê Duy Lai (Thư ký) TS Võ Thị Ngọc Châu (Phản biện 1) TS Tô Bá Lâm (Phản biện 2) TS Phạm Hoàng Anh (Ủy viên) Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn chỉnh sửa (nếu có) CHỦ TỊCH HỘI ĐỒNG TS Nguyễn Đức Thái TRƯỞNG KHOA KH & KTMT ĐẠI HỌC QUỐC GIA TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Hoàng Quốc Nam Ngày, tháng, năm sinh: 25/11/1973 Ngành: Khoa học máy tính MSHV: 7140247 Nơi sinh: TP Hồ Chí Minh Mã số: 60.48.01.01 I TÊN ĐỀ TÀI: Hệ thống hỗ trợ môn học ngôn ngữ lập trình II NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu xây dựng hệ thống hỗ trợ trả lời tự động câu hỏi mơn ngơn ngữ lập trình III NGÀY GIAO NHIỆM VỤ: 15/01/2018 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2018 V CÁN BỘ HƯỚNG DẪN: TS Nguyễn Đức Dũng (hướng dẫn chính) - PGS.TS Huỳnh Tường Nguyên Tp.HCM, ngày ., tháng , năm 20 CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) TRƯỞNG KHOA KH & KTMT (Họ tên chữ ký) LỜI CẢM ƠN Em xin gởi lời cảm ơn chân thành sâu sắc đến TS Nguyễn Đức Dũng PGS.TS Huỳnh Tường Nguyên, người Thầy tận tình hướng dẫn chúng em suốt trình nghiên cứu tạo điều kiện để chúng em hồn thành đề tài luận văn tốt nghiệp Để có kết ngày hôm nay, em xin cám ơn tất Thầy, Cơ trường Đại học Bách Khoa Tp Hồ Chí Minh dạy dỗ, truyền đạt kiến thức quý báu suốt thời gian chúng em theo học tập trường Em xin cảm ơn gia đình động viên tạo điều kiện tốt để em tiếp tục theo đuổi việc học tập, nghiên cứu TÓM TẮT LUẬN VĂN Trong trình giảng dạy mơn học "Ngơn Ngữ Lập Trình", giáo viên phải trả lời tất câu hỏi sinh viên liên quan đến mơn học, hình thức hỏi đáp thực Forum (Web) Nhưng thực tế có nhiều câu hỏi bị trùng (lặp lại), giáo viên phải tốn thời để theo dõi diễn đàn phải trả lời lại Từ vấn đề trên, luận văn tìm hiểu xây dựng hệ thống hỗ trợ trả lời tự động Hệ thống phát câu hỏi bị trùng tự động trả lời (nếu giáo viên trả lời trước đó), khơng tìm thấy câu hỏi trùng (câu hỏi mới) hệ thống bỏ qua đưa cho giáo viên trả lời ABSTRACT In the course of teaching "Programming Language", the teacher must answer all questions of students related to the subject, question form is conducted by Forum (Web) But in reality there are many questions that overlap (repeat), so teachers take time to follow the forum and have to reply back From this point of view, in this essay we will learn and build an automated question and answering system The system will detect duplicated questions and automatically respond (if previously answered by the teacher), if no matching question (new question) is found, the system will ignore and give to the teacher for replying LỜI CAM ĐOAN Tôi cam đoan rằng, ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, cơng việc trình bày luận văn tơi thực chưa có phần nội dung luận văn nộp để lấy cấp trường trường khác Mục lục MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng phạm vi nghiên cứu 1.4 Phương pháp nghiên cứu 1.5 Kết đạt 1.6 Cấu trúc luận văn KIẾN THỨC NỀN TẢNG 2.1 Tìm hiểu xử lý ngơn ngữ tự nhiên 2.1.1 Một số đặc điểm ngôn ngữ tự nhiên 2.1.2 Xử lý ngôn ngữ tự nhiên 2.2 Tìm hiểu mơ hình học máy 2.2.1 Học máy gì? 2.2.2 Các phương pháp học 2.2.3 Neural Network nhân tạo 2.3 Học máy Xử Lý Ngơn Ngữ Tự Nhiên (XLNNTN) 2.3.1 Tốn xác suất 2.3.2 Neural Network truyền thống 1 1 2 3 4 5 9 10 NGHIÊN CỨU VÀ THAM KHẢO CÁC GIẢI PHÁP LIÊN QUAN 3.1 Tìm hiểu kiến thức liên quan 3.1.1 Word Vector 3.1.2 Recurrent Neural Network (RNN) 3.1.3 Long Short Term Memory networks (LSTM) 3.1.4 Gated Recurrent Unit (GRU) 3.1.5 Bidirectional RNN (BRNN) 3.2 Tham khảo hệ thống liên quan đến ngữ nghĩa 11 11 11 16 18 23 23 24 PHÂN TÍCH VÀ GIẢI PHÁP 4.1 Giải pháp trả lời tự động 4.2 Giải pháp phân nhóm câu hỏi dựa câu trả lời 4.2.1 Phương pháp phân nhóm tuyệt đối 4.2.2 Phương pháp phân nhóm tương đối 4.3 Giải pháp phân nhóm câu hỏi dựa đặc trưng topic 4.4 So sánh ngữ nghĩa cặp câu hỏi 25 25 25 26 27 29 30 i HIỆN THỰC VÀ KIỂM THỬ 5.1 Mơ hình encode độc lập câu hỏi câu trả lời 5.1.1 Dữ liệu 5.1.2 Mơ hình huấn luyện 5.1.3 Thực kiểm thử 5.1.4 Nhận xét đánh giá 5.2 Mơ hình gắn kết câu trả lời câu hỏi trước encode 5.2.1 Dữ liệu 5.2.2 Mơ hình huấn luyện 5.2.3 Thực kiểm thử 5.2.4 Nhận xét đánh giá 5.3 Mơ hình phân nhóm câu hỏi dựa đặc trưng topic 5.3.1 Dữ liệu 5.3.2 Mô hình huấn luyện 5.3.3 Huấn luyện kiểm thử 5.3.4 Nhận xét đánh giá 5.4 Mơ hình so sánh ngữ nghĩa hai câu hỏi 5.4.1 Dữ liệu 5.4.2 Mơ hình huấn luyện 5.4.3 Huấn luyện kiểm thử 5.4.4 Nhận xét đánh giá 32 32 32 34 35 38 38 38 38 40 41 41 41 42 42 43 44 44 44 46 48 TỔNG KẾT VÀ KẾT LUẬN 6.1 Chọn phương án khả thi 6.2 Những mục làm 6.3 Những mục chưa đạt hướng nghiên cứu 49 49 51 51 Tài liệu tham khảo 53 ii Chương MỞ ĐẦU 1.1 Lý chọn đề tài Để hỗ trợ cho trình giảng dạy mơn Ngơn Ngữ Lập Trình, nhà trường có xây dựng diễn đàn để trả lời thắc mắc q trình học tập mơn Các câu hỏi sinh viên đăng lên nhiều, có nhiều câu hỏi trùng gần giống Thầy cô phải bỏ nhiều thời gian để trả lời đồng thời sinh viên phải theo dõi kết trả lời Yêu cầu đặt xây dựng hệ thống trả lời tự động Chương trình tự động dị tìm câu hỏi có bị trùng lặp với câu hỏi trước trả câu trả lời có Mơ hình thành cơng mở rộng, ứng dụng cho tất mơn học khác hệ thống có ngữ cảnh 1.2 Mục đích nghiên cứu Tìm hiểu kiến thức tảng, đặc trưng Ngôn Ngữ Tự Nhiên (NNTN) kỹ thuật xử lý liên quan, sau tìm hiểu sâu vào phần trả lời tự động Chúng ta phân tích tốn luận văn dựa kiến thức tìm hiểu để đưa giải pháp Cuối thực hiện, so sánh đánh giá giải pháp để đề xuất phương án khả thi 1.3 Đối tượng phạm vi nghiên cứu Có hai lĩnh vực xử lý ngơn ngữ tự nhiên (XLNNTN) là: âm văn Trong luận văn đề cập đến xử lý văn Dó suốt luận văn, ta ngầm hiểu NNTN biểu diễn dạng văn Trong phạm vi luận văn, xử lý câu hỏi đơn giản, tập trung vào việc tìm giải pháp ... Khoa học máy tính MSHV: 7140247 Nơi sinh: TP Hồ Chí Minh Mã số: 60.48.01.01 I TÊN ĐỀ TÀI: Hệ thống hỗ trợ mơn học ngơn ngữ lập trình II NHIỆM VỤ VÀ NỘI DUNG: Tìm hiểu xây dựng hệ thống hỗ trợ. .. văn xây dựng hệ thống ? ?Hỗ Trợ Mơn Học Ngơn Ngữ Lập Trình? ?? 1.5 Kết đạt • Xây dựng phân tích ngữ nghĩa câu hỏi • Xây dựng hệ thống trả lời tự động dựa liệu thu thập trước • Đánh giá hệ thống 1.6 Cấu... Tìm hiểu xử lý ngôn ngữ tự nhiên 2.1.1 Một số đặc điểm ngôn ngữ tự nhiên 2.1.2 Xử lý ngôn ngữ tự nhiên 2.2 Tìm hiểu mơ hình học máy 2.2.1 Học máy gì?