Chính bởi lượng khách hàng quá đông so với số nhân viên hỗ trợ, dẫn đến trường hợp dồn việc và nhiều khách hàng không nhận được sự trợ giúp kịp thời khi cần thiết, gây thêm nhiều sự phàn
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Giảng viên hướng dẫn: TS Nguyễn Thanh Hùng
Viện: Công nghệ thông tin và truyền thông
HÀ NỘI , 2020
Tai ngay!!! Ban co the xoa dong chu nay!!! 17061132018351000000
Trang 2TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Giảng viên hướng dẫn: TS Nguyễn Thanh Hùng
Viện: Công nghệ thông tin và truyền thông
HÀ NỘI, 2020
Chữ ký của GVHD
Trang 3CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập Tự do – – Hạnh phúc
BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ
Họ và tên tác giả luận văn : Nguyễn Đắc Phương Thảo
- Tham khảo các nền tảng nước ngoài về xây dựng Chatbot (Mục 1.4.1, 1.4.2
- trang 13-15)
- Khảo sát các phương pháp giải quyết bài toán phân loại ý định (Mục 1.4.7 - trang 20-21)
- Bổ sung thêm thông tin về mô tả cơ sở dữ liệu (Mục 2.3 – trang 27-31)
- Bổ sung sơ đồ cấu trúc của Chatbot Nhất Nam (Mục 3.1 – trang 40)
- Mô phỏng tập thực nghiệm (Mục 3.4.2 - trang 49-51)
- Tham chiếu đến các tài liệu tham khảo
- Sửa các lỗi về trình bày cho hợp lý
Giáo viên hướng dẫn Tác giả luận văn
Trang 4
Đặc biệt với tất cả tấm lòng mình, em xin gửi đến TS Nguyễn Thanh Hùng
và những người đã tận tình hướng dẫn, giúp đỡ em hoàn thành luận văn này lời cảm ơn sâu sắc nhất Cuối cùng xin gửi lời cảm ơn đến gia đình, bạn bè và tập thể lớp CNTT 2017B, những người đã luôn ở bên khích lệ và động viên em rất
nhiều
Tóm tắt nội dung luận văn
Hỗ trợ và chăm sóc khách hàng luôn là công việc có tần suất giao tiếp lớnnhất trong các nhóm công việc thuộc ngành dịch vụ Chính bởi lượng khách hàng quá đông so với số nhân viên hỗ trợ, dẫn đến trường hợp dồn việc và nhiều khách hàng không nhận được sự trợ giúp kịp thời khi cần thiết, gây thêm nhiều sự phàn nàn đến từ người dùng và áp lực dành cho nhân viên
Vì vậy rất cần xây dựng một Chat Bot có khả năng trả lời trực tuyến các khúc mắc lặp đi lặp lại của khách hàng, một Chat-Bot làm việc không biết mệt mỏi mà vẫn đưa đến cho người dùng những câu trả lời hợp lý và chính xác nhất Chatbot được xây dựng theo phương pháp phân loại ý định người dùng và lập trình bằng trình dịch pycharm với python phiên bản 3.7
-Với việc chọn đề tài luận văn “Nghiên cứu và phát triển ứng dụng Chat-Bot trong dịch vụ chăm sóc khách hàng trực tuyến” tôi mong muốn sẽ giúp cho doanh nghiệp của tôi giải quyết được vấn đề trong lĩnh vực chăm sóc khách hàng, giảm tải áp lực cho nhân viên và tăng độ tin cậy cũng như sự hài lòng đến
từ phía người dùng
Trang 5i
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ iii
DANH MỤC CÁC BẢNG BIỂU iv
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ CHAT BOT 3
-bot 3
Khái niệm Chat Các thành phần của Chat-bot 4
-bot 5
Một số ứng dụng Chat -bot 6
Các cách tiếp cận để xây dựng Chat 1.4.1 Chatfuel 6
1.4.2 SnatchBot 7
1.4.3 AI Conversation 8
1.4.4 Messnow 9
1.4.5 Harafunnel 10
1.4.6 Rule-based Chat-bot 12
1.4.7 Corpus-based Chat-bot 12
1.4.8 Sequence to sequence Chat-bots 14
CHƯƠNG 2 XÂY DỰNG CHAT BOT CHO DỊCH VỤ CHĂM SÓC KHÁCH -HÀNG TRỰC TUYẾN 15
15
Giải quyết bài toán Phân loại ý định - 16
Các bước thực hiện của Chat bot Nhất Nam 18
Mô tả cơ sở dữ liệu -bot 22
Mô tả chi tiết thành phần của Chat 2.4.1 TF-IDF 24
2.4.2 Cosine Similarity 25
2.4.3 Ví dụ các bước thực hiện của thuật toán 26
CHƯƠNG 3 CÀI ĐẶT CHƯƠNG TRÌNH VÀ KIỂM THỬ 30
30
Sơ đồ cấu trúc của ChatBot Nhất Nam 30
Cài đặt môi trường 32
Chạy chương trình Các thông số mô hình và phương pháp đánh giá 35
Trang 6ii
3.4.1 Các thông số trong mô hình 35
3.3.2 Phương pháp đánh giá chương trình 36
3.4.2 Số liệu các độ đo chính xác của mô hình 38
CHƯƠNG 4 KẾT LUẬN 40
40
Kết luận 40
Hướng phát triển TÀI LIỆU THAM KHẢO 41
Trang 7iii
DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Chatbot theo kịch bản 3
Hình 1.2 Kịch bản của Chat-bot 4
Hình 1.3 Giao diện nền tảng Chatfuel 7
Hình 1.4 Giao diện nền tảng SnatchBot 8
Hình 1.5 Giao diện nền tảng Chat-bot FPT.AI Conversation 9
Hình 1.6 Giao diện nền tảng Chat-bot Messnow 10
Hình 1.7 Giao diện nền tảng Chat-bot Harafunnel 11
Hình 1.8 Ví dụ về mẫu trong Rule-based 12
Hình 1.9 Ví dụ mô hình Sequence to squence 14
Hình 2.1 Chat-Bot Nhất Nam 16
Hình 2.2 Các câu hỏi trong cơ sở dữ liệu 20
Hình 2.3 Các câu trả lời trong cơ sở dữ liệu 21
Hình 2.4 Sơ đồ mô tả chi tiết về thành phần của Chat-Bot 22
Hình 2.5 Ví dụ về khoảng cách của 2 vector theo cosine 25
Hình 3.1 Sơ đồ cấu trúc 30
Hình 3.2 Logo trình dịch Pycharm 31
Hình 3.3 Giao diện của chương trình demo 32
Hình 3.4 Chat-bot tự động trả lời câu hỏi của khách hàng 33
Hình 3.5 Câu hỏi chủ đề nghiệp vụ mới 34
Hình 3.6 Thuật toán TF-IDF 35
Hình 3.7 Thuật toán Cosine 35
Hình 3.8 5-fold cross validation 36
Hình 3.9 Hình minh họa cho độ đo Precision và Recall 37
Trang 8iv
DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Tên nhãn và số lượng câu hỏi tương ứng 20
Bảng 2.2 Bảng tính tần số TF 26
Bảng 2.3 Bảng tính tần số IDF 27
Bảng 2.4 Bảng tính TF-IDF 28
Bảng 3.1 Bảng các thư viện cần dùng để xây dựng Chat-Bot 31
Bảng 3.3 Bảng mô tả 24 câu test 39
Bảng 3.4 Bảng số liệu các độ đo 39
Trang 9Chat-bot hỗ trợ trực tuyến các khúc mắc lặp đi lặp lại của khách hàng sử dụng phần mềm kế toán Nhất Nam được xây dựng trên nền tảng trí tuệ nhân tạo,
là Chat-bot có khả năng làm việc 24/24 không biết mệt mỏi, không cần phải nghỉ ngơi mà người dùng nhận được câu trả lời nhanh chóng, đồng thời rút ngắn thời gian làm việc, tăng độ chính xác, hiệu quả công việc cao Việc trả lời tin nhắn trên website, các trang mạng xã hội ngày càng phổ biến rộng rãi, người dùng dành phần lớn thời gian của họ vào nhắn tin trên các trang mạng xã hội thay vì trao đổi thông tin qua các cuộc gọi điện thoại
Hiện nay, theo thống kê cho thấy số lượng người sử dụng phần mềm kế toán Nhất Nam càng ngày càng tăng cao, nhất là trong các kỳ cao điểm của quyết toán thuế, với đội ngũ nhân viên hùng hậu cũng không thể hỗ trợ được hết dẫn đến nhiều trường hợp khách hàng không nhận được sự trợ giúp kịp thời khi cần thiết Hiểu được tầm quan trọng đó, cùng với những kiến thức tìm hiểu được
trong thời gian vừa qua tôi đã làm về đề tài “Nghiên cứu và phát triển ứng dụng Chat-bot cho dịch vụ chăm sóc khách hàng trực tuyến” với một tinh thần say
mê và nghiêm túc
2 Mục tiêu nghiên cứu của luận văn, đối tượng, phạm vi nghiên cứu
2.1 Mục tiêu nghiên cứu
- Tìm hiểu các phương pháp xây dựng Chat-bot trên nền tảng trí tuệ nhân tạo
- Đánh giá, lựa chọn phương pháp phù hợp với thực tiễn đề tài hướng đến
- Xây dựng và hoàn thiện Chat-bot hỗ trợ trực tuyến các khúc mắc của khách hàng sử dụng phần mềm kế toán Nhất Nam, gồm có các chức năng:
- Chat-bot hiểu và trả lời tự động các câu hỏi của người dùng với những câu hỏi mà người dùng thường lặp đi lặp lại hoặc gần giống nhau
- Loại bỏ các câu hỏi spam từ người dùng
Trang 102
- Đối với các câu hỏi phức tạp hoặc về những chủ đề mới Chat-bot sẽ chuyển đến cho nhân viên tư vấn để trả lời
2.2 Nội dung và phạm vi nghiên cứu
Nội dung nghiên cứu
- Nghiên cứu lý thuyết và thử nghiệm “Nghiên cứu và phát triển ứng dụng Chat-bot cho dịch vụ chăm sóc khách hàng trực tuyến”, giúp trả lời các khúc
mắc của khách hàng đang sử dụng hoặc đang có nhu cầu mua phần mềm kế toán Nhất Nam, một cách nhanh chóng và chính xác, giảm tải công việc của đội ngũ nhân viên hỗ trợ và giảm sự phàn nàn của khách hàng về việc hỗ trợ chậm trễ
- Xây dụng Chat-bot trả lời tự động 24/24
- Xây dựng thành phần xử lý ngôn ngữ tự nhiên chính của Chat-bot
- Xây dựng Chat-bot thành service
3 Tóm tắt các luận điểm và đóng góp mới
Các ngành về dịch vụ phần mềm hiện nay chưa có hoặc rất ít đơn vị triển khai chat-bot tự động trả lời các khúc mắc của khách hàng, và chủ đề để chat-bot
có thể trả lời tự động được cũng không nhiều do đặc thù nghiệp vụ, cũng như trong k sử dụng phần mềm kế toán Nhất Nam phát sinh nhiều lỗi mà khách hàng không hiểu lỗi gì để phản ánh lại qua tin nhắn nên phải gọi điện trực tiếp qua số hotline gặp hỗ trợ viên
Tuy nhiên trong quá trình làm việc công tác tại công ty TNHH tin học Nhất Nam, tôi có tổng hợp được các chủ đề về nghiệp vụ và các lỗi phát sinh từ phần mềm kế toán, để đưa ra thành nhiều trường hợp và câu trả lời có sẵn, khách hàng có thể hỏi trực tiếp qua cổng hỗ trợ trực tuyến, mà không cần phải gọi điện cho tổng đài viên nữa Nếu câu hỏi khó, chat bot sẽ phân loại và gửi đến cho -nhân viên để được giải quyết kịp thời, không mất thời gian chờ đợi
Trang 113
CHƯƠNG 1 TỔNG QUAN VỀ CHAT BOT
Trong chương 1 trình bày tổng quát về Chatbot: khái niệm, các loại chatbot, cấu tạo của một chatbot thông minh, các nền tảng và phương pháp để xây dựng chatbot
Khái niệm Chat-bot
Chatbot là một phần mềm trí tuệ nhân tạo (AI), có thể tự động trả lời tin nhắn của người dùng bằng ngôn ngữ tự nhiên thông qua các ứng dụng nhắn tin trên website hoặc trên điện thoại
Có 2 loại cơ bản của Chat-bot hiện đại:
Chat-bot theo kịch bản (Scripted Chat-bot) [11]: đây là ChatBot được xây dựng các tùy chọn sẵn và xác định hành vi bởi các quy tắc, tại mỗi bước người dùng phải có sự lựa chọn rõ ràng để đến được bước tiếp theo trong cuộc trò chuyện
Hình 1.1 Chatbot theo kịch bản
Chat-bot thông minh (Intelligent Chat-bot) [11]: Chat-bot thông minh là Chat-bot được xây dựng với các kỹ thuật học máy, cho phép Chatbot thu nhậnlinh hoạt hơn về đầu vào của người dùng Đầu vào có thể ở dạng tự do dưới hình thức trình bày bằng văn bản, hình ảnh hoặc giọng nói Ví dụ: Khi tôi hỏi về thời tiết Hà Nội ngày hôm nay, Chatbot có thể phân tích các thực thể và ý định có trong câu đầu vào để đưa phản hồi chính xác nhất
Trang 124
Các thành phần của Chat-bot
- Natural language processing: Module xử lý ngôn ngữ tự nhiên, có tác dụng phân tích yêu cầu từ người dùng
- Dialog manager: Có tác dụng quyết định đưa ra câu trả lời cho người dùng dựa vào những tương tác của người dùng trong quá khứ hoặc các thông tin khác
- Content: Là khuôn mẫu (template), cấu trúc câu trả lời mà bot quyết định
sẽ trả lời cho người dùng
- Custom integrations / external data: Chat-bot có thể có hoặc không có module này Thành phần này sẽ lấy dữ liệu từ các web service hoặc database, sau
đó cập nhật cho Dialog manager
Hình 1.2 Kịch bản của Chat-bot Chat-bot là sự kết hợp của các kịch bản có trước và tự học trong quá trình tương tác Đây là kịch bản đầy đủ với tất cả các thành phần cấu tạo nên một Chat-Bot thông minh hoàn chỉnh Với mỗi câu hỏi được đưa vào, Chat bot sử -dụng hệ thống xử lý ngôn ngữ tự nhiên (Natural Language Processing) để phân tích dữ liệu sau đó lựa chọn các thuật toán học máy dự đoán và phản hồi chính xác nhất có thể Trình tự hoạt động cụ thể như sau: Người dùng tiến hành gửi một câu hỏi đầu vào Câu đầu vào đó sẽ qua một bước tiền xử lý dữ liệu về dạng tiêu chuẩn, rồi mới tiến hành xử lý ngôn ngữ tự nhiên T xác định ý định của a người dùng, xác định các thực thể trong câu, sử dụng bối cảnh của cuộc hội
Trang 135
thoại để theo dõi những gì đã nói Để quản lý được đoạn hội thoại ta cần module
“Conversation and context”, với thành phần này Chatbot có theo dõi và cập nhật bối cảnh để đưa ra câu trả lời phù hợp, nếu không có thành phần này Bot sẽ trở
về trạng thái bằng không sau mỗi câu thoại Tiếp theo chuyển qua bước truy vấntìm kiếm thông tin Chat-bot sử dụng nhiều hệ thống quét các từ khoá bên trong đầu vào, sau đó tùy vào thuật toán mà lập trình viên sử dụng để có thể kéo một câu trả lời phù hợp nhất từ một cơ sở dữ liệu, hoặc bàn giao lại cho con người nếu không tìm thấy dữ liệu nếu tình huống đó chưa xảy ra hoặc không có trong
dữ liệu, đồng thời tự học để áp dụng cho các cuộc trò chuyện về sau Thông tin
có thể lấy tại các website, hoặc lấy trong database có sẵn, câu trả lời có thể ở dạng văn bản, ghi âm, tùy vào hoàn cảnh mà ChatBot phân tích được
Một trong các yếu tố làm nên sức mạnh của Chat-bot là khả năng tự học hỏi Càng được sử dụng và có nhiều sự tương tác với người dùng, Chat-bot đó sẽ càng thông minh
Một số ứng dụng Chat-bot
Chat-bot được ứng dụng rộng rãi trên mọi lĩnh vực:
Giải trí: Các Chat-bot giải trí trực tuyến tốt nhất dựa trên AI có thể là Mitsuku, Rose, Insomno Bot…người dùng có thể nói chuyện với Bot hàng giờ,
và Bot sẽ trả lời các câu hỏi theo cách nhân văn nhất và hiểu được tâm trạng của với ngôn ngữ mà người dùng đang sử dụng
Thời tiết: Poncho là Chat-bot được thiết kế để trở thành một chuyên gia thời tiết, ngoài dự báo thời tiết Bot này còn gửicác cảnh báo khi thời tiết xấu đến với người dùng
Nhà hàng và các ngành bán lẻ: Khách hàng được Chat-bot chào đón và được cung cấp các tùy chọn menu như: chọn vị trí chổ ngồi, thanh toán và được thông báo khi nào họ có thể bắt đầu lấy thức ăn của họ
Khách sạn và Du lịch: Chat-bot có thể giúp khách sạn trong một số lĩnh
vực bao gồm quản lý thời gian, dịch vụ khách hàng và giảm chi phí nhân lực , Chatbot được lập trình để trò chuyện với khách bằng các ngôn ngữ khác nhau, khách hàng có thể nói chuyện bằng ngôn ngữ địa phương của mình dễ dàng hơn
Y tế: Chat-bot này sẽ hỏi về các triệu chứng, các thông số cơ thể và lịch sử
y tế, sau đó biên soạn một danh sách các nguyên nhân gây ra hầu hết các triệu chứng và xếp hạng chúng theo thứ tự nghiêm trọng Chat-bot có thể hướng dẫn bệnh nhân điều trị các bệnh có thể tự hữa khỏi mà không cần đến bác sĩ c
Trang 146
Hàng không: khách hàng có thể nhận tài liệu chuyến bay của mình qua tin nhắn, hoặc thư điện tử (mail), bao gồm xác nhận đặt vé, thông báo đăng ký, thẻ lên máy bay, và cập nhật trạng thái chuyến bay
Giáo dục: người dùng có thể nhắn yêu cầu trực tuyến vào các website, fanpage của nhà trường để tìm hiểu về trường, giải đáp các thắc mắc như tuyển sinh, chương trình đào tạo, chất lượng giáo dục
Các cách tiếp cận để xây dựng Chat-bot
Chatbot đã không còn là khái niệm xa lạ với người dùng Internet nói chung
và các doanh nghiệp nói riêng, dự kiến sẽ có đến 80% doanh nghiệp toàn cầu sẽ
sử dụng Chatbot vào năm 2020 Có 2 cách tiếp cận để xây dựng một Chatbot: cách thứ nhất là sử dụng các nền tảng được thiết kế sẵn các bản mẫu, chỉ cần xây dựng kịch bản và cho Bot tập huấn Còn nếu như tôi muốn tự xây dựng một Chatbot mà không phụ thuộc vào bên thứ ba, hay việc Chatbot có thể sẵn sàng tích hợp vào website cũng như phần mềm kế toán online của công ty thì tôi chọn cách thứ 2 là tự xây dựng Chatbot theo các phương pháp đã được các nhà khoa học nghiên cứu
Các nhà công nghệ lớn trên thế giới và trong nước đang ganh đua vị trí dẫn đầu bằng cách xây dựng nền tảng cho những công ty khác sử dụng để tạo nên Chat-bot của riêng họ Sau đây là một số nền tảng Chatbot nổi tiếng trên thế giới: 1.4.1 Chatfuel
Chatfuel(1) ra đời vào mùa hè năm 2015 với mục tiêu làm cho việc xây dựng bot trở nên dễ dàng với bất kỳ ai Hiện Chatfuel là nền tảng hàng đầu để xây dựng bot trên Facebook Messenger, tự động hóa giao tiếp với con người thông qua các ứng dụng nhắn tin
Ưu điểm của Chatfuel khiến nền tảng này trở nên thu hút phải kể đến là bản dùng thử hoàn toàn miễn phí Việc thiết lập 1 chatbot trên nền tảng này cũng rất đơn giản vì không cần phải lập trình, mà dễ dàng tạo bot nhờ vào các thư viện mẫu Ngoài tích hợp trên Facebook, Chatfuel còn tích hợp được với các ứng dụng mạng xã hội khác như Instagram, Twitter, Youtube…
Các khách hàng của Chatfuel, bao gồm từ các doanh nghiệp vừa và nhỏ đến các thương hiệu dễ nhận biết nhất trên thế giới Một số khách hàng lớn nhất như Adidas, T - Mobile, LEGO và nhiều người khác
Trang 15(1) https://chatfuel.com/
(2) https://snatchbot.me/
Chatbot có bộ xử lý ngôn ngữ tự nhiên riêng sử dụng được cho 135 loại ngôn ngữ khác nhau Giao diện trực quan, dễ dùng, không cần phải biết về lập trình vẫn tự tạo được Chatbot Bước đầu để thiết lập Chatbot là phải định hướng lĩnh vực cho Bot, gồm rất nhiều các bản mẫu về nhiều loại hình khác nhau, nếu không tìm thấy bản mẫu phù hợp thì ta hoàn toàn có thể tự tạo 1 bản mẫu cho riêng đặc thù mà mình mong muốn Sau khi chọn xong lĩnh vực, ta mới vào đến bước lên kịch bản trả lời tự động cho Bot
Hiện các bản dùng thử vẫn đang được miễn phí, nhưng bản hoàn chỉnh của Snatch Bot lại có chi phí khá cao, tuy nhiên SnatchBot vẫn chiếm được sự yêu thích từ khách hàng nhờ giao diện để thiết lập Chatbot có thể tùy chỉnh sang nhiều thứ tiếng, thuận tiện lời trong việc xây dựng ứng dụng Chatbot
Trang 168
Hình 1.4 Giao diện nền tảng SnatchBot Không nằm ngoài xu hướng, các doanh nghiệp Việt Nam cũng cho ra đời nhiều nền tảng tạo lập Chat-bot Lợi thế lớn nhất của các nền tảng Chat-bot do người Việt phát triển đó chính là ngôn ngữ Sự phức tạp của tiếng Việt sẽ là lợi thế đáng kể giúp các nhà phát triển Chat bot Việt có thể vượt mặt các nền tảng -Chat-bot do các công ty công nghệ nước ngoài phát triển và hoàn toàn chiếm lĩnh thị trường trong nước Sau đây là một số nền tảng tạo Chat bot do người Việt -phát triển, đang được ứng dụng rộng rãi trên khắp cả nước:
1.4.3 AI Conversation
Nền tảng tạo Chat-bot FPT.AI Conversation(3) là sản phẩm được FPT đặc biệt đầu tư phát triển, với công nghệ AI sẵn có và các nhà khoa học hàng đầu trong lĩnh vực AI liên tục cập nhật những tính năng mới nhất để phục vụ khách hàng Chat-bot tích hợp trên các giao diện nhắn tin phổ biến như Facebook Messenger, Zalo
Trang 179
Hình 1.5 Giao diện nền tảng Chat bot- FPT.AI Conversation
Chat-bot của FPT.AI là một công cụ marketing hiệu quả với tính năng gửi thông báo hàng loạt tới dữ liệu khách hàng, cá nhân hóa thông điệp cho từng loại đối tượng Ngoài ra hệ thống phân tích dữ liệu Chat-bot giúp người tạo bot đánh giá về độ chính xác của Chat-bot, đào tạo Chat-bot trở nên thông minh hơn, đồng thời đưa ra đánh giá về thông tin mà Chat-bot thu được từ người dùng, giúp doanh nghiệp có cái nhìn sâu sắc hơn về những gì khách hàng thực sự mong muốn
1.4.4 Messnow
Messnow(4)là nền tảng tạo lập Chat-bot do Hekate phát triển với giao diện hoàn toàn bằng tiếng Việt, khả năng xử lý ngôn ngữ tự nhiên (NLP) chính xác, giúp người dùng dễ dàng tạo Chat-bot
(3) https://fpt.ai/vi/chat- bot vi -
(4) https://messnow.com/
Messnow có kho ứng dụng với rất nhiều lựa chọn như đọc báo, chơi game, chỉnh sửa ảnh… giúp người dùng có thể tích hợp các ứng dụng vào bot
Trang 1810
Hình 1.6 Giao diện nền tảng Chat bot- Messnow
Ưu điểm của Messnow mà các doanh nghiệp hàng đầu trong các lĩnh vực
sự kiện, khách sạn, nhà hàng tại Việt Nam đều yêu thích và sử dụng: Giao diện hoàn toàn bằng tiếng Việt Menu hướng dẫn chi tiết từng bước cài đặt và triển khai chatbot Messnow tích hợp với ứng dụng nhắn tin Zalo và Zalo shop, có thể tạo chatbot trên Zalo, đồng thời tạo và triển khai chatbot Facebook cũng rấtnhanh chóng, dễ dàng Kho các bản mẫu chuyên nghiệp với hàng trăm mẫu khác nhau được thiết lập sẵn, kết hợp kho ứng dụng đa dạng, hỗ trợ tích hợp thêm nhiều chức năng Chi phí nâng cấp bảo trì mỗi năm rất rẻ, chính vì vậy thống kê cho thấy đã có hơn 10.000 chatbot đã được tạo ra từ Messnow với hơn 5 triệu người dùng
1.4.5 Harafunnel
Harafunnel – một sản phẩm của tập đoàn Haravan(5), là nền tảng công nghệ hỗ trợ người dùng tự tạo Chatbot trên nền tảng Facebook Messenger và website của doanh nghiệp Chat-bot sẽ tự động trả lời theo tình huống thiết lập trước Chatbot được xây dựng trên nền tảng Harafunnel sẽ có thêm chức năng tạo
ra phễu bán hàng tự động, để lọc và đánh giá các khách hàng tiềm năng
Chat-bot Với công cụ này, doanh nghiệp có thể thu thập dữ liệu khách hàng đa kênh, chăm sóc khách hàng tự động 24/7 và có thể thiết lập quy trình marketing hoàn toàn tự động miễn phí
Trang 1911
Hình 1.7 Giao diện nền tảng Chat bot HarafunnelCách mạng công nghiệp 4.0 cùng với làn sóng ứng dụng Chat-bot trong kinh doanh trở nên phổ biến không chỉ đem lại cơ hội cho các công ty công nghệ lớn trên thế giới, mà còn là phát triển đầy thử thách của các thương hiệu Việt
-Với những tiềm năng và thế mạnh hiện có, những nền tảng tạo lập bot do người Việt phát triển được mong đợi sẽ trở thành lựa chọn hàng đầu cho các doanh nghiệp hoạt động tại Việt Nam, và sẽ sớm có được chỗ đứng trên thị trường Chat bot thế giới.-
Chat-(5) https://harafunnel.com/
Nhìn chung các nền tảng Chatbot được dựng sẵn đều rất tiện lợi vì đã được cấu tạo các kho bản mẫu đa dạng, thích hợp với nhiều mô hình doanh nghiệp khác nhau và sẵn sàng tích hợp được với Facebook Messenger để thực hiện nhiệm vụ quảng cáo thương hiệu, hỗ trợ khách hàng Tùy vào cấu tạo kỹ thuật mà mỗi nền tảng sẽ có thể tích hợp được vào các ứng dụng tán gẫu khác như Zalo, Line, Whatsapp, Telegram, Line, Skype, Viber…
Tuy nhiên nếu doanh nghiệp muốn tự xây dựng một Chatbot của riêng mình thì sau đây là một số phương pháp tự xây dựng Chatbot:
Trang 2012
1.4.6 Rule-based Chat-bot
Xây dựng chatbot theo Rule-based [8] là việc định nghĩa các luật hoặc đưa
ra các mẫu có trước mà chatbot muốn hướng đến Hiểu đơn giản, rule -based Chat-bot sẽ dựa trên thói quen hoặc quy luật trong ngôn ngữ mà không cần xử lý ghi nhớ thông tin trước đó Mặc dù mỗi người có các cách diễn đạt khác nhau tuy nhiên những thói quen trong ngôn ngữ của mỗi người có sự trùng hợp và lặp lại khá nhiều Ví dụ khi người dùng hỏi về "mưa nắng'', "nhiệt độ", thì khả năng cao là người đó đang hỏi về thời tiết
Hình 1.8 Ví dụ về mẫu trong Rule-basedHoặc dựa trên mẫu câu trong câu hỏi Với ví dụ trên, dựa vào mẫu câu trong trả lời, Chat-bot sẽ biết được tên của người dùng thông qua việc nhận diện mẫu đó Ví dụ: Bot hỏi tôi rằng: What is your NAME? Và tôi đáp lại là: I’m JANE, bot sẽ nhận diện luôn tên tôi là Jane và đáp lại: Hi! JANE
Ưu điểm của phương pháp này là: Độ chính xác cao, và câu hỏi nào của người dùng cũng có câu trả lời đáp lại Thích hợp để trở thành ứng dụng Chat-Bot tán gẫu, ngẫu hứng
Nhược điểm của phương pháp này là: Thường xuyên phải cập nhật các Rules, rất tốn công sức
1.4.7 Corpus-based Chat-bot
Thay vì việc sử dụng những luật xây dựng bằng tay như rule-based bot, hệ thống Chat-bot dựa trên kho dữ liệu hội thoại trong thực tế của con người
Chat-để tìm ra được những phản hồi phù hợp cho hoàn cảnh của mình Những dữ liệu hội thoại này có thể được thu thập trực tiếp trên một số nền tảng trò chuyện hoặc lấy ra từ các lời thoại của nhân vật trong các bộ phim với nhau
Corpus-based [8] hiện nay thường sẽ có 2 kiểu hoạt động chính: Trích xuất thông tin cần thiết (Information Retrieval) và áp dụng các bài toán học máy học sâu (Deep learning)
Trang 2113
Information Retrieval based Chat-bots (IR-based)
Hệ thống nổi tiếng nhất làm theo mô hình này là Simsimi Ứng dụng từng một thời được nhiều sự quan tâm của cộng đồng mạng tại Việt Nam Cơ chế hoạt động của một hệ thống IR-based bước đầu tiên là tìm trong cơ sở dữ liệu hội thoại, một câu nói có độ tương tự cao nhất với câu nói hiện tại của người dùng
Từ đó đưa ra câu trả lời
Với ý tưởng sử dụng việc tách ngữ nghĩa của các từ trong câu (Semantic hasing) [3], phương pháp này chia từ thành các thành phần “sub word” để biểu -diễn câu đầu vào Thay vì việc biểu diễn từng từ, phương pháp sử dụng các “sub-word” để biểu diễn, ví dụ: “I have a flying disk”, thay vì biểu diễn bởi [”I”,
”have”, ”a”, ”flying”, ”disk”] như cách thông thường, cách tiếp cận này sẽ tách lẻ từng từ thành các phần sub word như “have” thành [#ha, hav, ave, ve#] và việc -biểu diễn các câu thành vector bằng biểu diễn Bag-of-word hoặc tf idf với các -sub-word này
Một nghiên cứu hân loại ý định cho chatbot Hotel booking [5] sử dụng mô phình hai bước, đầu tiên sẽ bắt ý định của người dùng bằng việc đặt các luật bởi các từ khóa Bước thứ 2 sử dụng mô hình phân lớp dựa trên học sâu Nghiên cứu này sử dụng đến ELMo [6] là việc biểu diễn mỗi từ có trong câu vào ngữ cảnh hiện tại và đưa qua mạng bi-LSTM [6] một mô hình ngôn ngữ hai chiều sâu, và cuối cùng là lớp tính trung bình mũ (softmax) trong không gian K chiều vector -
để dự đoán lớp ý định có xác suất cao nhất của câu đầu vào
Một nghiên cứu khác cho việc dự đoán Out-of-scope [7] ý định trong câu truy vấn của người dùng Các mô hình phân loại được thử nghiệm trong nghiên cứu như SVM một bộ máy để biểu diễn câu thành các vector tuyến tính bằng – Bag-of-word, MLP, Fasttext, CNN, BERT được đào tạo trước và tinh chỉnh trên tập dữ liệu nghiên cứu hay trên các nền tảng sẵn có như Google’s DialogFlow, Rasa NLU và spacy-sklearn
Với các nghiên cứu xây dựng chatbot theo cách tiếp cận Information Retrieval, các phương pháp học máy như SVM hay học sâu như bi-LSTM mang những kết quả cao trong bài toán phân loai ý định của Chatbot Với nhận diện thực thể (NER), các phương pháp sử dụng như StanfordNER [9] hay sử dụng Spacy [5] để nhận diện các thực thể có tên trong các câu hỏi cho Chatbot Với quản lý đoạn hội thoại (Dialogue management), có thể được mô tả như hệ thống điền dựa trên khung, mỗi giai đoạn, bot nhắc người dùng điền vào chỗ trống tiếp
Trang 22để chuyển về dạng vector số thực và tính toán độ tương tự dựa vào khoảng cách cosine Vì thuật toán TF IDF có ưu điểm là công thức đơn giản, dễ hiểu, độ phức-tạp cũng chỉ ở mức O(n) nên khả năng tính toán của máy tính sẽ nhanh nhạy Tuy nhiên vẫn có điểm hạn chế chính vì thuật toán đơn giản nên có thể độ chính xác
sẽ không cao bằng các thuật toán khác
1.4.8Sequence to sequence Chat-bots
Hình 1.9 Ví dụ mô hình Sequence to squence
Sequence to sequence [8] là một bài toán đang được giải quyết một cách khá mạnh mẽ bởi các mạng Deep Learning Với đầu vào là mộtcâu, sẽ được đưa qua một bộ máy Deep Learning để phân tích dữ liệu và sinh ra câu trả lời Bài toán này gần tương tự như bài toán dịch tự động (Auto Translation), chỉ khác ở chỗ, trong trường hợp này ngôn ngữ nguồn và ngôn ngữ đích sẽ cùng là một ngôn ngữ
Ưu điểm của phương pháp Sequence to sequence là: có sử dụng học máy nên Chat-Bot rất thông minh
Lý do không chọn phương pháp này vì: Sequence to sequence là mô hình quá phức tạp để giải quyết bài toán đơn giản, không đem lại hiệu quả cao
Trang 23Giải quyết bài toán Phân loại ý định
Phân loại ý đinh là gì? Là khi khách hàng đưa ra một câu hỏi đầu vào cho
Chat-bot, Chat bot sẽ phải phân tích xem ý định của câu hỏi là gì, ý định khách hàng muốn hỏi ở đây là gì, là một câu chào hỏi thông thường, hay một câu hỏi nghiệp vụ có sẵn trong data, hay một câu nằm ngoài khả năng của Chat-Bot Sau khi phân loại ý định xong, Chat bot mới có thể đưa ra câu trả lời hợp lý nhất đến -với khách hàng
-Ý tưởng cho việc giải quyết bài toán Phân loại ý định khách hàng: Các câu hỏi và câu trả lời đã có sẵn trong cơ sở dữ liệu có kèm theo ý định của nó bao gồm 2 chủ đề trong miền nghiệp vụ và 1 chủ đề chào hỏi được thêm vào Với 1 9 câu mới khách hàng đưa vào, so sánh câu mới với tất cả các câu đã có sẵn trong
cơ sở dữ liệu và mong muốn tìm câu tương đồng nhất với câu mới đưa vào Từ
đó xác định được ý định của câu mới thông qua câu tương đồng với nó nhất Nếu câu tương đồng có ý định là chào hỏi thì câu mới cũng được phân loại là chào hỏi Tương tự, nếu câu tương đồng có ý định là 1 trong 2 chủ đề miền nghiệp 9
vụ, thì câu mới được coi là miền nghiệp vụ tương ứng
Tuy nhiên, câu mới của khách hàng có thể tương đồng với 1 câu trong dữ liệu có sẵn, nhưng độ tương đồng ở mức độ thấp (điểm số cosine similar thấp) thì chưa chắc chắn 2 câu này đã tương đồng với nhau về ý nghĩa (tốt nhất trong những cái không tương đồng) nên cần đặt ngưỡng để cho chắc chắn vì có thể đây
là câu hỏi có chủ đề nghiệp vụ mới chưa có trong cơ sở dữ liệu Chỉ khi thực sự tương đồng (điểm tương đồng cao, đạt trên ngưỡng) thì mới coi là tương đồng và giống chủ đề của nhau, còn nếu điểm tương đồng thấp (dưới ngưỡng) thì đưa cho nhân viên chăm sóc khách hàng giải quyết
Phù hợp với mục đích và lượng dữ liệu liên quan đến các câu hỏi của khách hàng về phần mềm kế toán Nhất Nam, nên Chat bot sẽ được xây dựng bằng -phương pháp Information Retrieval based Chat-bots (IR-based) trên việc truy vấn
dữ liệu có sẵn của doanh nghiệp Dựa vào phương pháp này ta sẽ giải quyết bài
Trang 2416
toán phân loại ý định khách hàng, bằng việc sử dụng thuật toán TF IDF để chuyển các câu hỏi thành vector trong không gian và sử dụng khoảng cách cosine
-similar để đánh giá độ tương đồng giữa hai vector Mô hình sẽ truy vấn trong cơ
sở dữ liệu và tìm câu nói có độ tương đồng cao nhất với câu nói của người dùng hiện tại và tìm câu trả lời tương ứng để đưa ra cho người dùng
Các bước thực hiện của Chat bot Nhất Nam
-Hình 2.1 Chat-Bot Nhất Nam
Trang 2517
a Inputs: Câu hỏi từ người dùng
Với câu hỏi của người dùng, ta cần xác định mục đích, ý định (intent) của câu hỏi
đó Trong bài toán này, giả sử có 3 ý định sau:
- Câu hỏi nghiệp vụ đã biết: là một trong 29 miền nghiệp vụ đã xác định
o Ví dụ: hỏi giá phần mềm: "Em ơi, giá cả thế nào vậy em?"
- Câu chào hỏi: là các câu chào hỏi, spam, Chat bot hướng đến tự động trả lời theo dạng chào hỏi lại để tránh spam đến nhân viên chăm sóc khách hàng
-o Ví dụ: “Hi bạn, bạn có khỏe không?”
- Câu hỏi nghiệp vụ chưa có trong dữ liệu: đây là các câu hỏi nghiệp vụ tuy nhiên chưa được định nghĩa trong 29 chủ đề được nêu Nhiệm vụ của Chat-bot trong trường hợp này sẽ chuyển có nhân viên để trả lời đúng cho khách hàng
o Ví dụ: Mình muốn mua thêm chức năng hóa đơn điện tử thì có cần những gì?
b Pre-processing
Đây là bước tiền xử lý dữ liệu, mục đích là sẽ chuẩn hóa dữ liệu để phù hợp, đem lại hiệu quả cho mô hình Chi tiết hơn sẽ được trình bày ở phần chi tiết phân loại ý định của Chat-bot
d Xác định miền chào hỏi
Nếu câu hỏi của người dùng nằm ngoài các chủ đề nghiệp vụ định nghĩa, trước tiên ta cần xác định đây có là câu chào hỏi từ người dùng không? Nếu được xác định là câu chào hỏi, chat bot tự động chào hỏi lại người dùng phù hợp với câu -chào hỏi đó Tuy nhiên nếu câu hỏi này không phải là câu chào hỏi, ta coi đây là câu hỏi nghiệp vụ mới chưa được định nghĩa
e Xử lý câu nghiệp vụ chưa xác định
Với câu nghiệp vụ mới, ta sẽ chuyển có nhân viên chăm sóc khách hàng trả lời người dùng Khi đó, người dùng sẽ nhận được câu trả lời chính xác nhất đến từ nhân viên hỗ trợ