1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống xây dựng Chatbot theo kịch bản

77 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Trong thời đại bùng nổ về mạng internet và thông tin như ngày nay, nhu cầu giao tiếp giữa người với người ngày càng gia tăng, mô hình bán hàng trực tuyến ngày càng cho thấy sự hiệu quả và vượt trội so với hình thức bán hàng truyền thống là: người mua phải đến tận nơi cửa hàng để mua hàng. Đây chính điều kiện thuận lợi cho lĩnh vực thương mại điện tử ngày càng phát triển hơn. Hiện nay, Thương mại điện tử đã trở thành một phương tiện giao dịch quen thuộc của các công ty thương mại lớn trên thế giới. Thương mại điện tử có khả năng giúp ích rất nhiều cho những doanh nghiệp cả lớn lẫn nhỏ và người hưởng lợi nhất thường là khách hàng. Khách hàng sẽ mua được sản phẩm rẻ hơn, nhanh hơn, hiệu quả hơn và thuận lợi hơn, còn doanh nghiệp có thể đưa sản phẩm của mình đến với thị trường một cách nhanh nhất, thuận lợi hơn và tiết kiệm chi phí cho marketing hay mặt bằng

Trang 1

Hệ thống xây dựng Chatbot theo kịch bản

Trang 2

1.2.1 Giới thiệu nền tảng chat trực tuyến Subiz 16

1.2.2 Giới thiệu Chatbot 17

Trang 3

CHƯƠNG 3.CÁC KẾT QUẢ ĐẠT ĐƯỢC 34

3.1 Kiến trúc chung hệ thống Chatbot 34

3.2 Kiến trúc lõi hệ thống Chatbot 35

3.3 Phân tích và thiết kế hệ thống 36

3.3.1 Phân tích chức năng 36

3.3.2 Phân tích cấu trúc 51

3.3.3 Phân tích hành vi 56

3.3.4 Thiết kế cơ sở dữ liệu 62

3.4 Thiết kế giao diện 65

3.5 Cài đặt, thử nghiệm và đánh giá hệ thống 69

4.2.1 Phát triển thêm các hành động cho Bot 81

4.2.2 Phát triển sự "thông minh" cho Bot 81

4.2.3 Thu hút thêm khách hàng tiềm năng 81

TÀI LIỆU THAM KHẢO 82

Trang 4

DANH MỤC CÁC HÌNH

Hình 1.1: Hệ thống cây phân cấp quyết định 18

Hình 1.2: Hành động gửi tin nhắn 21

Hình 1.3: Hành động hỏi câu hỏi 23

Hình 1.4: Hành động gắn tag cuộc hội thoại 23

Hình 1.5: Hành động đóng cuộc hội thoại 24

Hình 1.6: Hành động phân phối cuộc hội thoại tới agent 25

Hình 1.7: Hành động nhảy tới một hành động khác 25

Hình 1.8: Hành động gửi request HTTP 26

Hình 2.1: Mô hình cấu trúc hệ thống của Apache Kafka [16] 28

Hình 2.2: Các khái niệm trong Docker [9] 30

Hình 2.3: Sơ đồ kiến trúc hệ thống Docker [10] 30

Hình 2.4: Kiến trúc hệ thống của Kubernetes 32

Hình 3.1: Kiến trúc hệ thống Chatbot 34

Hình 3.2: Kiến trúc service Chatbot 35

Hình 3.3 : Biểu đồ ca sử dụng tổng quan của hệ thống 37

Hình 3.4: Ca sử dụng quản lý danh sách bot 37

Hình 3.5 : Ca sử dụng thêm Bot mới 39

Trang 5

Hình 3.20: DAL - Lớp ExecBot 55

Hình 3.21: DAL - Lớp ExecBotIndex 56

Hình 3.22: DAL - Lớp BotTag 56

Hình 3.23: Biểu đồ trình tự ca sử dụng quản lý danh sách Bot 56

Hình 3.24: Biểu đồ trình tự ca sử ca sử dụng thêm Bot 57

Hình 3.25: Biểu đồ trình tự ca sử dụng chỉnh sửa Bot 58

Hình 3.26: Biểu đồ trình tự ca sử dụng xóa Bot 59

Hình 3.27: Biểu đồ trình tự ca sử dụng xem thống kê hoạt động của Bot 59

Hình 3.28: Biểu đồ trình tự ca sử dụng chạy thử kịch bản Bot 60

Hình 3.29: Biểu đồ trình tự ca sử dụng chạy thử hành động Bot 61

Hình 3.30: Biểu đồ ca sử dụng người dùng tương tác với Bot 61

Hình 3.31 : Giao diện quản lý danh sách Bot 66

Hình 3.32: Giao diện chức năng thêm Bot lựa chọn template 66

Hình 3.33: Giao diện chức năng thêm Bot - xem thử template mẫu 67

Hình 3.34: Giao diện chức năng chỉnh sửa Bot - chỉnh sửa kịch bản 67

Hình 3.35: Giao diện chức năng chạy thử kịch bản Bot 68

Hình 3.36: Giao diện chức năng chỉnh sửa Bot - chỉnh sửa thông tin Bot 68

Hình 3.37: Giao diện chức năng xem thống kê hoạt động Bot 69

Hình 3.38: Giao diện cuộc chat mà Bot phân chia cho agent 69

Hình 3.39: Cấu trúc thư mục ứng dụng backend 71

Hình 3.40: Câu lệnh terminal của công cụ ApacheBench 72

Trang 6

DANH MỤC CÁC BẢNG

Bảng 3.1: Các tác nhân trong hệ thống 36

Bảng 3.2: Danh sách ca sử dụng 36

Bảng 3.3 : Đặc tả ca sử dụng quản lý danh sách bot 38

Bảng 3.4 : Đặc tả chi tiết use case thêm bot mới 40

Bảng 3.5 : Đặc tả chi tiết ca sử dụng Chỉnh sửa bot 42

Bảng 3.6 : Đặc tả chi tiết use case xóa bot 43

Bảng 3.7 : Đặc tả chi tiết ca sử dụng xem thống kê bot 45

Bảng 3.8 : Đặc tả ca sử dụng Thử kịch bản bot 47

Bảng 3.9 : Đặc tả ca sử dụng chạy thử action bot 49

Bảng 3.10 : Đặc tả chi tiết ca sử dụng tương tác với Chatbot 50

Bảng 3.16 : Thời gian phản hồi mỗi request ứng với số lượng request 72

