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

XÂY DỰNG CHATBOX dựa TRÊN nền TẢNG TENSORFLOW

29 579 11

Đ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

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 2,85 MB
File đính kèm Chatfuel.rar (24 MB)

Nội dung

TensorFlow hỗ trợ tính toán song song trên cả CPU và GPU  Một vài điểm nổi bật của TensorFlow so với các thư viện machine learning khác:  Mã nguồn mở nên sử dụng miễn phí  TensorFlo

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

Báo cáo cuối kì Trí tuệ nhân tạo

Chủ đề: XÂY DỰNG CHATBOX DỰA TRÊN NỀN TẢNG TENSORFLOW

GVHD: Th.s Nguyễn Đình Hiển

Sinh viên thực hiện:

Năm học: 2018 – 2019

Trang 2

MỤC LỤC

I Tìm hiểu về TensorFlow 3

1 Giới thiệu về TensorFlow 3

2 Cách thức hoạt động của TensorFlow 5

II Tìm hiểu về ChatBox 6

1 Giới thiệu về ChatBox 6

2 Chức năng của ChatBox 6

3 Nền tảng xây dựng ChatBox 6

4 ChatBox hoạt động như thế nào? 9

5 Chatbox trên Facebook Messenger 9

6 Chatbox Facebook làm sao hiểu ngôn ngữ người dùng 9

III Xây dựng ChatBox trên Messenger 9

IV Tiến hành cài đặt và sử dụng 12

1 Định hướng 12

2 Tiến hành cài đặt 12

V Tổng kết 27

1 Ưu điểm 27

2 Nhược điểm 27

VI Tài liệu tham khảo 28

Trang 3

I Tìm hiểu về TensorFlow

1 Giới thiệu về TensorFlow

Hình 1 Biểu tượng của TensorFlow

Tensorflow là một thư viện mã nguồn mở cung cấp khả năng xử lí tính toán

số học dựa trên biểu đồ mô tả sự thay đổi của dữ liệu, trong đó các node là các

phép tính toán học còn các cạnh biểu thị luồng dữ liệu Trong tesorflow có một vài khái niệm cơ bản sau

Sơ đồ 1 Một vài khái niệm trên Tesoraflow

Tensor:

Tensor là cấu trúc dữ liệu trong tensorflow đại diện cho tất cả các loại dữ liệu Nói cách khác, tất cả các kiểu dữ liệu khi đưa vào trong tensorflow thì đều được gọi là Tensor Vậy nên có thể hiểu được Tensorflow là một thư viện mô tả, điều chỉnh dòng chảy của các Tensor Tensor có 3 thuộc tính cơ bản

là rank, shape và type

Rank:

Rank là số bậc của tensor Ví dụ Tensor = [1] thì có rank = 1, Tensor =

[[3,4],[5,6]] thì sẽ có rank = 2 Việc phân rank này khá quan trọng vì nó đồng thời cũng giúp phân loại dữ liệu của Tensor Khi các rank đặc biệt cụ thể, Tensor có những tên gọi riêng như sau:

 Scalar: Khi Tensor có rank bằng 0

TensorRankShapeType

Trang 4

 Vector: Vector là một Tensor rank 1 .

 Matrix: Đây là một Tensor rank 2 hay mảng hai chiều theo khái niệm của Python

 N-Tensor: Khi rank của Tensor tăng lên lớn hơn 2, chúng được gọi chung là N-Tensor

Hình 2 Ví dụ minh họa về Tensor

Tensorflow là một thư viện mã nguồn mở mạnh mẽ cho machine learning được phát triển bởi các nhà cứu của Google và phát hành tháng 10 năm 2015 Thư viện này hỗ trợ xây dựng các mô hình deeplearning rất phức tạp qua những API cực kì ngắn gọn và nó có rất nhiều các hàm được xây dựng sẵn cho từng bài toán

Trang 5

phép tính toán song song trên nhiều máy tính khác nhau, tất nhiên là cũng có thể trên nhiều CPU, GPU trong cùng một máy Các mô hình deeplearning phát triển trên TensorFlow có thể được sử dụng trên nhiều các loại platform khác nhau (từ smartphone tới distributed servers) và trên cả CPUs lẫn GPUs Tensorflow cung cấp các API làm việc với Python, C++.

