Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 61 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
61
Dung lượng
1,71 MB
Nội dung
TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THƠNG TIN XÂY DỰNG CHATBOT HỖ TRỢ CÔNG TÁC SINH VIÊN PHAN NHẬT HÀO AN GIANG, 05-2022 TRƯỜNG ĐẠI HỌC AN GIANG KHOA CƠNG NGHỆ THƠNG TIN KHĨA LUẬN TỐT NGHIỆP NGÀNH CƠNG NGHỆ THÔNG TIN XÂY DỰNG CHATBOT HỖ TRỢ CÔNG TÁC SINH VIÊN PHAN NHẬT HÀO DTH185269 GIẢNG VIÊN HƯỚNG DẪN THS LÊ THỊ MINH NGUYỆT GIẢNG VIÊN HƯỚNG DẪN CN LÊ XUÂN PHI AN GIANG, 05-2022 Khoá luận “Xây dựng chatbot hỗ trợ công tác sinh viên“ sinh viên Phan Nhật Hào thực hướng dẫn ThS Lê Thị Minh Nguyệt CN Lê Xuân Phi Tác giả báo cáo kết nghiên cứu Hội đồng Khoa học Đào tạo thông qua ngày ……………………… Phản biện (Ký ghi rõ chức danh, họ tên) Phản biện (Ký ghi rõ chức danh, họ tên) Giảng viên hướng dẫn (Ký ghi rõ chức danh, họ tên) Giảng viên hướng dẫn (Ký ghi rõ chức danh, họ tên) i LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn chân thành tri ân sâu sắc thầy cô Trường Đại học An Giang, đặc biệt thầy cô khoa Công nghệ thông tin trường dạy bảo, truyền đạt kiến thức quý báu cho bốn năm học tập rèn luyện trường Hơn hết, xin gửi lời cảm ơn sâu sắc tới Thầy Lê Xuân Phi trực tiếp hướng dẫn, nhiệt tình giúp đỡ tơi q trình thực đề tài Nhờ lời khuyên chân thành sư giúp đỡ tận tình, thầy giúp tơi củng cố kiến thức, vận dụng lý thuyết học vào thực tiễn để hồn thành đề tài nghiên cứu Ngồi tơi cảm ơn gia đình bạn bè ln bên tôi, giúp đỡ, động viên, hỗ trợ trình học tập thực đề tài Do khơng có nhiều kinh nghiệm trình độ thân cịn hạn chế, nên báo cáo chắn khơng tránh khỏi thiếu sót Rất mong nhận thơng cảm, ý kiến đóng góp, phê bình Q thầy cơ, bạn bè để đề tài hồn thiện Lời cuối xin chúc Thầy Lê Xuân Phi, thầy cô bạn lời chúc sức khỏe thành công sống Một lần xin chân thành cảm ơn! An Giang, ngày 07 tháng 04 năm 2022 Sinh viên thực Phan Nhật Hào ii TÓM TẮT Để đạt đến mức độ phát triển ngày nay, lịch sử loài người trải qua nhiều cách mạng: cách mạng nông nghiệp, cách mạng nông nghiệp Và cách mạng diễn lúc này, tác động từng phút tới đời sống nhân loại cách mạng Cơng nghệ 4.0 Thời đại Công nghệ 4.0 tập trung vào phát triển công nghệ Tức tất liên quan đến hệ thống vật lý khơng gian mạng Internet Như cảm nhận được, công nghệ tạo ảnh hưởng to lớn lên tất ngành lĩnh vực đời sống Kỷ nguyên khác biệt tạo tốc độ phát triển sản xuất, xã hội siêu nhanh chóng, phá bỏ truyền thống trước Trong phát triển trí tuệ nhân tạo (AI) bùng nổ cách mạnh mẽ hết, ứng dụng vào hầu hết lĩnh vực sống Song song đó, nhánh AI Chatbot giới quan tâm không kém, nhiều doanh nghiệp đặc biệt công ty dẫn đầu lĩnh vực trí tuệ nhân tạo máy học trọng phát triển, điều kiện góp phần tạo nên phát triển vượt bậc cho Chatbot Là công cụ thông minh nhờ khả tiếp nhận thông tin, phân tích câu hỏi phản hỏi xác mà người dùng mong muốn, nhiên, lĩnh vực giáo dục Chatbot ứng dụng hạn chế Từ bất cập trên, định chọn đề tài nghiên cứu khoa học về: “Xây dựng Chatbot hỗ trợ công tác sinh viên” Chatbot giúp sinh viên giải đáp thắc mắc điều kiện học bổng, thông tin mà họ chưa nắm rõ cách nhanh chóng đầy đủ Được xây dựng dựa giao diện Messenger Facebook sử dụng ngơn ngữ lập trình Python, dùng thuật toán Neural Network (Mạng nơ ron nhân tạo) để đào tạo, giúp Chatbot hiểu phản hồi lại người dùng cách xác Người dùng kết nối với Chatbot thơng qua website phịng Cơng tác sinh viên trường Đại học An Giang fanpage phịng Cơng tác sinh viên để đưa thắc mắc, thông tin mà người dùng chưa rõ vào lúc giải đáp iii MỤC LỤC CHƯƠNG ĐẶT VẤN ĐỀ 1.1 TÍNH CẦN THIẾT CỦA ĐỀ TÀI 1.2 PHẠM VI 1.3 MỤC TIÊU NGHIÊN CỨU 1.4 PHƯƠNG PHÁP NGHIÊN CỨU 1.4.1 Phương pháp nghiên cứu lý thuyết 1.4.2 Phương pháp nghiên cứu thực nghiệm CHƯƠNG TỔNG QUAN CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU TỔNG QUAN VỀ KHÁI NIỆM TRÍ TUỆ NHÂN TẠO (AI – Artificial Intelligence) 2.2 CHATBOTS 2.2.1 Khái niệm 2.2.2 Lịch sử đời 2.2.3 Cấu tạo Chatbot 14 2.2.4 Phân loại Chatbot 14 2.2.5 Cách thức hoạt động 17 2.2.6 Một số tảng hỗ trợ Chatbot 21 2.2.7 Lợi ích Chatbot 21 2.2.8 Một số ứng dụng chatbot 24 2.3 CÁC CÔNG CỤ KHÁC 25 2.3.1 HTML .25 2.3.2 CSS 25 2.3.3 Flask 26 2.3.4 Keras .28 2.3.5 NLTK 28 2.3.6 Python .29 CHƯƠNG 30 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .30 3.1 GIỚI THIỆU 30 iv 3.2 PHÂN TÍCH HỆ THỐNG .30 3.3 THIẾT KẾ HỆ THỐNG 31 3.2.1 Thiết kế sơ đồ khối hệ thống 31 3.2.2 Chức khối hệ thống .31 3.2 SƠ ĐỒ CHƯƠNG TRÌNH 36 3.3 GIAO DIỆN CỦA PHẦN MỀM 40 3.3.1 Giao diện chạy file training.py để huấn luyện bot 40 3.3.2 Giao diện chạy file app.py tạo giao diện Flask 40 3.3.3 Giao diện Flask Chatbot .41 3.4 KẾT QUẢ .42 3.5 Ý NGHĨA 42 3.6 HƯỚNG PHÁT TRIỂN 43 PHỤ LỤC 44 HTML .44 CSS 46 Flask 47 Python .48 TÀI LIỆU THAM KHẢO 51 v DANH MỤC HÌNH ẢNH Hình Trí tuệ nhân tạo Hình Chatbot đời sống Hình Trợ lý ảo Siri Apple Hình Các phép thử Turning Hình Tương tác người dùng với chatbot ELIZA Hình Đoạn hội thoại Chatbot ELIZA PARRY 10 Hình Người dùng tương tác với Cleverbot (hay JabberWacky) 11 Hình Giao diện Dr SBAITSO 12 Hình SmarterChild 13 Hình 10 Retrieval-based Model 15 Hình 11 Generative Model 16 Hình 12 Ví dụ Pattern Matches 17 Hình 13 Neural network (Mạng nơ-ron nhân tạo) 18 Hình 14 NLU - Natural Language Understanding 19 Hình 15 NLP - Natural Language Processing .20 Hình 16 Cách thêm text HTML 25 Hình 17 Cách Flask Framework hoạt động 27 Hình 18.Top 10 Web Framework phổ biến năm 2021 theo thống kê Stackoverflow .27 Hình 19 Sơ đồ hệ thống Chatbot tự động 31 Hình 20 Sơ đồ trình truyền liệu, thông tin 32 Hình 21 Sơ đồ trình xử lý liệu, thông tin thông qua Python 33 Hình 22 Sơ đồ trình thực truy vấn Webhook 34 Hình 23 Dữ liệu Intents định dạng JSON .35 Hình 24 Sơ đồ chương trình 36 Hình 25 Thêm thư viện vào khởi tạo biến file training.py .37 Hình 26.Cấu trúc file data.json .37 Hình 27 Các thư viện file app.py .39 vi Hình 28 Nhập file pickle app.py 39 Hình 29 Hàm để nhận phản hồi ngẫu nhiên 40 Hình 30 Chạy file training.py để train bot 40 Hình 31 Giao diện chạy file app.py 40 Hình 32 Giao diện Chatbot 41 Hình 33 Chatbot phản hồi người dùng 41 vii DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Diễn giải CSDL Cơ sở liệu CTSV Công tác sinh viên CNTT Công nghệ thông tin AI Artificial Intelligence NLP Natural Language Processing NLU Natural Language Understanding NCKH Nghiên cứu khoa học ANN Artificial Neural Network EXL Extensible Markup Language 10 DP Data Preprocessing 11 HTML Hypertext Markup Language 12 ML Machine Learning (Máy học) 13 DL Deep Learning (Học sâu) viii Nhập tải tệp liệu Đầu tiên, đặt tên tệp training.py Nhập vào thư viện cần thiết cho chatbot khởi tạo biến mà sử dụng dự án Python Hình 25 Thêm thư viện vào khởi tạo biến file training.py Tệp liệu có định dạng JSON tơi sử dụng gói json để phân tích cú pháp tệp JSON thành Python Và tập data.json Hình 26.Cấu trúc file data.json Trong file JSON Intent này, ta thấy “tag” tên thẻ đại diện cho khối Ví dụ “greeting” tên khối câu chào hỏi, “age” khối câu hỏi đáp tuổi tác,…”patterns” câu hỏi người dùng, nhập vào máy, máy so tương thích câu hỏi với câu “patterns” này, khối có tương thích cao với câu hỏi người dùng 37 chọn, “responses” lựa chọn ngẫu nhiên câu khối tương thích thể phản hồi lại cho người dùng Tiền xử lý liệu Khi làm việc với liệu văn bản, cần thực nhiều trình tiền xử lý liệu trước thiết kế mơ hình ANN Mã hóa điều bạn làm liệu văn Mã hóa q trình chia tồn văn thành phần nhỏ từ Ở lặp lại mẫu mã hóa câu cách sử dụng hàm nltk.word_tokenize () nối từ danh sách từ Tôi tạo danh sách lớp cho thẻ chúng tơi Sau bổ sung từ loại bỏ từ trùng lặp khỏi danh sách Bổ đề (Lemmatizing) trình chuyển đổi từ thành dạng bổ đề sau tạo tệp nhỏ để lưu trữ đối tượng Python mà sử dụng dự đoán Làm liệu văn bản: chuẩn hóa chữ tiếng Việt khơng dấu sang có dấu, chuẩn hóa “i” “y”, lỗi sai tả, chuẩn hóa font, dấu câu, xóa từ dừng (stopwords), Tách câu thành danh sách từ tố (token): Mỗi câu tách thành danh sách từ có nghĩa Chuẩn hóa từ đồng nghĩa: đồng từ đồng nghĩa, từ địa phương, tiếng lóng từ chuẩn hóa Xác định từ loại (part of speech: từ loại): Sau câu tách thành danh sách từ Bước xác định từ loại (POS - noun, verb, pronoun, adverb ) từ câu Ví dụ, câu: “Cho em hỏi, thời gian tối đa cho chương trình học trường vậy?” Sau tiền xử lý: “Thời_gian tối_đa nhà_trường cho_phép theo học” Sau tiền xử lý, văn xem tập hợp đặc trưng, tập hợp từ quan trọng lại để biểu diễn văn Việc phân loại văn dựa đặc trưng 38 Chia liệu thành tập huấn luyện kiểm thử Lúc này, tạo liệu đào tạo chúng tơi cung cấp đầu vào đầu Đầu vào mẫu đầu lớp mà mẫu đầu vào thuộc Nhưng máy tính khơng hiểu văn nên chuyển văn thành số Xây dựng model Từ liệu training có sẵn, tiến hành xây dựng mạng Neural Network có lớp Tôi sử dụng API Keras cho việc Sau đào tạo mơ hình 200 epochs, chúng tơi đạt độ xác 100% mơ hình Và tơi lưu model tên file ‘model.h5’ Dự đốn kết triển khai mơ hình Flask Tiếp theo, để dự đốn câu nhận phản hồi từ người dùng, tạo tệp ‘app.py’ cách sử dụng Web-based framework Flask Hình 27 Các thư viện file app.py Tơi chạy model huấn luyện sau sử dụng giao diện người dùng đồ họa dự đoán phản hồi từ bot Mơ hình cho biết lớp mà thuộc về, triển khai số hàm xác định lớp sau lấy phản hồi ngẫu nhiên từ danh sách phản hồi Một lần nữa, nhập gói cần thiết tải lên file pickle ‘text.pkl’ ‘label.pkl’ mà tạo đào tạo mơ hình mình: Hình 28 Nhập file pickle app.py Để dự đoán lớp, cần cung cấp thông tin đầu vào giống cách tơi làm huấn luyện bot Vì vậy, tơi tạo số hàm 39 Hình 29 Hàm để nhận phản hồi ngẫu nhiên thực tiền xử lý văn sau dự đoán lớp Sau dự đoán lớp, nhận phản hồi ngẫu nhiên từ danh sách ý định (intents) 3.3 GIAO DIỆN CỦA PHẦN MỀM 3.3.1 Giao diện chạy file training.py để huấn luyện bot Hình 30 Chạy file training.py để train bot Sau đào tạo mơ hình 200 epoch, đạt độ xác 100% mơ hình 3.3.2 Giao diện chạy file app.py tạo giao diện Flask Hình 31 Giao diện chạy file app.py Khi chạy file app.py, cung cấp cho địa IP Chabot, Ctrl + C để vào địa giao tiếp với Chatbot vừa tạo 40 3.3.3 Giao diện Flask Chatbot Hình 32 Giao diện Chatbot Hình 33 Chatbot phản hồi người dùng 41 3.4 KẾT QUẢ Nhờ vào lần thực luận văn này, tiếp xúc học hỏi thêm nhiều kiến thức từ cách sử dụng Flask framework, tiếp cận với AI mà cụ thể Neural Network Machine Learning, cách tổng hợp liệu, học thêm ngôn ngữ lập trình Python, tìm kiếm nghiên cứu lỗi phát sinh q trình thực dự án Các kinh nghiệm kiến thức tiếp thu trình thực đề tài: - Hiểu thêm ngơn ngữ lập trình Python cách sử dụng thư viện - Hiểu thêm AI nhánh nó, cụ thể Machine Learning - Hiểu cách hoạt động Neural Network - Nắm kiến thức Chatbot - Trải nghiệm làm việc với Flask framework - Thiết lập hội thoại tương tác tự động người dùng với máy - Cách tiền xử lý liệu trước đưa liệu vào máy để máy tính hiểu - Thiết kế giao diện thân thiện, dễ làm quen, dễ sử dụng cho người dùng Chương trình thực chức sau: - Ứng dụng Neural Network để học liệu Hiểu tiếng Việt Hoạt động tốt Flask Phản hồi xác yêu cầu người dùng 3.5 Ý NGHĨA Hầu hết giá trị Deep Learning ngày lĩnh vực hẹp, nơi bạn lấy nhiều liệu Đây ví dụ vài thứ khơng làm được: có hội thoại có nghĩa Có nhiều demo bạn chọn ngẫu nhiên số hội thoại, trơng có ý nghĩa, bạn thực thử bạn nhanh chóng nhận chúng trật khỏi đường ray Rất nhiều công ty bắt đầu với việc gia công phần mềm, hội thoại với cơng nhân lời hứa họ tự động họ thu thập đủ liệu Điều xảy họ hướng đến lĩnh vực nhỏ - giống giao diện chat gọi Uber Bất thứ có chút open domain thư điện tử bán hàng vượt ngồi làm thời điểm Tuy nhiên tạo hệ thống trợ lý cho người, đề xuất câu trả lời Chúng khả thi Lỗi cú pháp hệ thống tốn đánh 42 lạc hướng người dùng Đó lý hầu hết hệ thống thường sử dụng phương pháp retrieval based chúng thoải mái với lỗi cú pháp câu trả lời phản cảm Nếu cơng ty cách làm tay nhiều liệu sau generative models khả thi Nhưng họ phải hỗ trợ kĩ thuật để ngăn chặn chúng không bị xuống Microsoft’s Tay Chatbot ứng dụng Neural Network, sử dụng phương pháp Retrievalbased model, liệu nhiều Chatbot thơng minh, phản hồi ngày xác yêu cầu người dùng đưa ra, mang đến tiện lợi cho người dùng giải đáp thắc mắc cách nhanh chóng, xác ln thường trực 24/7 Ứng dụng Chatbot vào việc tư vấn công tác sinh viên giúp cho giáo viên phòng CTSV đỡ phần công sức cho việc trả lời thắc mắc thường xuyên bắt gặp sinh viên, tiết kiệm thời gian sức lực cho thầy cô 3.6 HƯỚNG PHÁT TRIỂN Trong phạm vi đề tài tơi trình bày phần Chatbots ứng dụng Chatbots cho thực tiễn, cụ thể tư vấn công tác sinh viên Tuy nhiên việc nghiên cứu sâu Chatbots cần có thêm nhiều thời gian nghiên cứu cải tiến mơ hình trở nên hiệu quả, tối ưu Tôi nhận thấy đề tài phát triển thêm sau: - Huấn luyện Chatbots trả lời linh hoạt thông minh thông qua việc mở rộng xây dựng cải tiến sở liệu hệ thống trở nên tối ưu hơn, đa dạng - Tích hợp chương trình vào điện thoại thông minh để thuận tiện cho người sử dụng - Xây dựng đa dạng thêm ngôn ngữ với người dùng để việc tương tác hiệu hơn, nhận diện Tiếng Việt khơng dấu từ viết tắt, teencode… - Phát triển hệ thống thân thiện với người sử dụng, việc thiết kế giao diện dễ sử dụng hơn, việc xây dựng Chatbots trở thành “bác sĩ tâm lý”, người bạn với sinh viên, tương tác với người dùng thông qua liệu thu thập từ nhiều nguồn đa dạng, khả học máy (Machine Learning) Bots, việc mô sẵn hội thoại tiên đoán từ chuyên gia tâm lý sau lưu lại hệ thống… 43 PHỤ LỤC HTML Lịch sử đời HTML HTML tạo Sir Tim Berners-Lee vào cuối năm 1991 khơng phát hành thức, xuất vào năm 1995 dạng HTML 2.0 HTML 4.01 xuất vào cuối năm 1999 phiên HTML HTML ngôn ngữ đánh dấu phát triển phát triển với nhiều phiên cập nhật Rất lâu trước tiêu chuẩn thông số kỹ thuật sửa đổi thực hiện, phiên cho phép người dùng tạo trang web theo cách dễ dàng hơn, đẹp làm cho trang web hoạt động hiệu HTML 1.0 phát hành vào năm 1993 với mục đích chia sẻ thơng tin đọc truy cập thơng qua trình duyệt web Nhưng khơng có nhiều nhà phát triển tham gia vào việc tạo trang web Vì vậy, ngơn ngữ khơng phát triển Sau HTML 2.0, xuất vào năm 1995, chứa tất tính HTML 1.0 với số tính bổ sung, ngôn ngữ đánh dấu tiêu chuẩn để thiết kế tạo trang web tháng năm 1997 tinh chỉnh tính cốt lõi khác HTML Sau HTML 3.0, nơi Dave Raggett, người giới thiệu báo nháp HTML Nó bao gồm tính cải tiến HTML, mang lại đặc điểm mạnh mẽ cho quản trị viên web việc thiết kế trang web Nhưng tính mạnh mẽ HTML làm chậm trình duyệt việc áp dụng cải tiến Sau HTML 4.01, sử dụng rộng rãi phiên thành công HTML trước HTML 5.0, phát hành sử dụng toàn giới Có thể nói HTML phiên mở rộng HTML 4.01, xuất vào năm 2012 44 Ưu điểm HTML thân thiện với trình duyệt: HTML đề cao đống chương trình Google Chrome, Mozilla Firefox, Opera, v.v Điều làm cho HTML trở nên thân thiện với chương trình chất lượng nằm số chương trình hàng đầu Được phép sử dụng: Vì HTML mã nguồn mở nên phép sử dụng Đó lợi ích đáng kinh ngạc cho tổ chức người khơng có lý thuyết phục để mua sản phẩm bổ sung để soạn mã HTML ban đầu Dễ dàng tìm hiểu: HTML tảng trình phát triển web Rất bình thường phát học sinh cuối cấp sử dụng HTML để tạo trang web riêng họ với hình ảnh tơng màu Thiết kế bản: HTML ngơn ngữ có cấu trúc phù hợp với nhãn đặc điểm xác định trước Cùng với dòng này, bạn thực hành thường xuyên, bạn quen với cấu trúc HTML đơn giản thực muốn soạn mã HTML mà khơng gặp vấn đề Nhẹ nhanh chóng: HTML ngơn ngữ đánh dấu nhẹ Nó tiết kiệm thời gian cho khách hàng cách giảm thời gian xếp chồng Sử dụng định dạng: HTML cho phép nhà phát triển sử dụng định dạng Bằng cách này, làm cho cơng việc lặt vặt kỹ sư web đơn giản đáng kể cách giảm thời gian soạn mã kế hoạch Lưu trữ thông tin: HTML đề cao việc lưu trữ liệu Kho dự trữ web HTML cung cấp hai mục để lưu trữ thông tin Chúng sau: window.sessionStorage - Nó lưu trữ thơng tin cho họp window.localStorage - Nó lưu trữ thơng tin khơng có ngày chấm dứt Nhược điểm Tốn nhiều thời gian Cần phải code nhiều để tạo trang web đơn giản Khơng hồn tồn bảo mật Code dài trở nên phức tạp Chỉ dùng cho web tĩnh web đơn giản 45 CSS Lịch sử đời CSS CSS đề xuất lần vào ngày 10/10/1994 Håkon Wium Lie Kể từ đó, phiên CSS dần hình thành qua nhiều giai đoạn Tính từ lúc xuất đến nay, CSS có nhiều phiên khác Các phiên giúp vá lỗi phiên cũ mang đến nhiều cải tiến Với phiên hay gọi CSS cấp có đặc điểm cụ thể như: thuộc tính font chữ, màu văn bản, hình nền, thuộc tính văn bản, lề, định vị cho yếu tố, nhận dạng phân loại chung nhóm thuộc tính Phiên CSS cấp W3C phát triển vào tháng năm 1998 Với cải tiến từ phiên CSS cấp mang đến cải tiến định vị tuyệt đối, tương đối cố định yếu tố mục z Khái niệm loại phương tiện, hỗ trợ cho biểu định kiểu âm văn hai chiều Xuất kiểu font chữ để định dạng văn Ngồi ra, sau phiên cấp cịn có nâng cấp khác CSS 2.1 đề xuất vào tháng năm 2011 Nhằm mục đích sửa lỗi loại bỏ tính khơng tương thích cho người dùng Ưu điểm CSS Tốc độ trang web tốt hơn: Để trang web hoạt động hiệu quả, phải có thời gian tải nhanh Trong thời đại, người thường đợi vài giây để trang web tải Vì vậy, điều quan trọng phải đảm bảo tốc độ nhanh Đối với công ty muốn đảm bảo trải nghiệm trang web nhanh mượt mà, CSS trở thành yếu tố quan trọng thành cơng họ Dễ bảo trì hơn: CSS dễ bảo trì thời gian bảo trì Điều thay đổi mã dòng đơn lẻ ảnh hưởng đến toàn trang web Ngoài ra, cần cải tiến, cần nỗ lực để ảnh hưởng đến thay đổi mã trang web Thiết kế quán: Bạn thấy nhiều trang web lịch thân thiện với người dùng Một điểm chung cho tất trang web tính quán thiết kế CSS cho phép nhà phát triển đảm bảo yếu tố kiểu áp dụng quán số trang web Tiết kiệm thời gian: Do tốc độ nhanh bảo trì dễ dàng hơn, CSS tiết kiệm nhiều thời gian cơng sức q trình phát triển web thời gian tải nhanh Ở đây, thời gian đảm bảo hiệu nhà thiết kế 46 Khả tương thích thiết bị tốt hơn: Mọi người sử dụng thiết bị thông minh khác để xem trang web cụ thể Nó smartphone, PC máy tính xách tay Vì mục đích này, trang web bắt buộc phải tương thích với thiết bị CSS đảm bảo nhiệm vụ thực trơn tru cách cung cấp khả tương thích tốt Định vị yếu tố thiết kế: Bạn thay đổi vị trí thẻ HTML với trợ giúp CSS Bạn đặt phần tử hình ảnh phần trang web yêu cầu Flask Ưu điểm Có thể mở rộng: Kích thước tất cả, Flask microframework có nghĩa bạn sử dụng để phát triển dự án cơng nghệ, chẳng hạn ứng dụng web cách nhanh chóng Nếu bạn muốn tạo ứng dụng có khởi đầu nhỏ, có tiềm phát triển nhanh chóng theo hướng mà bạn chưa hồn tồn tìm ra, lựa chọn lý tưởng Việc sử dụng đơn giản phụ thuộc cho phép chạy trơn tru mở rộng quy mơ Linh hoạt: Đây tính cốt lõi Flask, lợi lớn Để diễn giải nguyên tắc Zen Python, đơn giản lúc tốt phức tạp, dễ dàng xếp lại di chuyển xung quanh Điều khơng hữu ích mặt cho phép dự án bạn dễ dàng chuyển sang hướng khác mà cịn đảm bảo cấu trúc khơng bị sụp đổ phận bị thay đổi Bản chất tối thiểu Flask khả phát triển ứng dụng web nhỏ có nghĩa chí cịn linh hoạt Django Dễ điều chỉnh: Giống Django, việc tìm cách khác dễ dàng chìa khóa cho phép nhà phát triển web tập trung vào việc viết mã cách nhanh chóng mà khơng bị sa lầy Về cốt lõi, microframework dễ hiểu nhà phát triển web, không giúp họ tiết kiệm thời gian cơng sức mà cịn giúp họ kiểm soát nhiều mã họ Ít tốn dung lượng: Khi sử dụng thuật ngữ liên quan đến cơng cụ framework, nói thiết kế — có vài phận cấu thành cần lắp ráp lắp ráp lại khơng dựa vào số lượng lớn phần mở rộng để hoạt động Thiết kế cung cấp cho nhà phát triển web mức độ kiểm sốt định Flask hỗ trợ lập trình mơđun, nơi chức chia thành nhiều mơ-đun hốn đổi 47 cho Mỗi mô-đun hoạt động khối xây dựng độc lập, thực thi phần chức Kết hợp với nhau, điều có nghĩa tồn phận cấu thành cấu trúc linh hoạt, di chuyển tự kiểm tra Nhược điểm Khơng có nhiều cơng cụ: Chắc chắn có số nhược điểm chất nhẹ microframework Đứng đầu số khơng giống Django, Flask thiếu hộp cơng cụ lớn Điều có nghĩa nhà phát triển phải thêm tiện ích mở rộng thư viện theo cách thủ công Và, bạn thêm số lượng lớn tiện ích mở rộng, bắt đầu làm chậm ứng dụng vơ số u cầu Khó làm quen với ứng dụng Flask lớn hơn: Vì thực tế việc phát triển ứng dụng web Flask diễn nhiều bước ngoặt khác nhau, nhà phát triển web đến với dự án chừng gặp khó khăn việc xem xét cách thiết kế Chi phí bảo trì: Bởi linh hoạt mặt cơng nghệ mà giao tiếp, thường cơng ty sử dụng Flask phải trả thêm chi phí hỗ trợ cơng nghệ Ví dụ: cơng nghệ giao tiếp với ứng dụng Flask bạn trở nên lỗi thời bị ngừng sản xuất, cơng ty phải cố gắng tìm cơng nghệ tương thích Ứng dụng trở nên phức tạp chi phí triển khai bảo trì tiềm cao Python Lịch sử đời Python Python Guido van Rossum thai nghén vào năm 1980 Trung tâm Toán học – Tin học (Centrum Wiskunde & Informatica, CWI) Hà Lan ngôn ngữ kế tục ngôn ngữ ABC – ngôn ngữ lấy cảm hứng từ SETL, có khả xử lí ngoại lệ giao tiếp với hệ điều hành Amoeba Nó bất đầu triển khai vào tháng Mười Hai năm 1989 Van Rossum tự gánh vác trách nhiệm cho dự án, với vai trị nhà phát triển chính, ngày 12 tháng Bảy năm 2018, ông thông báo ông rời bỏ trách nhiệm ông danh hiệu "Nhà độc tài nhân từ cho sống" Python, danh hiệu mà cộng đồng Python trao tặng cho ơng tận tuỵ lâu dài ơng với vai trị người định cho dự án Vào tháng Một năm 2019, nhà phát triển phần lõi Python bầu "Hội đồng Chèo lài" gồm năm thành viên để dẫn dắt dự án 48 Python 2.0 mắt vào ngày 16 tháng Mười năm 2000, với nhiều tính mẻ, bao gồm don rác phát theo chu kỳ khả hỗ trợ Unicode Python 3.0 mắt vào ngày mùng tháng Mười Hai năm 2008 Đây phiên lớn Python khơng tương thích ngược hồn tồn Nhiều tính lớn chuyển mã ngược (backport) loạt phiên Python 2.6.x 2.7.x Các phát hành Python có kèm với cơng cụ 2to3, có tác dụng tự động hố việc dịch mã Python sang Python Python 3.9.2 3.8.8 xúc tiến tất phiên trước Python (bao gồm 2.7) gặp số vấn đề bảo mật, dẫn đến thực thị mã từ xa "đầu độc" nhớ đệm Ưu điểm Đa năng, dễ sử dụng phát triển nhanh chóng: Ngơn ngữ lập trình Python tập trung vào khả đọc mã Nó linh hoạt, gọn gàng, dễ sử dụng dễ học, dễ đọc có cấu trúc tốt Mã nguồn mở với cộng đồng Python sơi động: Bạn tải xuống Python miễn phí viết mã khơng đồng vài phút Phát triển Python không phức tạp Hơn nữa, cộng đồng lập trình viên Python cộng đồng tốt giới - lớn hoạt động tích cực Một số óc CNTT giỏi giới đóng góp cho ngôn ngữ diễn đàn hỗ trợ ngôn ngữ Có tất thư viện mà bạn tưởng tượng: Về bản, bạn tìm thấy thư viện cho thứ bạn nghĩ đến: từ phát triển web thiết bị di động, thơng qua phát triển trị chơi, đến học máy - chưa có sẵn, bạn dễ dàng tạo thư viện riêng Tuyệt vời cho nguyên mẫu - bạn làm nhiều với code hơn: Bạn làm nhiều việc với mã hơn, có nghĩa bạn xây dựng nguyên mẫu, chẳng hạn giao diện người dùng đồ họa thử nghiệm ý tưởng Python nhanh nhiều so với ngôn ngữ khác Năng suất: Một ưu điểm khác Python ngôn ngữ lập trình mạnh mẽ tăng suất Các tính tích hợp khả điều khiển nâng cao suất ứng dụng phần mềm doanh nghiệp.So với ngôn ngữ mã hóa khác, Python ngơn ngữ hiệu Java gõ động ngắn gọn 49 Nhược điểm Giới hạn tốc độ: Python ngơn ngữ thơng dịch, bạn thấy chậm so với số ngơn ngữ phổ biến khác Nhưng tốc độ yếu tố quan trọng dự án bạn, Python phục vụ bạn tốt Sự cố với luồng: Phân luồng không thực tốt Python GIL (Global Interpreter Lock - Khóa trình thơng dịch tồn cầu) GIL đơn giản mutex cho phép luồng thực thi thời điểm Không phải ngôn ngữ chuyên cho lập trình di động: số lập trình viên coi ngơn ngữ yếu cho điện tốn di động Android iOS khơng hỗ trợ điện tốn di động Python ngơn ngữ lập trình thức Tuy nhiên, dễ dàng sử dụng cho mục đích di động, địi hỏi số nỗ lực bổ sung 50 TÀI LIỆU THAM KHẢO [1] BienHoang 2017 Xử Lý Ngôn Ngữ Tự Nhiên với Python - P1 [2] Big Mr 2018 Lịch sử hình thành phát triển Chatbot [3] Dare2Compete 2021 Advantages And Disadvantages of CSS: Know All About The Design Language [4] Daryna Lishchynska 2017 What Are Bots? How Do Chatbots Work? [5] Krzysztof Basel 2021 Python Pros and Cons [6] Lý Quốc Siêu 2019 API gì? Giới thiệu Giao diện lập trình ứng dụng API [7] Mai Vũ Xuân Trường, Nguyễn Thanh Tân 2019 Xây dựng hệ thống Chatbot tự động [8] Mắt Bão 2021 CSS3 gì? Từ A đến Z tính CSS3 so với CSS [9] Matthew Deery 2021 What Is Flask and How Do Developers Use It? A Quick Guide [10] NEWONads 2018 Lợi ích việc sử dụng chatbot thời đại số [11] NIITHaNoi 2019 Flask gì? Bạn biết Framework này? [12] Nouman Ahmad 2021 Web-Based Chatbot Using Flask API [13] Prasanna 2022 Advantages And Disadvantages Of HTML | What is HTML?, Top HTML Advantages and Disadvantages [14] Python.org 2022 What is Python? Executive Summary [15] Tạ Minh Luận 2018 Phần 2: Deep Learning cho Chatbot - Tạo retrieval-based model Chatbot [16] Tạ Minh Luận 2018 Phần 3: Deep Learning cho Chatbot - Thiết kế generative Chatbot [17] Tô Đức Thắng 2020 Làm quen với Keras [18] TopDev 2021 HTML gì? [19] Văn Anh/VOV.vn 2018 Chatbot nở rộ lĩnh vực đời sống [20] W3School 2022 HTML History [21] Wikipedia 2022 CSS [22] Wikipedia 2022 Python (ngơn ngữ lập trình) 51