Bảng 3.17: Thời gian phản hồi mỗi request ứng với số lượng request 74

Bảng 3.18 : Phần trăm số lượng request thành công trong một khoảng thờigian (POST) 75

Bảng 3.19 : Phần trăm số lượng request thành công trong một khoảng thờigian (GET) 76

Bảng 3.20: Tỷ lệ số request thành công 77

Trang 7

DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ

Programming Interface

Giao diện lập trình ứng dụng

3 ĐATN Đồ án tốt nghiệp Đồ án tốt nghiệp

6 AI Artificial Intelligence Trí tuệ nhân tạo

8 Saas Software as a service Phần mềm dưới dạng dịch vụ9 HTTP Hypertext Transfer

Protocol Giao thức truyền tin siêu văn bản10 gRPC gRPC Remote Call

Thủ tục gọi từ xa gRPC

1 User Người dùng Người nhắn tin tương tác với hệ thống2 Agent Tư vấn viên Tư vấn viên trực chat

3 Trigger Kích hoạt Điều kiện kích hoạt Chatbot4 Bot Người máy Đối tượng Bot của hệ thống

5 ExecBot Bot thực thi ExecBot là một instance (thể hiện) của Bot6 Action Hành động Hành động của Bot

7 Condition Điều kiện Điều kiện để kích hoạt hành động tiếp theo8 Event Sự kiện Luồng sự kiện của hệ thống, hệ thống dùng

các sự kiện để xác định phản hồi của ngườidùng

9 Conversation Cuộc hội thoại Mỗi cuộc chat của user với hệ thống gọi làmột conversation

Trang 8

10 Microservices Các dịch vụ nhỏ Là kiến trúc xây dựng phần mềm, cácmodule trong hệ thống chia thành cácservice nhỏ, mỗi service đảm nhận một vaitrò cụ thể của hệ thống.

Trang 9

CHƯƠNG 1.ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP1.1 Đặt vấn đề

1.1.1 Xu thế của doanh nghiệp trong thời đại công nghệ

Trong thời đại bùng nổ về mạng internet và thông tin như ngày nay, nhu cầugiao tiếp giữa người với người ngày càng gia tăng, mô hình bán hàng trực tuyếnngày càng cho thấy sự hiệu quả và vượt trội so với hình thức bán hàng truyềnthống là: người mua phải đến tận nơi cửa hàng để mua hàng Đây chính điều kiệnthuận lợi cho lĩnh vực thương mại điện tử ngày càng phát triển hơn Hiện nay,Thương mại điện tử đã trở thành một phương tiện giao dịch quen thuộc của cáccông ty thương mại lớn trên thế giới Thương mại điện tử có khả năng giúp íchrất nhiều cho những doanh nghiệp cả lớn lẫn nhỏ và người hưởng lợi nhất thườnglà khách hàng Khách hàng sẽ mua được sản phẩm rẻ hơn, nhanh hơn, hiệu quảhơn và thuận lợi hơn, còn doanh nghiệp có thể đưa sản phẩm của mình đến vớithị trường một cách nhanh nhất, thuận lợi hơn và tiết kiệm chi phí cho marketinghay mặt bằng.

Từ những xu hướng đó, khả năng chăm sóc khách hàng của chủ doanh nghiệptrên website là rất quan trọng Thông qua quá trình chăm sóc khách hàng này,doanh nghiệp có thể thu thập được những khách hàng tiềm năng, hiểu được thịhiếu khách hàng và thông qua đó nắm bắt xu thế thị trường Chatbot ra đời nhưmột xu thế tất yếu để giúp doanh nghiệp tự động hóa công việc chăm sóc kháchhàng, thay thế một phần sức lao động con người Trong đó, Chatbot là các ứngdụng (application) hay nền tảng (platform) được thiết kế để giao tiếp với ngườidùng Internet bằng giọng nói hoặc văn bản như người thật.

Nhiệm vụ của đồ án này là xây dựng một hệ thống xây dựng chatbot cho phépngười chủ doanh nghiệp thiết kế, quản lý và xây dựng bot để tăng khả năng chămsóc khánh hàng, thu thập được nhiều khách hàng tiềm năng mà vẫn giảm đượcsức lao động của con người.

1.1.2 Chatbot là gì ?

Chatbot là các ứng dụng hay nền tảng được thiết kế để giao tiếp với ngườidùng Internet bằng giọng nói hoặc văn bản như người thật Chatbot thường đượctích hợp vào các trang web, mạng xã hội, ứng dụng di động, hay tài khoản nhắntin v.v.

Trang 10

Trong ngành dịch vụ khách hàng, hay cụ thể hơn trong việc hỗ trợ quyết địnhcủa người mua, việc sử dụng chatbot đã thay đổi mạnh mẽ trải nghiệm của kháchhàng Mục đích của việc sử dụng Chatbot trong kinh doanh là hỗ trợ doanhnghiệp kết giao được với không chỉ khách hàng hiện tại, mà còn cả những kháchhàng tiềm năng Khách hàng có thể đưa ra yêu cầu về sản phẩm và dịch vụ củabạn ngay cả những thời điểm bạn không có mặt trực tuyến Chatbot có thể thaybạn thu thập thông tin khách hàng, quảng cáo sản phẩm Có thể nói rằng Chatbotđã trở thành một dịch vụ không còn lạ lẫm gì với các doanh nghiệp Chỉ bắt đầutừ thiết lập dựa trên các câu lệnh đơn giản, Chatbot nay đã được phát triển "thôngminh" hơn rất nhiều Các công ty ở nhiều ngành nghề, điển hình như ngànhthương mại điện tử, khách sạn, dịch vụ khách hàng, hay các tổng đài chăm sóckhách hàng đều đã cải thiện dịch vụ của họ và tăng doanh thu nhờ việc tích hợpcác Chatbot Nhờ Chatbot, các thương hiệu đã gia tăng tỷ lệ khách hàng trungthành của mình

1.1.3 Các loại Chatbot

Có thể phân loại Chatbot dựa theo dịch vụ khách hàng gồm Chatbot bán hàngvà Chatbot chăm sóc khách hàng nhưng nếu phân loại dựa trên chất lượng trảinghiệm người dùng thì có thể chia Chatbot làm ba loại: Chatbot theo kịch bản,Chatbot nhận dạng từ khóa và Chatbot theo ngữ cảnh [1]:

 Chatbot theo kịch bản: Trong hầu hết các trường hợp, các Chatbot nàylà các hệ thống phân cấp cây quyết định được trình bày cho ngườidùng dưới dạng các nút (node) Tương tự như một menu với các lựachọn hay như một chiếc điều khiển tivi, các chatbot này yêu cầu ngườidùng thực hiện một số lựa chọn để đào sâu hơn về phía câu trả lời cuốicùng.

 Chatbot nhận dạng từ khóa : các Chatbot dựa trên nhận dạng từ khóacó thể lắng nghe những gì người dùng gõ và trả lời một cách thích hợp.Những Chatbot sử dụng các từ khóa tùy biến và AI để xác định làm thế

