1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về Microsoft Bot Framework và xây dựng ứng dụng minh họa

45 33 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM ĐỒ ÁN Tìm hiểu Microsoft Bot Framework xây dựng ứng dụng minh họa Đồ án – SE121.L11.PMCL – VN Giảng viên hướng dẫn: Thầy TRẦN ANH DŨNG Sinh viên thực hiện: Lê Đức Vinh -17521262 TP HỒ CHÍ MINH, 18/01/2021 ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CƠNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM Lê Đức Vinh -17521262 ĐỒ ÁN Tìm hiểu Microsoft Bot Framework xây dựng ứng dụng minh họa KỸ SƯ/ CỬ NHÂN NGÀNH KĨ THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN Thầy TRẦN ANH DŨNG TP HỒ CHÍ MINH, 2021 LỜI CẢM ƠN Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến thầy Trần Anh Dũng – Giảng viên hướng dẫn chúng em thực Đồ án 1, thầy đồng hành tận tình hướng dẫn cho chúng em qua giai đoạn đồ án Nhờ có giúp đỡ nhiệt tình thầy mà chúng em có thể hoàn thành được đồ án cách tốt Vì kiến thức chúng em cịn hạn hẹp nên khơng thể tránh khỏi thiếu sót trình thực đồ án Tuy nhiên, chúng em cố gắng hoàn thành hạn hạn chế lỗi nhiều có thể Nhóm chúng em mong đợi nhận ý kiến đóng góp quý báu từ thầy qua đó có thể rút kinh nghiệm, tự sửa chữa, hồn thiện thân tinh thần nghiêm túc, tự giác học hỏi Trong trình làm đề tài báo cáo, tránh khỏi thiếu sót, mong nhận phản hồi từ thầy bạn để góp phần làm cho báo cáo thêm hoàn thiện Chân thành cảm ơn thầy! LỜI NHẬN XÉT CỦA GIẢNG VIÊN … ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………………………………………………………………… Mục lục Chương Mở đầu 1.1 Lý chọn đề tài .7 1.2 Mục tiêu nghiên cứu 1.3 Phương pháp nghiên cứu 1.4 Đối tượng hướng đến Chương Giới thiệu hệ thống mã nguồn mở Microsoft Bot Framework 2.1 Giới thiệu phần mềm mã nguồn mở 2.1.1 Lợi ích việc sử dụng phần mềm mã nguồn mở 2.1.2 Khuyết điểm việc sử dụng hệ thống mã nguồn mở 2.2 Bot gì? 2.3 Một số tảng xây dựng Chatbot tiếng 2.4 Giới thiệu Microsoft Bot Framework 10 Chương Cài đặt môi trường phát triển Bot 12 3.1 Cài đặt môi trường 12 3.1.1 Cài đặt Node.js 12 3.1.2 Cài đặt Bot Framework Emulator 12 3.1.3 Cài đặt phiên Yeoman Yeoman generator for Bot Framework v4 12 3.1.4 3.2 Cài đặt Ngrok: 12 Tạo Bot cách sử dụng cổng Azure Bot Service 12 3.2.1 Cài đặt .12 3.2.2 Kiểm tra bot 15 3.2.3 Tải xuống source code 15 3.3 Cài đặt bot sử dụng lệnh Terminal 15 3.3.1 Giao tiếp với Bot .16 Chương Thiết kế Bot 18 4.1 Các nguyên tắc thiết kế Bot .18 4.1.1 Các yếu tố không đảm bảo thành công Bot 18 4.1.2 Các yếu tố ảnh hưởng đến thành công bot 18 4.2 Thiết kế Tương tác với người dùng 19 4.3 Thiết kế kiểm soát luồng hội thoại 21 4.3.1 Quy trình hội thoại theo thủ tục 21 4.3.2 Xử lý gián đoạn 22 4.3.3 Thiết kế điều hướng bot 23 4.4 Thiết kế trải nghiệm người dùng 24 4.4.1 Rich user controls .24 4.4.2 Cards 24 4.4.3 Hiểu văn ngôn ngữ tự nhiên (LUIs) 29 Chương Phát triển xây dựng bot 30 5.1 Tìm hiểu tốn 30 5.1.1 Đặt vấn đề 30 5.1.2 Các yêu cầu 30 5.2 Phương án xây dựng bot 30 5.2.1 Giới thiệu hộp thoại thác nước 30 5.2.2 Thuộc tính ngữ cảnh Waterfall step .31 5.2.3 Prompt 32 5.3 Tiến hành xây dựng bot 33 5.4 Kiểm tra bot 35 Chương Tổng kết 44 6.1 Kết thu 44 6.2 Khó khăn gặp phải 44 6.3 Hướng phát triển tương lai 44 Tài liệu tham khảo .45 Chương Mở đầu 1.1 Lý chọn đề tài Hiện nay, với tình hình ơng lớn tập trung đầu tư vào Machine Learning, AI việc phát triển chatbot để có thể ứng dụng hai thứ vào dịch vụ,… điều vô tất yếu Với nền tảng xây dựng chatbot lớn Chatfuel, Messnow, ManyChat, ChattyPeople,… nhà phát triển có thể tùy thích tạo phát triển Bot phục vụ cho nhu cầu cá nhân nhu cầu doanh nghiệp Theo thống kê năm 2018, 15% tổng số khách hàng liên lạc với doanh nghiệp thông qua chatbot Điều bất ngờ nền tảng hỡ trợ phát triển chatbot vừa tháng 4/2016 Theo số thống kê 75% người dùng thích giao tiếp với chatbot khả trả lời hoạt động gần 24/24 (trừ phải bảo trì) Nhận thấy xu hướng, tiềm phát triển Bot, với đó cộng đồng to lớn người dùng nhà phát triển Bot, nhóm em xin phép chọn đề tài để làm đối tượng nghiên cứu môn học Đồ án 1.2 Mục tiêu nghiên cứu Dựa vào tài liệu cung cấp sẵn đầy đủ Mục tiêu đồ án tìm hiểu khái quát về khái niệm Bot nói chung nền tảng xây dựng Bot Microsoft nói riêng Từ đó, dựa vào hệ thống mã nguồn mở, xây dựng Bot có chức phục vụ việc tuyển dụng số công ty có nhu cầu 1.3 Phương pháp nghiên cứu Để hoàn thành đồ án báo cáo này, nhóm em tham khảo tài liệu hướng dẫn cung cấp trang chủ Bot Framework SDK documentation Microsoft Tham khảo mẫu bot có sẵn trải nghiệm giao tiếp với số bot để có thể rút dược tu thiết kế trạng thực tế Sau đó tiến hành thực hóa cách xây dựng Bot cung cấp số khả giao tiếp mà nhóm mong muốn 1.4 Đối tượng hướng đến Đối tượng mà đồ án hướng đến số phận tuyển nhân số công ty gặp nhu cầu khó khăn về việc tuyển dụng thời kỳ cách ly dịch bệnh Cấu trúc báo cáo Chương 1: Lời mở đầu Chương 2: Giới thiệu hệ thống mã nguồn mở Microsoft Bot Framework Chương 3: Cài đặt môi trường phát triển Bot Chương 4: Thiết kế bot Chương 5: Phát triển xây dựng Bot Chương 6: Tổng kết Chương Giới thiệu hệ thống mã nguồn mở Microsoft Bot Framework 2.1 Giới thiệu phần mềm mã nguồn mở Phần mềm mã nguồn mở phần mềm có mã nguồn công bố cơng khai, cho phép người dùng sử dụng miễn phí có quyền sửa đổi, cải tiến, thay đổi mã nguồn theo số quy tắc chung định quy định giấy phép phần mềm nguồn mở (Open-source License) Một số giấy phép phần mềm mã nguồn mở phổ biến có thể kể đến Apache License 2.0, GNU GPL, MIT License, Mozilla Public License 2.0,… 2.1.1 Lợi ích việc sử dụng phần mềm mã nguồn mở - Miễn phí quyền: Phần mềm có thể chép hồn tồn miễn phí, chúng - ta hồn tồn an tâm chia sẻ chương trình tuyệt vời với bạn bè Tính bảo mật: Các lỡ hổng bảo mật thân mã nguồn đều dễ dàng nhận thấy nhanh chóng "vá" cộng đồng lập trình viên, người quản trị có thể dễ có hội nhận vấn đề về bảo mật thấy mã nguồn - sản phẩm Chi phí triển khai: Khơng phải trả tiền qùn phần mềm phí đầu tư có thể giảm xuống nhiều triển khai hệ thống 2.1.2 Khuyết điểm việc sử dụng hệ thống mã nguồn mở - Tính tương hỡ với phần mềm mã nguồn đóng: Với tổ chức đầu tư nhiều cho việc thiết lập định dạng lưu trữ liệu ứng dụng phần mềm đóng, việc cố gắng tích hợp giải pháp phần mềm nguồn mở có thể - tốn Khơng hồn tồn miễn phí: Chi phí người dùng phải trả có thể cho - yêu cầu đặc biệt, chi phí huấn luyện, đào tạo, Hỗ trợ kém: Tùy theo phần mềm mà bạn sử dụng có thể có hỗ trợ định có thể không nhận hỗ trợ Và thường với gói phần mềm miễn phí, người dùng phải đợi lâu nhận phản - hồi Tính bảo mật: Bảo mật đồng thời yếu tố tích cực, điểm yếu phần mềm mã nguồn mở Bởi có thể xem bên mã nguồn bạn có gì, có nghĩa hacker có thể tận dụng điều nhằm chiếm quyền điều khiển hệ thống bạn 2.2 Bot gì? Bot, hiểu đơn giản nó phần mềm mà nói chuyện với nó để làm việc, để giải trí Bot có thể trở thành trợ lý ảo cho bạn, từ việc nói chuyện thông qua chatbot, có thể trả lời tự động tin nhắn, nhận hóa đơn, tìm kiếm, dự đốn,… 2.3 Một số tảng xây dựng Chatbot tiếng Năm 2012, có 14 tỷ tin nhắn gửi thông qua ứng dụng nhắn tin, số tăng lên gấp đôi vào năm 2017 Các ứng dụng nhắn tin Facebook Messenge, WeChat, WhatsAppm Telegram, LINE, Zalo, Snapchat, … nằm top ứng dụng cài đặt nhiều Hơn nữa, với sách bảo mật ngày siết chặt quan an ninh công nghệ, sau vụ bê bối NSA về việc nghe gọi người dùng, ứng dụng chat miễn phí trở thành kênh có độ tin tưởng bảo mật cao Từ đó ông lớn Facebook, Microsoft, Amazon, Google… tập trung đầu tư phát triển AI chatbot nhằm phục vụ dịch vụ khách hàng Chatbot xem đứa trẻ tuổi Các “ông lớn” Facebook, Microsoft, Amazon Google đều đầu tư vào Machine Learning, AI để Chatbot có thể phát triển thành đó đáng kể, thơng minh hữu ích Chúng ta chờ đón bước tiến dài, chí bước nhảy vọt cơng nghệ thời gian tới 2.4 Giới thiệu Microsoft Bot Framework Microsoft Bot Framework, giới thiệu đầu năm 2016, nền tảng gồm công cụ tài nguyên nhằm giúp cho nhà phát triển có thể tự xây dựng Chatbot riêng Microsoft Bot Framework bao gồm phần chính:  Bot Builder SDK: Bộ cơng cụ chia sẻ GitHub dạng mã nguồn mở theo giấy phép MIT cung cấp tất thứ bạn cần để xây dựng Chatbot Node.js, NET hay REST API  Bot Framework Developer Portal: Cho phép bạn kết nối Chatbot tới Skype, Slack, Facebook Messenger, kênh giao tiếp thông dụng khác Đơn giản việc đăng ký bot, chọn kênh giao tiếp publish bot lên Bot Directory  Bot Emulator: dùng để test debug bot trình phát triển  Bot Connector Service: service giúp cho bạn kết nối với bot bạn thông qua việc thiết lập channel 10 Trong bước thác nước, ngữ cảnh hộp thoại thác nước lưu trữ waterfall step context nó Điều tương tự bối cảnh hộp thoại nó cung cấp quyền truy cập vào ngữ cảnh trạng thái lượt Sử dụng đối tượng ngữ cảnh bước thác nước để tương tác với hộp thoại đặt từ bên bước thác nước 5.2.2 Thuộc tính ngữ cảnh Waterfall step Options: chứa thông tin đầu vào cho hộp thoại 31 Values: chứa thông tin mà bạn có thể thêm vào ngữ cảnh chuyển sang bước Result: chứa kết tử bước trước *Notes: Ngoài ra, phương pháp next ( NextAsync C #, JS Python) tiếp tục đến bước hộp thoại thác nước lượt, cho phép bot bạn bỏ qua bước định cần thiết 5.2.3 Prompt Các lời nhắc, thư viện hộp thoại, cung cấp cách dễ dàng để hỏi người dùng thông tin đánh giá phản hồi họ Ví dụ: lời nhắc số , bạn định câu hỏi thông tin bạn yêu cầu lời nhắc tự động kiểm tra xem nó có nhận phản hồi số hợp lệ hay khơng Nếu nó làm, trị chuyện có thể tiếp tục; không, nó nhắc lại người dùng để có câu trả lời hợp lệ *Các loại Prompt: Prompt Attachment prompt Choice prompt Confirm prompt Date-time prompt Number prompt Text prompt Description Yêu cầu nhiều tệp đính kèm, chẳng hạn tài liệu hình ảnh Yêu cầu lựa chọn từ tập hợp tùy chọn Yêu cầu xác nhận Yêu cầu ngày Yêu cầu số Yêu cầu nhập văn chung Returns Tập hợp attachment objects Một đối tượng found choice giá trị Boolean Tập đối tượng ngày Giá trị số chuỗi string 5.3 Tiến hành xây dựng bot Recruitment-bot xây dựng theo hướng triển khai luồng hội thoại tuần tự, sử dụng mơ hình hộp thoại thác nước (Waterfall dialogs) lời nhắc (Prompt) 32 *Xác định thành phần có hộp thoại thác nước - Bot tương tác với người dùng thông qua UserProfileDialog Và sau đó, đặt UserProfileDialog vào DialogBot dùng phương thức run để - truy cập hộp thoại Hộp thoại thác nước UserProfileDialog gồm có 10 bước:  helpStep  nameStep  nameConfirmStep  ageStep  knowledgeStep  knowledgeConfirmStep  experienceStep  pictureStep  confirmStep  summaryStep 33 34 *Sử dụng Prompt: Sử dụng lời nhắc (Prompt) từ vài bước hộp thoại mà nó yêu cầu để xác giúp bot có thể hoạt động thiết kế 5.4 Kiểm tra bot Bot kiểm tra thơng qua trình giả lập Bot Emulator - helpStep: - nameStep: - ageStep: 35 o Khi lựa chọn Yes: o Khi lựa chọn No: 36 - KnowledgeStep 37 - experiencesStep: 38 o chọn Yes giá trị lớn tuổi nhập: o Khi chọn yes nhập giá trị hợp lí: 39 o Khi chọn No: - picturStep: o Khi chọn khơng file hình (file có png): 40 o Khi chọn file hình (file có png): 41 o Khi khơng chọn file hình chat để bỏ qua: - summaryStep: o Khi chọn Yes 42 o Khi chọn No: 43 Chương Tổng kết 6.1 Kết thu Qua trình tìm hiểu về Microsoft Bot Framework, nhóm thu về số kết định: - Về phần tìm hiểu, nhóm biết tình hình phát triển, cách thức hoạt - động, cách cài đặt bot Về vận dụng, nhóm xây dựng bot theo hướng luồng hội thoại thác nước, có tác dụng giúp công ty tuyển dụng trả lời tự động ứng viên 6.2 Khó khăn gặp phải - Do lần đầu tiếp xúc với mã nguồn mở nên bỡ ngỡ với lỡi tồn q trình đóng góp, phát triển cộng đồng người dùng Tài liệu hướng dẫn chưa thực chi tiết, Tiếng Việt dẫn đến khó khăn việc đọc hiểu Lần đầu sử dụng Node.js nên nhóm khó khan 6.3 Hướng phát triển tương lai - - Hoàn thiện, cải tiến bot để giúp nhà tuyển dụng cách o Nâng cấp xử lý gián đoạn bot o Thu thập nhiều thông tin về ứng viên Tìm hiểu LUIs để có thể cải tiến bot, phục vụ việc tuyển dụng tốt Tài liệu tham khảo Nhóm có dùng tài liệu tham khảo chủ yếu Microsoft Cùng với đó số diễn đàn về cơng nghệ cộng đồng hỡ trợ tích cực Github, 44 https://docs.microsoft.com/en-us/azure/bot-service/index-bf-sdk?view=azure-bot-service4.0 https://github.com/Microsoft/BotBuilder-Samples/blob/main/README.md https://viblo.asia/p/tim-hieu-ve-bot-framework-oOVlYyvyl8W https://portal.azure.com/?Microsoft_Azure_Education_correlationId=49f0fb7c-be9540bf-829d9de1159dc452#blade/Microsoft_Azure_Education/EducationMenuBlade/software 45 ... THUẬT PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN Thầy TRẦN ANH DŨNG TP HỒ CHÍ MINH, 2021 LỜI CẢM ƠN Lời đầu tiên, em xin bày tỏ lòng biết ơn sâu sắc đến thầy Trần Anh Dũng – Giảng viên hướng dẫn chúng em thực... thích tạo phát triển Bot phục vụ cho nhu cầu cá nhân nhu cầu doanh nghiệp Theo thống kê năm 2018, 15% tổng số khách hàng liên lạc với doanh nghiệp thông qua chatbot Điều bất ngờ nền tảng hỗ trợ... tuyệt vời với bạn bè Tính bảo mật: Các lỗ hổng bảo mật thân mã nguồn đều dễ dàng nhận thấy nhanh chóng "vá" cộng đồng lập trình viên, người quản trị có thể dễ có hội nhận vấn đề về bảo

Ngày đăng: 18/12/2021, 22:09

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    1.1 Lý do chọn đề tài

    1.2 Mục tiêu nghiên cứu

    1.3 Phương pháp nghiên cứu

    1.4 Đối tượng hướng đến

    Chương 2 . Giới thiệu hệ thống mã nguồn mở và Microsoft Bot Framework

    2.1 Giới thiệu về phần mềm mã nguồn mở

    2.1.1 Lợi ích của việc sử dụng phần mềm mã nguồn mở

    2.3 Một số nền tảng xây dựng Chatbot nổi tiếng

    2.4 Giới thiệu Microsoft Bot Framework

    Chương 3 . Cài đặt môi trường phát triển Bot

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w