Hình 3 TensorFlow hỗ trợ tính toán song song trên cả CPU và GPU

Một vài điểm nổi bật của TensorFlow so với các thư viện machine

learning khác:

 Mã nguồn mở nên sử dụng miễn phí

 TensorFlow hỗ trợ trên nhiều ngôn ngữ khác nhau: Python, C++, Java, R,

Go, Javascript

 Thư viện này có thể được sử dụng với CPU hoặc cùng với GPU

 Hỗ trợ nhiều nền tảng từ máy tính đến điện thoại, hệ thống nhúng, …

 Hỗ trợ nhiều nền tảng điện toán đám mây: Amazon Web Services (AWS), Google Cloud Platform (Google), Azune (Microsoft)

 Tích hợp Keras - thư viện cấp cao về neural network

 Hỗ trợ tốt tính toán đồ thị, khối lượng API khổng lồ cho các mô hình mạngneuron

 Cho phép dễ dàng trển khai các model và sử dụng chúng dễ dàng  Có một cộng đồng hỗ trợ tốt

2 Cách thức hoạt động của TensorFlow

Trang 6

II Tìm hiểu về ChatBox

1 Giới thiệu về ChatBox

Theo định nghĩa chính xác trong từ điển Oxford, “chatbox là chương trình máy tính được thiết kế để mô phỏng cuộc trò chuyện với con người, đặc biệt là trêninternet Hay nói cách khác, hãy xem nó là một trợ lí, có thể giao tiếp với chúng ta thông qua tin nhắn văn bản, một người bạn ảo được tích hợp vào các website, ứng dụng, mang lại cho những người kinh doanh cơ hội tiếp cận gần hơn với khách hàng Tóm gọn lại, chatbox là gì? Chúng là một hệ thống giao tiếp tự động với người dùng

2 Chức năng của ChatBox

Không chỉ ứng dụng cho Thương mại điện tử, Chat bot có thể ứng dụng vào mọi lĩnh vực & dịch vụ Vì thế, người ta còn gọi là Cuộc cách mạng Chat Bot

 Dự báo thời tiết: Lấy thời tiết bất cứ khi nào bạn yêu cầu

 Cửa hàng bán lẻ: Giúp bạn chọn ra và đặt hàng cửa hàng trong tuần

 Tin tức: Hỏi nó để cho bạn biết khi nào một cái gì đó thú vị xảy ra

 Lời khuyên: Bạn sẽ nói với nó các vấn đề của bạn và nó giúp bạn nghĩ ra giải pháp

 Tài chính cá nhân: Nó giúp tôi quản lý tiền bạc của tôi tốt hơn

 Sắp xếp lịch:Hãy cho tôi một cuộc gặp gỡ với một người nào đó trong nhómMessenger cùng Facebook

 Booking: Đặt vé máy bay, đặt khách sạn, đặt nhà hàng

 Khả năng xử lý ngôn ngữ tự nhiên mạnh mẽ (NLU)

 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

Chatbox 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ớicon 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…

3 Nền tảng xây dựng ChatBox

3.1 ChatFuel.com

Trang 7

Hình 4 ChatFuel

Hơn 360.000 Chatbox đã đượ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

3.2. Chatty People (chattypeople.com)

Hình 5 Chatty People

Người sử dụng Facebook thường xuyên nên cân nhắc việc sử dụng ChattyPeople để giao tiếp với khách hàng Với công cụ này, bạn sẽ có thể đápứng với khách hàng mà không cần bất kỳ mã hóa phức tạp nào Đây là một trong những nền tảng đơn giản nhất trên thị trường hiện nay Thật dễ dàng để tích hợp bất kỳ máy tính nào bạn tạo bằng công cụ này với các nền tảng Thương mại Điện tử phổ biến như Shopify Bạn không cần phải viết mã bất

kỳ và điều tốt nhất là nó hoàn toàn miễn phí

Trang 8

3.3. Messnow.com

Hình 5 Messnow