Trang 11

hiểu và phát triển theo thời gian Không giống như các chatbot nhậndạng từ khóa, các Chatbot trò chuyện theo ngữ cảnh đủ thông minh đểtự cải thiện dựa trên những gì người dùng yêu cầu và cách họ yêu cầu

1.1.4 Mục tiêu đề tài

Mục tiêu của đồ án này là xây dựng một hệ thống cho phép người dùng có thểthiết kế, quản lý và xây dựng Chatbot theo kịch bản Cụ thể các mục tiêu chínhcủa đề tài:

1 Tìm hiểu công nghệ Docker, tìm hiểu công nghệ vận hành các DockerContainer là Kubernetes (k8s).

2 Tìm hiểu về hệ quản trị cơ sở dữ liệu phân tán Cassandra, công nghệdùng cho MessageQueue là Apache Kafka, giao thức gRPC.

3 Thiết kế, xây dựng, cài đặt môi trường chạy bot.

4 Thiết kế, xây dựng, cài đặt các hành động (action) cho Chatbot.5 Thử nghiệm và đánh giá hiệu năng hệ thống.

1.1.5 Hướng tiếp cận

Xây dựng một hệ thống cho phép người dùng thiết kế, quản lý và xây dựngChatbot theo kịch bản trong đó người dùng xây dựng kịch bản và điều kiện kíchhoạt Bot

Khi người dùng vào website, hệ thống sẽ kiểm tra các điều kiện kích hoạt củatất cả Bot Khi điều kiện kích hoạt của một kịch bản bot nào đó khớp thì cửa sổchat trên website sẽ bật lên, đồng thời gửi request đến service Chatbot để kíchhoạt bot Từ đối tượng Bot sẽ khởi chạy Bot thực thi, Bot thực thi là một thể hiện(instance) của đối tượng Bot Bot thực thi sẽ tiến hành khởi chạy cây hành độngtừ Bot, từ cây hành động sẽ thực thi lần lượt các hành động (action) của Bot.

1.1.6 Một số hệ thống xây dựng Chatbot theo kịch bảna NovaonX

NovaonX [20] là một đơn vị cung cấp dịch vụ chat trực tuyến dựa trên nềntảng Saas (Software as a Service) Chatbot của NovaonX cung cấp cho ngườidùng khả năng xây dựng, quản lý Chatbot theo kịch bản với mục đích hỗ trợdoanh nghiệp bán hàng tự động, tự động hóa quá trình chăm sóc khách hàng.

Tuy nhiên Chatbot của NovaonX còn một số hạn chế như: chỉ tích hợp đượctrên kênh fanpage của Facebook, giao diện rườm rà không thân thiện với người

Trang 12

dùng Người dùng phải mất một khoảng thời gian lớn để có thể làm quen hệthống và tự thiết lập cho mình một kịch bản Bot hoàn chỉnh.

b Tidio

Không giống như NovaonX là một đơn vị của Việt Nam, Tidio [21] là mộtđơn vị cung cấp dịch vụ chat trực tuyến đa kênh của nước ngoài Ngoài việccung cấp dịch vụ chat trực tuyến, Tidio còn cung cấp tính năng quản lý và xâydựng Chatbot theo kịch bản Chatbot của Tidio là một tính năng thân thiện vớingười sử dụng với giao diện đẹp mắt, người dùng có thể dễ dàng thiết lập mộtkịch bản Bot mà không phải tốn quá nhiều công sức Ngoài ra Tidio còn cungcấp tính năng thử kịch bản Bot để người dùng dễ dàng kiểm tra và tinh chỉnhkịch bản Bot phù hợp với trải nghiệm khách hàng Tuy nhiên, khi người dùng sửdụng tính năng này, hệ thống sẽ bật lên một trình duyệt mới chỉ với mục đích chongười dùng thử kịch bản Bot Điều này là không cần thiết và làm giảm trảinghiệm của khách hàng

Đồ án tập trung vào việc xây dựng một hệ thống Chatbot có hiệu năng lớn,vận hành bền bỉ, cũng như đảm bảo trải nghiệm tốt cho người dùng, kế thừanhững điểm tốt và khắc phục những điểm chưa tốt của các hệ thống đi trước.

1.2 Giải pháp thực hiện

1.2.1 Giới thiệu nền tảng chat trực tuyến Subiz

Subiz là đơn vị cung cấp dịch vụ chat trực tuyến đa kênh (cửa sổ chat trênwebsite, facebook, zalo) dựa trên nền tảng SaaS (Software as a Service) Trongđó mỗi đơn vị tương ứng là chủ doanh nghiệp, chủ website sử dụng dịch vụthông qua một tài khoản (gọi là account) Trong mỗi account có một chủ tàikhoản (gọi là account owner), chủ tài khoản có quyền quản lý, thêm, sửa, xóa tưvấn viên trực chat (gọi là agent) Agent là thành phần chính của hệ thống, làngười quản lý các cuộc chat (conversation) của người dùng (user) đổ về trangquản trị (dashboard) User là những người cung cấp cuộc chat với tư vấn viênthông qua cửa sổ chat, chỉ những đã tương tác với cửa sổ chat mới được gọi làuser.

Trang 13

(agent) trong việc chăm sóc khách hàng, tiếp cận khách hàng tiềm năng, thu thậpthông tin khách hàng, giảm sức lao động của con người Hệ thống Chatbot đượcmong đợi sẽ vận hành liên tục và bền bỉ để đáp ứng trên một triệu user mỗi ngày(> 1.000.000 users/day) và 10000 request trong lúc cao điểm (> 10.000requests/s).

1.2.2 Giới thiệu Chatbota Giới thiệu Chatbot theo kịch bản

