Tải bản đầy đủ (.docx) (17 trang)

XÂY DỰNG ỨNG DỤNG CHATBOT hỗ TRỢ học lập TRÌNH WEB

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 17 trang )

TRƯỜ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

MỤ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


2


LỜ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!

3


CHƯƠ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.

4


CHƯƠ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)
5


 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.

6


CHƯƠ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:
7


 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

8


Hì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

9


Hì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.

10


Hì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

11


Nhậ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.

Hình 4.10. Tin nhắn trả lời mặc định khi “bot” không nhận diện được tin nhắn
Lưu ý: Có thể thêm nhiều nút bấm dưới card này, vì thế nếu hầu hết những yêu cầu
của khách hàng là về thời gian, địa điểm, số điện thoại của bạn hoặc những chỉ dẫn,

hãy tạo thêm các block khác với các thông tin trên để cung cấp cho người dùng.
Nếu muốn tạo 1 block mới, nhấp vào “+”
12


Hì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

13


Cũ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

Hình 4.16. Tùy chỉnh tin nhắn đầu tiền
Sử dụng Add a card để làm tin nhắn bot đa dạng hơn
14


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

15


Trong 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
Dựa vào nền tảng xây dựng chatbot rất dễ sử dụng là Chatfuel mà nhóm đã xây
dựng được một chatbot nho nhỏ hỗ trợ việc học lập trình.
Tuy nhiên, khâu nhập liệu và xử lý dữ liệu bằng tay khiến cho quá trình chưa
bộc lộ rõ khả năng của AI, chatbot mà nhóm xây dựng chỉ dừng lại ở mức quét từ,
khối từ rồi trả về đáp án, chưa thấy rõ “sự thông minh của máy tính”. Hình thức
xây dựng dừng lại ở kéo thả, nên chưa thể tùy biến được nhiều….

16


TÀI LIỆU THAM KHẢO
[1]
[2]

Trang cộng đồng của chatfuel: />Bài viết giới thiệu và so sánh 25 nền tảng chatbot:
/>
[3]

Tài liệu học tập Chatfuel: />
[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, />
17




×