Để đi trước thời đại và tự tạo ra cho mình lợi thế cạnh tranh so với đối thủ Trong cuộc đua về Chatbot, các đại gia công nghệ, đặc biệt là Microsoft, Google hay Facebook… ganh đua vị trí
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
Báo cáo môn TRÍ TUỆ NHÂN TẠO
XÂY DỰNG ỨNG DỤNG CHATBOT HỖ TRỢ HỌC
LẬP TRÌNH WEB
GVHD: ThS Nguyễn Đình Hiển
Nhóm Sinh Viên:
TP HCM – 2018
Trang 2MỤC LỤC
LỜI CẢM ƠN 3
CHƯƠNG 1 TỔNG QUAN 4
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 Khái niệm chatbot? 5
2.2 Sự khác biệt giữa chatbot và trợ lý ảo 5
2.3 Các chức năng của chatbot 5
2.4 Nền tảng xây dựng chatbot cho nhà phát triển 6
CHƯƠNG 3 CÀI ĐẶT VÀ DEMO SẢN PHẨM 7
3.1 Nội dung 7
3.2 Cài đặt 7
3.2.1 Khởi tạo một chatbot trên Chatfuel 7
3.2.2 Đào tạo chatbot 13
3.2.3 Thiết lập chatbot trên Fanpage Facebook 14
CHƯƠNG 4 TỔNG KẾT 16
TÀI LIỆU THAM KHẢO 17
Trang 3LỜI CẢM ƠN
Được sự phân công của thầy Nguyễn Đình Hiển, là giảng viên của
Trường Đại học Công nghệ thông tin, sau gần ba tháng học tập và tìm hiểu nhóm em đã hoàn thành bài báo cáo về “Xây dựng ứng dụng chatbot hỗ trợ học lập trình Web”.
Để hoàn thành nhiệm vụ được giao, ngoài sự nỗ lực học hỏi của nhóm chúng em còn có sự hướng dẫn tận tình của thầy, anh chị khóa trên và bạn bè chung khóa.
Chúng em chân thành cảm ơn thầy giáo – ThS …Nguyễn Đình Hiển, người đã hướng dẫn cho chúng em trong suốt thời gian học tập học phần “Trí tuệ nhân tạo” Mặc dù thầy còn bận nhiều công việc nhưng không ngần ngại chỉ dẫn chúng em, định hướng đi cho em, để em hoàn thành tốt nhiệm vụ Một lần nữa chúng em chân thành cảm ơn thầy và chúc thầy dồi dào sức khoẻ.
Tuy nhiên vì kiến thức chuyên môn còn hạn chế và bản thân còn thiếu nhiều kinh nghiệm thực tiễn nên nội dung của báo cáo không tránh khỏi những thiếu xót, em rất mong nhận sự góp ý, chỉ bảo thêm của thầy cùng nhận xét góp
ý của các bạn học.
Một lần nữa xin gửi đến thầy lời cảm ơn chân thành và tốt đẹp nhất!
Trang 4CHƯƠNG 1 TỔNG QUAN
Thời gian gần đây, chatbot đang trỗi dậy mạnh mẽ trong lĩnh vực digital marketing Rất nhiều công ty đang thử nghiệm công nghệ trí tuệ nhân tạo này để tạo ra những đột phát mới cho kinh doanh Nếu năm 2017, mọi người vẫn còn khá bỡ ngỡ với chatbot thì nay nó đã thật sự gây được tiếng vang và tạo nên một cơn sốt công nghệ chưa từng có trong kỷ nguyên công nghiệp 4.0.
Năm 2018 hứa hẹn sẽ là một sự bức phá mạnh mẽ của chatbot Để đi trước thời đại và tự tạo ra cho mình lợi thế cạnh tranh so với đối thủ
Trong cuộc đua về Chatbot, các đại gia công nghệ, đặc biệt là Microsoft, Google hay Facebook… ganh đua vị trí dẫn đầu bằng cách xây dựng nền tảng cho những nhà phát triển khác sử dụng để tạo nên Chatbot của riêng họ như nền tảng API.AI của Google, Microsoft Bot Framework, IBM Watson Điều này tạo nên hệ sinh thái công nghệ nuôi dưỡng các sản phẩm phát triển đa dạng và biến Chatbot thành cuộc chơi của số đông, bất cứ nhà lập trình, phát triển và startup công nghệ nào cũng có thể tiếp cận được và làm nên sản phẩm của riêng mình
Chatbot được dự đoán và kỳ vọng sẽ thay thế hoàn toàn con người,
website bán hàng trong mảng kinh doanh, thương mại điện tử, dịch vụ và còn nhiều hơn thế nữa trong tương lai.
Trang 5CHƯƠNG 2
CƠ SỞ LÝ THUYẾT
2.1 Khái niệm chatbot?
Về cơ bản, chatbot là một hình thức thô sơ của phần mềm trí tuệ nhân tạo Nó hoạt động độc lập, có thể tự động trả lời những câu hỏi hoặc xử lý tình huống càng thật càng tốt Phạm vi và sự phức tạp của chatbot được xác định bởi thuật toán của người tạo nên chúng
Chatbot 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 Với các câu hỏi được đặt ra, chatbot sẽ dự đoán và phản hồi chính xác nhất có thể Nếu tình huống đó chưa xảy ra (không có trong dữ liệu), chatbot sẽ bỏ qua nhưng sẽ đồng thời “bắt chước” để áp dụng cho các cuộc trò chuyện thường xuyên (lặp đi lặp lại nhiều lần) về sau
Ví dụ, bạn có thể yêu cầu chatbot tìm kiếm một bộ phim “bom tấn” đang chiếu trên khắp các rạp Ngoài tên bộ phim, bạn có thể nhận được nhiều kết quả hơn, như thời gian chiếu, địa điểm tốt nhất, vị trí chố ngồi tốt nhất… và bạn không cần phải đặt thêm một câu hỏi nào khác nữa
2.2 Sự khác biệt giữa chatbot và trợ lý ảo
Một số ý kiến cho rằng trợ lý ảo và chatbot là như nhau một nhưng số ý kiến lại không đồng ý Tuy nhiên theo nghiên cứu của các nhà phát triển thì cả hai chatbot và trợ lý ảo đều thông minh hơn một bot đơn giản Khi một bot chỉ hoạt động dựa trên dữ liệu nhập vào, thì các chatbot và trợ lý ảo có nhiều lựa chọn hơn khi giải thích các lệnh Được hỗ trợ bởi trí tuệ nhân tạo, chúng hiểu ý nghĩa của những gì con người đang nói hoặc gõ Chúng có thể phân tích các từ cụ thể trong một bối cảnh nhất định Chúng có thể sử dụng thông tin từ các nguồn khác, giống như một CRM, những hiểu biết thời gian thực và nhiều các tính năng hơn nữa
Vậy chatbot và trợ lý ảo khác nhau ở điểm nào?
Trợ lý ảo có thể hiểu đơn giản là phần mềm, công cụ được xây dựng dựa trên nền tảng trí thông minh nhân tạo (AI) hỗ trợ người dùng thiết bị dễ dàng hơn bằng chính thói quen mà người dùng thường làm trên thiết bị đó, có thể hiểu giọng nói của người dùng và xử lý chúng, phù hợp cho những cá nhân sử dụng Còn chatbot cũng được hỗ trợ bởi AI, hỗ trợ và phù hợp cho các ứng dụng mục đích duy nhất như hỗ trợ khách hàng, thu hút khách hàng, hoặc mua hàng tự động cho các doanh nghiệp Ngày nay, các doanh nghiệp cũng bắt đầu ứng dụng chatbot vào trong mô hình kinh doanh của mình
2.3 Các chức năng của chatbot
Khả năng xử lý ngôn ngữ tự nhiên mạnh mẽ (NLU)
Trang 6 Khả năng trò chuyện với con người, hoặc lôi kéo sự chú ý của mọi người đến chúng
Có khả năng học tập dựa trên các thuật toán máy học, ví dụ: Đào tạo chatbot dựa trên các cuộc trò chuyện hiện hành, Học hỏi từ sự tương tác với con người,
sử dụng những hiểu biết của khách hàng để tối ưu hóa và tăng cường thời gian đàm thoại…
2.4 Nền tảng xây dựng chatbot cho nhà phát triển
Nền tảng tạo chatbot không cần lập trình phổ biến nhất tại Việt Nam hiện nay
Chatfuel.com
Hình 2.1 Biểu tượng của chatfuel
Hơn 360.000 chatbot đã được tạo ra bằng cách sử dụng Chatfuel, phục vụ hơn
17 triệu người dùng trên toàn cầu Chatfuel là một công cụ xây dựng cơ bản của một bot Những tính năng nổi bật trên Chatfuel đó là Tìm kiếm của Google, tìm kiếm Bing, API JSON, RSS, Đăng ký plugin, IFTTT, Zapier, đầu vào của người dùng và LiveChat Chatfuel hỗ trợ khoảng 50 ngôn ngữ trên khắp thế giới
Trang 7CHƯƠNG 3 CÀI ĐẶT VÀ DEMO SẢN PHẨM
3.1 Nội dung
Mục tiêu: Xây dựng một ứng dụng chatbot trên website cá nhân liên kết với facebook hỗ trợ việc học lập trình ngôn ngữ html
Yêu cầu: Chatbot có thể trả lời người dùng các câu hỏi liên quan đến ngôn ngữ html và một số câu hỏi đơn giản
Nền tảng xây dựng: Facebook bot framework, Zotabox, Blogger
Nền tảng phát triển: Chatfuel
3.2 Cài đặt
3.2.1 Khởi tạo một chatbot trên Chatfuel
Trước khi tạo một chatbot, hãy tìm hiểu một số thuật ngữ sẽ gặp phải:
Block: bao gồm một hoặc nhiều thẻ card (tin nhắn) Các card này có thể được
gửi cùng một lúc với 1 block Bạn có thể thêm 1 nút ở phía dưới 1 card để gửi cho người dùng số điện thoại để liên hệ, một URL để truy cập hoặc 1 block mới với một hoặc nhiều card mới
Hình 4.1 Đặc điểm của Block
Có rất nhiều loại card như Gallery (chuổi hình ảnh), Text card (văn bản), Image hoặc Plugin:
Trang 8 Gallery card: là một chuỗi nhiều hình ảnh Mỗi ảnh có một tiêu đề, phụ đề và
đường link URL, nút bấm hoặc tin trả lời nhanh Tin trả lời nhanh có thể được coi như một card phụ hoạt động giống như một lời nhắc với nhiều chỉ dẫn từ fanpge của bạn nếu như người dùng không biết làm gì tiếp theo sau chuỗi tin nhắn tự động của bạn
Text card: bao gồm phần văn bản, các nút bấm hoặc tin trả lời nhanh
Image card: bao gồm 1 ảnh và 1 tin trả lời nhanh
Plugin card: tích hợp nhiều lựa chọn như cho phép dười dùng đọc và theo dõi
blog của bạn, gửi bài từ tài khoản Youtube hay Instagram của bạn với các công
cụ như IFTTT hay Zapier, và rất nhiều lựa chọn như Google Sheets hoặc Google Calendar
Để tạo một chatbot với Chatfuel, đầu tiên phải tạo một tài khoản Chatfuel Sau
đó bạn phải đăng nhập vào tài khoản Facebook, nhấp chuột vào dấu “+” để bắt
đầu một chatbot mới
Vào địa chỉ Chatfuel.com đăng kí tài khoản
Hình 4.2 Trang chủ Chatfuel Sau đó nhấp vào Create đề tạo Bot chat mới
Trang 9Hình 4.3 Nút tạo mới 1 Bot chat
Tiếp theo, chọn một mẫu để chỉnh sửa hoặc chọn một mẫu trắng để làm từ đầu Nhập tên cho chatbot trong hộp văn bản và nhấp vào nút “Create a
chatbot” để tạo.
Hình 4.4 Chọn nút Create a chatbot để hoàn thành khởi tạo Chatbot
Ở trang tiếp theo, nhấp chuột vào “Connect” để kết nối với fanpage facebook
Trang 10Hình 4.5 Kết nối tới Fanpage Facebook
Chọn một fanpage đã có sẵn của bạn hoặc là tạo một fanpage mới nơi mà bạn sẽ
sử dụng chatbot
Hình 4.6 Giao diện khung kết nối
Bây giờ nhấp chuột vào “Automate” trong thanh menu góc bên để bắt đầu tạo
chatbot của bạn
Trang 11Hình 4.7 Xây dựng chatbot Tin nhắn chào mừng mặc định được để trong một text card, đây là điều đầu tiên người
dùng sẽ nhìn thấy khi họ nhấp vào Messenger của bạn Bạn có thể giữ text card
này, hay thay đổi (ví dụ bức ảnh chẳng hạn), hoặc bắt đầu lại với một trong những
tuỳ chọn khác có sẵn như gallery card hoặc plugin card
Hình 4.8 Tin nhắn chào mừng mặc định
Trang 12Nhập các tính năng của card mà bạn đã chọn Thêm các nút bấm cho card mà
người dùng có thể nhấp vào để thực hiện hành động tiếp theo như lấy số điện thoại, truy cập vào một URL khác hoặc mở một block mới
Hình 4.9 Tùy chỉnh các tính năng cho card Câu trả lời mặc định là block xuất hiện trên Main Menu khi bạn bắt đầu Chatfuel cho
phép thay đổi tin nhắn tương tác đầu tiên của mình sau khi người dùng đặt ra một
câu hỏi nào đó Có thể đổi đoạn văn bản ở đây hoặc tạo 1 block tùy chỉnh để thêm vào phần câu trả lời mặc định
Trang 13Hình 4.11 Thêm 1 block mới
Một màn hình mới sẽ xuất hiện và cho phép bạn bắt đầu tạo các card và nút bấm
mới để gửi cho người dung.
Hình 4.12 Giao diện khi tạo 1 block mới
Khi cảm thấy hài lòng với bot của mình, nhấn “Test This Chatbot” để lưu lại
Hình 4.13 Nút Test This Chatbot
Sau đó bạn nhấp vào “View on Messenger.com” để kiểm tra lại nó.
Hình 4.14 Xem thử trên Messenger
Trang 14Cũng có thể nhờ người khác kiểm tra bot của bạn từ máy tính bàn, điện thoại và
máy tính bảng.
3.2.2 Đào tạo chatbot
Bước 1: Vào set up Ai, tạo kịch bản câu hỏi và câu trả lời trong mục if user says something similar to và câu trả lời trong bot replies with
Càng nhiều câu hỏi, chatbot của bạn càng tương tác tốt hơn với người dùng
Hình 4.15 Nhập dữ liệu bằng tay cho “bot”
Bước 2 Vào Automate tùy chỉnh các cài đặt mặc định cho chatbot
+ Welcome mesanger: Tùy chỉnh tin nhắn đầu tiên khi người dùng lần đầu nhắn tin với chatbot
Trang 15Sử dụng Add a card để làm tin nhắn bot đa dạng hơn
Hình 4.17 Sử dụng Add a card
3.3.3 Thiết lập chatbot trên Fanpage Facebook
Đầu tiên ta đăng nhập tài khoản liên kết với Chatfuel Vào trang chủ Fanpage của chatbot Chọn Cài đặt Chọn nền tảng Messenger
Hình 4.18 Quá trình thiết lập nền tảng Messenger
Trang 16Trong phần Nền tảng Messenger ta tìm đến mục “Miền được đưa vào danh sách hợp lệ” và tiến hành thêm tên miền của website cá nhân của chúng ta vào và nhớ “Lưu” lại
Hình 4.19 Thêm tên miền website cá nhân vào Miên được đưa vào danh sách hợp lệ
CHƯƠNG 4 TỔNG KẾT
4.1 Ưu và nhược điểm
4.1.1 Ưu điểm
Các nhóm công cụ xây dựng và phát triển điều miễn phí
Các nhóm công cụ dễ sử dụng không cần có kiến thức về lập trình
Các nhóm công cụ thông dụng, có nhiều bài viết hướng dẫn sử dụng
Có hỗ trợ tiếng Việt
4.1.2 Nhược điểm
Nhập liệu chủ yếu bằng tay
Chỉ có thao tác kéo thả nên tùy biến còn rất hạn chế
4.2 Tổng kết
Trang 17TÀI LIỆU THAM KHẢO
[1] Trang cộng đồng của chatfuel: https://community.chatfuel.com/
[2] Bài viết giới thiệu và so sánh 25 nền tảng chatbot: https://chatbotsjournal.com/
25-chatbot-platforms-a-comparative-table-aeefc932eaff
[3] Tài liệu học tập Chatfuel: https://chatfuel.com/bot/tailieuhoctapfree
[4] Hướng dẫn dùng Chatbot thông minh hơn với Set Up AI tại Chatfuel, Lê Anh
Tuấn, 2018, https://hoanglongteam.com/huong-dan-dung-chatbot-thong-minh-hon-voi-set-up-ai-tai-chatfuel/