Chatbot theo kịch bản là các hệ thống phân cấp cây quyết định được trình bàycho người dùng dưới dạng các nốt (nodes) Tương tự như một menu với các lựachọn hay như một chiếc điều khiển tivi, các Chatbot này yêu cầu người dùngthực hiện một số lựa chọn để đào sâu hơn về phía câu trả lời cuối cùng Trong đó,câu trả lời hay phản hồi cho hành động trên sẽ dẫn tới quyết định hành động nàotiếp theo được thực thi Càng đào sâu hơn kịch bản của Chatbot, người bán càngthu thập được nhiều thông tin của khách hàng Do đó, việc thiết kế kịch bảnChatbot là công việc rất quan trọng ảnh hưởng tới hiệu quả của Chatbot Kịchbản phải được thiết kế sao cho phù hợp với hai tiêu chí: thân thiện với kháchhàng để không gây cảm giác khó chịu, làm phiền hay mất lịch sự với khách hàng,hai là thu thập được tối đa thông tin hoặc thông tin phù hợp với yêu cầu đặt racủa doanh nghiệp Cài đặt điều kiện kích hoạt Chatbot cũng rất quan trọng trongviệc tiếp cận đối tượng khách hàng phù hợp.

Các tư vấn viên (agent) là người triển khai kịch bản hoạt động cũng như điềukiện kích hoạt Chatbot Tư vấn viên có thể sử dụng template kịch bản được dựngsẵn theo đặc thù từng ngành nghề: ví dụ Tư vấn xe hơi, tư vấn công nghệ, tư vấnmỹ phẩm v.v hoặc tự thiết kế kịch bản để phù hợp với đặc thù, yêu cầu củadoanh nghiệp.

Trang 14

Hình 1.1: Hệ thống cây phân cấp quyết định

Trên hình 1.1 là hệ thống cây phân cấp quyết định của Chatbot Trong đó mỗihành động là một nút (node) của cây Mỗi cạnh của cây có thể chứa điều kiện(condition), câu trả lời hay phản hồi của hành động trên nếu khớp với điều kiệnnào sẽ quyết định hành động tiếp theo được thực thi Nếu không khớp với bất kìđiều kiện nào của các nút con, nút con trái nhất phù hợp sẽ được chọn là hànhđộng tiếp theo

b Một số thuật ngữ được sử dụng

Bot: người máy, có nhiệm vụ cũng như khả năng trả lời tin nhắn của

khách hàng và thực hiện các công việc khác (gửi câu hỏi, gửi email, gắnnhãn cuộc hội thoại, đóng cuộc hội thoại, ).

Trigger: điểm bắt đầu kích hoạt của bot Khi thỏa mãn các điều kiện

trigger, bot sẽ xuất hiện và thực hiện công việc của mình.

Trang 15

Condition: điều kiện kích hoạt hành động tiếp theo Mỗi hành động có

thể có điều kiện kích hoạt, phản hồi của hành động phía trên sẽ là tín hiệuđể bắt đầu hành động kế tiếp của nó

c Điều kiện trigger

Trigger là điều kiện kích hoạt của Chatbot, khi đáp ứng đủ điều kiện của mộtBot nhất định, nếu Bot đó đang trong trạng thái hoạt động, lập tức Bot được kíchhoạt và tham gia cuộc hội thoại với người dùng.

 Trigger vào thời điểm nào

+ Khách xem trang (website): Bot thực hiện cuộc chat ngay thời điểm

khách hàng truy cập vào website.

+ Khách gửi tin nhắn: Bot thực hiện trả lời cuộc chat khi khách hàng gửi

tin nhắn vào cửa sổ chat trên website.

+ Khách có ý định thoát web: khi khách hàng kéo chuột chéo màn hình

từ góc trái sang góc phải màn hình, hệ thống sẽ nhận định rằng kháchhàng có định nhấn vào biểu tượng tắt trang, khi đó cửa sổ chat sẽ bậtlên và Chatbot sẽ gửi tin nhắn cho khách hàng.

+ Khi click vào một vị trí cụ thể trên website: khi khách hàng click vào

một thẻ html <div> cụ thể trên website.

+ Sau khi cuộn chuột x% trên website: sau khi khách hàng vào website

và cuộn chuột x% trên độ dài trang web.

+ Sau thời gian x giây trên trang: sau khi khách hàng vào website một

khoảng thời gian nhất định trên website.

+ Sau x giây trên website nhưng không hoạt động: sau khi khách hàng

vào website nhưng không có hoạt động gì trong một khoảng thời giannhất định

 Trigger với đối tượng nào:

+ Khách mới vào website: khách hàng lần đầu vào trang là khi session

không ghi nhận thấy có lần truy cập trước.

+ Khách quay lại website: khách hàng quay lại website là khi session có

ghi nhận thấy lần truy cập trước.

+ Nguồn truy cập.

Trang 16

+ Vị trí địa lý của khách: có thể cài đặt điều kiện kích hoạt quốc gia,

thành phố nhất định hoặc loại trừ quốc gia, thành phố nào đó Cài đặtmặc định là kích hoạt với tất cả quốc gia, lãnh thổ trên thế giới.

+ Thiết bị của khách: có thể là máy tính, điện thoại hay tablet.

+ Trình duyệt web của của khách hàng: có thể là Google chrome,

Mozilla Firefox, Internet Explorer, Safari hoặc Microsoft Edge.

+ Thông tin khách hàng (user): bot kích hoạt với người dùng có thông tin

nhất định như email, số điện thoại, tên, v.v.v Lên lịch:

+ Ngày trong tuần: bot kích hoạt với ngày cụ thể trong tuần

VD: Kích hoạt vào thứ bảy, chủ nhật, không kích hoạt trong các ngày cònlại.

+ Giờ trong ngày: bot kích hoạt với giờ cụ thể trong ngày.

VD: Kích hoạt vào ban đêm từ 19h đến 7h sáng hôm sau.

+ Ngày cụ thể: kích hoạt với ngày được chỉ định cụ thể.d Các hành động (action) trong Chatbot

 Hành động gửi tin nhắn:

+ Mô tả hành động: Gửi 1 tin nhắn bất kì đến user.+ Tính năng của hành động :

o Có thể gửi nhiều tin nhắn.

o Có thể đính kèm ảnh, video, file âm thanh, file văn bản.o Đính kèm biến thuộc tính của user trong tin nhắn.

VD: Chúng tôi sẽ liên hệ với bạn qua địa chỉ email {user.email} =>Chúng tôi sẽ liên hệ với bạn qua địa chỉ emailnhthong.268@gmail.com.

o Chờ khách phản hồi: có thể chờ phản hồi của user để bắt đầu hànhđộng tiếp theo, nếu trường này bỏ trống thì sau khi thực hiện gửitin nhắn sẽ bắt đầu hành động kế tiếp.