Đây là một trong những nền tảng đầu tiên tại Việt Nam cung cấp Chatbox cho doanh nghiệp Điểm nổi bật nhất của Messnow đó chính là giao diện nền tảng hoàn toàn bằng tiếng Việt, giúp cho người dùng dễ dàng tạo Chatbox cũng như có khả năng xử lý ngôn ngữ tự nhiên một cách chính xác nhất để cung cấp thông tin hiệu quả Ngoài ra nó còn có kho ứng dụng như đọc báo, chơi game, chỉnh sửa ảnh… giúp người dùng có thể tích hợp nhiều ứng dụng hơn cho bot Nền tảng hỗ trợ hơn 50 ngôn ngữ, vì vậy đây là nền tảng đang được các sự kiện, khách sạn, nhà hàng, doanh nghiệp tại Việt Nam đặc biệt tin dùng.

3.4. Manychat.com

Hình 6 ManyChat

Chức năng cơ bản của ManyChat cho phép bạn tiếp nhận người dùng mới, gửi nội dung, lập lịch bài đăng, thiết lập phản hồi tự động từ khóa (văn bản, hình ảnh, menu), tự động phát nguồn cấp dữ liệu RSS của bạn và nhiều hơn nữa Nền tảng được hỗ trợ đa ngôn ngữ và giao diện dễ sử dụng đang

Trang 9

được các doanh nghiệp, đặc biệt là những người làm trong ngành Markerting tin dùng.

4. ChatBox hoạt động như thế nào?

Người dùng chỉ cần sao chép và dán đoạn URL hoặc nhập nội dung câu hỏi

và câu trả lời có sẵn Các nền tảng tạo ChatBox có khả năng xử lý ngôn ngữ tự nhiên, đặc biệt là tiếng Việt, nhờ sở hữu công nghệ học máy tối ưu cùng sự tham gia phát triển sản phẩm của đội ngũ chuyên gia về trí tuệ nhân tạo và xử lý ngôn ngữ tự nhiên

Các chatbox được tạo trên nền tảng này có thể hiểu chính xác câu hỏi và đưa

ra câu trả lời dựa trên dữ liệu được cung cấp ban đầu Chúng có khả năng tự học vàtrở nên thông minh hơn theo thời gian nhờ người dùng "đào tạo" thường xuyên

5. Chatbox trên Facebook Messenger

Hiện nay Facebook cho phép bạn cài đặt Messenger Chatbox trên fanpagedoanh nghiệp của bạn Chatbox cho phép bạn tạo một cuộc hội thoại tự động

với khách hàng nếu như họ muốn gửi tin nhắn tới fanpage của bạn bằng Facebook

Messenger

Một loạt các menu hoặc từ khoá hướng dẫn khách hàng thực hiện các bước mua hàng, tiết kiệm thời gian, loại bỏ những yêu cầu vụn vặt mà không tạo ra doanh thu Đây là cách cho phép mọi người dễ dàng tương tác với fanpage của bạn

để mua vé cho 1 sự kiện, nhận các chỉ dẫn, xem menu, tạo một cuộc hẹn, vv

6. Chatbox Facebook làm sao hiểu ngôn ngữ người dùng

Chatbox sử dụng những từ khoá mà người dùng có thể gõ ngay trên dòngchat và từ đó đưa ra những kết quả tương ứng với điều mà người dùng đang quantâm

Ví dụ như nếu bạn sở hữu một nhà hàng mà có những lựa chọn về đồ ănchay trong thực đơn, bạn có thể lập trình từ “ăn chay” ngay trong bot Sau đó khingười dùng gõ từ khoá đó, tin nhắn trả về sẽ bao gồm những lựa chọn về đồ ănchay từ thực đơn hoặc chỉ ra những phần thực đơn mà có những món ăn này

Bạn có thể tạo một bot thông minh với những điều kiện kích hoạt mà

bạn đã xác định từ trước Bot của bạn có thể nhận diện những đoạn văn bản giúp

người dùng có thể nhận được câu trả lời nhanh chóng và dễ dàng

Trang 10

III Xây dựng ChatBox trên Messenger

Bước 1:

Truy cập vào trang web https://www.facebook.com/pages/creation/

Chọn loại trang, đặt tên cho trang của bạn và chọn tạo trang phía trên bên trái màn hình

Hình 7 Tạo trang

Bước 2: Khởi chạy ChatFuel

Truy cập Chafuel.com và đăng nhập bằng facebook của bạn

Trang 11

Hình 8 Chatfuel

Bước 3: Kết nối Bot với Facebook

Bạn sẽ thấy một nút ở phía trên bên phải để “Connect to

