Chúng ta

Tạo Chatbot trên Facebook với FPT.AI

Chủ nhật, 9/7/2017 | 16:26 GMT+7

FPT.AI mới cho ra mắt nền tảng giao diện hội thoại giúp các lập trình viên nói riêng và doanh nghiệp nói chung có thể dễ dàng tạo lập ứng dụng trên nền tảng trí tuệ nhân tạo. Lập trình viên hoàn toàn có thể phát triển một Chatbot đơn giản ngay cả khi chưa biết gì hoặc có thể xây dựng những kịch bản, hội thoại… chi tiết cho Chatbot có độ khó cao hơn với nền tảng này. 

Facebook Messenger Bot là xu hướng tương đối mới mang lại hiệu quả cao cho doanh nghiệp nói chung bởi nó giúp tương tác với người dùng một cách tự động thông qua việc có thể đọc được các tin nhắn gửi đến, hiểu nội dung người dùng muốn gì, sau đó trả lời dưới dạng văn bản, hình ảnh hay đường dẫn (link), tùy thuộc vào cách xây dựng cú pháp tin nhắn phản hồi.

Hiểu một cách đơn giản, chatbot giống như một trợ lý ảo, là một phần của phần mềm mà bạn có thể trao đổi thông tin với nó như với một tổng đài viên, nhân viên chăm sóc khách hàng…, hoặc đôi khi chỉ đơn giản là nói chuyện nhằm mục đích giải trí… Chatbot có khả năng thay thế cho hầu hết ứng dụng hỗ trợ và cung cấp thông tin hiện nay, Ví dụ, thay vì phải tải phần mềm xem lịch hoặc dự báo thời tiết, bạn có thể trực tiếp hỏi con Bot về ngày tháng, thời tiết, nhiệt độ, độ ẩm… Một Chatbot  thậm chí có thể trở thành trợ lý ảo của riêng bạn để chăm sóc tất cả mọi thứ, từ việc gọi một chiếc Uber cho bạn đến việc thiết lập lịch trình làm việc trong ngày.

Đón nhận xu hướng mới này, FPT.AI đã cho ra mắt nền tảng giao diện hội thoại giúp các lập trình viên nói riêng và doanh nghiệp nói chung có thể dễ dàng tạo lập ứng dụng trên nền tảng trí tuệ nhân tạo, trong đó tạo lập Chatbot là một dịch vụ điển hình của FPT.AI tại thời điểm này. Lập trình viên hoàn toàn có thể phát triển một Chatbot đơn giản ngay cả khi chưa biết gì hoặc có thể xây dựng những kịch bản, hội thoại… chi tiết cho Chatbot có độ khó cao hơn với nền tảng này. Bài viết sẽ hướng dẫn cách khởi tạo một Chatbot dùng Facebook Messenger bằng FPT.AI. Sau đây là các bước hướng dẫn chi tiết:

Bước 1: Tạo Facebook Page

Trước tiên, bạn cần một Facebook Page, từ đó tiến hành đăng nhập và tạo Bot.

Bước 2: Tạo Facebook application

chatbot-696x481-2615-1499419824.jpg

Sau khi đăng nhập, truy cập vào trang developers.facebook.com, chọn Add a New App để tạo một application mới. Tiếp đó, bấm Add product và chọn Messenger.

Truy cập vào menu Messenger > Settings, ở phần Token Generation chọn page bạn muốn sử dụng. Facebook sẽ sinh ra chuỗi token. Bạn cần lưu chuỗi này lại để sử dụng cho Bot.

Bước 3: Huấn luyện Bot trên FPT.AI

Sau khi đã có Bot, bước tiếp theo cần đăng ký tài khoản trên trang developers.fpt.ai, đăng nhập và tạo một application mới theo hướng dẫn sau:

Tạo các intent mới, mỗi intent ứng với một câu hỏi mà người dùng sẽ đặt ra cho bot. Bạn phải tạo ít nhất 2 intent.

Ví dụ, tạo intent: taisao_troi_nang ứng với câu hỏi “Tại sao trời nắng?” của người dùng.

Với mỗi intent thêm một số sample - là cách diễn đạt khác của cùng câu hỏi. Chẳng hạn với intent taisao_troi_nang thêm vài cách diễn đạt khác là: Tại sao trời lại nắng thế nhỉ? Vì sao trời lại nắng, Có biết vì sao trời nắng không?

Sau khi tạo intent, bấm Train để hệ thống huấn luyện cho bot từ dữ liệu đã nhập vào.

Copy Application token của application đó để dùng trong code của Bot.

Bước 4: Lập trình Bot

