Chương 1: Giới thiệu tổng quan về đề tài, mục tiêu, giới hạn và các giai đoạn thực hiện đề tài. • Chương 2: Trình bày một số công trình có liên quan tới đề tài. • Chương 3: Trình bày các kiến thức nền tảng có liên quan tới đề tài. Và cách hoạt động của nó trên bài toán của đề tài.
• Chương 4: Trình bày phương pháp giải quyết bài toán: mô tả về kiến trúc hệ thống, quá trình huấn luyện mô hình học tăng cường. • Chương 5: Trình bày các công cụ và công nghệ sử dụng để giải quyết bài toán. • Chương 6: Trình bày cách thức hiện thực hệ thống. • Chương 7: Trình bày cách thức kiểm thử và đánh giá hệ thống.
• Chương 8: Tổng kết quá trình thực hiện luận văn, những hạn chế và hướng phát triển. 3 Chương 2 Các công trình liên quan 2.1 Các công trình nghiên cứu liên quan đến Chatbot hỗ trợ thương mại điện tử 2.1 Bài báo về Chatbot hỗ trợ y tế tự động Đây là bài báo có tên Automated Medical Chatbot [1]. Trong bài báo này, tác giả đề xuất một hệ thống có khả năng đặt ra nhiều câu hỏi cho người dùng cho đến khi xác định được căn bệnh mà người dùng đang gặp phải. Đây gần như là một hệ thống tư vấn y tế.
Hệ thống sẽ thu thập các thông tin từ người dùng như triệu chứng, sau đó đưa ra những căn bệnh mà người dùng có thể mắc phải và hỏi người dùng về cảm giác của họ. Sau khi nhận được nhiều dữ liệu, nó sẽ tìm ra căn bệnh có khả năng xảy ra nhất. Ngoài ra, họ đặt ra một khái niệm mức ngưỡng giúp phát hiện mức độ của vấn đề. Tuỳ vào mức độ nghiêm trọng của bệnh mà nó sẽ đề xuất các biện pháp khắc phục và thuốc cho người dùng hoặc kết nối người dùng với bác sĩ.
Trong bài báo, tác giả đã sử dụng phương pháp AIML (Artificial Intelligence Mark-up Lan- guage) để hiểu được các mẫu (pattern) trong tin nhắn của người dùng thông qua các thẻ (tag) được xác định trước. Ví dụ, ta có một số các pattern tag được xác định trước như ví dụ 2. Khi người dùng nói "I am suffering from headache." (Tôi đang bị đau đầu), hệ thống sẽ ánh xạ tin nhắn của người dùng với các pattern và phát hiện trùng với pattern "I am suffering from *", "headache" (đau đầu) sẽ được thay thế bởi dấu *. Sau đó hệ thống sẽ truy cập vào cơ sở dữ liệu với thông tin đầu tiên là triệu chứng đau đầu và đưa ra hành động tiếp theo.1: Một số các pattern tag 1 <pattern>I am feeling like *</pattern> 2 <pattern>I am having *</pattern> 3 <pattern>I am suffering from *</pattern> Cùng với một số các thành phần khác thì hệ thống của họ đưa ra có thể tư vấn khách hàng như ví dụ 2.
Đầu tiên có thể thực hiện với câu chào hỏi, và hỏi về vấn đề của người dùng. Sau khi nhận được thông tin về triệu chứng là đau đầu, Chatbot sẽ hỏi thêm các thông tin triệu chứng khác để làm rõ căn bệnh. Cuối cùng sau khi lấy đủ thông tin, Chatbot đưa ra kết luận về căn bệnh người dùng mắc phải và cách chữa trị.2: Một mẫu hội thoại của Chatbot 1 User: Hello 2 Chatbot: Hi there, tell me how can I help you? 3 User: I am having an Headache 4 Chatbot: Are you having pain in your eyes? 5 User: Yes 6 Chatbot: Do you feel like vomiting? 7 User: yes I do 8 Chatbot: I think you are most likely having a migraine attack 9 Chatbot: Taking "ibuprofen" 2 tablets would reduce pain in you eyes. ,→ Also take "aspirin" 20ml to help you tackle vomiting.
Do take a ,→ nap and dont forget to wash your eyes with luke warm water. ,→ Avoid using digital screen until you feel better.2 Bài báo về Chatbot hỗ trợ mua sắm trực tuyến Đây là bài báo có tên SuperAgent: A Customer Service Chatbot for E-commerce Websites [2]. Trong bài báo này, họ giới thiệu SuperAgent, một Chatbot dịch vụ khách hàng, sử dụng dữ liệu thương mại điện tử quy mô lớn và công khai. SuperAgent tận dụng dữ liệu từ mô tả sản phẩm trong trang cũng như nội dung do người dùng tạo từ các trang web thương mại điện tử.
Ngoài ra, SuperAgent sinh câu phản hồi dựa trên bốn mô hình chạy song song, bao gồm các bộ câu hỏi và trả lời (QA) thực tế, bộ tìm kiếm QA thường gặp, bộ QA văn bản định hướng ý kiến, và mô hình cuộc trò chuyện chit-chat.1: Kiến trúc tổng quát của hệ thống SuperAgent Hình 2.1 mô tả tổng quan hệ thống của SuperAgent. Như hình cho thấy, khi trang sản phẩm được truy cập lần đầu tiên, SuperAgent thu thập các dữ liệu thông tin sản phẩm (PI), bộ câu hỏi và trả lời (QA) và phản hồi của khách hàng (CR) từ trang web. Ưu điểm của mẫu thiết kế này là họ không cần triển khai trình thu thập thông tin cho các trang web. Thay vào đó, khi người dùng truy cập trang, SuperAgent sẽ được thông báo vì có tiện ích bổ sung được liên kết với mỗi trang web.
Do đó, SuperAgent mang lại rất ít lượt tải web bổ sung cho các trang web đã được lưu trữ. Bên cạnh đó, kiến trúc này giúp cho việc cập nhật dữ liệu rất dễ thực hiện, trong đó các trang được truy cập thường xuyên sẽ được cập nhật thường xuyên và 5 ngược lại. Với một truy vấn đầu vào từ khách hàng, các công cụ khác nhau sẽ được xử lý song song. Nếu một trong ba câu trả lời từ ba công cụ đầu tiên có độ tin cậy cao, thì chatbot sẽ trả về câu trả lời từ phản hồi.
Nếu không, công cụ trò chuyện sẽ tạo ra một câu trả lời từ các nhóm câu trả lời được phép xác định trước.2: Một mẫu hội thoại của SuperAgent Hình 2.2 cho thấy một tình huống điển hình khi một khách hàng yêu cầu SuperAgent giúp đỡ. Khi khách hàng mở cửa sổ trò chuyện trong trình duyệt web, SuperAgent đầu tiên sẽ phát hiện sản phẩm nào đang được truy cập. Sau đó, SuperAgent tự giới thiệu và xác nhận rằng khách hàng đang ghé thăm sản phẩm. Khách hàng có thể chào hỏi SuperAgent hoặc hỏi các câu hỏi cụ thể.2 cho thấy, SuperAgent có thể trả lời các câu hỏi sự thật (Fact QA) 6 bằng cách sử dụng thông tin sản phẩm trong trang, thực hiện tìm kiếm câu hỏi thường gặp (FAQ Search) từ các cặp QA của khách hàng, lấy câu trả lời QA từ đánh giá của khách hàng và cuối cùng là chào hỏi khách hàng bằng cách sử dụng công cụ trò chuyện chit-chat.
Các hộp thoại được điều phối bởi công cụ meta để các truy vấn khác nhau chuyển đến các công cụ tương ứng. Vì các trang web thương mại điện tử được cập nhật thường xuyên và nội dung mới do người dùng tạo liên tục xuất hiện, SuperAgent cũng cập nhật dữ liệu và mô hình định kỳ theo tần suất truy cập của khách hàng.3 Bài báo về Chatbot hỗ trợ sân bay Đây là bài báo có tên Design and implementation of an airport chatbot [3]. Trong bài báo này, họ mô tả động lực và quá trình phát triển của một Chatbot nhằm cung cấp thông tin và hỗ trợ cho khách du lịch trực tiếp bên trong nhà ga Sân bay Venice hoặc bằng các giao diện gián tiếp, chẳng hạn như ứng dụng di động hoặc trang web. Để phát triển Chatbot, họ quyết định dựa trên một nền tảng được cung cấp bởi một công ty công nghệ lớn: Microsoft Azure Bot Service.
Tất cả các dịch vụ cloud và dịch vụ máy chủ cho trang web và quản lý email đều đã được Microsoft quản lý. Họ sử dụng bộ xử lý ngôn ngữ tự nhiên để hiểu loại (ý định) và các tham số (thực thể) của câu hỏi mà người dùng có thể hỏi, bất kể nó được hỏi như thế nào. Ví dụ, trong Chatbot của họ, câu "what is the weather like in Venice?" (Thời tiết ở Venice như thế nào?) được chuyển thành một đối tượng như ví dụ 2.3, có thể được thao tác bởi Chatbot.3: Biểu diễn của một câu hỏi 1 { 2 intent : "weather", 3 parameters : { 4 address : { 5 city : "Venice" 6 }, 7 date-time : "2019-01-20T12:00:00+02:00" 8 } 9 } Hệ thống họ phát triển có các chức năng sau: • Câu hỏi thường gặp (FAQ). • Các câu hỏi chung về sân bay do tổng đài thu thập.
• Thông tin chuyến bay. • Thông tin giao thông địa phương đến và đi từ sân bay (kế hoạch chuyến đi). • Vị trí của các cửa hàng, hoạt động hoặc cổng bên trong sân bay. • Thông tin về bãi đậu xe.
• Tìm hành lý thất lạc. Sơ đồ chung của Chatbot được thể hiện trong hình 2. LUIS là dịch vụ xử lý như NLP. Nó có giao diện web cho phép tạo ra các ý định và thực thể nhưng không cung cấp phản hồi trực tiếp.
Tích hợp LUIS cho phép bot hiểu ngôn ngữ tự nhiên, phát hiện lỗi chính tả, sử dụng 7 nhận dạng giọng nói và nhận ra mục đích của người dùng. QnA Maker là một dịch vụ API dựa trên đám mây tạo ra một lớp câu hỏi và câu trả lời tương tự như một cuộc trò chuyện dữ liệu. Các câu hỏi và câu trả lời được nhập từ nội dung bán cấu trúc (semi-structure), chẳng hạn như tài liệu thường gặp, các đường dẫn và hướng dẫn sử dụng sản phẩm. Chatbot phải giao tiếp với các dịch vụ cơ sở dữ liệu và API của sân bay để trả lời các câu hỏi cụ thể liên quan đến sân bay.
Các câu hỏi của người dùng được quản lý và phân tích bởi bộ điều phối (dispatcher) để quyết định xem câu hỏi có yêu cầu phản hồi linh động hay không, nếu có nó phải được gửi đến LUIS, hoặc câu hỏi tĩnh được gửi đến bộ tạo câu hỏi và trả lời (QnA). Quyền truy cập vào cơ sở hạ tầng sân bay nội bộ và các lệnh gọi API bên ngoài được thực hiện trực tiếp bởi dịch vụ bot Azure.3: Sơ đồ tổng quát của Chatbot sân bay 2.4 Bài báo về Chatbot hỗ trợ dịch vụ cung ứng Đây là bài báo có tên E-commerce Distributed Chatbot System [4]. Trong bài báo này, họ trình bày một hệ thống Chatbot phân tán cho chuỗi cung ứng. Hệ thống của họ bao gồm một số dịch vụ: dịch vụ trò chuyện, dịch vụ bot, dịch vụ xử lý ngôn ngữ tự nhiên và dịch vụ chuỗi cung ứng.
Nó sử dụng giao tiếp WebSocket giữa giao diện người dùng và bot, phân tích truy vấn của người dùng và cung cấp thông tin về các đơn đặt hàng và nguồn cung cấp đã được truy vấn. Kiến trúc hệ thống của Chatbot phân tán cho chuỗi cung ứng được đề xuất trong bài báo như trên hình 2.