Trang 17

Hình 1.2: Hành động gửi tin nhắn

 Hành động hỏi câu hỏi:

+ Mô tả hành động: Gửi 1 câu hỏi bất kì đến người dùng, nhận tin nhắnphản hồi của người dùng và lưu trường thông tin cần thiết vào hệthống.

+ Tính năng của hành động:o Có thể gửi nhiều tin nhắn.

o Có thể gửi kèm ảnh, video, file âm thanh, file văn bản.

o Định dạng phản hồi : thực hiện xác nhận các trường thông tintrong phản hồi của người dùng (theo email, số điện thoại, theongày, theo số, theo link url, ).

o Lưu thông tin thu được vào biến user: Sau khi bóc tách và lấyđược các thông tin cần thiết của người dùng (user), hệ thống cậpnhật những thông tin này vào thông tin người dùng.

o Bỏ qua hành động nếu đã có thông tin: Nếu trường thông tin đượchỏi đã tồn tại trong dữ liệu thông tin user thì bỏ qua hành động hỏinày, chuyển sang hành động tiếp theo.

o Gửi tin nhắn hỏi lại khi phát hiện phản hồi người dùng không hợplệ, phản hồi không phù hợp định dạng phản hồi.

VD: Phản hồi của bạn không đúng định dạng email, bạn gửi lại chomình nhé.

Trang 18

o Rẽ nhánh khi phản hồi không hợp lệ: khi phản hồi của người dùngkhông hợp lệ nhưng vẫn nhảy sang hành động tiếp theo để tránhgây ra phiền toái cho khách hàng.

o Nhắn tin nhắn tiếp tục khi user không trả lời sau 1 khoảng thờigian: khi Bot đã phản hồi tới người dùng nhưng người dùng saumột khoảng thời gian người dùng không trả lời thì Bot tiếp tục gửitin nhắn tiếp theo.

o Thử lại mãi mãi đến khi nào lấy được thông tin user mong muốn.VD: sau khi Bot đã phản hồi người dùng nhưng sau một khoảng.o Đính kèm biến user trong tin nhắn hay trong câu hỏi.

o Bỏ qua việc gửi tin nhắn hỏi lại nếu người dùng từ chối cho thôngtin.

VD: Tin nhắn phản hồi đầu tiên của người dùng chứa từ "no","không", "nope", "never" thì hệ thống sẽ hiểu là người dùng từchối chia sẻ thông tin và bỏ qua hành động hỏi để chuyển sanghành động tiếp theo.

o Hiển thị typing tin nhắn ở phía user.

Trang 19

Hình 1.3: Hành động hỏi câu hỏi

Hành động gắn tag cuộc hội thoại:

+ Mô tả hành động: Gắn tag vào cuộc hội thoại để agent đánh dấu và dễdàng theo dõi cuộc trò chuyện.

+ Tính năng thêm : Hoàn thành cuộc hội thoại: cuộc hội thoại kết thúc vàBot hoàn thành nhiệm vụ của mình

Hình 1.4: Hành động gắn tag cuộc hội thoại

 Hành động kết thúc cuộc hội thoại:

+ Mô tả hành động: Kết thúc kịch bản cuộc hội thoại

Trang 20

Hình 1.5: Hành động đóng cuộc hội thoại

 Phân phối tới tư vấn viên:

+ Mô tả hành động : Phân phối cuộc hội thoại tới agent, agent tiếp nhậncuộc hội thoại và Bot dừng lại.

+ Tính năng thêm :

o Phân phối tới agent sử dụng luật (rule) đã có sẵn: phân phối sửdụng luật đã cài đặt trước đó trong hệ thống Hệ thống luật đượcxây dựng để giúp phân chia cuộc chat hiệu quả tới các agent phùhợp, nâng cao hiệu quả chăm sóc khách hàng.

VD: Các tư vấn viên phía Bắc sẽ nhận được cuộc chat của cáckhách hàng miền Bắc, ngược lại các tư vấn viên phía Nam sẽ nhậnđược cuộc chat của các khách hàng miền Nam.

o Phân phối tới agent cụ thể: chỉ đích danh một hay một số agenttrong hệ thống

o Phân phối tới tất cả các agent: phân phối tới tất cả agent tồn tạitrong hệ thống.

o Phân phối tới nhóm các agent: phân phối tới một nhóm các agentcụ thể.

o Phân phối hội thoại đồng đều theo vòng: phân phối cuộc hội thoạilần lượt tới các agent (thuật toán round robin)

Trang 21

Hình 1.6: Hành động phân phối cuộc hội thoại tới agent

 Hành động Nhảy tới hành động khác:

+ Mô tả hành động: Nhảy tới một hành động bất kỳ trong kịch bản

Hình 1.7: Hành động nhảy tới một hành động khác

Trang 22

Hình 1.8: Hành động gửi request HTTP

Trang 23

CHƯƠNG 2.CÁC CÔNG NGHỆ SỬ DỤNG2.1 Cassandra

2.1.1 Giới thiệu

Cassandra là một hệ thống quản lý cơ sở dữ liệu được phát triển bởi Facebookvào năm 2007 Sau đó được tặng cho quỹ Apache vào 2/2010 và được nâng cấplên dự án hàng đầu của Apache Cassandra là hệ cơ sở dữ liệu phân tán, dữ liệuđược lưu trữ trên nhiều node của nhiều máy khác nhau, theo cơ chế P2P Ngônngữ phát triển Cassandra là Java Cassandra được thiết kế có thể chạy trong phầncứng giá rẻ, và cung cấp write throughput khá là cao (latency tầm 0.5ms), trongkhi read throughput thì thấp hơn (latency tầm 2.5ms)[5].

2.1.2 Cơ chế lưu dữ liệu

Cassandra thực hiện lưu dữ liệu thông qua hai nơi : Không gian bộ nhớ(Memtable) và không gian đĩa (SSTable) Khi đọc và ghi dữ liệu thì sẽ ưu tiêntrên memtable trước, sau đó mới đến SSTable Dữ liệu được lưu trên memorynên việc truy vấn dữ liệu trên cassandra diễn ra nhanh chóng Dữ liệu được lưutrữ trong DB của Cassandra thuộc dạng key-value store (KVS) Có thể có nhiềutable trong database, giữa các table sẽ không có mối quan hệ nào Nhiều tableđược tổng hợp lại thành keyspace Trước khi insert dữ liệu vào cassandra thì cầnphải tạo keyspace và schema của table Có thể thực hiện 1 số câu query nhưselect, update, insert, delete, drop.

