MẪU ĐỒ ÁN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT HÀN BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH 2 ĐỀ TÀI XÂY DỰNG HỆ THỐNG DỰ ĐOÁN BỆNH TIM SỬ DỤNG CHATBOT MỞ ĐẦU Trong[.]
ĐẠI HỌC ĐÀ NẴNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN BÁO CÁO ĐỒ ÁN CHUYÊN NGÀNH ĐỀ TÀI: XÂY DỰNG HỆ THỐNG DỰ ĐOÁN BỆNH TIM SỬ DỤNG CHATBOT MỞ ĐẦU Trong năm gần đây, khoa học công nghệ dần tiến đến tầm cao Mặc dù mẻ lĩnh vực khoa học công nghệ Chatbot nghiên cứu phát triển với tốc độ chóng mặt trung tâm nghiên cứu, trường đại học học viện…rất nhiều lĩnh vực ứng dụng cơng nghệ Chatbot hình thức thơ sơ phần mềm trí tuệ nhân tạo, chương trình để tạo từ máy tính tiến hành trị chuyện thơng qua phương pháp nhập văn bản, âm thanh, cảm ứng trả lời câu hỏi xử lý tình huống, cơng cụ giao tiếp, tương tác với người thơng qua trí tuệ nhân tạo lập trình sẵn Có nhiều cơng cụ thư viện hỗ trợ cho Chatbot như: Dialogflow, Wit.ai, Watson Conversation Service, Microsoft’s LUIS, Google Natural Language API, Amazon Lex,… Đề tài: “Xây dựng hệ thống dự đoán bệnh tim sử dụng Chatbot” chủ yếu xây dựng ngôn ngữ Python, nhận thông tin từ Dialogflow, trả lời tự động, thực dự đốn thơng tin đầu vào đăt lịch hẹn phục vụ cho việc chuẩn đoán bệnh LỜI CẢM ƠN Để thực hoàn thành tốt đồ án này, em nhận giúp đỡ hướng dẫn tận tình thầy cô thuộc Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt Hàn – Đại Học Đà Nẵng Em xin cảm ơn thầy cô thuộc môn chuyên ngành cung cấp cho chúng em thông tin, kiến thức vô quý báu cần thiết suốt thời gian để em thực hồn thành đồ án Đặc biệt em xin chân thành cảm ơn thầy Nguyễn Quang Vũ, người trực tiếp hướng dẫn chúng em thời gian thực đồ án Cuối cùng, xin chân thành cảm ơn bạn ngành công nghệ thông tin ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm tài liệu có giúp chúng tơi trình nghiên cứu thực đề tài Do giới hạn mặt thời gian kiến thức kinh nghiệm thực tiễn nên đề tài không tránh khỏi sai sót Em mong nhận thơng cảm q thầy mong đón nhận góp ý thầy bạn Em xin chân thành cảm ơn! MỤC LỤC Chương 1: TỔNG QUAN 1.1 Lý chọn đề tài 1.2 Mục tiêu nhiệm vụ nghiên cứu .2 1.2.1 Mục tiêu 1.2.2 Nhiệm vụ nghiên cứu 1.3 Đối tượng khách thể nghiên cứu: 1.3.1 Đối tượng nghiên cứu 1.3.2 Khách thể nghiên cứu 1.4 Cấu trúc đề tài Chương 2: CƠ SỞ LÝ THUYẾT .3 2.1 Giới thiệu Python .3 2.2 Giới thiệu Flask 2.3 Giới Thiệu Về Trí Tuệ Nhân Tạo (AI), Machine Learning, SVM thư viện Scikit-Learn 2.3.1 Giới thiệu Trí Tuệ Nhân Tạo (AI- Artificial Intelligence) 2.3.2 Giới thiệu Machine Learning 2.3.3 Giới thiệu SVM 2.3.4 Giới thiệu Scikit-Learn – thư viện hỗ trợ việc phân loại 2.4 Giới thiệu Ngrok 2.5 Giới thiệu Chatbot 2.5.1 Khái niệm 2.5.2 Cấu tạo chatbot 2.5.3 Cách thức hoạt động 2.5.4 Một số tảng hỗ trợ phát triển cho chatbot 10 2.5.5 Một số ứng dụng chatbot 10 2.6 Dialogflow 11 2.6.1 Khái niệm 11 2.6.2 Lịch sử đời hoạt động .12 2.6.3 Khái niệm Intents 13 2.6.4 Khái niệm Entities 14 2.6.5 Khái niệm Contexts 14 2.6.6 Actions and Parameters 15 Chương 3: TRIỂN KHAI VÀ XÂY DỰNG 17 3.1 Công cụ triển khai 17 3.1.1 Công cụ yêu cầu .17 3.2 Mơ hình thiết kế hệ thống 17 3.2.1 Biều đồ phân cấp chức .17 3.2.2 Biểu đồ use case 18 3.2.3 Biểu đồ hoạt động .20 3.2.1 Biểu đồ 21 3.3 Triển khai .22 Chương 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 26 4.1 Kết thực .26 4.1.1 Giao diện hệ thống 26 4.1.2 Các chức đạt 29 4.1.3 Các chức cịn chưa hồn thành 29 4.2 Hướng phát triển 29 PHỤ LỤC 30 DANH MỤC TÀI LIỆU THAM KHẢO 31 DANH MỤC HÌNH Hình Chatbot nhiều lĩnh vực .1 Hình Mối tương quan AL, ML DL Hình Đồ thị biểu thuật toán SVM Hình Đồ thị biểu thuật tốn SVM Hình Nguyên lý hoạt động Chatbot 10 Hình Dialogflow – Dịch vụ Google 12 Hình Biểu đồ phân cấp chức 17 Hình Biểu đồ use case 18 Hình Biểu đồ hoạt động 20 Hình 10 Biểu đồ 21 Hình 11 Đọc liệu 23 Hình 12 Biểu đồ trịn 23 Hình 13 Biểu đồ phân bố độ tuổi 24 Hình 14 Phân chia liệu 24 Hình 15 Giao diện trang 26 Hình 16 Giao diện phần chatbot phần nhập thông tin 26 Hình 17 Form nhập thơng tin 27 Hình 18 Hệ thống dự đoán 27 Hình 19 Đặt lịch hẹn 28 Hình 20 Email gửi đến người dùng .28 Chương 1: TỔNG QUAN 1.1 Lý chọn đề tài Trong năm gần đây, mẻ lĩnh vực khoa học công nghệ Chatbot nghiên cứu phát triển với tốc độ nhanh chóng trung tâm nghiên cứu, trường đại học học viện…với nhiều ứng dụng lĩnh vực khác như: giải trí, y tế, thương mại, tự động hóa,…Đặc biệt, Chatbot ngành y học giúp nhiều cho bác sĩ việc tư vấn thẩm chí hướng dẫn bệnh nhân điều trị bệnh chữa khỏi Vậy khơng cho thêm nhiệm vụ để dự đốn thơng tin đầu vào thơng số thể sau thơng báo kết qủa đến người bệnh người mắc bệnh Để làm điều cần kịch câu hỏi mà bác sĩ hỏi, liệu thông tin đầu vào Và với câu hỏi đặt ra, Chatbot sử dụng hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing) phương pháp phân loại liệu SVM để phân tích liệu, sau kết hợp hai thuật tốn học máy để đưa phản hồi dự đốn phản hồi xác Vì vây, đề tài “Xây dựng hệ thống dự đoán bệnh tim sử dụng Chatbot” giúp cho bác sĩ giảm thiểu thời gian tư vấn cho bệnh nhân với số câu sử dụng ngày hồn thành cơng việc Chatbot yêu cầu thời gian ngày, để xếp lịch đặt hẹn với bác sĩ chuyên khoa giúp bệnh nhân không cần phải ngồi chờ đợi Với người dùng truy cập hệ thống để tư vấn, kết thúc phiên tư vấn, người dùng nhập thơng tin sau có đầy đủ thơng tin hệ thống báo kết bạn có bị mắc bệnh tim hay không Dữ liệu cho việc huấn luyện liệu lấy từ bệnh viện Thụy Sĩ Hình Chatbot nhiều lĩnh vực 1.2 Mục tiêu nhiệm vụ nghiên cứu 1.2.1 Mục tiêu Tìm hiểu hệ thống chatbots, ứng dụng chatbots cho đời sống phương pháp việc dự đốn thơng tin, cụ thể qua việc xây dựng hệ thống tảng Dialogflow, ngôn ngữ Python kết hợp phương pháp học SVM (Support Vector Machine) 1.2.2 Nhiệm vụ nghiên cứu Nghiên cứu sở lý thuyết Dialogflow, Python, SVM, Flask Nghiên cứu cách hoạt động Chatbot để kết hợp phương pháp SVM việc dự đốn thơng tin Đào tạo liệu tim mạch lấy từ bệnh viện Thụy Sĩ Xây dựng nội dung, kịch để bác sĩ Chatbot tư vấn 1.3 Đối tượng khách thể nghiên cứu: 1.3.1 Đối tượng nghiên cứu Hệ thống dự đoán tim mạch thông qua Chatbot 1.3.2 Khách thể nghiên cứu Hệ thống phương pháp máy học Machine Learning cụ thể phương pháp SVM, Python 1.4 Cấu trúc đề tài Đồ án gồm chương chính: Chương I: Giới thiệu tổng quan Chương II: Cơ sở lý thuyết Chương III: Triển khai xây dựng Chương IV: Kết luận hướng phát triển Chương 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu Python Python ngôn ngữ lập trình thơng dịch (interpreted), hướng đối tượng (object-oriented), ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics) Python hỗ trợ module gói (packages), khuyến khích chương trình module hóa tái sử dụng mã Trình thơng dịch Python thư viện chuẩn mở rộng có sẵn dạng mã nguồn dạng nhị phân miễn phí cho tất tảng phân phối tự Sau đặc điểm Python: Ngữ pháp đơn giản, dễ đọc Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (objectoriented) Hỗ trợ module hỗ trợ gói (package) Xử lý lỗi ngoại lệ (Exception) Kiểu liệu động mức cao Có thư viện chuẩn module ngồi, đáp ứng tất nhu cầu lập trình Có khả tương tác với module khác viết C/C++ (Hoặc Java cho Jython, Net cho IronPython) Ưu điểm: Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) Python dễ dàng kết nối với thành phần khác: Python kết nối với đối tượng COM, NET (Ironpython, Python for net), CORBA, Java… Python hỗ trợ Internet Communications Engine (ICE) nhiều cơng nghệ kết nối khác Có thể viết thư viện C/C++ để nhúng vào Python ngược lại Python ngơn ngữ có khả chạy nhiều tảng Python có cho hệ điều hành: Windows, Linux/Unix, OS/2, Mac, Amiga, hệ điều hành khác Thậm chí có phiên chạy NET, máy ảo Java, điện thoại di động (Nokia Series 60) Với mã nguồn chạy giống tảng Python đơn giản dễ học Python có cộng đồng lập trình lớn, hệ thống thư viện chuẩn, thư viện mã nguồn mở chia sẻ mạng Python ngôn ngữ mã nguồn mở Cài đặt Python dùng giấy phép nguồn mở nên sử dụng phân tối tự do, việc thương mại Giấy phép Python quản lý Python Software Foundation 2.2 Giới thiệu Flask Flask web frameworks, thuộc loại micro-framework xây dựng ngơn ngữ lập trình Python Flask cho phép bạn xây dựng ứng dụng web từ đơn giản tới phức tạp Nó xây dựng api nhỏ, ứng dụng web chẳng hạn