Facebook” Nhấp vào nó, sau đó chọn trang bạn vừa tạo Điều này tạo cho chatbox được liên kết với Facebook

Hình 9 Kết nối chatbox với Facebook

Bước 4: Xây dựng Bot

Ở bên phải, bạn có một menu tùy chọn dọc Bạn sẽ chỉ cần 'Tự động hóa' để bắt đầu Nửa bên trái của màn hình bao gồm các khối, nhóm khối và chuỗi của

Trang 12

bạn Phía bên phải là khung chỉnh sửa cho nội dung của khối hoặc chuỗi đang hoạt động.

Nếu bạn chọn khối bạn muốn chỉnh sửa (ví dụ như Hello), bạn sẽ thấy ở dưới cùng của cửa sổ chỉnh sửa một loạt các tùy chọn: Text, Typing, Quick Reply, Image, Gallery, Go to Block, to Sequence và dấu cộng để truy cập các tùy chọn khác Đây là những thành phần cơ bản của bot Kéo chúng vào ngăn chỉnh sửa của các khối của bạn và chỉnh sửa chúng khi thích hợp

Hình 10 Add a card

Bước 5: Kiểm tra Bot

Nhấp vào nút “Test this chatbox” màu xanh ở phía trên bên phải để thử bot

của bạn

Hình 11 Test this chatbox

IV Tiến hành cài đặt và sử dụng

1 Định hướng

- Mục tiêu: Xây dựng một ứng dụng Chatbox 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

Trang 13

- Yêu cầu: Chatbox 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

2 Tiến hành cài đặt

2.1 Khởi tạo một Chatbox trên Chatfuel

Trước khi tạo một Chatbox, 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 chongười dùng số điện thoại để liên hệ, một URL để truy cập hoặc 1 block mới vớimột hoặc nhiều card mới

Hình 12 Đặ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:

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ỉ

Trang 14

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 sauchuỗ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ớicác công cụ như IFTTT hay Zapier, và rất nhiều lựa chọn như Google Sheetshoặc Google Calendar

Để tạo một Chatbox 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 Chatbox mới.

Vào địa chỉ Chatfuel.com đăng kí tài khoản

Hình 13 Trang chủ Chatfuel

Sau đó nhấp vào Add đề tạo Bot chat mới

Trang 15

Hình 14 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 Chatbox trong hộp văn bản và nhấp vào nút “Create a

Chatbox” để tạo

Hình 15 Chọn nút Create a Chatbox để hoàn thành khởi tạo Chatbox

Ở trang tiếp theo, nhấp chuột vào “Connect to Facebook”

Trang 16

Hình 16 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 Chatbox

Hình 17 Giao diện khung kết nối

Bây giờ nhấp chuột vào “Build” trong thanh menu góc bên để bắt đầu tạo Chatboxcủa bạn

Trang 17

Hình 18 Xây dựng Chatbox

Tin nhắn chào mừng mặc định được để trong một text card, đây là điều đầu tiênngười dùng sẽ nhìn thấy khi họ nhấp vào Messenger của bạn Bạn có thể giữ textcard 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 trongnhững tuỳ chọn khác có sẵn như gallery card hoặc plugin card

Trang 18

Hình 19 Tin nhắn chào mừng mặc định

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 20 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 19

Hình 21 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ầucủ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ườidùng

Nếu muốn tạo 1 block mới, nhấp vào “+ Add Block”

Hình 22 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 23 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 Chatbox” để lưu lại

Trang 20

Hình 24 Nút Test This Chatbox

Sau đó bạn nhấp vào “View on Messenger.com” để kiểm tra lại nó.

Hình 25 Xem thử trên Messenger

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

2.2 Đào tạo Chatbox

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, Chatbox của bạn càng tương tác tốt hơn với người dùng

Trang 21

Bước 2:

Vào Automate tùy chỉnh các cài đặt mặc định cho Chatbox

+ Welcome mesanger: Tùy chỉnh tin nhắn đầu tiên khi người dùng lần đầu nhắn tinvới Chatbox

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

Hình 28 Sử dụng Add a card

2.3 Thiết lập Chatbox 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 Chatbox  Chọn Cài đặt  Chọn nền tảng Messenger

Ngày đăng: 24/02/2019, 21:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w