2.1.3 Ưu điểm

 Tốc độ truy vấn dữ liệu nhanh

 Tính chịu lỗi khá cao, cho dù node bị chết đi chăng nữa thì khi truy vấn sẽ đượcchuyển hướng đến node khác

 Dễ dàng backup, restore dữ liệu

 Dễ dàng scale database theo chiều ngang

 Phù hợp với các hệ thống messaging (ứng dụng hay service về chat)

2.2 Apache Kafka2.2.1 Giới thiệu

Apache Kafka là một nền tảng truyền giữ liệu phân tán (distributed streamingplatform) được phát triển ban đầu bởi LinkedIn và sau đó trở thành dự án Apachenguồn mở từ năm 2011 Kafka được viết bằng ngôn ngữ Scala và Java theo mô

Trang 24

hình Publish – Subscribe trong đó bên Publish dữ liệu gọi là Producer còn bênnhận dữ liệu là Consumer Kafka quản lý dữ liệu theo từng Topic và mỗi Topiccó thể có nhiều Subscriber.

2.2.2 Kiến trúc hệ thống

Đối tượng tương tác chính trong hệ thống Kafka là các message Messagesđơn thuần là byte array và developer có thể sử dụng chúng để lưu bất kì objectvới bất kì format nào: thông thường là String, JSON và Avro Các message sẽđược publish vào các topic, topic là một kho chứa các bản ghi message đượcpublish vào Kafka Các topic lại được chia nhỏ thành các đơn vị nhỏ hơn gọiPartition

Hình 2.9: Mô hình cấu trúc hệ thống của Apache Kafka [16]

Hình 2.1 mô tả kiến trúc hệ thống của Apache Kafka [16] Hệ thống Kafka có4 thành phần chính bao gồm Producer, Broker, Consumer và Zookeeper.Producer là chương trình hay ứng dụng tạo ra messages, đẩy message publishvào Topic còn Consumer ngược lại là chương trình/ứng dụng có chức năngsubscribe vào một Topic để tiêu thụ, xử lý các message đó Một chương trình cóthể vừa là một Producer vừa là một Consumer Kafka cluster là một set cácserver, mỗi một set này được gọi là 1 broker Và cuối cùng Zookeeper được dùngđể quản lý và bố trí các broker.

Trang 25

2.2.3 Ưu điểm

 Kafka là một hệ thống nhắn tin pub-sub nhanh, có thể mở rộng, khả năngchịu lỗi cao, do đó được sử dụng trong những trường hợp xử lý khối lượnglớn dữ liệu đến và đáp ứng khả năng phản hồi ngay lập tức.

 Kafka có các đặc tính thông lượng, độ tin cậy và sao chép cao hơn, có thểáp dụng cho những thứ như theo dõi các cuộc gọi dịch vụ (theo dõi mọicuộc gọi).

 Hiệu suất Kafka nhanh chóng và ổn định, cung cấp độ bền đáng tin cậy,có lượng public-subscribe linh hoạt phù hợp với số lượng ConsumerGroup của người tiêu dùng.

 Kafka hoạt động tốt với các hệ thống có luồng dữ liệu để xử lý và chophép các hệ thống đó tổng hợp, chuyển đổi & tải vào các store khác.

2.3 Docker

2.3.1 Giới thiệu

Docker là một nền tảng cho developers và sysadmin để phát triển, deploy vàchạy ứng dụng với container Nó cho phép tạo các môi trường độc lập và táchbiệt để khởi chạy và phát triển ứng dụng và môi trường này được gọi làcontainer Docker cho phép ứng dụng chạy dễ dàng trên tầng ảo hóa "build once,run anywhere", xây dựng một lần chạy đúng ở mọi nơi.

2.3.2 Các khái niệm trong Docker

Có ba khái niệm cơ bản cần nắm được về Docker đó là Images, Container vàDockerfile Images: là một khuôn mẫu để tạo một container Thường thì image sẽdựa trên 1 image có sẵn với những tùy chỉnh thêm Container là một instance củamột image Bạn có thể create, start, stop, move or delete container dựa trênDocker API hoặc Docker CLI Và Dockerfile là một tập tin bao gồm các chỉ dẫnđể build một image, Dockerfile sẽ quy định Docker Image được khởi tạo từ đâu,gồm những gì trong đó.

Ví dụ: bạn build 1 image dựa trên image Centos mẫu có sẵn để chạy Nginx vànhững tùy chỉnh, cấu hình để ứng dụng web của bạn có thể chạy được Bạn cóthể tự build một image riêng cho mình hoặc sử dụng những image được chia sẻtừ cộng đồng Docker Hub Một image sẽ được build dựa trên những chỉ dẫn củaDockerfile.

Trang 26

-

-Hình 2.10: Các khái niệm trong Docker [9]

Hình 2.2 mô tả quy trình tạo ra một Docker Container Dockerfile quy địnhDocker Image sẽ được khởi tạo từ đâu và chứa những thành phần gì trong imageđó Từ dockerfile có thể build Docker Image là khuôn mẫu của Container Từkhuôn mẫu của Container có thể tạo ra một Container với chương trình phầnmềm chạy trong Container đó.

2.3.3 Kiến trúc hệ thống Docker

Trang 27

Hình 2.2 mô tả kiến trúc hệ thống Docker, gồm 3 thành phần chính gồmDocker Client, Docker Host và Docker Registry [10], trong đó: Docker Registry(Docker Hub) là một kho chứa các Image được publish bởi cộng đồng Docker.Nó giống như GitHub và bạn có thể tìm những Image cần thiết và pull về sửdụng Docker Host: lắng nghe các yêu cầu từ Docker Client để quản lý các đốitượng như Container, Image, Network và Volumes Các Docker Daemon cũnggiao tiếp với nhau để quản lý các Docker Service Docker Client: là một công cụgiúp người dùng giao tiếp với Docker host.

Ví dụ khi người dùng gõ lệnh docker run image ABC tức là người dùng sửdụng CLI và gửi request đến docker thông qua api, và sau đó Docker daemon sẽxử lý tiếp Docker client có thể giao tiếp và gửi request đến nhiều Dockerdaemon.

 Khả năng di động: môi trường develop được dựng lên bằng docker có thểchuyển từ người này sang người khác mà không làm thay đổi cấu hình ởtrong.

 Khả năng chia sẻ giữa cộng đồng sử dụng thông qua DockerHub Dễ dàng scale để triển khai kiến trúc Microservices.

 Khi bạn cần build 1 lần và chạy ở nhiều máy khác nhau mà không cầnquan tâm đến config.

 Khi bạn cần một cách tiếp cận mới về building, shipping, running ứngdụng một cách nhanh chóng dễ dàng.

