Dimitriadis, 2020 Bên cạnh đó, một số trang web cũng đã có các ứng dụng AI trong việc hỗ trợ học sinh giải bài tập vật lý ví dụ như Hyper Physics.. Một số luận văn thạc sĩ đã nghiên cứu
Trang 1TRƯỜNG ÐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
Trang 2TRƯỜNG ÐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH
LUẬN VĂN THẠC SĨ KHOA HỌC GIÁO DỤC
NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS PHAN GIA ANH VŨ
Thành phố Hồ Chí Minh – 2020
Trang 3tạo để xây dựng phần mềm hỗ trợ học sinh giải bài tập chương Động học chất điểm, Vật lý Mười trung học phổ thông” là công trình nghiên cứu của riêng tôi Các nội dung và kết quả trong luận văn là trung thực và chưa từng được công bố trong bất kì một công trình nào khác
Tác giả
NGUYỄN HỒ DẠ THẢO
Trang 4tâm, động viên và giúp đỡ rất lớn từ quý thầy cô, đồng nghiệp, bạn bè và gia đình Tôi xin được bày tỏ lòng kính trọng và biết ơn sâu sắc đến:
TS Phan Gia Anh Vũ, thầy đã dành nhiều thời gian trực tiếp hướng dẫn và chỉ bảo tận tình cho tôi trong suốt quá trình nghiên cứu và hoàn thành luận văn
Bạn Nguyễn Thành Thái, người đã dành nhiều thời gian giúp đỡ tôi trong việc nghiên cứu về trí tuệ nhân tạo và xây dựng phần mềm Chatbot – CB (người máy hội thoại)
Ban Giám hiệu, Phòng Sau đại học, Ban chủ nhiệm khoa Vật lý Trường Đại học
Sư Phạm TP.HCM đã tạo điều kiện cho tôi thực hiện luận văn này
Ban Giám hiệu trường THPT Võ Văn Tần, cùng toàn thể quý thầy cô trong tổ vật lý và các em học sinh lớp 10A8, 10A12 và đặc biệt là các học sinh lớp 10A8 đã hợp tác giúp đỡ và tạo điều kiện thuận lợi nhất cho tôi trong suốt quá trình thực nghiệm sư phạm tại trường
Do thời gian thực hiện đề tài có hạn nên khó có thể tránh khỏi các thiếu sót Kính mong nhận được góp ý từ quý thầy cô và các bạn để đề tài được hoàn thiện hơn Tôi xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, tháng 11 năm 2020
Tác giả
Nguyễn Hồ Dạ Thảo
Trang 5Lời cảm ơn
Mục lục
Danh mục ký hiệu và chữ viết tắt
Danh mục các bảng
Danh mục các hình
Danh mục các đồ thị
MỞ ĐẦU 1
CHƯƠNG 1 CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA VIỆC ỨNG DỤNG TRÍ TUỆ NHÂN TẠO ĐỂ XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC SINH GIẢI BÀI TẬP VẬT LÝ 5
1.1 Trí tuệ nhân tạo (Artificial Intelligence) 5
1.1.1 Khái niệm trí tuệ nhân tạo 5
1.1.2 Học máy (Machine Learning) 7
1.1.3 Học sâu (Deep Learning) 7
1.1.4 Xử lí ngôn ngữ tự nhiên (Natural Language Processing) 8
1.1.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding) 8
1.1.6 Ứng dụng của trí tuệ nhân tạo trong giáo dục 9
1.2 Ứng dụng hệ thống trả lời tự động chatbot vào dạy học 11
1.2.1 Sơ lược về hệ thống trả lời tự động CB 12
1.2.2 Các thành phần của hệ thống CB 13
1.2.3 Ứng dụng của CB trong giáo dục 14
1.2.4 Một số CB đang được sử dụng 16
1.3 Cơ sở lí thuyết và một số kỹ thuật xây dựng hệ thống trả lời tự động CB 19
1.3.1 Một số kỹ thuật tiền xử lý ngôn ngữ tự nhiên - tiếng Việt trong ứng dụng CB 19
1.3.2 Deep learning trong xử lý ngôn ngữ tự nhiên 20
1.3.3 Mô hình Sequence-to-sequence (Seq2Seq) ứng dụng mạng neural nhân tạo (Neural Network) 25
Trang 61.4 Bài tập vật lý 31
1.4.1 Khái niệm bài tập vật lý 31
1.4.2 Phân loại bài tập vật lý 32
1.4.3 Vai trò của bài tập vật lý 33
1.4.4 Quá trình tư duy khi giải một bài tập vật lý 34
1.4.5 Những yêu cầu cơ bản đối với câu hỏi định hướng tư duy của HS 35
1.4.6 Ứng dụng phần mềm trí tuệ nhân tạo trong giải bài tập vật lý 36
1.5 Thực trạng về việc dạy học chương Động học chất điểm tại trường THPT Võ Văn Tần 36
1.5.1 Mục tiêu điều tra 36
1.5.2 Đối tượng và thời gian điều tra 36
1.5.3 Nội dung điều tra 37
1.5.4 Kết quả điều tra 37
Kết luận chương 1 46
CHƯƠNG 2 THIẾT KẾ PHẦN MỀM HỖ TRỢ HỌC SINH GIẢI BÀI TẬP TỔ CHỨC DẠY HỌC BÀI TẬP CHƯƠNG “ĐỘNG HỌC CHẤT ĐIỂM” VỚI SỰ HỖ TRỢ CỦA PHẦN MỀM ỨNG DỤNG TRÍ TUỆ NHÂN TẠO 47
2.1 Nghiên cứu, lựa chọn, sắp xếp nội dung kiến thức chương “ Động học chất điểm” phù hợp với việc xây dựng phần mềm hỗ trợ học sinh giải bài tập 47
2.1.1 Đặc điểm chương “Động học chất điểm” 47
2.1.2 Xây dựng các nội dung dạy học bài tập chương “Động học chất điểm”47 2.2 Xây dựng hệ thống câu hỏi bài tập và kịch bản hội thoại nhằm tạo cơ sở dữ liệu để xây dựng phần mềm hỗ trợ học sinh giải bài tập 49
2.2.1 Các bài tập mẫu cho từng dạng giúp HS ôn tập với CB 50
2.2.2 Khung kịch bản tập dữ liệu huấn luyện hỏi – đáp kiến thức chương “Động học chất điểm” dưới dạng bài đối thoại 55
2.3 Thiết kế phần mềm hỗ trợ học sinh giải bài tập vật lý chương “Động học chất điểm” 59
Trang 72.3.3 Mô tả chi tiết các thành phần trong hệ thống 61
2.4 Thiết kế hoạt động dạy học bài tập chương “Động học chất điểm” sử dụng phần mềm ứng dụng AI 64
2.4.1 Thiết kế Giáo án dạy học bài “Chuyển động thẳng đều” 64
2.4.2 Thiết kế Giáo án dạy học bài “Chuyển động thẳng biến đổi đều” 67
Kết luận chương 2 70
CHƯƠNG 3 THỰC NGHIỆM SƯ PHẠM 71
3.1 Mục đích và nhiệm vụ, đối tượng, thời gian và phương pháp của thực nghiệm sư phạm 71
3.1.1 Mục đích 71
3.1.2 Nhiệm vụ 71
3.1.3 Đối tượng và thời gian của thực nghiệm sư phạm 72
3.1.4 Nội dung và phương pháp thực nghiệm 72
3.2 Công cụ đánh giá kết quả và quá trình thực nghiệm 73
3.2.1 Các bài kiểm tra 73
3.2.2 Đánh giá quá trình thực nghiệm 73
3.2.3 Đánh giá kết quả thực nghiệm 74
3.3 Diễn biến quá trình thực nghiệm – kết quả định tính của quá trình thực nghiệm 74
3.3.1 Diễn biến quá trình thực nghiệm 74
3.3.2 Nhận xét kết quả quá trình thực nghiệm: 78
3.4 Kết quả định lượng của quá trình thực nghiệm 78
3.4.1 Đánh giá theo kết quả quá trình thực nghiệm 78
3.4.2 Đánh giá kết quả thực nghiệm hậu kiểm 79
3.4.3 Đánh giá giả thuyết thông qua thống kê 80
3.5 Khảo sát ý kiến HS sau khi học tập với phần mềm 81
Kết luận chương 3 85
Trang 8DANH MỤC TÀI LIỆU THAM KHẢO PHỤ LỤC
Trang 9AI Artificial Intelligence Trí tuệ nhân tạo
AIED Artificial Intelligence in Education Trí tuệ nhân tạo trong
giáo dục
ANN Artificial Neural Network Mạng nơron nhân tạo
BERT Bidirectional Encoder
Representations from Transformers
Mô hình xử lý ngôn ngữ tự nhiên
PPDH Phương pháp dạy học Phương pháp dạy học RNN Recurrent Neural Network Mạng nơ – ron hồi quy Seq2Seq Sequence-to-sequence
THPT Trung học phổ thông Trung học phổ thông
Trang 10Bảng 2.2 Bảng hỏi – đáp của chatbot gợi ý 1 50
Bảng 2.3 Bảng hỏi – đáp của chatbot gợi ý 2 51
Bảng 2.4 Bảng hỏi – đáp của chatbot gợi ý 3 51
Bảng 2.5 Bảng hỏi – đáp của chatbot gợi ý 4 52
Bảng 2.6 Bảng hỏi – đáp của chatbot gợi ý 5 53
Bảng 2.7 Bảng hỏi – đáp của chatbot gợi ý 6 53
Bảng 2.8 Bảng hỏi – đáp của chatbot gợi ý 7 54
Bảng 2.9 Bảng hỏi – đáp của chatbot gợi ý 8 54
Bảng 2.10 Bảng hỏi – đáp của chatbot gợi ý 9 55
Bảng 2.11 Bảng dữ liệu mẫu cho bài “Chuyển động cơ” 55
Bảng 2.12 Bảng dữ liệu mẫu cho bài “Chuyển động thẳng đều” 56
Bảng 2.13 Bảng dữ liệu mẫu cho bài “Chuyển động thẳng biến đổi đều” 57
Bảng 2.14 Bảng dữ liệu mẫu cho bài “Rơi tự do” 57
Bảng 2.15 Bảng dữ liệu mẫu cho bài “Chuyển động tròn đều” 58
Bảng 2.16 Bảng dữ liệu mẫu cho bài “Tính tương đối của chuyển động” 58
Bảng 2.17 Bảng câu hỏi và gợi ý bài “Chuyển động thẳng đều” 66
Bảng 2.18 Bảng câu hỏi và gợi ý chủ đề “Chuyển động thẳng biến đổi đều” 68
Bảng 3.1 Bảng tiêu chí đánh giá quá trình học tập của HS 73
Bảng 3.2 Bảng nội dung yêu cầu cần thực hiện trong quá trình thực nghiệm 74
Bảng 3.3 Bảng tổng kết điểm quá trình của hai nhóm TN và ĐC 78
Bảng 3.4 Bảng thống kê điểm bài kiểm tra hậu kiểm 79
Bảng 3.5 Bảng phân bố tần suất tích lũy 79
Bảng 3.6 Bảng tổng hợp các thông số thống kê 80
Trang 11Hình 1.2 Sơ đồ mô tả các lĩnh vực ứng dụng của AI được nghiên cứu trong đề tài
(LLC, 2019) 6
Hình 1.3 Các thành phần cơ bản của hệ thống CB (Arora et al., 2013) 13
Hình 1.4 Ví dụ về cấu trúc hội thoại của một CB 14
Hình 1.5 Một số mẫu đối thoại của Andy English bot 17
Hình 1.6 Giao diện CB của hệ thống tư vấn tuyển sinh 17
Hình 1.7 Giao diện CB đối thoại của ứng dụng KAMI 18
Hình 1.8 Lịch sử phát triển của mạng neural netwwork.(Tomuro, 2018) 20
Hình 1.9 Kiến trúc một mạng neural 21
Hình 1.10 Quá trình xử lý thông tin của một ANN (Britz, 2015) 21
Hình 1.11 Một mạng RNN (Britz, 2015) 23
Hình 1.12 Ứng dụng mô hình RNN cho máy dịch (Britz, 2015) 25
Hình 1.13 Kiến trúc bộ mã hóa - giải mã Bộ mã hóa chuyển đổi một câu nguồn thành một vectơ “nghĩa” được truyền qua bộ giải mã để tạo ra một bản dịch (câu trả lời).(Tensorflow, 2017) 26
Hình 1.14 Kiến trúc mô hình Mem2Seq được đề xuất cho các hệ thống hội thoại.(Madotto et al., 2018) 26
Hình 1.15 Ví dụ hoạt động của mô hình Mem2seq so với các mô hình khác trong CB trợ lí trong xe.(Madotto et al., 2018) 27
Hình 1.16 Tổng thể các quy trình pre – training và fine – tuning cho BERT (Chang, 2018) 28
Hình 1.17 Kết quả so sánh BERT với các mô hình tốt nhất về NLP đến năm 2018 (Jacob Devlin and Ming-Wei Chang, 2018) 29
Trang 12et al., 2019) 30
Hình 1.19 Chỉ số SSA của CB Meena so với một số CB khác (Adiwardana et al., 2020) 31
Hình 2.1 Lược đồ mô tả phần mềm 60
Hình 2.2 Giao diện đăng nhập vào phần mềm 61
Hình 2.3 Giao diện chức năng hội thoại 62
Hình 2.4 Giao diện bài tập trắc nghiệm 62
Hình 2.5 Giao diện sử dụng kết hợp giữa bài kiểm tra trắc nghiệm và CB 63
Hình 2.6 CB đưa ra các gợi ý cho HS 64
Hình 3.1 Thống kê số lượng HS 76
Hình 3.2 Thời gian trung bình của HS khi sử dụng phần mềm 76
Hình 3.3 Thống kê số lượng HS và thời gian dùng 77
Hình 3.4 Các số liệu thời gian sử dụng, số lần login/logout của 2 em HS Phúc Nhiều và Lê Vân 77
Trang 13Đồ thị 3.2 Đồ thị phân bố tần suất tích lũy 80
Trang 14MỞ ĐẦU
1 Lí do chọn đề tài
Hiện nay, thế giới nói chung và Việt Nam ta nói riêng đang bước vào cuộc cách mạng công nghiệp 4.0 Cuộc Cách mạng công nghiệp lần thứ tư này mở ra nhiều cơ hội, đồng thời cũng đặt ra nhiều thách thức đối với mỗi quốc gia, tổ chức và cá nhân, tác động ngày càng mạnh mẽ đến tất cả các lĩnh vực của đời sống kinh tế, xã hội của mỗi đất nước
Trong cuộc cách mạng 4.0 vạn vật kết nối internet, thông tin bùng nổ, vì vậy quá trình chuyển giao tri thức, kinh nghiệm giữa con người với con người cũng cần
có sự thay đổi cho phù hợp Sự ra đời và phát triển của các thiết bị thông minh khiến con người được tận hưởng những tiện ích của Internet giúp cho việc tiếp nhận tri thức nhanh chóng hơn, rút ngắn khoảng cách Do vậy, vai trò của người thầy trong quá trình trao truyền tri thức, kinh nghiệm phải thay đổi cho phù hợp
Mặc dù chúng ta có thể không thấy robot dạng người đóng vai trò là giáo viên trong tương lai, nhưng có nhiều dự án đã được thực hiện sử dụng trí thông minh máy tính để giúp học sinh và giáo viên có được nhiều kinh nghiệm giáo dục hơn Song, vận dụng trí tuệ nhân tạo (AI – Artificial Intelligence) vào giáo dục tại Việt Nam hiện còn khá mới Hiện nay, một số trường học đã dần bắt đầu đưa AI vào giảng dạy và quản lý
Trong quá trình dạy học vật lý, có nhiều phương pháp và biện pháp để nâng cao chất lượng học tập, phát triển năng lực tự học của học sinh Trong số đó, bài tập vật
lý có tác dụng rất tích cực đến việc giáo dục phát triển năng lực của học sinh Đồng thời, bài tập vật lý cũng là thước đo đích thực trong việc nắm vững kiến thức, kĩ năng,
kĩ xảo vật lý của học sinh Nên sự thay đổi về phương pháp dạy bài tập vật lý là vô cùng cần thiết Hơn nữa vận dụng trí tuệ nhân tạo vào hướng dẫn học sinh giải bài tập có thể sẽ giúp ích rất nhiều trong việc phát triển năng lực cho học sinh, đặc biệt
là năng lực tự học
Chúng tôi nhận thấy việc vận dụng trí tuệ nhân tạo để hỗ trợ việc giải bài tập vật lý là vô cùng cấp thiết nhưng hiện tại chưa có công trình nghiên cứu nào quan tâm đúng mực đến vấn đề này
Trang 15Từ những phân tích trên chúng tôi đã chọn đề tài “Ứng dụng trí tuệ nhân tạo
để xây dựng phần mềm hỗ trợ giải bài tập chương Động học chất điểm, Vật lý
10 THPT”
2 Lịch sử vấn đề nghiên cứu
Ứng dụng trí tuệ nhân tạo vào giáo dục hiện nay đã bắt đầu phổ biến trên thế giới và Việt Nam cũng đang bắt đầu sử dụng AI để nâng cao chất lượng giáo dục Năm học 2017 – 2018 trường đại học quốc tế Hồng Bàng đã đưa trí tuệ nhân tạo vào chương trình giảng dạy Cụ thể, mỗi sinh viên sẽ được cung cấp một phần mềm được gọi là “student portal” – nơi chứa những thông tin cần thiết cho mỗi sinh viên, bên cạnh được cung cấp thời khóa biểu, bảng điểm, sinh viên còn có thể đặt lịch tư vấn với giáo viên, yêu cầu thực tập, việc làm thêm… Trong bài báo “Chatbot as an Intelligent Personal Assistant for Mobile Language Learning” (Pham et al., 2018), các tác giả nghiên cứu hệ thống có tên English Practice được cài đặt trên thiết bị di động Các CB có thể tự động nhắc nhở người học nghiên cứu và đề xuất một số câu trả lời cho các câu hỏi trắc nghiệm Đại học bang Georgia đã sử dụng một CB có tên Pounce để hỗ trợ quá trình đăng ký của sinh viên Các sinh viên đã nhận được ngay lập tức và chính xác thông tin họ muốn mà không có chi tiết không liên quan (Dimitriadis, 2020)
Bên cạnh đó, một số trang web cũng đã có các ứng dụng AI trong việc hỗ trợ học sinh giải bài tập vật lý (ví dụ như Hyper Physics)
Một số luận văn thạc sĩ đã nghiên cứu và phân tích nội dung chương Động học chất điểm, ví dụ như: Luận văn thạc sĩ của tác giả Trần Thanh Bình “Phát huy vai trò trung tâm của học sinh trong quá trình dạy học chương Động học chất điểm lớp 10 trung học phổ thông ban cơ bản” đã nêu được cơ sở lí luận và thiết kế hoạt động dạy học nhằm phát huy vai trò trung tâm của học sinh trong học chương Động học chất điểm; Luận văn của tác giả Từ Thị Kim Thoa “Biên soạn hệ thống bài tập để phát triển năng lực tư duy cho học sinh phần động học và động lực học chất điểm lớp 10”(Thoa, 2005) đã hệ thống, phân loại bài tập vật lý chương động học và động lực học nhằm phát triển năng lực tư duy cho học sinh
Trang 163 Mục đích nghiên cứu
Xây dựng phần mềm máy tính có ứng dụng trí tuệ nhân tạo để hướng dẫn học sinh giải bài tập chương “Động học chất điểm” – vật lý 10 THPT nhằm nâng cao hiệu quả học tập và dạy học vật lý
4 Giả thuyết khoa học
Nếu sử dụng phần mềm ứng dụng trí tuệ nhân tạo cho việc hỗ trợ học sinh giải bài tập chương “Động học chất điểm” – vật lý 10 THPT thì sẽ góp phần nâng cao kết quả dạy học vật lý
5 Nhiệm vụ nghiên cứu
- Nghiên cứu cơ sở lí luận của việc vận dụng trí tuệ nhân tạo vào dạy học, cụ thể là xây dựng hệ thống trả lời tự động CB
- Thiết kế, xây dựng hệ thống trả lời tự động CB hỗ trợ học sinh giải bài tập vật
lý
- Phân tích nội dung kiến thức chương “Động học chất điểm” – vật lý 10 THPT
- Xây dựng hệ thống bài tập – hướng dẫn học sinh giải bài tập chương “Động học chất điểm” – vật lý 10 THPT
- Điều tra thực trạng dạy học chương “Động học chất điểm”
- Xây dựng tiến trình dạy học có sử dụng CB để dạy học chương “Động học chất điểm” – vật lý 10 THPT
6 Phương pháp nghiên cứu
- Nghiên cứu lí luận: được sử dụng để tìm tòi, phân loại, và đọc các sách, báo, các công trình nghiên cứu liên quan
- Phương pháp điều tra, khảo sát thực tế, tổng kết kinh nghiệm: được sử dụng
để tìm hiểu, điều tra thực trạng dạy và học trong thực tế hiện nay Kết quả điều tra được phân tích để rút ra kết luận và đề xuất giải pháp
- Phương pháp thực nghiệm sư phạm: cho học sinh lớp thực nghiệm sử dụng phần mềm đã thiết kế và kiểm tra sự phát triển của học sinh thông qua các bài đánh giá giữa lớp thực nghiệm và lớp đối chứng
- Sử dụng thống kê toán học trong khoa học giáo dục: được sử dụng để xử lí định lượng các kết quả điều tra và kết quả thực nghiệm sư phạm
Trang 177 Phạm vi nghiên cứu
Về kiến thức:
- Nội dung kiến thức chương “Động học chất điểm” – vật lý 10 THPT
- Xây dựng và sử dụng phần mềm hỗ trợ HS giải bài tập vật lý ứng dụng trí tuệ nhân tạo
Về địa bàn: HS Trường THPT Võ Văn Tần – Đức Hòa, Long An
8 Những đóng góp của luận văn
- Hệ thống hóa cơ sở lí luận dạy học vận dụng sự hỗ trợ của trí tuệ nhân tạo vào
vào hỗ trợ học sinh giải bài tập vật lý chương “Động học chất điểm”
- Xây dựng bộ cơ sở dữ liệu phục vụ cho ứng dụng AI vào dạy học
- Tạo nguồn tư liệu tham khảo cho giáo viên và học sinh về dạy học vật lý
chương “Động học chất điểm” – vật lý 10 THPT
- Thiết kế, tổ chức hoạt động học tập nhằm giúp người học tiếp cận với nền giáo dục 4.0 từ đó đáp ứng được nhu cầu về nguồn nhân lực ngày càng phát triển của đất nước ta và toàn thế giới
9 Cấu trúc luận văn
Ngoài phần mở đầu, kết luận, tài liệu tham khảo và phụ lục thì đề tài gồm có 3 chương:
Chương 1: Cơ sở lí luận và thực tiễn của việc ứng dụng trí tuệ nhân tạo để xây
dựng phần mềm hỗ trợ học sinh giải bài tập vật lý
Chương 2: Thiết kế phần mềm hỗ trợ học sinh giải bài tập, tổ chức dạy học bài
tập chương “Động học chất điểm”
Chương 3: Thực nghiệm sư phạm
Kết luận: Trình bày điểm mạnh và hạn chế trong luận văn Đồng thời nêu ra
hướng phát triển tiếp theo trong tương lai
Tài liệu tham khảo
Phụ lục
Trang 18CHƯƠNG 1 CƠ SỞ LÍ LUẬN VÀ THỰC TIỄN CỦA VIỆC ỨNG DỤNG TRÍ TUỆ NHÂN TẠO ĐỂ XÂY DỰNG PHẦN MỀM HỖ TRỢ HỌC SINH
GIẢI BÀI TẬP VẬT LÝ
1.1 Trí tuệ nhân tạo (Artificial Intelligence)
1.1.1 Khái niệm trí tuệ nhân tạo
Hình 1.1 Quá trình phát triển của AI (Nguyễn Thanh Thủy et al., 2018)
Trí tuệ nhân tạo (AI), được Giáo sư John McCarthy của Stanford đưa ra lần đầu tiên vào năm 1955, là ngành khoa học và kỹ thuật chế tạo máy móc thông minh Nói cách khác, nó là một nhánh của Khoa học Máy tính, trong đó máy tính bắt chước các chức năng nhận thức có liên quan đến tâm trí con người – chẳng hạn như học tập và giải quyết vấn đề Từ đó đến nay AI đã phát triển qua nhiều giai đoạn và đã được ứng dụng trong nhiều lĩnh vực khác nhau của đời sống
AI bao gồm việc học hỏi từ kinh nghiệm, lý luận cho việc ra quyết định và đưa
ra phải hồi nhanh Mục tiêu khoa học của AI là xây dựng các chương trình máy tính thể hiện các hành vi thông minh bằng cách sử dụng suy luận thuật toán dựa trên các kiến thức khoa học Toán học, Vật lý học và các lĩnh vực khoa học liên quan để máy hoạt động thông minh như con người
Khi ứng dụng AI để xây dựng CB cần nghiên cứu một số mảng được thể hiện ở hình dưới đây
Trang 19Hình 1.2 Sơ đồ mô tả các lĩnh vực ứng dụng của AI được nghiên cứu trong đề
tài (LLC, 2019) Một số ví dụ về ứng dụng trí tuệ nhân tạo:
- Hệ thống tự động hóa, robot tự động, hệ thống tự lái (xe tự hành, máy bay không người lái…)
- Hệ thống chống gian lận, nhận diện rủi ro…
- Ứng dụng trong y tế phân tích chuẩn đoán bệnh, robot phẫu thuật…
- Hệ thống hỗ trợ ra quyết định
- Bộ lọc thư rác trên email, phân tích phân loại hồ sơ dữ liệu…
- Trợ lý ảo thông minh (ví dụ như Siri, Google Assistant)
- Bot đàm thoại để tiếp thị và hỗ trợ khách hàng
- Công cụ giám sát phương tiện truyền thông xã hội cho nội dung nguy hiểm hoặc thông tin sai lệch
- Tự động hóa một số hoạt động giáo dục như chấm điểm, hỗ trợ học sinh học tập, gia sư trực tuyến, tư vấn tuyển sinh, …
- Ứng dụng học tập ví dụ Elsa, Andy English bot hỗ trợ tự học Tiếng anh …
- Ứng dụng trợ lí ảo VAV (Virtual Assistant for Vietnamese)
Nhóm tác giả MDN - Team (thuộc Phòng Thí nghiệm Khoa học Dữ liệu và Công nghệ Tri thức, Khoa CNTT, Trường Đại học Công nghệ - ĐHQGHN) đã phát triển một ứng dụng “trợ lý ảo” dành riêng cho người Việt, với tên gọi VAV cho phép
Trang 20người dùng tương tác với smartphone bằng giọng nói hoàn toàn tiếng Việt để thực hiện các tác vụ cần thiết hàng ngày Với VAV, bạn có thể dễ dàng hẹn chuông báo thức, đặt lịch cho một cuộc họp, bật/tắt định vị, gọi điện, nhắn tin cho ai đó, gọi taxi,
mở một ứng dụng trên máy, duyệt web, tìm đường trên bản đồ, tìm cây ATM, tra từ điển, tra cứu Wikipedia, … chỉ đơn giản bằng các mệnh lệnh hay câu hỏi hết sức tự nhiên
1.1.2 Học máy (Machine Learning)
Học máy (Machine Learning) là một tập con của AI Học máy có nghĩa là khiến máy tính hoạt động mà không được đưa ra trước từng bước ML có mối quan hệ rất mật thiết đối với statistics (thống kê) ML sử dụng các mô hình thống kê để “ghi nhớ” lại sự phân bố của dữ liệu Tuy nhiên, không đơn thuần là ghi nhớ, ML phải có khả năng tổng quát hóa những gì đã được nhìn thấy và đưa ra dự đoán cho những trường hợp chưa được nhìn thấy (Bell, 2020)
Hiện tại ML tập trung vào những mục tiêu như:
- Làm cho máy tính có những khả năng nhận thức cơ bản của con người như: nghe, nhìn, hiểu được ngôn ngữ, giải toán, lập trình, …
- Hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ (hay còn gọi là Big Data)
ML có thể phân thành các loại sau:
- Học có giám sát (Supervised Learning)
- Học không giám sát (Unsupervised Learning)
- Học củng cố (Reinforcement Learning)
- Học bắt chước (Imitation Learning)
1.1.3 Học sâu (Deep Learning)
Học sâu (Deep Learning) là một kiểu học máy chạy các đầu vào thông qua kiến trúc mạng thần kinh lấy cảm hứng từ sinh học Deep Learning là một lĩnh vực sử dụng mạng nơron nhân tạo (Artificial Neural Network) bắt chước trí thông minh của con người Giống như các nơron sinh học, các nơron nhân tạo trong mạng học sâu liên kết với nhau thông qua các thông số dựa trên các mô hình toán học phức tạp, để chỉ ra mối quan hệ dữ dữ liệu đầu vào (input) và dữ liệu đầu ra (output) trong quá
Trang 21trình xử lý Trong việc hiểu ngôn ngữ tự nhiên (Natural Language Understanding) việc kết hợp giữa các thao tác xử lý thô bộ dữ liệu ban đầu với mạng nơ - ron học sâu đem lại nhiều kết quả khả quan với độ chính cao (Courville, 2016)
Các mạng thần kinh chứa một số lớp ẩn trong đó dữ liệu được xử lý, cho phép máy đi sâu vào việc học, tạo kết nối và đầu vào trọng số để có kết quả tốt nhất
1.1.4 Xử lí ngôn ngữ tự nhiên (Natural Language Processing)
Xử lý ngôn ngữ tự nhiên là một nhánh của trí tuệ nhân tạo tập trung vào các ứng dụng làm việc với ngôn ngữ của con người Trong trí tuệ nhân tạo thì xử lý ngôn ngữ
tự nhiên là một trong những phần khó nhất vì nó liên quan đến việc phải hiểu ý nghĩa ngôn ngữ - công cụ hoàn hảo nhất của tư duy và giao tiếp Các bước xử lí ngôn ngữ
tự nhiên bao gồm: phân tích hình thái, phân tích cú pháp, phân tích ngữ nghĩa, tích hợp văn bản, phân tích thực nghĩa
Các bài toán ứng dụng phổ biến của lĩnh vực xử lý ngôn ngữ tự nhiên:
- Nhận dạng chữ viết
- Nhận dạng tiếng nói
- Xử lý văn bản và ngôn ngữ
- Tìm kiếm thông tin
- Chiết xuất thông tin
- Tóm tắt văn bản
- Phân loại văn bản
- Khai thác dữ liệu
Trong đề tài này, xây dựng hệ thống CB hỗ trợ giải bài tập vật lý, ngoài việc
cần giải quyết các bài toán chiết xuất thông tin, khai thác dữ liệu, tóm tắt câu văn,
phân tách từ Ta còn cần giải quyết các vấn đề chuyên môn như phải xử lí các ngôn
ngữ khoa học mà cụ thể là các thuật ngữ vật lý, các số liệu, các công thức tính toán, mà điều đó lại là vấn đề hóc búa, nó cần độ chính xác cao so với các từ ngữ thông dụng
1.1.5 Hiểu ngôn ngữ tự nhiên (Natural Language Understanding)
Hiểu ngôn ngữ tự nhiên là thành phần quyết định để đánh giá sự thông minh của chatbots Nhiệm vụ của thành phần này là trích xuất ra ba thành phần thông tin từ câu
Trang 22nói của người dùng: Đầu tiên là phân loại lĩnh vực (domain classification), nó có thể
là lĩnh vực giáo dục, y tế, kinh tế Tiếp đến là phân loại ý định (intent classification),
ví dụ như xác định được ý định tra cứu thông tin về công thức, khái niệm hoặc trợ giúp các bước để đưa ra lời giải của một mẫu bài tập Cuối cùng là bước trích xuất thông tin (slot fillter hay entity extraction) trong câu hỏi người dùng
Ví dụ ta phải trích chọn được thông tin vê công thức cần tìm hiểu là gia tốc trong câu hỏi: “công thức tính gia tốc là gì?” Từ việc trích xuất được thông tin cần tìm là “gia tốc” thì CB mới có cơ sở trả lời cho người dùng
1.1.6 Ứng dụng của trí tuệ nhân tạo trong giáo dục
Trí tuệ nhân tạo trong giáo dục (Artificial Intelligence in Education – AIED) bao gồm các hệ thống hướng dẫn và đối thoại được điều khiển theo từng bước của AI, thông qua các hoạt động học tập khám phá, phân tích bài viết và các CB hỗ trợ học sinh AIED cũng bao gồm việc người học tương tác một – một với máy tính, người học có thể sử dụng bất kì thiết bị nào có kết nối internet để hỗ trợ tối đa việc học tập bên ngoài lớp học Từ đó, giúp người học có thể tự kiểm soát chặt chẽ việc học của mình AIED mang lại các lý thuyết và phương pháp luận từ các lĩnh vực liên quan như khoa học nhận thức và giáo dục Mặt khác, AIED tạo ra các vấn đề và câu hỏi
nghiên cứu lớn hơn: Bản chất của kiến thức là gì và nó được thể hiện như thế nào?
Làm thế nào để giúp đỡ một học sinh trong học tập? Những phương pháp tương tác giảng dạy nào là hiệu quả, và khi nào nên sử dụng chúng? Người học thường có những quan niệm sai lầm gì? (Cumming, 1998)
Vận dụng AI vào giải bài tập
Bước đầu tiên trong việc giải các bài toán và bài tập vật lý với AI là đọc và hiểu
các câu hỏi Bước này là chủ yếu xử lý bằng các kỹ thuật xử lí ngôn ngữ Xử lí ngôn ngữ ở đây đề cập đến việc xử lí các câu hỏi chuyển đổi, được cung cấp dưới hình thức văn bản, đến các biểu thức mà máy tính có thể hiểu
Sau khi xác định được ý nghĩa của câu hỏi, các thuật toán sẽ đưa ra một công thức bắt nguồn từ ý nghĩa vừa được xác định Trong trường hợp câu hỏi vật lý, vấn
đề cũng được hiểu là sử dụng xử lý ngôn ngữ, nhưng bước tiếp theo là sử dụng “mô phỏng vật lý” Các thuật toán mô phỏng quá trình vật lý được mô tả trong bài toán và
Trang 23lời giải được xác định bằng cách xem kết quả mô phỏng Con người hiểu nội dung câu hỏi, suy ra các định luật vật lý đằng sau nó và sử dụng các công thức chi phối các định luật vật lý đó để giải quyết vấn đề
Ví dụ: Về giải bài tập ứng dụng định luật II Newton (Jr., 1981)
Đề cho giá trị lực F = 8 N, khối lượng của vật m = 2 kg Gia tốc của vật được
tính như sau:
• Tìm một phương trình có n biến và đã biết được n -1 biến, nghĩa là còn một
biến chưa biết Ở đây phương trình tìm được là F = m a
Phương trình được biểu diễn thành: (= F (M × A))
• Giải phương trình cho biến đó
• Tiếp tục thử cho đến khi nhận được giá trị của biến mong muốn
Ứng dụng DL trong giải quyết các bài toán với các ký hiệu (symbol) (Lample
& Charton, 2019)
Neural network nổi tiếng trong việc giải quyết các vấn đề thống kê hoặc thực hiện các tính toán hoặc xử lí các dữ liệu dưới dạng ký hiệu Khi dùng DL để giải quyết các bài toán, các tác giả xem ngôn ngữ toán học như ngôn ngữ tự nhiên Phần đầu tiên của quá trình giải là chia các biểu thức toán học thành từng phần
và biểu diễn các biểu thức dưới dạng các cấu trúc cây, với các toán tử và hàm là các
đỉnh bên trong, toán hạng là con và các số, hằng và biến là các lá
Ví dụ: biểu thức 2 + 3 × (5 + 2) có thể được biểu diễn thành:
Trang 24Để biểu diễn các biểu thức toán học dưới dạng cây, ta phải coi biểu thức là chuỗi các ký hiệu toán học Ví dụ: 2 + 3 và 3 + 2 là các biểu thức khác nhau nên chúng sẽ được biểu diễn thành các cây khác nhau Cây bằng nhau khi chúng tương đương về
mặt toán học Ví dụ: 2 + 3 = 5 = 12 - 7 = 1 x 5 đều tương đương, do đó cây biểu diễn
chúng cũng cũng tương đương Khi thể hiện các biểu thức phức tạp, ta phải tìm một biểu diễn tương đương ngắn gọn hơn của biểu thức đó, từ đó biểu thức phức tạp có thể biểu diễn bằng một cây tương đương ngắn gọn hơn Vậy nhiệm vụ chính là chuyển đổi một biểu thức thành một biểu thức khác, ví dụ: ánh xạ cây của một phương trình đến cây của giải pháp của nó Ta coi đây là một ví dụ cụ thể của dịch máy (machine translation) Vì trong đó một chuỗi các từ trong một ngôn ngữ phải được dịch thành một chuỗi các từ trong ngôn ngữ khác Mô hình dịch máy sử dụng ở đây là mô hình seq2seq
Bước tiếp theo là huấn luyện (training) cho máy phân tích, tổng hợp dữ liệu từ
một cơ sở dữ liệu lớn gồm nhiều ví dụ để máy học hỏi Các nhà nghiên cứu tạo cơ sở
dữ liệu này bằng cách lắp ráp ngẫu nhiên các biểu thức toán học từ một thư viện các toán tử nhị phân như cộng, nhân, … toán tử đơn nguyên (toán tử mà nó chỉ nhận duy nhất một tham số) như cos, sin và exp; và một tập hợp các biến, số nguyên và hằng
số, chẳng hạn như π và e
1.2 Ứng dụng hệ thống trả lời tự động chatbot vào dạy học
Hiện tại, có rất nhiều ứng dụng hỗ trợ cho việc học tập kiến thức mới cũng như cũng cố kiến thức đã học và hỗ trợ người học giải bài tập Một số ứng dụng hiện đang được dùng phổ biến như:
Trang 25- Ứng dụng Socratic: người học có thể chụp ảnh lại một câu hỏi, Socratic sẽ
tìm các bài giải có liên quan nhất trên web Điều này sẽ giúp học sinh dễ dàng có được bài giải
- Ứng dụng Maths Solver: có tốc độ xử lí các bài toán rất nhanh và chính xác,
cùng với đó là trình bày cách giải chi tiết cho người dùng xem
- Website Hoctot, Vietjack, Lời Giải Hay: các trang web này đều cung cấp lời
giải chi tiết cho môn Vật lý và một số môn học khác
Các trang web và ứng dụng trên đều giúp ích cho việc học của học sinh nhưng
có khuyết điểm là chỉ cung cấp thông tin một chiều, học sinh có thể không hiểu được cách giải để có được đáp án
Do vậy, bên cạnh các ứng dụng này ta cần phải sử dụng tạo ra hệ thống đối thoại như một gia sư người máy hỗ trợ học sinh trong việc từng bước giải các bài tập
1.2.1 Sơ lược về hệ thống trả lời tự động CB
CB là một hệ thống đàm thoại máy tương tác với người dùng thông qua ngôn ngữ đàm thoại tự nhiên CB có thể tự động trả lời câu hỏi hoặc xử lý tình huống CB đầu tiên có tên Eliza được Weizenbaum tạo ra vào năm 1966 để có thể tạo ra một cuộc trò chuyện đơn giản CB thường được ứng dụng trong nhiều lĩnh vực như thương mại điện tử, dịch vụ khách hàng, y tế, tài chính ngân hàng, hỗ trợ giáo dục, các dịch
vụ giải trí, … Hầu hết các CB đều sử dụng thuật toán của trí tuệ nhân tạo Hệ thống
CB cần kết hợp nhiều thành phần: hiểu ngôn ngữ tự nhiên, phát sinh ngôn ngữ tự nhiên, giám sát hội thoại,…
CB tương tác với chúng ta như một hệ thống trả lời nhanh chóng và tự động bằng cách xây dựng giả lập các mô hình tương tác trong ML Hệ thống CB có thể tự học, tự hiểu các câu hỏi theo nhu cầu của người dùng và đưa ra các phản hồi sao cho phù hợp Sau khi được lập trình và huấn luyện, CB sẽ tự động làm việc một cách độc lập như một con người Tuy nhiên, những câu hỏi, tin nhắn của người dùng phải được cấu trúc lại thành câu hỏi ngắn gọn với ngôn ngữ tự nhiên (natural language) và những câu tương tự đã được thêm vào hệ thống cùng với các kịch bản đối thoại tương ứng
đã được xây dựng trước đó thì CB mới có khả năng đưa ra phản hồi phù hợp
Trang 26Trợ lý cá nhân ảo (VPA) là một trong những ứng dụng phổ biến của công nghệ
chatbot Cụ thể, các hệ như Apple Siri, Microsoft Cortana, Google Assistant và
Amazon Alexa… đã cung cấp dịch vụ cho người dùng qua giao diện giọng nói và văn
bản
Các nền tảng dịch vụ CB phổ biến ở Việt Nam hiện nay là Chatbot Harafunnel,
Messnow, Hanna chat,…
1.2.2 Các thành phần của hệ thống CB
Hình 1.3 Các thành phần cơ bản của hệ thống CB (Arora et al., 2013)
Một hệ thống CB gồm các thành phần cơ bản sau:
Input Decoder: Bộ giải mã đầu vào
Language Understanding: Hiểu ngôn ngữ tự nhiên
Dialogue Manager: Quản lý đối thoại
Domain Specific Components: Thành phần cụ thể của miền
Response Generator: Trình tạo kết quả đầu ra
Output Renderer: Trình kết xuất đầu ra
Trong các mô hình CB, thành phần hiểu ngôn ngữ tự nhiên (NLU) sử dụng rất nhiều kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) để phân tích câu hội thoại, xác định ý định (intent) của người dùng, trích xuất những thông tin của người dùng cung cấp Sau đó những thông tin này được chuyển tới cho thành phần quản lý hội thoại (dialogue manager) Thành phần quản lý hội thoại sẽ xử lý thông tin và chuyển tới cho thành phần sinh ngôn ngữ để sinh ra câu hội thoại
Trang 27Hình 1.4 Ví dụ về cấu trúc hội thoại của một CB 1.2.3 Ứng dụng của CB trong giáo dục
- Tương tác trực tiếp, tiện lợi
Trong một số bài nghiên cứu đã chỉ ra rằng sự tương tác xã hội tích cực giữa giáo viên và học sinh góp phần vào việc tăng hiệu quả giáo dục Tuy nhiên, số lượng học sinh ngày càng tăng khiến giáo viên khó tương tác và cung cấp hướng dẫn bài học đầy đủ, giáo viên phải mất thời gian rất nhiều để cung cấp bài học cần thiết cho học sinh Nhưng nếu câu hỏi được giải quyết qua thời điểm học sinh hỏi thì có thể vấn đề sẽ không còn cần thiết nữa
Việc sử dụng CB ứng dụng trí tuệ nhân tạo AI có thể giúp cho giáo viên tiết kiệm thời gian trong việc trả lời những thắc mắc trong quá trình dạy học Đặc biệt trong các lớp học tập quy mô lớn với hơn một trăm sinh viên mỗi giảng viên, vào cũng một thời điểm, giảng viên không thể đối thoại trực tuyến với từng sinh viên Các CB có thể giải quyết vấn đề hỗ trợ cá nhân sinh viên do chúng hỗ trợ tra cứu một cách nhanh chóng, dễ dàng và chính xác Thông qua CB, mỗi sinh viên có
Trang 28thể gửi câu hỏi và nhận được phản hồi ngay lập tức, điều này cho phép họ nhận được câu trả lời trực tiếp từ bất cứ đâu
- Giúp tạo hứng khởi, tăng sự tập trung học tập
Nếu nói riêng trong hoạt động dạy học thì CB có thể hoạt động như một người trợ giảng đắc lực giúp nâng cao chất lượng dạy – học và còn có thể giúp tạo hứng khởi cho người học Tuy nhiên, các CB sẽ không thể thay thế một người tư vấn giáo dục (hoặc giảng dạy) trực tiếp mà có chỉ thể đóng vai trò là công cụ trợ giúp hoặc thay vào đó, là phương tiện của giáo dục hiện đại
Ngoài ra, với công nghệ trí tuệ nhân tạo, các CB có thể được sử dụng để dạy học bằng cách chuyển một bài giảng trong một loạt các thông điệp để làm cho nó trông giống như một cuộc trò chuyện được chuẩn hóa CB có âm thanh cho phép người học tập trung hơn vào đối tượng học tập bằng cách giao tiếp trực tiếp với hệ thống, phương thức này trái ngược với cách sử dụng máy tính truyền thống yêu cầu điều hướng qua các menu khác nhau bằng chuột Do đó, nó sẽ tạo ra cảm giác vui thích, hài lòng, đồng thời khuyến khích người học thể hiện bản thân
- Giúp giáo viên thu nhận thông tin nhanh chóng, chính xác
CB có thể liên tục đánh giá mức độ hiểu biết của người học và trình bày phần tiếp theo của bài giảng cho phù hợp
CB được sử dụng để trả lời các câu hỏi của học sinh nên giáo viên có thể sử dụng các tệp nhật ký được tạo của các cuộc hội thoại để xem các sinh viên đang gặp vấn đề gì và điểm yếu của họ là gì từ đó đưa ra phương hướng giải quyết phù hợp
Ví dụ các CB đã được ứng dụng trong trường học:
- Chatbot Pounce (Dimitriadis, 2020): Đại học bang Georgia đã sử dụng một
chatbot có tên Pounce để hỗ trợ quá trình đăng ký của sinh viên AI và ML cho phép Pounce có thể điều chỉnh hành vi theo đầu vào mà nó nhận được Theo thời gian, nó
có thể học hỏi, cải thiện câu trả lời của mình và trở nên nhiều hơn, chính xác hơn Các sinh viên đã nhận được ngay lập tức và chính xác thông tin họ muốn và cũng có thể truy cập bất cứ lúc nào trong ngày mà không bị hạn chế bởi thời gian làm việc của văn phòng trường
Trang 29- Chatbot Knowie (Bii, 2013): Khi học về chủ đề Di truyền, sinh viên được GV
giao nhiệm vụ lập trình một chatbot Cụ thể là ngoài các bài học trong phòng thí nghiệm, các bài học sinh học thông thường, sinh viên sẽ phải lập trình một CB Nội dung CB sinh viên phải lập trình là các thông tin về Gregory Mendel và những đóng góp của ông cho lĩnh vực di truyền học Khi hoàn thành lập trình CB, mỗi nhóm sẽ được đánh giá về tính toàn diện của các câu trả lời mà họ đưa ra cho các câu hỏi liên quan đến chủ đề Phần mềm triển khai cho công nghệ này là công nghệ mã nguồn
mở chi phí thấp như: Ubuntu Linux, Python, JDK
1.2.4 Một số CB đang được sử dụng
1.2.4.1 CB hỗ trợ việc học tiếng Anh
Trong bài báo “Chatbot as an Intelligent Personal Assistant for Mobile
Language Learning” (Pham et al., 2018), tác giả thực hiện nghiên cứu trong đó thảo luận về cách người dùng sử dụng và chấp nhận một công nghệ mới như CB cho việc học tiếng Anh Kết quả đã được thảo luận để cải thiện hệ thống và cung cấp hướng dẫn cho những người muốn phát triển ứng dụng hệ thống thông minh cho giáo dục
Hệ thống có tên English Practice được cài đặt trên thiết bị di động để tương tác với người dùng thông qua trò chuyện qua cửa sổ chat CB có thể tự động nhắc nhở người học nghiên cứu và đề xuất một số câu trả lời cho các câu hỏi trắc nghiệm Nó cũng
có khả năng giúp người dùng học từ vựng và bài học mới Trong đó CB sử dụng nền tảng Dialogflow cho ngôn ngữ tự nhiên để xử lý và yêu cầu truy xuất từ người dùng Một ứng dụng hỗ trợ học tiếng anh khác là Andy English Bot CB được xây dựng như một máy trò chuyện, người dùng chỉ cần bắt đầu bằng cách trao đổi lời chào Bot sẽ bắt chước các cuộc thảo luận và sau vài lần tương tác sẽ cho phép người dùng chơi trò chơi hoặc làm bài tập Sau khi chọn chủ đề, bạn sẽ nhận được rất nhiều bài tập với các ví dụ và giải thích khi bạn mắc lỗi
Trang 30Hình 1.5 Một số mẫu đối thoại của Andy English bot 1.2.4.2 CB tư vấn tuyển sinh của Đại học sư phạm kỹ thuật TP.HCM
Hình 1.6 Giao diện CB của hệ thống tư vấn tuyển sinh
Trang 311.2.4.3 Ứng dụng KAMI – trợ lí ảo mùa thi
Ứng dụng này là một trợ lí ảo hỗ trợ tính năng tra cứu điểm thi, phân tích phổ điểm, tra cứu chỉ tiêu xét tuyển, và gợi ý chọn trường
Sản phẩm ứng dụng này được phát triển bởi startup công nghệ NERD.vn trên nền tảng trợ lý ảo VAV của nhóm giảng viên, sinh viên Trường đại học Công nghệ - đại học quốc gia Hà Nội KAMI còn có những cải tiến phát triển như: Tích hợp hệ tri thức lớn dưới dạng đồ thị (knowledge graph) chứa hàng triệu đỉnh, hàng trăm triệu cạnh về con người, tổ chức, địa điểm Việt Nam Nhờ đó, KAMI sẽ có khả năng hỗ trợ hỏi đáp tốt hơn
Hình 1.7 Giao diện CB đối thoại của ứng dụng KAMI
Trang 321.3 Cơ sở lí thuyết và một số kỹ thuật xây dựng hệ thống trả lời tự động CB
1.3.1 Một số kỹ thuật tiền xử lý ngôn ngữ tự nhiên - tiếng Việt trong ứng dụng CB 1.3.1.1 Phân tách từ (Tokenization hay word segmention)
Phân tách từ là một công đoạn quan trọng để máy tính hiểu ngữ nghĩa câu văn
để câu nói văn bản text có thể chuyển hóa thành số liệu máy tính có thể hiểu được (để ánh xạ sang máy tính hiểu …)
Hầu hết các kỹ thuật xử lý trong NLP hiện nay đều dựa trên thành phần cơ bản
là từ, vì thế có thể nói việc phân chia từ (tách từ) trong text rất là quan trọng Tách từ
là một quá trình xử lý nhằm tách một đoạn text (một chuỗi liên tiếp các ký tự) thành những từ (word hay token) riêng lẻ có ngữ nghĩa Khi xử lý ngôn ngữ, muốn xác định cấu trúc ngữ pháp của câu, xác định từ loại của các từ trong câu, ta phải xác định được đâu là từ trong câu
Đối với tiếng Anh thì việc này khá dễ dàng vì mỗi từ trong tiếng Anh đều có ý nghĩa Đa số các trường hợp thì chỉ cần sử dụng khoảng trắng là có thể tách ngữ nghĩa của từ được Tuy nhiên, các ngôn ngữ khác như tiếng Việt hay tiếng Nhật thì điều này không chính xác Tiếng Việt đặt dấu cách giữa các âm tiết chứ không phải các
từ, một từ có thể có một, hai hoặc nhiều âm tiết
Ví dụ trong tiếng Anh ta có từ “velocity” ta có thể hiểu ý nghĩa ngay, từ này được phân tách với từ khác bằng khoảng trắng Nhưng trong Tiếng Việt lại khác, ví
dụ từ “vận tốc” với hai âm tiết “vận” và “tốc”, cả hai âm tiết này điều có thể mang nghĩa khác biệt khi ta ghép với từ khác nhưng khi ghép lại mang một ý nghĩa hoàn toàn khác
Mục tiêu của việc tách từ của văn bản đầu vào là để khử tính nhập nhằng về ngữ nghĩa của văn bản Một số công cụ phân tách từ nghiên cứu ở Việt Nam như UETsegmenter, Vitk, pyvi,
1.3.1.2 Mô hình Bag of Word (BoW)
Mô hình Bag of Word là một biểu diễn đơn giản hóa được sử dụng trong xử lý ngôn ngữ tự nhiên và truy xuất thông tin Trong mô hình này, một văn bản (chẳng hạn như một câu hoặc một tài liệu) được thể hiện dưới dạng túi (bag) của các từ của
nó, không quan tâm đến ngữ pháp và thậm chí trật tự từ trong câu Ý tưởng của Bag
Trang 33of Word dựa trên cách đếm số lần xuất hiện mỗi từ trong văn bản (tần số xuất hiện của các từ trong văn bản đó)
“Có nhiều thư viện để hiện thực hóa việc mô hình Bag of Word, như word2vec (Google), sklearn (scikit-learn),… hay những cách cài đặt hiện thực cải tiến phù hợp với yêu cầu thực tế khác Trong phạm vi đề tài mô hình Bag of Word được hiện thực hóa bằng thư viện Natural Language Toolkit (NLTK), ứng dụng để biểu diễn ngôn ngữ thành dữ liệu vector làm dữ liệu đầu vào cho mô hình Sequence to Sequence.”(Nguyễn Thành Thái & Châu Minh Hòa, 2018)
1.3.2 Deep learning trong xử lý ngôn ngữ tự nhiên
1.3.2.1 Mạng Neural nhân tạo (Artificial Neural Network)
Hình 1.8 Lịch sử phát triển của mạng neural netwwork.(Tomuro, 2018)
Mạng nơron nhân tạo (Artificial Neural Network – ANN) là một mô hình
xử lý thông tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số lượng lớn các nơron được gắn kết để xử lý thông tin ANN hoạt động giống như bộ não của con người, được học hỏi kinh nghiệm (thông qua việc huấn luyện), có khả năng lưu giữ các tri thức và sử dụng các tri thức đó trong
việc dự đoán các dữ liệu chưa biết (unseen data)
Trang 34Trong nhiều trường hợp, ANN là một hệ thống thích ứng, tự thay đổi cấu trúc của mình dựa trên các thông tin bên ngoài hay bên trong chạy qua mạng trong quá trình học Mạng neural là một nhóm các nút nối với nhau, mô phỏng mạng nơron thần kinh của não người Trong một mạng neural có kiến trúc gồm 3 thành phần chính:
Input layer, Hidden layer và Ouput layer
Hình 1.9 Kiến trúc một mạng neural
Trong đó, lớp ẩn (Hidden Layer) gồm các nơron nhận dữ liệu input từ các nơron
ở lớp (Layer) trước đó và chuyển đổi các input này cho các lớp xử lý tiếp theo Trong một ANN có thể có nhiều lớp ẩn
Hình 1.10 Quá trình xử lý thông tin của một ANN (Britz, 2015)
Trang 35Trong đó:
+ Inputs (dữ liệu vào): Mỗi Input tương ứng với một thuộc tính (attribute) của
dữ liệu (patterns) Ví dụ trong CB hỗ trợ giải bài tập vật lý, các input có thể là thông
số về vận tốc, thời gian, phương trình chuyển động
+ Output (kết quả): Kết quả của một ANN là một giải pháp cho một vấn đề
Ví dụ với bài toán trên output có thể là công thức tính quãng đường, vị trí
+ Connection Weights (trọng số liên kết): Đây là thành phần rất quan trọng
của một ANN, nó thể hiện mức độ quan trọng, độ mạnh của dữ liệu đầu vào đối với quá trình xử lý thông tin chuyển đổi dữ liệu từ layer này sang layer khác Quá trình học của ANN thực ra là quá trình điều chỉnh các trọng số của các dữ
liệu đầu vào để có được kết quả mong muốn
+ Summation Function (hàm tổng): Tính tổng trọng số của tất cả các input
được đưa vào mỗi neural Hàm tổng của một neural đối với n input được tính theo công thức sau:
𝑌 = ∑ 𝑋𝑖𝑊𝑖𝑛
𝑖=1
+ Transfer Function (hàm chuyển đổi): Hàm tổng (Summation Function) của
một neural cho biết khả năng kích hoạt (activation) của nơron đó còn gọi là kích hoạt bên trong (internal activation) Các nơron này có thể sinh ra một output hoặc không trong ANN (nói cách khác rằng có thể output của một neural có thể được chuyển đến layer tiếp trong mạng neural hoặc không) Việc lựa chọn Transfer Function có tác động lớn đến kết quả của ANN Hàm chuyển đổi phi tuyến được sử dụng phổ biến trong ANN là sigmoid (logical activation) function
Kết quả xử lý tại các nơron đôi khi rất lớn, vì vậy transfer function được sử dụng
để xử lý output này trước khi chuyển đến layer tiếp theo Thay vì sử dụng Transfer Function người ta sử dụng giá trị ngưỡng (Threshold value) để kiểm soát các output của các nơron tại một layer nào đó trước khi chuyển các output này đến các layer tiếp theo Nếu output của một nơron nào đó nhỏ hơn giá trị ngưỡng thì nó sẽ không được chuyển đến layer tiếp theo
Trang 361.3.2.2 Mạng neural hồi quy ứng dụng trong mô hình ngôn ngữ tự nhiên
Ý tưởng của RNN đó là thiết kế một Neural Network sao cho có khả năng
xử lý được thông tin dạng chuỗi (sequential information), ví dụ một câu là một
chuỗi gồm nhiều từ được thực hiện lặp lại cùng một tác vụ cho mỗi thành phần từ trong chuỗi
RNN là một mô hình có khả năng nhớ được thông tin đã tính toán trước
đó Trong một mạng neural truyền thống, tất cả các input (và output) độc lập với nhau Nếu ta muốn dự đoán từ tiếp theo trong một câu, ta phải biết những từ nào xuất
hiện trước nó RNNs được gọi là hồi quy vì nó thực hiện nhiệm vụ tương tự cho mọi
phần tử của một chuỗi, với kết quả được phụ thuộc vào tính toán trước Về lý thuyết, RNN có thể sử dụng thông tin theo trình tự dài ngắn tùy ý, nhưng trong thực tế, chúng
bị giới hạn chỉ nhìn lại một vài bước
RNN được ứng dụng và thành công ở rất nhiều bài toán, đặc biệt là ở lĩnh vực
NLP
Hình 1.11 Một mạng RNN (Britz, 2015)
Ví dụ: nếu chuỗi chúng ta có chuỗi “Động học chất điểm” là một câu gồm 2 từ Mạng neural được triển khai sẽ gồm 2 tầng neural tương ứng với mỗi chữ một tầng Các công thức tính toán xảy ra trong RNN như sau:
• x t là đầu vào tại bước
Trang 37• s t là trạng thái ẩn ở bước Đó là bộ nhớ của của mạng s t được tính toán dựa trên trạng thái ẩn trước đó và đầu vào ở bước hiện tại: s t = f Ux( t +Ws t−1) Hàm thường là một phi tuyến như tang hyperbolic (tanh) hay ReLU s t−1 được dùng để tính toán trạng thái ẩn đầu tiên, thường được khởi tạo với giá trị ban đầu bằng 0
• o t là đầu ra ở bước Ví dụ, nếu chúng ta muốn dự đoán từ tiếp theo trong câu
thì đó sẽ là một vectơ xác suất trong từ vựng của chúng ta o t = softmax (V s t )
Một số ứng dụng của RNN
• Mô hình hóa ngôn ngữ và tạo văn bản
Mô hình hóa ngôn ngữ cho ta biết xác suất của một câu trong một ngôn ngữ là bao nhiêu Đây cũng là bài toán dự đoán xác suất từ tiếp theo của một câu cho trước là bao nhiêu Trong mô hình hóa ngôn ngữ, input thường là một chuỗi các từ (được mã hóa dưới dạng các vectơ) và output là chuỗi các từ được dự đoán Khi
training mạng dữ liệu , ta đặt o t = x t + 1 vì ta muốn đầu ra ở bước t là từ tiếp theo thực
tế
• Máy dịch (Machine Translation)
Machine Translation tương tự như mô hình hóa ngôn ngữ ở chỗ input là một chuỗi các từ trong ngôn ngữ nguồn (ví dụ: tiếng Đức) output là một chuỗi các từ trong ngôn ngữ đích (ví dụ: tiếng Anh) Một sự khác biệt chính là output chỉ bắt đầu sau khi input hoàn chỉnh, bởi vì từ đầu tiên của câu dịch của ta có thể yêu cầu thông tin được nắm bắt từ chuỗi đầu vào hoàn chỉnh
Trang 38Hình 1.12 Ứng dụng mô hình RNN cho máy dịch (Britz, 2015)
1.3.3 Mô hình Sequence-to-sequence (Seq2Seq) ứng dụng mạng neural nhân tạo (Neural Network)
Mô hình Seq2Seq sử dụng mô hình xác suất phân phối có điều kiện để thực hiện mapping chuỗi tuần tự đầu vào input x1, …, xn với một chuỗi tuần tự đầu ra ouput y1,…,
ym
Sequence to sequence là một mô hình có chứa hai RNNs, một cho bộ mã hóa (encoder xử lý input đầu vào) và một cho bộ giải mã (decoder thực hiện sinh dữ liệu output đầu ra) Encoder và Decoder là hai RNNs có thể sử dụng cùng một tập tham số hoặc khác nhau
Bộ mã hóa (encoder): Sử dụng các lớp deep neural network và chuyển đổi các từ
đầu vào thành các vectơ ẩn tương ứng Mỗi vector đại diện cho từ hiện tại và bối cảnh của
từ
Bộ giải mã (decoder): tương tự như bộ mã hóa Nó lấy đầu vào của vectơ ẩn được
tạo bởi bộ mã hóa, trạng thái ẩn riêng của nó và từ hiện tại để tạo ra vectơ ẩn tiếp theo và cuối cùng dự đoán từ tiếp theo
“Một cách cụ thể: Decoder sẽ sinh giá trị xác suất phân phối của khả năng xuất hiện các phần tử đầu ra trong tập từ điển, để lần lượt đi xác định từ tiếp theo trong chuỗi đầu ra, dựa trên vector đầu vào từ mạng Encoder trước và trạng thái trong quá trình tính toán.”(Nguyễn Thành Thái & Châu Minh Hòa, 2018)
Trang 39Mô hình Seq2seq được đề cập trong bài báo “Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation”, đã trở thành mô hình chính cho các hệ thống đối thoại và Máy dịch (Machine Translation)
Hình 1.13 Kiến trúc bộ mã hóa - giải mã Bộ mã hóa chuyển đổi một câu nguồn thành một vectơ “nghĩa” được truyền qua bộ giải mã để tạo ra một bản
dịch (câu trả lời).(Tensorflow, 2017)
Song song đó, mô hình seq2seq những phiên bản đầu cũng có một số điểm hạn chế ví dụ như các RNNs trong mô hình không ổn định khi xử lí các chuỗi thông tin dài và không thể học để kết nối các chuỗi thông tin quá xa lại với nhau
Phiên bản cải tiến sau này của seq2seq khắc phục được một số hạn chế ban đầu của mô hình seq2seq, đem lại hiệu quả huấn luyện nhanh hơn và đạt độ chính xác cao hơn nhờ vào việc áp dụng thêm các biến thể của kỹ thuật Attention hoặc biến thể mô hình Mem2seq…
Mô hình bộ nhớ theo trình tự Mem2Seq
Hình 1.14 Kiến trúc mô hình Mem2Seq được đề xuất cho các hệ thống
hội thoại.(Madotto et al., 2018)
Trang 40a) Bộ mã hóa bộ nhớ với ba bước nhảy
b) Bộ giải mã bộ nhớ qua hai bước tạo
Hình 1.15 Ví dụ hoạt động của mô hình Mem2seq so với các mô hình khác
trong CB trợ lí trong xe.(Madotto et al., 2018)
Kết quả trên cho thấy sự cải tiến mô hình Mem2seq đạt được nhiều thành tựu
và giúp CB ngày càng thông minh hơn Do đó, ta có thể tin rằng các mô hình xây dựng hệ thống trả lời tự động thông minh hứa hẹn ngày càng phát triển và đạt được nhiều thành tựu
1.3.4 Những thành tựu, sự phát triển nhanh chóng trong việc nghiên cứu xây dựng máy hiểu ngôn ngữ con người
1.3.4.1 BERT (Bidirectional Encoder Representations from Transformers) cú hích của Google trong việc xây dựng các pre-trained model ngôn ngữ
Các nhà nghiên cứu tại Google AI khẳng định, sự thiếu hụt dữ liệu đào tạo là một trong những thách thức lớn nhất trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP)
Sự thiếu hụt dữ liệu gây cản trở lớn cho sự phát triển của NLP Để giải quyết thách thức này, các mô hình xử lý ngôn ngữ tự nhiên sử dụng một cơ chế tiền xử lý dữ liệu