Mở đầu1.1 Lý do chọn đề tài Hiện nay, với tình hình các ông lớn đang tập trung đầu tư vào Machine Learning, AIthì việc phát triển chatbot để có thể ứng dụng hai thứ trên vào dịch vụ,… l
Trang 1ĐẠ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 1 Tìm hiểu về Microsoft Bot Framework và xây dựng ứng
dụng minh họa
Đồ án 1 – 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
Trang 2ĐẠ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 1 Tìm hiểu về Microsoft Bot Framework và 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
Trang 3LỜ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 hiện Đồ án 1, thầy đã cùng đồng hành và tận tình hướng
dẫn cho chúng em qua từng giai đoạn của đồ án Nhờ có sự giúp đỡ nhiệt tình của thầy
mà chúng em có thể hoàn thành được được đồ án này một cách tốt nhất
Vì kiến thức của chúng em vẫn còn hạn hẹp nên không thể tránh khỏi những thiếusót trong quá trình thực hiện đồ án Tuy nhiên, chúng em đã cố gắng hoàn thành đúng hạn
và hạn chế các lỗi nhiều nhất có thể Nhóm chúng em luôn mong đợi nhận được những ýkiến đóng góp quý báu từ thầy và qua đó có thể rút kinh nghiệm, tự sửa chữa, hoàn thiệnbản thân mình trên tinh thần nghiêm túc, tự giác học hỏi
Trong quá trình làm đề tài báo cáo, sẽ không thể tránh khỏi các thiếu sót, rất mongnhận được phản hồi từ thầy và các bạn để góp phần làm cho bản báo cáo thêm hoàn thiệnhơn
Chân thành cảm ơn thầy!
Trang 4LỜI NHẬN XÉT CỦA GIẢNG VIÊN
…
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……….
Trang 5Mục lục
Chương 1 Mở đầu 7
1.1 Lý do chọn đề tài 7
1.2 Mục tiêu nghiên cứu 7
1.3 Phương pháp nghiên cứu 7
1.4 Đối tượng hướng đến 7
Chương 2 Giới thiệu hệ thống mã nguồn mở và Microsoft Bot Framework 8
2.1 Giới thiệu về phần mềm mã nguồn mở 8
2.1.1 Lợi ích của việc sử dụng phần mềm mã nguồn mở 8
2.1.2 Khuyết điểm của việc sử dụng hệ thống mã nguồn mở 9
2.2 Bot là gì? 9
2.3 Một số nền tảng xây dựng Chatbot nổi tiếng 9
2.4 Giới thiệu Microsoft Bot Framework 10
Chương 3 Cài đặt môi trường phát triển Bot 12
3.1 Cài đặt các 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 bản mới nhất của Yeoman và Yeoman generator for Bot Framework v4 12
3.1.4 Cài đặt Ngrok: 12
3.2 Tạo Bot bằng 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 trên Terminal 15
3.3.1 Giao tiếp với Bot 16
Chương 4 Thiết kế Bot 18
4.1 Các nguyên tắc khi thiết kế Bot 18
4.1.1 Các yếu tố không đảm bảo sự thành công của Bot 18
4.1.2 Các yếu tố ảnh hưởng đến thành công của bot 18
4.2 Thiết kế Tương tác đầu tiên với người dùng 19
Trang 64.3 Thiết kế và 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 bản và ngôn ngữ tự nhiên (LUIs) 29
Chương 5 Phát triển và xây dựng bot 30
5.1 Tìm hiểu bài toán 30
5.1.1 Đặt vấn đề 30
5.1.2 Các yêu cầu cơ bản 30
5.2 Phương án xây dựng bot 30
5.2.1 Giới thiệu về 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 6 Tổng kết 44
6.1 Kết quả thu được 44
6.2 Khó khăn gặp phải 44
6.3 Hướng phát triển trong tương lai 44
Tài liệu tham khảo 45
Trang 7Chương 1 Mở đầu
1.1 Lý do chọn đề tài
Hiện nay, với tình hình các ông lớn đang tập trung đầu tư vào Machine Learning, AIthì việc phát triển chatbot để có thể ứng dụng hai thứ trên vào dịch vụ,… là điều vô cùngtất yếu Với các nền tảng xây dựng chatbot lớn như Chatfuel, Messnow, ManyChat,ChattyPeople,… các nhà phát triển có thể tùy thích tạo ra và phát triển một Bot phục vụcho nhu cầu cá nhân hoặc nhu cầu doanh nghiệp
Theo như thống kê năm 2018, 15% tổng số khách hàng liên lạc với doanh nghiệpthông qua chatbot Điều này rất là bất ngờ vì các nền tảng hỗ trợ và phát triển chatbot chỉvừa bắt đầu từ tháng 4/2016 Theo một số thống kê nữa là 75% người dùng thích giaotiếp với chatbot vì khả năng trả lời ngay lập tức và hoạt động gần như 24/24 (trừ khi phảibảo trì)
Nhận thấy xu hướng, tiềm năng phát triển của Bot, cùng với đó là một cộng đồng tolớn người dùng và nhà phát triển đối với Bot, nhóm em xin phép chọn đề tài này để làmđối tượng nghiên cứu môn học Đồ án 1
1.2 Mục tiêu nghiên cứu
Dựa vào các tài liệu được cung cấp sẵn và đầy đủ Mục tiêu của đồ án là tìm hiểukhái quát về khái niệm Bot nói chung và nền tảng xây dựng Bot của Microsoft nói riêng
Từ đó, dựa vào hệ thống mã nguồn mở, xây dựng một Bot có chức năng cơ bản phục vụviệc tuyển dụng của một số công ty có nhu cầu
1.3 Phương pháp nghiên cứu
Để hoàn thành đồ án và bài báo cáo này, nhóm em đã tham khảo các tài liệu hướngdẫn được cung cấp trên trang chủ Bot Framework SDK documentation của Microsoft.Tham khảo các mẫu bot có sẵn cũng như trải nghiệm giao tiếp với một số bot để có thểrút ra dược tu duy thiết kế và hiện trạng thực tế Sau đó tiến hành thực hiện hóa bằngcách xây dựng một Bot cung cấp một số khả năng giao tiếp cơ bản mà nhóm mong muốn
1.4 Đối tượng hướng đến
Trang 8Đối tượng mà đồ án này hướng đến là một số bộ phận tuyển nhân sự của một sốcông ty đang gặp nhu cầu khó khăn về việc tuyển dụng trong thời kỳ cách ly dịch bệnh.
Cấu trúc bài 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ở và 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 và xây dựng Bot
Chương 6: Tổng kết
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ở
Phần mềm mã nguồn mở là phần mềm có mã nguồn được công bố công khai, chophép người dùng sử dụng miễn phí và có quyền sửa đổi, cải tiến, thay đổi mã nguồntheo một số quy tắc chung nhất định được quy định trong 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 như Apache License 2.0, GNU GPL, MIT License, Mozilla Public License2.0,…
2.1.1 Lợi ích của việc sử dụng phần mềm mã nguồn mở
- Miễn phí bản quyền: Phần mềm có thể được sao chép hoàn toàn miễn phí, chúng
ta hoàn toàn an tâm khi chia sẻ một 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 trong bản thân mã nguồn đều dễ dàng nhậnthấy và nhanh chóng được "vá" bởi cộng đồng lập trình viên, người quản trị
Trang 9cũng có thể dễ có cơ hội nhận ra các vấn đề về bảo mật khi thấy được mã nguồnsản phẩm.
- Chi phí triển khai: Không phải trả tiền bản quyền phần mềm nên chi phí đầu tưcó thể giảm xuống rất nhiều khi triển khai một hệ thống
2.1.2 Khuyết điểm của 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 những tổ chức đã đầu tư
nhiều cho việc thiết lập các định dạng lưu trữ dữ liệu và ứng dụng phần mềmđóng, việc cố gắng tích hợp những giải pháp phần mềm nguồn mở có thể sẽ rấttốn kém
- Không hoàn toàn miễn phí: Chi phí người dùng phải trả ở đây có thể là cho các
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ó được sự hỗ trợ nhất
định cũng như có thể sẽ không nhận được bất cứ sự hỗ trợ nào Và thường thìvới các gói phần mềm miễn phí, người dùng phải đợi lâu mới nhận được phảnhồi
- Tính bảo mật: Bảo mật đồng thời là yếu tố tích cực, cũng là điểm yếu của các
phần mềm mã nguồn mở Bởi vì ai cũng có thể xem bên trong mã nguồn của bạncó những gì, có nghĩa là hacker cũng có thể tận dụng điều này nhằm chiếmquyền điều khiển hệ thống của bạn
2.2 Bot là gì?
Bot, hiểu đơn giản thì nó là một phần mềm mà chúng ta sẽ nói chuyện với nó đểlàm việc, hoặc để giải trí Bot có thể trở thành một trợ lý ảo cho bạn, từ việc nóichuyệ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ựđoán,…
2.3 Một số nền tảng xây dựng Chatbot nổi tiếng
Năm 2012, có hơn 14 tỷ tin nhắn được gửi thông qua các ứng dụng nhắn tin, con
số này đã tăng lên gấp đôi vào năm 2017 Các ứng dụng nhắn tin như FacebookMessenge, WeChat, WhatsAppm Telegram, LINE, Zalo, Snapchat, … luôn nằm trongtop những ứng dụng được cài đặt nhiều nhất Hơn nữa, với các chính sách bảo mậtngày càng siết chặt của các cơ quan an ninh công nghệ, nhất là sau những vụ bê bối
Trang 10của NSA về việc nghe lén các cuộc gọi của người dùng, các ứng dụng chat miễn phítrở thành một kênh có độ tin tưởng và bảo mật cao hơn.
Từ đó các ông lớn như Facebook, Microsoft, Amazon, Google… tập trung đầu tưphát triển AI và chatbot nhằm phục vụ các dịch vụ khách hàng
Chatbot hiện nay chỉ được xem như một đứa trẻ 6 tuổi Các “ông lớn” Facebook,Microsoft, Amazon và Google đều đang đầu tư vào Machine Learning, AI để Chatbotcó thể phát triển thành một cái gì đó đáng kể, thông minh hơn và hữu ích hơn Chúng
ta hãy cùng chờ đón những bước tiến dài, thậm chí là những bước nhảy vọt của côngnghệ trong thời gian sắp tới
2.4 Giới thiệu Microsoft Bot Framework
Microsoft Bot Framework, được giới thiệu đầu năm 2016, là một nền tảng gồmcác công cụ và tài nguyên nhằm giúp cho các nhà phát triển có thể tự xây dựngChatbot của riêng mình Microsoft Bot Framework bao gồm các phần chính:
Bot Builder SDK: Bộ công cụ được chia sẻ trên GitHub dưới dạng mã nguồn
mở theo giấy phép MIT này sẽ cung cấp tất cả mọi thứ bạn cần để xây dựng
Chatbot bằng Node.js, NET hay REST API
Bot Framework Developer Portal: Cho phép bạn kết nối Chatbot của mình tớiSkype, Slack, Facebook Messenger, những kênh giao tiếp thông dụng khác.Đơn giản chỉ việc đăng ký bot, chọn kênh giao tiếp và publish bot lên BotDirectory
Bot Emulator: dùng để test và debug bot trong quá trình phát triển
Bot Connector Service: service giúp cho bạn kết nối được với bot của bạnthông qua việc thiết lập các channel
Trang 11 Bot Directory: Đây là một thư mục cộng đồng chứa tất cả những bot đã đượckiểm duyệt đăng ký thông qua Developer Portal Người dùng có thể trảinghiệm, khám phá những bot có sẵn hoặc thêm bot mà mình phát triển vào BotDirectory.
Chương 3 Cài đặt môi trường phát triển Bot
3.1 Cài đặt các môi trường
3.1.1 Cài đặt Node.js
Trang 12Tải và cài đặt Node.js tại: https://nodejs.org/en/
Chọn phiên bản bất kì để tải về và cài đặt (nên dùng phiên bản được recomment)
3.1.2 Cài đặt Bot Framework Emulator
Tải và cài đặt phần mềm dùng để kiểm tra bot: Bot Framework Emulator tại:
https://github.com/Microsoft/BotFramework-Emulator/releases/tag/v4.11.0
Sau đó tiến hành cài đặt
3.1.3 Cài đặt phiên bản mới nhất của Yeoman và Yeoman generator for Bot Framework v4
- Bước 1: Mở Terminal hoặc Elevated command prompt
- Đăng nhập và tải bản cài đặt Ngrok ở link sau: https://ngrok.com/
* Ngrok có tác dụng tạo và cấu hình đường hầm qua tường lửa để trình BotEmulator có thể kết nối được với Bot
- Để kiểm tra phiên bản ngrok, dùng dòng lệnh sau trong trình Terminal:ngrok -v
3.2 Tạo Bot bằng cách sử dụng cổng Azure Bot Service
3.2.1 Cài đặt
- Bước 1: Đăng nhập vào cổng Azure
- Bước 2: Nhấp vào Create a resource liên kết tài nguyên ở góc trái trên màn
hình
Trang 13- Bước 3: Trong hộp tìm kiếm, hãy nhập bot vào trong ô tìm kiếm, chọn Web
App Bot
- Bước 4: Trong Web App Bot, hãy nhấp vào nút Create
Trang 14- Bước 5: Trong biểu mẫu Web App Bot , hãy cung cấp thông tin được
yêu cầu về bot của bạn như được chỉ định trong bảng bên dưới hình ảnh
- Bước 6: Nhấp vào Create để tạo dịch vụ và triển khai Bot lên Cloud
3.2.2 Kiểm tra bot
Trang 15Trong phần Bot management, nhấp vào Test in Web Chat Azure Bot Service sẽ
tải điều khiển trò chuyện trên web và kết nối với bot của bạn
3.2.3 Tải xuống source code
Chúng ta có thể tải source code xuống để có thể tiến hành làm việc với Bot
- Bước 1: Trong phần Bot management, chọn Build
- Bước 2: Nhấp vào Download Bot source code
- Bước 3: Làm theo lời nhắc để tải xuống mã, sau đó giải nén thư mục.
3.3 Cài đặt bot sử dụng lệnh trên Terminal
Thông qua sử dụng Terminal chúng ta có thể tạo Bot sử dụng Node.js hoặc C#hoặc Typescript
- Bước 1: Mở Terminal, nhập: yo botbuilder
- Bước 2: Thực hiện nhập thông tin cần thiết cho Bot:
Trang 16Bước 4: Sau khi tiến hành tạo xong Bot, ta có thể bắt đầu chạy bot bằng lệnh
cmd:
cd my-js-bot (my-js-bot là tên của bot vừa tạo)npm start
*Bot sẽ được chạy trên mạng cục bộ localhost 3978
3.3.1 Giao tiếp với Bot
- Bước 1: Mở trình giả lập Bot Emulator
- Bước 2: Nhập url của bot.
*Lưu ý: Khi tạo bot thông qua cổng Azure sẽ có đường link khác, chúng
ta sẽ có được thông qua file có đuôi json hoặc env Còn khi ta tạo botthông qua trinh Terminal của máy tính thì bot sẽ có đường link là
http://localhost:3978/api/messages
Trang 17- Bước 3: Chọn Connect và tiến hành chat với Bot Giao diện Bot
Emulator sẽ như hình bên dưới:
Chương 4 Thiết kế Bot
Trang 184.1 Các nguyên tắc khi thiết kế Bot
Bot Framework cho phép các nhà phát triển tạo ra trải nghiệm bot hấp dẫn để giảiquyết nhiều vấn đề Bằng cách học các khái niệm được mô tả trong phần này, chúng
ta sẽ được trang bị để thiết kế một bot phù hợp với nhu cầu sử dụng
4.1.1 Các yếu tố không đảm bảo sự thành công của Bot
- Mức độ thông minh của bot: Trong hầu hết các trường hợp, không chắcrằng việc làm cho bot của bạn thông minh hơn sẽ đảm bảo người dùng hàilòng hoặc chấp nhận nền tảng của bạn Trên thực tế, nhiều bot có ít khảnăng học máy hoặc ngôn ngữ tự nhiên nâng cao Một bot có thể bao gồmnhững khả năng đó nếu chúng cần thiết để giải quyết các vấn đề mà nóđược thiết kế để giải quyết, tuy nhiên bạn không nên giả định bất kỳ mốitương quan nào giữa trí thông minh của bot và sự chấp nhận của ngườidùng đối với bot
- Bot hỗ trợ nhiều ngôn ngữ tự nhiên (có vốn từ rộng lớn ): Bot của bạn cóthể giỏi trong các cuộc trò chuyện Nó có thể có một kho từ vựng rộng lớn
và thậm chí có thể tạo ra những trò đùa tuyệt vời Nhưng trừ khi nó giảiquyết các vấn đề mà người dùng của bạn cần giải quyết, những khả năngnày có thể đóng góp rất ít vào việc làm cho bot của bạn thành công Trênthực tế, một số bot hoàn toàn không có khả năng đàm thoại Và trong nhiềutrường hợp, điều đó lại hoàn toàn ổn
- Giọng nói : Không phải lúc nào việc cho bot một giọng nói sẽ dẫn đến trải
nghiệm người dùng tuyệt vời Thông thường, việc ép buộc người dùng sửdụng giọng nói có thể dẫn đến trải nghiệm người dùng khó chịu Khi bạnthiết kế bot của mình, hãy luôn cân nhắc liệu giọng nói có phải là kênhthích hợp cho vấn đề nhất định hay không Sẽ có một môi trường ồnào? Giọng nói có truyền đạt thông tin cần chia sẻ với người dùng không?
4.1.2 Các yếu tố ảnh hưởng đến thành công của bot
- Bot có dễ dàng giải quyết vấn đề của người dùng với số bước tối thiểu không?
Trang 19- Bot có giải quyết vấn đề của người dùng tốt hơn / dễ dàng / nhanh hơn bất
kỳ trải nghiệm thay thế nào không?
- Bot có chạy trên các thiết bị và nền tảng mà người dùng quan tâm không?
- Bot có thể phát hiện được không? Người dùng có tự nhiên biết phải làm gì khi sử dụng nó không?
4.2 Thiết kế Tương tác đầu tiên với người dùng
Tương tác đầu tiên giữa người dùng và bot rất quan trọng đối với trải nghiệmngười dùng Khi thiết kế bot, hãy nhớ rằng, ở tin nhắn đầu tiên, hãy đưa ra nhiều lựachọn để có thể gợi ý người tương tác xác định được mục đích hơn là chỉ nói "xinchào" Khi bạn tạo một ứng dụng, bạn thiết kế màn hình đầu tiên để cung cấp các dấuhiệu điều hướng quan trọng
Thiết kế bot cũng như vậy Người dùng nên hiểu một cách trực quan những thứnhư vị trí của menu và cách nó hoạt động, nơi cần trợ giúp, chính sách bảo mật là gì,v.v Khi bạn thiết kế một bot, tương tác đầu tiên của người dùng với bot sẽ cung cấpcùng loại thông tin đó
Ví dụ:
Trang 20Bắt đầu bot bằng một câu hỏi mở, chẳng hạn như "Tôi có thể giúp gì chobạn?" thường không được khuyến khích Nếu bot của bạn có hàng trăm thứ khác nhau
mà nó có thể làm, rất có thể người dùng sẽ không thể đoán được hầu hết chúng
Tips:
- Menu là một công cụ có giá trị khi thiết kế bot để có trải nghiệm người
dùng tuyệt vời; đừng loại bỏ họ là không "đủ thông minh" Bạn có thể thiết
kế bot của mình để sử dụng menu trong khi vẫn hỗ trợ nhập biểu mẫu Nếungười dùng phản hồi với menu ban đầu bằng cách nhập thay vì chọn một
Trang 21tùy chọn menu, bot của bạn có thể cố gắng phân tích cú pháp văn bản nhậpcủa người dùng.
- Nếu bot của bạn thu thập dữ liệu cá nhân từ người dùng, điều quan trọng là
phải truyền tải điều đó và mô tả những gì sẽ được thực hiện với dữ liệu
4.3 Thiết kế và kiểm soát luồng hội thoại
Trong một ứng dụng thông thường, giao diện người dùng (UI) bao gồm một loạtcác màn hình và một ứng dụng hoặc trang web có thể sử dụng một hoặc nhiều mànhình khi cần thiết để trao đổi thông tin với người dùng
Hầu hết các ứng dụng bắt đầu với màn hình chính nơi người dùng tiếp cận ban đầu
và màn hình đó cung cấp điều hướng dẫn đến các màn hình khác cho các chức năngkhác nhau như bắt đầu đơn đặt hàng mới, duyệt sản phẩm hoặc tìm kiếm trợ giúp.Giống như ứng dụng và trang web, bot có giao diện người dùng, nhưng nó được
tạo thành từ các thông báo chứ không phải màn hình Tin nhắn có thể chứa các nút,
văn bản và các yếu tố khác hoặc hoàn toàn dựa trên giọng nói
Một bot được thiết kế tốt sẽ có luồng trò chuyện tự nhiên Bot sẽ có thể xử lý cuộctrò chuyện cốt lõi một cách liền mạch và có thể xử lý sự gián đoạn hoặc chuyển đổichủ đề một cách mượt mà
4.3.1 Quy trình hội thoại theo thủ tục
Các cuộc trò chuyện với bot thường tập trung vào nhiệm vụ mà bot đang cố gắngđạt được, được gọi là quy trình thủ tục Đây là nơi bot hỏi người dùng một loạt câuhỏi để thu thập tất cả thông tin nó cần trước khi xử lý tác vụ
Ví dụ: Ta có thể thiết kế một mô-đun để chứa logic giúp người dùng duyệt qua các
sản phẩm và một mô-đun riêng biệt để chứa logic giúp người dùng tạo đơn đặt hàngmới Đây là một ví dụ về triển khai luồng hội thoại tuần tự
Trang 224.3.2 Xử lý gián đoạn
Mặc dù sẽ thật tuyệt nếu người dùng luôn đi theo con đường hợp lý, tuyến tínhnhư vậy, nhưng nó hiếm khi xảy ra Mọi người không phải lúc nào cũng giao tiếp theothứ tự tuần tự Họ có xu hướng thường xuyên thay đổi suy nghĩ của mình
Ví dụ: ở đây, người dùng đã có 1 hành động khác, không hề liên quan tới hành
động mà bot đã đề xuất