2.4 Kubernetes2.4.1 Giới thiệu

Kubernetes, hoặc k8s là một nền tảng mã nguồn mở tự động hóa việc quản lý,scaling và triển khai ứng dụng dưới dạng container hay còn gọi là Containerorchestration engine Kubernetes orchestration cho phép bạn xây dựng các dịch

Trang 28

vụ ứng dụng mở rộng nhiều containers Nó lên lịch các containers đó trên mộtcụm, mở rộng các containers và quản lý tình trạng của các containers theo thờigian.

2.4.2 Kiến trúc Kubernetes

Hình 2.12: Kiến trúc hệ thống của Kubernetes

Hình 2.4 mô tả kiến trúc hệ thống của Kubernetes [11] Hệ thống Kubernetesgồm 3 thành phần chính: API Server, Master Node và Worker Node Trong đóAPI Server là thành phần giúp các thành phần khác liên lạc nói chuyện với nhau.Lập trình viên khi triển khai ứng dụng sẽ gọi API Server này qua hai con đườnggiao diện người dùng (User interface) hoặc giao diện dòng lệnh (Command lineinterface) Master Node là server điều khiển các máy Worker chạy ứng dụng.Còn lại Worker Node là một máy ảo hoặc máy vật lý chạy kubernetes, serverchạy ứng dụng trên đó.

Có hai khái niệm cơ bản và quan trọng nhất trong Kubernetes đó là Pods vàImage Pods là khái niệm cơ bản và quan trọng nhất của Kubernetes Pod chínhlà nơi ứng dụng được chạy trong đó Bản thân Pod có thể chứa 1 hoặc nhiều hơn1 container Pod là các tiến trình nằm trên các Worker Node Bản thân Pod có tàinguyên riêng về file system, cpu, ram, volumes, địa chỉ network Image: Là phần

Trang 29

2.4.3 Ưu điểm

Kubernetes mang đến rất nhiều lợi ích trong công việc vận hành ứng dụng,kubernetes đảm nhận việc nhân rộng và chuyển đổi dự phòng cho ứng dụng,cung cấp các mẫu deployment và ngoài ra còn có một số tính năng khác:

 Quản lý hàng loạt docker host.

 Container Scheduling (lên lịch cho container).

 Giám sát vòng đời và tình trạng hoạt động của các container. Có khả năng phát hiện lỗi và tự correct lỗi.

 Cân bằng tải hệ thống bằng cách điều phối request vào các pod. Quản lý log giúp việc phát triển sản phẩm và truy vết lỗi dễ dàng hơn.

2.5 Giao thức gRPC (grpc Remote Procedure Call)2.5.1 Giới thiệu

gRPC là một platform dành cho RPC được phát triển bởi Google gRPC làmột giao thức request - response được dùng cho việc giao tiếp giữa các server(server - server) phù hợp cho các kiến trúc Microservice gRPC mặc định sửdụng Protocol Buffers như là một ngôn ngữ để định nghĩa các service và là địnhdạng để giao tiếp giữa các service với nhau Trong đó, Protocol Buffers là ngônngữ để định nghĩa các service và định dạng, kiểu dữ liệu để giao tiếp giữa cácservice với nhau Mỗi định nghĩa Protocol Buffers được đặt trong một file vớiđuôi là proto.

- Được hỗ trợ trực tiếp bởi nhiều ngôn ngữ lập trình khác nhau

- gRPC được xây dựng trên HTTP/2 , cho phép kết nối HTTP tốt hơn, hiệuquả hơn

2.5.3 Nhược điểm

- Dữ liệu không phù hợp với con người vì là định dạng binary.

- Chưa được hỗ trợ toàn diện bởi các ông lớn công nghệ , kể cả Google.

Trang 30

- Các tool test API chưa hỗ trợ nhiều.

- Còn nhiều hạn chế khi tương tác với FrontEnd, chỉ phù hợp giao tiếp giữacác server.

Trang 31

CHƯƠNG 3.CÁC KẾT QUẢ ĐẠT ĐƯỢC3.1 Kiến trúc chung hệ thống Chatbot

Hình 3.13: Kiến trúc hệ thống Chatbot

Hình 3.1 mô tả kiến trúc tổng quan của hệ thống gồm có tác nhân là ngườidùng (user) Hệ thống áp dụng mô hình Microservices trong đó mỗi service đảmnhận một vai trò và nhiệm vụ riêng biệt Thành phần chính trong đồ án này làservice Chatbot :

User: người dùng nhắn tin vào cửa sổ chat trên website.

API: Service có nhiệm vụ là cổng định tuyến request, chuyển từ request

http thành request grpc.

Conversation: Service có nhiệm vụ thực hiện nhận và gửi tin nhắn cũng

như lưu trữ các thông tin cuộc hội thoại.

ChatBot: Service có nhiệm vụ xử thực hiện các action của bỏ và lưu trữ

dữ liệu về bot.

User: Service có nhiệm xử lý và lưu trữ dữ liệu về user.

Cassandra: Sử dụng để lưu trữ thông tin của hệ thống.

Trang 32

3.2 Kiến trúc lõi hệ thống Chatbot

Hình 3.14: Kiến trúc lõi service Chatbot

Hình 3.2 mô tả kiến trúc service Chatbot trong đó:

ServeGrpc, ServeHttp, ServeAsync là ba con đường để gửi request đến

service Chatbot thông qua ba giao thức tương ứng là gRPC(gRPC RemoteProcedure Call), HTTP, MessageQueue (Kafka).

ChatBot: là đầu nhận API và request vào ChatBot server.

BotMgr: thực hiện việc quản lý và truy vấn cơ sở dữ liệu.

Runner: Thực hiện quản lý và chạy Bot thực thi.

Action: Nơi quản lý và thực hiện các hành động của Chatbot.

Schedule: là module cho phép hệ thống lập lịch nhằm thực hiện hai tác

vụ: Một là lịch tĩnh chạy ngầm để thực hiện các tác vụ LoadJob, hai là lịchđộng để lên lịch hoạt động cho bot.

LoadJob: là module định nghĩa các công việc tự động của hệ thống như

Trang 33

3.3 Phân tích và thiết kế hệ thống3.3.1 Phân tích chức năng

