Xây Dựng Và Phát Triển Ứng Dụng Học Và Kiểm Tra Tiếng Anh Thông Minh Trên Nền Tảng Dịch Vụ Điện Toán Đám Mây Google (Luận Văn Thạc Sĩ) Điện toán đám mây (ĐTĐM) là một lĩnh vực trong ngành công nghệ thông tin được quan tâm và phát triển mạnh trong những năm gần đây. Với triết lý cung cấp tài nguyên để thực hiện tác vụ, và là một dạng của tính toán phân bố, ĐTĐM ngày càng được quan tâm trong các ứng dụng thực tiễn. Người dùng chỉ cần quan tâm đến dịch vụ máy tính, các dữ liệu nằm tại trung tâm dữ liệu đám mây có khả năng mở rộng và truy cập được ở bất kỳ nơi đâu. Đây là lĩnh vực có tiềm năng phát triển lớn nên nếu áp dụng lĩnh vực này vào trong quá trình học tập và nghiên cứu sẽ mang lại hiệu quả cao. Trong thời đại hội nhập như hiện nay, tiếng Anh luôn đóng một vai trò quan trọng giúp con người tiếp cận với những điều mới lạ, học hỏi thêm những điều mới, là công cụ cho việc giao tiếp với tất cả mọi người trên thế giới. Vì thế, nhu cầu học và thi lấy chứng chỉ tiếng Anh luôn rất cao. Nếu có trợ lý học tập như một website hỗ trợ ôn luyện tiếng Anh sẽ mang lại hiệu quả rất lớn. Chính vì vậy, em xin thực hiện chuyên đề của mình với đề tài: “Xây dựng và phát triển ứng dụng học và kiểm tra tiếng Anh thông minh trên nền tảng dịch vụ điện toán đám mây Google”. Chuyên đề bao gồm có bốn chương: Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Phân tích hệ thống Chương 4: Phát triển hệ thống kiểm tra tiếng Anh trên nền tảng dịch vụ Google cloud.
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN VIỆN CÔNG NGHỆ THÔNG TIN VÀ KINH TẾ SỐ - - CHUYÊN ĐỀ THỰC TẬP Đề tài: XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG HỌC VÀ KIỂM TRA TIẾNG ANH THÔNG MINH TRÊN NỀN TẢNG DỊCH VỤ ĐIỆN TỐN ĐÁM MÂY GOOGLE Chun ngành : Cơng nghệ thơng tin Hệ : Chính quy Lớp : Cơng nghệ thơng tin 57A Mã sinh viên : 2367473 Họ tên sinh viên : Nguyễn Văn An Hà Nội MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG 1: TỔNG QUAN 1.1 Đăt vấn đề 1.2 Khảo sát hệ thống có 1.3 Mục tiêu đề tài 1.4 Phát biểu toán xây dựng ứng dựng học tiếng Anh 1.4.1 Yêu cầu toán 1.4.2 Các chức hệ thống 10 1.4.3 Mô tả nghiệp vụ hệ thống 10 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 12 2.1 Điện toán đám mây 12 2.1.1 Khái niệm điện toán đám mây 12 2.1.2 Lý nên sử dụng điện toán đám mây 12 2.2 Các hệ thống thông minh 14 2.2.1 Hệ thống thông minh 14 2.2.2 Một số hệ thống tích hợp cơng nghệ thông minh 14 2.2.3 Tổng quan trợ lý ảo thông minh (Chatbot) 16 2.2.4 Cách thức tạo Chatbot thông minh 16 2.3 Tổng quan công nghệ sử dụng 17 2.3.1 Google Cloud Platform 17 2.3.2 Node.js 22 2.3.3 Reactjs 24 2.4 Đánh giá công nghệ sử dụng 24 2.4.1 Đánh giá dịch vụ điện toán đám mây Google 24 2.4.2 Đánh giá việc lưu trữ liệu Filestore Storerage 27 CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 30 3.1 Các chức hệ thống 30 3.2 Các biểu đồ hệ thống 31 3.2.1 Biểu đồ use-case 31 3.2.2 Đặc tả use-case 31 3.2.3 Biểu đồ trạng thái 41 3.2.4 Biểu đồ 45 3.2.5 Biểu đồ hoạt động 49 3.3 Cơ sở liệu 52 CHƯƠNG 4: PHÁT TRIỂN ỨNG DỤNG KIỂM TRA TIẾNG ANH THƠNG MINH TRÊN NỀN TẢNG DỊCH VỤ ĐIỆN TỐN ĐÁM MÂY GOOGLE CLOUD 57 4.1 Phát triển ứng dụng 57 4.1.1 Xây dựng phần tương tác với người dùng 57 4.1.2 Xây dựng trợ lý ảo thông minh sử dụng dialogflow 58 4.1.3 Triển khai ứng dụng GCP 62 4.2 Giới thiệu ứng dụng 63 KẾT LUẬN 72 TÀI LIỆU THAM KHẢO 73 LỜI NÓI ĐẦU Điện toán đám mây (ĐTĐM) lĩnh vực ngành công nghệ thông tin quan tâm phát triển mạnh năm gần Với triết lý cung cấp tài nguyên để thực tác vụ, dạng tính tốn phân bố, ĐTĐM ngày quan tâm ứng dụng thực tiễn Người dùng cần quan tâm đến dịch vụ máy tính, liệu nằm trung tâm liệu đám mây có khả mở rộng truy cập nơi đâu Đây lĩnh vực có tiềm phát triển lớn nên áp dụng lĩnh vực vào trình học tập nghiên cứu mang lại hiệu cao Trong thời đại hội nhập nay, tiếng Anh đóng vai trị quan trọng giúp người tiếp cận với điều lạ, học hỏi thêm điều mới, công cụ cho việc giao tiếp với tất người giới Vì thế, nhu cầu học thi lấy chứng tiếng Anh cao Nếu có trợ lý học tập website hỗ trợ ôn luyện tiếng Anh mang lại hiệu lớn Chính vậy, em xin thực chuyên đề với đề tài: “Xây dựng phát triển ứng dụng học kiểm tra tiếng Anh thơng minh tảng dịch vụ điện tốn đám mây Google” Chuyên đề bao gồm có bốn chương: Chương 1: Tổng quan Chương 2: Cơ sở lý thuyết Chương 3: Phân tích hệ thống Chương 4: Phát triển hệ thống kiểm tra tiếng Anh tảng dịch vụ Google cloud DANH MỤC TỪ VIẾT TẮT TỪ VIẾT TẮT MƠ TẢ CNTT Cơng nghệ thơng tin GPU Graphics Processing Unit GCP Google Cloud Platform NLU Natural Language Understanding GAE Google App Engine SSL Transport Layer Security TLS Transport Layer Security AWS Amazone Web Services VPN Virtual Private Network CHƯƠNG 1: TỔNG QUAN 1.1 Đăt vấn đề Trong thời kì phát triển hội nhập nay, tiếng Anh ngôn ngữ bỏ qua, ngơn ngữ chung cho tồn cầu Đối với Việt Nam, nước thời kì phát triển việc học tiếng Anh lại phải đươc trú trọng Chúng ta cần phải nghiên cứu cập nhật xu hướng từ nước Trong trình nghiên cứu phát triển, tất lĩnh vực sử dụng tiếng Anh, để lĩnh hội kiến thức đa dạng, chuyên sâu, dễ dàng cần phải biết tiếng Anh để chắt lọc nguồn tham khảo tốt Trong môi trường làm việc, ngôn ngữ chung cho tất người tiếng anh Vì thế, để cơng việc hiệu cần phải có kĩ hiểu giao tiếp tiếng anh Nếu có kĩ tiếng Anh tốt việc tìm cơng việc lương cao, môi trường động, hội nhập điều không khó Từ đó, có nhiều hội việc làm mới, giúp giao tiêp với giới bên ngồi, dễ dàng tìm kiếm thông tin Cuộc cách mạng công nghệ 4.0 làm thay đổi mạnh mẽ diện mạo giới Để thực hố q trình học tiếng Anh việc tạo mơ hình học tiếng Anh làm rút ngắn thời gian học tập mà mang lại lợi ích tốt việc nhúng tảng công nghệ vào việc học tiếng Anh điều cấp thiết Nền tảng dịch vụ điện toán đám mây Google cơng cụ hữu ích giúp cho việc xây dựng phát triển ứng dụng học kiểm tra tiếng Anh cách tốt Hệ thống phân tích cấu trúc câu hỏi điền từ giúp cho người dùng nắm bắt nội dung kiến thức tốt vừa học vừa thực hành Giao tiếp với trợ lý ảo hỗ trợ học tập (Chatbbot) thay phải nhập văn hệ thống giao tiếp với người dùng thơng qua giọng nói, hệ thống nhắc nhở việc học tập, lịch sử học tập xem người dùng sai lần,… Hệ thống phân tích đoạn văn mà người dùng nhập vào, xem người dùng có ý định làm trả lời lại với câu trả lời tốt Bởi lý nên em lựa chọn đề tài “Xây dựng phát triển ứng dụng học kiểm tra tiếng Anh tảng dịch vụ điện toán đám mây Google Cloud” nhằm giúp cho người có thêm kênh cung cấp kiến thức, hỗ trợ việc nâng cao khả học, nâng cao trình độ người sử dụng, đặc biệt người tiêp xúc với tiếng Anh 1.2 Khảo sát hệ thống có Nhằm tạo ứng dụng làm loại bỏ nhược điểm lĩnh hội ưu điểm hệ thống học tiếng Anh sẵn có cần tiến hành khảo sát thực tế cách thao tác chức số website học tiếng Anh miễn phí Trên Internet có số trang web phục phụ cho trình học tiếng Anh Duolingo, Mango Language, Edumall Tổng quan cho thấy trang miễn phí hồn tồn miễn phí dùng thử, chúng khơng tích hợp trợ lý ảo hỗ trợ học tập (chatbot) Điều làm cho ứng dụng ta trở nên đặc biệt có triển vọng Duolingo Website Duolingo https://www.duolingo.com/ ứng dụng học tiếng Anh hồn tồn miễn phí đánh giá cao Nội dung học phong phú với nhiều chủ đề, học Ưu điểm ứng dụng học điều chỉnh để thích nghi với trình độ người dùng Các tập thiết kế giúp người dùng học tập ôn từ vựng hiệu Tương tác hệ thống với người dùng cao thơng qua hình thức chấm điểm người dùng biết kết xem trình độ đến đâu Hơn nữa, Duolingo cịn tạo hình thức nhận phần thưởng ảo động viên trình học tập học viên Mỗi học viên học kĩ lên cấp học viên nhận số tiền ảo để mua vật phẩm Điều đánh vào tâm lý đối tượng trẻ em vừa học vừa chơi Giao diện duolingo thân thiện, nội dung học phong phú tích hợp mạng xã hội giúp người thảo luận dễ dàng Đăc biệt, duolingo miễn phí hồn tồn học cho nhiều ngôn ngữ riêng tiếng Anh Nhược điểm ứng dụng Duolingo khơng có phần học ngữ pháp Đây thiếu sót lớn học ngơn ngữ mà lại không học ngữ pháp Nếu người dùng muốn dựa vào ứng dụng để phục vụ cho trình thi cử toeic, ielts, gặp nhiều khó khăn Điều khiến học viên chuyển hướng lựa chon sang ứng dụng học tiếng Anh khác Tuy bố cục ý tưởng ứng dụng tốt riêng điều làm số lượng lớn học viên tiềm Mango Language Website https://learn.mangolanguages.com Đây website học tiếng Anh có giao diện đẹp, dễ sử dụng Nội dung học chi tiết, tập trung vào kỹ nghe, nói Tuy nhiên học miễn phí số Ưu điểm Mango Language thiết kế giống trò chơi, học viên vừa học vừa chơi Với ứng dụng học viên học nhiều từ vựng ngữ pháp, nội dung nghe nhiều giúp học viên luyện tập với giọng nói rõ ràng,chúng bổ sung thêm phần văn hố giúp học viên kích thich học tập nhiều thông qua đọc số kiến thức văn hố người Anh sử dụng chúng sống hàng ngày Ứng dụng có 60 khố học ngơn ngữ với 17 khố học tiếng Anh người xứ dạy Điều trải nghiệm thú vị cho người dùng Nhược điểm Mango Language muốn học phải phí, người dùng học miễn phí số đó, học xong muốn học thêm người dùng phải tri trả lượng tiền để tiếp tục trình học ứng dụng.Hơn nữa, Mango Language khơng có hệ thống tính điểm, mạng xã hội để người dùng thảo luận Điều khơng làm tạo lịng tin cho học viên muốn sử dụng ứng dụng trình học tập Edumall Website https://lms.edumall.vn website ôn luyện thi chứng quốc tế Nội dung học thiết kế theo dạng video giống giảng trực tuyến Tuy nhiên, để học người học trả số tiền học tập Ưu điểm Edumall học thiết kế theo dạng video giảng viên trình bày chi tiết, giọng nói, phát âm chuẩn giúp người học phần cải thiện kĩ nghe, phát âm thông qua học mà chưa cần đến tài liệu luyện nghe Mỗi học tổng hợp bí để làm thi TOEIC hiệu kỹ thuật tránh lỗi, tránh bẫy hay gặp luyện thi làm thi TOEIC Website cho phép bình luận đánh giá làm tăng khả tương tác giảng viên học sinh Hệ thống thống kê giúp người học xem hoàn thành phần trăm khố học Từ đó, người học cân nhắc thời gian học tập cách hợp lý Nhược điểm Edumall lộ trình học theo ngày, khơng nói rõ video phục vụ cho part toeic Bố cục phần toeic làm cho người học khơng có nhìn tổng qt phần toeic nên khơng thể học theo ý mong muốn mà buộc phải theo lộ trình từ đầu đến cuối Bài giảng khơng có danh sách từ vựng nên người học phải tự viết lại video Tài liệu ôn tập phải tải sử dụng Trong đó, đường truyền chậm tài liệu phải tải mà học nên học viên khó lấy tài liệu để ơn tập Theo thống kê trang IIG VIET NAM:”TOEIC sử dụng rộng rãi 150 quốc gia giới với triệu thi/năm thi uy tín 14.000 tổ chức sử dụng để đánh giá trình độ sử dụng tiếng Anh môi trường làm việc quốc tế Tại Việt Nam, TOEIC sử dụng làm chuẩn đầu 127 trường Đại học, Cao đẳng, hệ thống trường nghề tiêu chuản tuyển dụng đánh giá 350 tập đoàn, tổng cơng ty, doanh nghiệp lớn tồn quốc Theo đó, TOEIC thực chứng Tiếng Anh tối ưu cho hồ sơ xin việc” [1] Qua đây, ta thấy nhu cầu học tiếng Anh người lớn nên việc tạo ứng dụng học tiếng anh trực tuyến để loại bỏ nhược điểm hệ thống nêu mang lại lợi ích đáng kể 1.3 Mục tiêu đề tài Mục đích xây dựng ứng dụng học tiếng Anh Web sử dụng dịch vụ điện toán đám mây tích hợp trợ lý thơng minh Hỗ trợ người dùng cách tốt nhất, tạo hứng thú cho người dùng, giúp người dùng tiến cách nhanh Để làm điều ứng dụng cần đạt số mục tiêu - Xây dựng đợc ứng dụng web có chức học kiểm tra kiến thức tiếng Anh cho người sử dụng - Tích hợp trợ lý ảo thơng minh (chatbot) vào ứng dụng, ngữ cảnh khác trợ lý thơng minh hỗ trợ người dùng học tập cách hiệu 1.4 Phát biểu toán xây dựng ứng dựng học tiếng Anh 1.4.1 u cầu tốn Để phục vụ cho q trình học tập tiếng Anh cần xây dựng website học tiếng Anh có giao diện bắt mắt mà người dùng học lý thuyết luyện tập nâng cao trình độ - Xây dựng trợ lý ảo thơng minh tương tác với người dùng cách thơng minh có thể, hoạt động ổn đinh, mở rộng, tích hợp với hệ thống khác - Tích hợp trợ lý ảo thơng minh vào website học tiếng anh, từ trợ lý ảo thơng minh có nhiệm vụ hỗ trợ người dùng việc học, gợi ý cho người dùng trợ giúp người dùng yêu cầu,… 1.4.2 Các chức hệ thống Chức website + Người dùng vào website để học tiếng Anh theo hình thức làm trắc nghiệm đọc lý thuyết + Ứng dụng lưu lại lịch sử hoạt động người dùng cho phép người dùng xem lại để tự đánh giá than Chức trợ lý ảo thơng minh + Trị chuyện đơn giản với người dùng tạo tương tác qua lại + Nhận lệnh đơn giản để trợ giúp người dùng + Tuỳ vào ngữ cảnh khác mà chủ động tương tác, hỗ trợ người dùng 1.4.3 Mô tả nghiệp vụ hệ thống Hệ thống hoạt động theo quy trình sau: - - Người dùng truy cập vào website trình duyệt web, có tài khoản, người dùng thực đăng nhập để sử dụng dịch vụ khác Nếu chưa có tài khoản người dùng sử đăng kí tài khoản để sử dụng dịch vụ Sau đăng nhập, người dùng sử dụng chức khác Sau đăng nhập ứng dụng đưa người dùng đến trang chào mừng, trang có nhiệm vụ giới thiệu cho người dùng ứng dụng chức người dùng làm, người dùng tương tác với trợ lý thơng minh hỗ trợ học tập Tại người dùng lựa chọn vào học thử lệnh cho trợ lý thơng minh Tại hình người dùng lệnh cho trợ lý thơng minh vào học cụ thể nghe (Listening), đọc (Reading) ngữ pháp (Grammar) Người dùng lệnh cho trợ lý thông giọng nói mệnh lệnh người - dùng hợp lệ trợ lý thông minh thực mệnh lệnh Sau hình chào mừng hình học, người dùng vào hình cách lệnh cho trợ lý thông minh chọn vào học giao diện Tại xuất menu cho phép người dùng chọn lựa chọn học nghe, đọc ngữ pháp Tại hình xuất 10 - Màn hình đăng kí Hình 31:Giới thiệu hình đăng kí Có thể đăng nhập với tài khoản mạng xã hội 64 Hình 32: Giới thiệu đăng nhập với mạng xã hội - Màn hình chào mừng Hình 33: Màn hình chào mừng Ở hình người dùng thực với số lệnh đơn giản 65 Hình 34: Ra lệnh hình chào mừng 66 - Màn hình Hình 35: Giới thiệu giao diện hình 67 - Chọn loại hình trắc nghiệm Hình 36: Giới thiệu hình chọn loại trắc nghiệm 68 - Xem ngữ pháp Hình 37: Giới thiệu hình xem ngữ pháp 69 - Nội dung ngữ pháp Hình 38: Nội dung ngữ pháp 70 - Nhắc nhở người dùng làm chậm Hình 39: Nhắc nhở người dùng làm chậm 71 KẾT LUẬN - Kết đạt được: + Nắm bắt khái niệm điện toán đám mây, sử dụng dịch vụ điện toán đám mây vào ứng dụng + Biết cách sử dụng cơng nghệ Node.js, Reactjs để khai thác dịch vụ điện toán đám mây Google + Xây dựng ứng dụng học tiếng anh thông minh tảng điện toán đám mây với số chức phù hợp với mục tiêu ban đầu đề - Hạn chế đề tài: + Giao diện ứng dụng chưa thực đẹp + Số lượng câu hỏi, học chưa nhiều - Hướng phát triển đề tài: + Làm trợ lý ảo thông minh trở nên thông minh hơn, đáp ứng nhiều ngữ cảnh + Sử dụng them số dịch vụ đám mây khác để ứng dụng tốt hơn, phục vụ người dùng tốt + Tách trợ lý ảo thông minh thành dịch vụ riêng từ dễ dàng tích hợp cho sản phẩm sau 72 TÀI LIỆU THAM KHẢO [1] “IIG Viet Nam,” [Trực tuyến] Available: https://www.iigvietnam.com/vi/san-pham-dich-vu/cac-bai-thi-tienganh/toeic.html [2] “Wiki điện toán đám mây,” [Trực tuyến] Available: https://vi.wikipedia.org/wiki/Điện_toán_đám_mây [3] “VIBLO,” 22 12 2017 [Trực tuyến] Available: https://viblo.asia/p/tim-hieu-ve-google-cloud-bigquerygcbOeVKBooQZkW [4] [5] BOSS, “Dialogflow Việt Nam,” 18 11 2017 [Trực tuyến] Available: https://dialogflowvn.wordpress.com/2017/11/18/dialogflow-cac-khainiem/ [Đã truy cập 24 2019] “Wikipedia,” [Trực tuyến] Available: https://vi.wikipedia.org/wiki/Google_App_Engine [6] “vn.apps-gcp.com,” [Trực tuyến] Available: https://vn.appsgcp.com/so-sanh-dich-vu-gcp-vs-aws-vs-azure/ 73 PHỤ LỤC Hướng dẫn cài đặt triển khai Yêu cầu - Đã cài NodeJS máy tính - Có tài khoản Google kích hoạt tốn - Đã có tài khoản github tài khoản GIT tương đương Các bước thực Chuẩn bị liệu Tiến hành chuẩn bị liệu theo bước sau: 1: Truy cập vào trang Firebase tạo project 2: Kích hoạt phương thức xác thực emai, Google, facebook 3: Tạo Cloud Storage nhập liệu gửi kèm vào Storage 4: Tạo Cloud Firestore để làm database 5: Từ liệu Storage tiến hành import liệu vào Firestore Trong thư mục Project có project nhỏ hocTiengAnh-front-end, hocTiengAnhserver, hocTiengAnh-webhook Triển khai project hocTiengAnh-front-end, hocTiengAnh-server Google App Engine Bước 1: “Build” project hocTiengAnh-front-end - Tiến hành mở PowerShell project hocTiengAnh-front-end cách - nhấn phím Shift Click chuột phải vào vùng trống, sau chọn “Open PowerShel window here” Sau chạy lệnh ”npm run build” để tiến hành build project Sau lệnh hoàn thành thấy xuât thư mục mói tên “build” - thư mục project Tiến hành chép toàn file thư mục thư mục build vừa tự động tạo chép sang thư mục “public” project hocTiengAnh-server Như project gộp lại Bước Tiến hành triển khai ứng dụng lên Google App Engine 74 - Tạo “Repository” tài khoản Git tham khảo hướng dẫn : https://thachpham.com/tools/cach-tao-repository-cho-git.html Đưa project cần triển khai lên Git + Chạy lệnh hướng dẫ Github tạo mớ Repository Tiến hành chạy lệnh sau, thay đường dẫn https://github.com/nguyenmuoi157/huongDanTrienKhai.git đường dẫn tạo - Bắt đầu triển khai ứng dụng lên Google App Engine + Truy cập vào đường dẫn: https://cloud.google.com/shell/ chọn “LAUNCH CLOUD SHELL” Giao diện Cloud Shell sau 75 Tiến hành chạy lệnh giống PowerShell window + git clone + cd + npm install + gcloud app deploy Sau chạy lệnh đợi cho Cloud Shell hoàn tất nhiệm vụ, khơng có lỗi xảy project triển khai thành công Google App Engine, Google trả lại đường dẫn truy cập đến project trang web bình thường Triển khai webhook Cloud Function 76 project hocTiengAnh-webhook có nhiệm vụ giúp Dialogflow thực công việc truy cập database để lấy liệu, gọi đến api bên ngồi Api dịch, api phân tích cấu trúc câu Tiến hành triển khai webhook theo bước sau Cài đặt firebase CLI: npm install -g firebase-tools Đăng nhập firebase tài khoản google: firebase login Tiến hành triển khai ứng dụng lệnh: firebase deploy Sau triển khai xong tiến hành vào đường dẫn https://console.firebase.google.com/project//overview để tìm dường dẫn webhook Ví dụ đường dẫn webhook là: https://us-central1- muoitest.cloudfunctions.net/app Ta tiến hành vào trang quản lý Dialogflow ví dụ: https://console.dialogflow.com/api-client/#/agent/35f2eb47-fcd7-4a45-a2cdef50919fad75/fulfillment Sao chép đường dẫn webhook vào lưu lại 77 Hoàn thành triển khai ứng dụng 78