Bạn có thể tham khảo một Bot đã hoàn thiện tại trang github.com/fpt-corp/anhxtanh, sử dụng ngôn ngữ lập trình Go, Code của Bot được giải thích cụ thể dưới đây:

File answers.json chứa dữ liệu câu trả lời ứng với từng intent dưới dạng JSON. Bạn có thể dùng MySQL để lưu nếu muốn.

Mở file go để thay FPTAI_TOKEN và FB_PAGE_ACCESS_TOKEN bằng token bạn đã lưu ở các bước trước. Thay FB_VERIFY_TOKEN bằng bất cứ chuỗi chữ nào bạn muốn, chẳng hạn “fpt_di_muon_noi”. Bạn sẽ cần khai báo chuỗi này với Facebook ở bước sau.

Chương trình sử dụng Facebook Bot Framework github.com/michlabs/fbbot và FPT SDK cho Go.

Nội dung code gồm các phần:

Tải dữ liệu câu trả lời từ file json (hàm Load), 

Nhận câu hỏi do Facebook gửi cho (hàm HandleMessage)

Chuyển câu hỏi cho FPT.AI để nhận diện ra intent (hàm RecognizeIntents)

Tìm câu trả lời ứng với intent (hàm Answer)

Gửi câu trả lời về cho người dùng (hàm SendText)

Biên dịch vào chạy chương trình, nó sẽ lắng nghe ở cổng 1203 để giữ cho chương trình chạy.

Sau cùng, bạn cần tải phần mềm tunnel Ngrok tại https://ngrok.com để có thể kết nối và truy cập vào bot từ Internet. Tại màn hình ngrok, copy dòng địa chỉ https mà ngrok sinh ra, có dạng https://abc123.ngrok.io. Đây là địa chỉ bạn cần khai cho Facebook.

Bước 5: Cấu hình Facebook application

Để thực hiện được công việc ở bước này, bạn cần quay trở lại trang Facebook application, nhấn vào mục Messenger > Settings.

Ở phần Webhook bạn bấm Setup webhook 

Tại cửa sổ mới mở ra bấm chọn tất cả các ô

Điền địa chỉ mà ngrok sinh ra ở bước trước vào Callback URL, cộng thêm hậu tố Ví dụ https://abc123.ngrok.io/webhook

Điền verify token bạn điền trong code ở bước trước vào ô Verify token

Bấm Verify and Save

Nếu làm đúng thì tại cửa sổ của chương trình bot sẽ có thông báo Verified.

Việc tạo ra một chatbot cho riêng mình trở nên thật dễ dàng với FPT.AI, giờ bạn có thể vào Facebook Page và chat với Bot bằng những câu hỏi đã được huấn luyện, Bot sẽ trả lời gần như ngay lập tức một cách tự động. Đừng quên thiết lập thêm các cú pháp tin nhắn khác nhau để bot có thể tự động trả lời trong tất cả các trường hợp.

FPT.AI (https://fpt.ai/ ) là một nền tảng xây dựng giao diện hội thoại. Nền tảng này cung cấp các chức năng học máy tiên tiến như: Nhận diện giọng nói tự động (ASR), Text to Speech (TTS), Xử lý ngôn ngữ tự nhiên (NLP/NLU), cho phép các hệ thống tương tác với người dùng sử dụng ngôn ngữ tự nhiên thông qua đoạn hội thoại hoặc văn bản.

Hiện tại, FPT đã phát triển một số Chatbot dựa trên nền tảng này như: Trợ lý ảo hỗ trợ các ứng dụng trong ngành y tế cho một trong những công ty hàng đầu trong lĩnh vực Chăm sóc sức khoẻ tại Mỹ; Trợ lý ảo tự động hỗ trợ khách hàng thông qua 2 kênh email và chat cho một trong những công ty viễn thông hàng đầu Singapore; Chatbot chăm sóc khách hàng ảo của công ty FPT Telecom giúp giải đáp và hỗ trợ khách hàng; Chatbot bán hàng ảo của FPT Shop giúp khách hàng tìm kiếm thông tin sản phẩm, gửi thông báo về các chương trình khuyến mãi và hỗ trợ đặt mua hàng trực tiếp nhanh chóng; FQC là trợ lý ảo của bộ phận Quản lý chất lượng (QA), FPT Software, giúp giải đáp hơn 700 thắc mắc thường gặp của các PM, QA, nhân viên…; MyFSoft là trợ lý ảo sử dụng tiếng Việt, hoạt động trên nền các thiết bị di động iOS và Android dành cho nhân viên FPT Software giúp hỗ trợ giải đáp 104 tình huống, thắc mắc thường gặp của nhân viên FPT Software.

Theo FPT TechInsight

Ý kiến

()