Phần phân tích chức năng sẽ mô tả đầy đủ, chi tiết về các chức năng mà hệthống cung cấp.

a Các tác nhân tham gia hệ thống

Có hai tác nhân tham gia vào hệ thống: Agent và User.

Bảng 3.1: Các tác nhân trong hệ thống

1 Agent Người dùng đã đăng nhập vào hệ thống với vai trò là tưvấn viên trực chat

2 User Người dùng tham gia chat vào cửa sổ chat trên website

UC-03 Chỉnh sửa bot Agent chỉnh sửa thông tin, kịch bản bot

UC-05 Xem thống kê

hoạt động bot Agent xem thống kê hoạt động của bot AgentUC-06 Thử kịch bản bot Agent chạy thử kịch bản Bot AgentUC-07 Thử hành động

UC-08 Tương tác với Bot Người dùng tương tác với Bot User

c Đặc tả ca sử dụng

Trang 34

Hình 3.15 : Biểu đồ ca sử dụng tổng quan của hệ thống

Hình 3.3 mô tả biểu đồ ca sử dụng tổng quát của hệ thống Có 3 tác nhân thamgia vào hệ thống : Khách, agent (tư vấn viên trực chat) và user (người dùng).Khách là người chưa đăng nhập vào hệ thống, khách có thể sử dụng các chứcnăng nhập đăng nhập Agent là tác nhân chính của hệ thống tham gia vào các casử dụng như : Quản lý danh sách bot, thêm bot mới, chỉnh sửa Bot, xem thống kêcủa bot, chạy thử kịch bản bot và cuối cùng là thử action của bot.

 UC-01: Ca sử dụng quản lý danh sách bot

Trang 35

Bảng 3.3 : Đặc tả ca sử dụng quản lý danh sách bot

Tạo bởi Nguyễn Hoàng Thông Cập nhật gần nhất bởi: NguyễnHoàng Thông

Ngày tạo 12/12/2020 Ngày cập nhật gần nhất:06/01/2021

Tên ca sử dụng: Quản lý danh sáchbot

ID: 01 Mức quan trọng: trung bình

Tác nhân chính: Agent Kiểu ca sử dụng: Chi tiết, thiết yếuCác nhân tố và mối quan tâm: Agent – Quản lý danh sách bot

Mô tả ngắn gọn: mô tả agent thực hiện quản lý danh sách các bot đã được tạoKích hoạt: Agent chọn biểu tượng bot ở lề trái màn hình

Các mối quan hệ:● Liên quan: Agent

● Bao gồm: Xem bot, sửa bot, xóa bot, thêm bot● Mở rộng

● Khái quát hóa:Luồng sự kiện chính:

1 Người dùng chọn vào biểu tượng bot ở lề trái màn hình

2 Hệ thống hiển thị danh sách các bot đã được khởi tạo (gồm tên bot, kênhtương tác, lần chạy cuối, cập nhật gần nhất, trạng thái và xem thống kê )Luồng sự kiện con:

S-1 Agent sửa thông tin bot:

● Người quản trị click vào kịch bản bot muốn sửa.

Trang 36

● Hệ thống đưa người quản trị tới trang chi tiết bot.● Người quản trị sửa thông tin bot, sửa kịch bản bot● Hệ thống kiểm tra thông tin sửa và trả lại kết quảS-2 Agent xóa bot:

● Người quản trị click icon xóa ở mỗi bot.

● Hệ thống tiến hành xóa bot và thông báo kết quảS-3 Agent thêm bot mới

● Người quản trị click icon thêm bot ở góc phải màn hình● Hệ thống tiến hành hiển thị các mẫu bot có sẵn để agent chọn● Agent chọn kịch bản bot muốn thêm mới

● Hệ thống đưa người quản trị đến trang sửa thông tin và kịch bản botLuồng sự kiện tương đương/ngoại lệ:

2a Khi sửa hoặc xóa quyết định có lỗi, hệ thống sẽ thông báo lại cho agent

 UC-02: Ca sử dụng Thêm bot mới

Hình 3.17 : Ca sử dụng thêm Bot mới

Bảng 3.4 : Đặc tả chi tiết use case thêm bot mới

Tạo bởi Nguyễn Hoàng Thông Cập nhật gần nhất bởi: Nguyễn

Trang 37

Tên ca sử dụng:Quản lý quyết định

Tác nhân chính: Agent Kiểu ca sử dụng: Chi tiết, thiết yếuCác nhân tố và mối quan tâm: Agent - Thêm bot mới

Mô tả ngắn gọn: mô tả agent thêm kịch bản bot mới

Kích hoạt: Khi Người quản trị chọn vào nút Tạo Bot ở góc phải màn hìnhKiểu: Ngoại

Các mối quan hệ:● Liên quan: Agent

● Bao gồm: Xem trước kịch bản template bot● Khái quát hóa

Các luồng sự kiện chính:

1 Agent vào nút Tạo Bot ở góc phải màn hình

2 Hệ thống tiến hành hiển thị các mẫu bot có sẵn để agent chọn3 Agent xem trước kịch bản các template mẫu

4 Agent chọn sử dụng kịch bản phù hợp

5 Hệ thống đưa người dùng đến trang giao diện chỉnh sửa bot6 Agent chỉnh sửa thông tin và kịch bản bot

7 Agent chọn lưu thông tin bot

8 Hệ thống thông báo lưu bot thành côngCác luồng sự kiện con:

Trang 38

● Người quản trị click vào phần xem thống kê bot● Hệ thống đưa người quản trị tới trang thống kê botCác luồng sự kiện ngoại lệ/tương đương:

2a Khi thêm bot có lỗi, hệ thống sẽ thông báo lại cho người dùng

 UC-03: Ca sử dụng chỉnh sửa bot

Hình 3.18 : Ca sử dụng chỉnh sửa bot

Bảng 3.5 : Đặc tả chi tiết ca sử dụng Chỉnh sửa bot

Cập nhật gần nhất bởi:Nguyễn Hoàng Thông

Ngày tạo 12/12/2020 Ngày cập nhật gần nhất:06/01/2021

Tên ca sử dụng: Chỉnhsửa Bot

trọng: CaoTác nhân chính: Agent Kiểu ca sử dụng: Chi tiết, thiết yếuCác nhân tố và mối quan tâm: Agent - Chỉnh sửa bot

Mô tả ngắn gọn: mô tả agent chỉnh sửa thông tin và kịch bản của bot

Ngày đăng: 25/06/2024, 17:37

Xem thêm:

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN