Documentation

Documentation

  • Conversation
  • Reader
  • Speech
  • Console
  • AI Agents
  • Languages iconTiếng Việt
    • English
    • Janpanese

›II. Xây dựng chatbot trên nền tảng FPT.AI

Tài liệu

  • Giới thiệu
  • I. Giới thiệu Chatbot

    • Chatbot là gì
    • Mục đích của Chatbot
    • Các loại Chatbot phổ biến
    • Lợi ích khi sử dụng Chatbot FPT.AI
    • Bắt đầu với FPT.AI

    II. Xây dựng chatbot trên nền tảng FPT.AI

    • Cơ chế hoạt động
    • Quy trình xây dựng Bot
    • Tạo Chatbot
    • Xử lý ngôn ngữ tự nhiên - NLP
    • Kịch bản tạo câu trả lời
    • Kịch bản Bot - Bot Builder (mới)
    • Các thẻ trả lời
    • Nút liên kết bước
    • Lấy thông tin khách hàng sử dụng thẻ Form
    • Cài đặt và quản lý biến
    • Kiểm tra điều kiện của biến
    • Thẻ bộ nhớ
    • Gửi/ nhận thông tin qua thẻ JSON API
    • Tính năng nhắc nhở
    • Tính năng nâng cao
    • Menu cố định

    III. Lịch sử

    • Cập nhập hiểu biết của Bot

    IV. Tích hợp trên các kênh chat

    • Tích hợp với Facebook
    • Tích hợp với Facebook at Work
    • Tích hợp với Viber
    • Tích hợp với Zalo
    • Tích hợp vào website
    • Webhook

    V. Gửi thông báo

    • Gửi thông báo

    VI. Tự động trả lời bình luận

    • Tự động trả lời bình luận trên Facebook

    VII. Tính năng kiểm tra tự động

    • Kiểm tra dựa trên testcases
    • Tự động tạo testcases theo kịch bản thực của Bot

    VIII. Thống kê

    • Giới thiệu tính năng thống kê
    • Thống kế số lượng yêu cầu của người dùng
    • Xếp hạng ý định
    • Chat với Bot
    • Số lượng người dùng mới
    • Xếp hạng kịch bản
    • Số tin nhắn Bot trả lời theo kịch bản
    • Số yêu cầu theo từng giờ
    • Số người dùng theo từng giờ
    • Thống kê theo thời gian thực
    • Thống kê cho gửi thông báo

    XI. Đánh giá và Khảo sát

    • Tính năng đánh giá
    • Tính năng khảo sát

    XI. Cài đặt - Quản lý Bot

    • Cài đặt - Quản lý Bot
    • Thông tin Bot
    • Quản lý tin nhắn
    • Quản lý dữ liệu
    • Độ tin cậy của Bot
    • Xóa dữ liệu của Bot
    • Xóa Bot
    • Chuyển quyền sở hữu Bot
    • Phiên bản

    XII. Vai trò trên Bot

    • Vai trò trên Bot

    XIII. Chatbot SDK

    • Chat Bot SDK
  • Appendices

Hỗ trợ trực tuyến

  • Giới thiệu hỗ trợ trực tuyến
  • Giao diện danh sách khách hàng
  • Luồng hỗ trợ trực truyến
  • Tính năng ghi chú
  • Trò chuyện nội bộ
  • Tính năng báo cáo KPI
  • Cấu hình báo cáo phiên hỗ trợ
  • Báo cáo Phiên hội thoại
  • Lưu trữ cuộc trò chuyện
  • Quản lý luồng thông tin thu thập
  • Tự động chỉ định

Hướng dẫn (Videos)

  • Tổng quan nền tảng tạo chatbot FPT.AI Conversation
  • Tạo chatbot hỏi đáp với tính năng QnA
  • Tạo Chatbot với kịch bản phức tạp
  • Tính năng Precondition trong mục Kịch bản
  • Chức năng Trả lời ngẫu nhiên trong khi thiết kế Chatbot
  • Dạy chatbot hiểu khách hàng với tính năng NLP
  • Trích xuất chính xác và trích xuất tiên đoán trong NLP
  • Theo dõi Lịch sử nhận diện
  • Tính năng Gửi thông báo
  • Chức năng Hỗ trợ trực tuyến
  • Thiết lập Menu cố định
  • Tính năng Tự động bình luận trên Facebook
  • Thiết lập Vai trò trên Bot
  • Cấu hình Bot trong mục Cài đặt
  • Kết nối Chatbot với Facebook
  • Kết nối Chatbot với Facebook at Work

API

  • Giới thiệu
  • Tổng quan
  • Xử lý ngôn ngữ

    • Ý định
    • Thực thể
    • Câu mẫu
    • Đào tạo
    • Tiên đoán
    • Từ khóa
    • Từ điển

    Quản lý hội thoại

    • API Lấy câu trả lời của bot
    • Thẻ JSON
    • Các loại tin nhắn

Xây dựng chatbot trên nền tảng FPT.AI

4. Xử lý ngôn ngữ tự nhiên - NLP

Dạy Bot hiểu được các câu hỏi của Khách hàng

Xử lý ngôn ngữ tự nhiên - NLP (Natural Language Processing) là một tính năng AI cốt lõi của nền tảng FPT.AI Conversation. Để Bot có thể hiểu được các câu nói của người dùng, người thiết kế bot cần phải dạy bot một lượng kiến thức cụ thể.

Kiến thức này bao gồm:

  • Câu mẫu: Các câu mà khách hàng sử dụng để hỏi về những vấn đề mà họ có nhu cầu cần giải đáp.

  • Ý định: Mục đích, ý định của các câu hỏi đó.

  • Từ khóa: Các thông tin quan trọng và cần thiết trong câu, giúp bot hiểu vấn đề mà người dùng đang nói đến để đưa ra 1 câu trả lời phù hợp.

  • Loại thực thể: Biểu thị ý nghĩa của các Từ khóa trên.

  • Từ điển: Bổ sung thêm các từ thay thế, từ đồng nghĩa để Bot có thể nhận diện ý định được tốt hơn.

Ví dụ:

Câu mẫu: Tôi cần mua 2 chiếc điện thoại giao đến số 17 Duy Tân
Ý địnhTừ khóaLoại thực thể
Mua hàng2Số lượng
Điện thoạiSản phẩm
17 Duy TânĐịa chỉ

Lưu ý:

  • Câu mẫu cực kì quan trong đối với chatbot. Do đó, bạn nên bổ sung càng nhiều câu mẫu càng tốt. Sự đa dạng của câu mẫu sẽ giúp chatbot có thể hiểu được nhiều câu nói khác nhau của người dùng.

  • Nên xác định các Ý định được nhiều người dùng quan tâm nhất dựa vào lịch sử trò chuyện của khách hàng. Sau đó, bổ sung thật nhiều và đa dạng câu mẫu cho các ý định đó.

4.1. Câu mẫu và Ý định

Câu mẫu là một câu nói bất kì của người dùng. Mỗi câu mẫu đều có một ý định cụ thể. Để dạy bot hiểu các câu nói đa dạng của người dùng, bạn phải tạo ra thật nhiều câu mẫu có chung 1 ý định.

Ý định là mục đích của câu người dùng nói. Một ý định sẽ bao gồm nhiều câu mẫu có chung 1 mục đích và ý nghĩa

Có 2 cách nhập câu mẫu và ý định lên hệ thống:

Cách 1: Tạo câu mẫu thủ công

Bước 1: Trong mục NLP, nhấn Câu mẫu (1) -> chọn Tạo Câu mẫu (2)

Bước 2: Nhập nội dung câu mẫu (3)

Bước 3: Tạo ý định phù hợp

Bước 4: Nhấn Lưu để hoàn tất tạo câu mẫu.

1

Cách 2: Nhập câu mẫu từ file excel

Bước 1: Trong mục NLP, nhấn Câu mẫu (1) -> chọn Nhập câu mẫu từ file excel

2

Bước 2: Nhấn Browse để tải file excel đã chuẩn bị

3

Bước 3: Nhấn Xác nhận để hoàn tất tải file lên

Lưu ý:

  • File excel chứa Câu mẫu và Ý định phải trình bày theo đúng định dạng sau:

4

  • Sau khi tạo xong dữ liệu Câu mẫu và ý định cho bot, bạn phải nhấn Nút "Huấn luyện" để dạy bot hiểu các kiến thức mới đó.

  • Bạn có thể kiểm tra xem Bot đã hiểu câu nói đó chưa bằng cách nhấn vào nút "Kiểm tra NLP" trên giao diện màn hình, nhập Câu mẫu đó và xem kết quả trả về.

7

Bạn cũng có thể tạo trước các ý định tại trang Ý định:

Bước 1: Tại mục NLP, ấn Ý định -> nhập Tên ý định

Bước 2: Nhập nội dung mô tả Ý định đó. Nội dung này sẽ được hiển thị trong câu gợi ý của bot khi bot chưa chắc chắn câu trả lời.

Bước 3: Nhấn nút Thêm Ý định để hoàn tất.

1

Lưu ý: Khi tạo Ý định mới tại mục NLP với câu mẫu hoặc danh sách câu mẫu từ file excel, bản phải chỉnh sửa lại nội dung mô tả của Ý định thành các câu đại diện có ý nghĩa. Bot sẽ sử dụng mô tả của ý định để làm các câu hỏi gợi ý trong trường hợp Bot phân vân đưa ra câu trả lời.

2

4.2. Từ khóa và Loại thực thể

Từ khóa là các thông tin quan trọng trong câu mẫu, quyết định đến logic trả lời của Bot. Mỗi từ khóa đều thể hiện 1 ý nghĩa biểu trưng nào đó, được gọi là Loại thực thể.

Tùy vào nghiệp vụ của từng Chatbot, bạn cần tạo ra các loại thực thể khác nhau hoặc có thể sử dụng sẵn thực thể hệ thống - loại thực thể được xây dựng, thiết lập sẵn trên hệ thống của FPT.AI nếu phù hợp (địa chỉ $address, ngày giờ $datetime, email $email, số $number)

Chatbot FPT.AI Conversation đưa ra khái niệm về 2 loại thực thể được tùy chỉnh theo nghiệp vụ doanh nghiệp: Thực thể thông tin và thực thể đối tượng

4.2.1. Thực thể thông tin

Thực thể thông tin thường là thông tin của người dùng, gồm nhiều giá trị đa dạng, khó kiểm soát hết. Ví dụ: Tên người, số điện thoại, số chứng minh nhân dân,… Thực thể hệ thống $entity cũng được gọi là 1 loại thực thể thông tin. Với loại thực thể này, bạn nên chọn Phương pháp trích xuất theo tiên đoán và trích xuất chính xác để Bot có thể nhận diện nhiều giá trị hơn.

Ví dụ: Câu mẫu: ***Giao hàng cho tôi đến địa chỉ 17 Duy tân, số điện thoại 0123456789****

  • Ý định của câu mẫu trên là “giao hàng”

  • Câu mẫu trên có 2 thông tin quan trọng để quyết định nhân viên giao hàng sẽ giao hàng đúng người, đúng địa chỉ. Vì vậy, 17 Duy Tân là từ khóa biểu thị loại thực thể “địa chỉ”; 0123456789 là từ khóa biểu thị loại thực thể "Số điện thoại”.

Trong ví dụ này - Thực thể thông tin, ngoài việc trả lời khách hàng, Bot sẽ làm thêm nhiệm vụ là lưu trữ thông tin của khách hàng trên hệ thống quản trị Bot. Để thực hiện Bước này, người thiết kế bot phải dùng Thẻ JSON API để làm phương tiện truyền thông tin.

Thực thể hệ thống

Thực thể hệ thống là loại thực thể mà nền tảng FPT.AI Conversation đã xây dựng sẵn, cho phép người dùng có thể truy vấn các thông tin địa chỉ, email, ngày giờ, và các con số bất kỳ.

Bạn chỉ cần gán 1 thông tin trong Câu mẫu với các Thực thể kể trên, thì mặc định, khi khách hàng của bạn cung cấp 1 thông tin liên quan, Bot sẽ nhận diện được mà bạn không cần phải dạy nhiều dữ liệu thực thể cho bot.

  • $address: Thực thể địa chỉ

Bot có thể nhận diện các địa chỉ cụ thể của Việt Nam từ cấp thấp nhất (số nhà, số ngõ…).

Ví dụ: “số 17 Duy tân, Cầu giấy, Hà nội “. Kết quả giá trị thực sẽ được chuẩn hóa qua API (Sử dụng thẻ JSON API)

9

  • $datetime: Thực thể ngày giờ

Bot có thể nhận diện được giờ phút, ngày tháng năm.

Ví dụ:

10

  • $email: Thực thể email

Bot có thể nhận diện email bất kì.

Ví dụ:

11

  • $number: Thực thể là các số

Bot nhận diện được các số bất kì như số chỉ số lượng...

12

4.2.2. Thực thể đối tượng

Thực thể đối tượng thường là các sản phẩm hoặc nghiệp vụ nào đó cố định trong 1 doanh nghiệp. Loại thực thể này có giới hạn, và người dùng có thể bổ sung đầy đủ dữ liệu đào tạo cho Bot để Bot nhận diện được. Thực thể đối tượng chính là loại thực thể quyết định đến logic trả lời của Chatbot (Cùng 1 ý định nhưng hướng tới nhiều đối tượng khác nhau)

Câu mẫu: “Giá của iphone X là bao nhiêu”, “Giá của Samsung s9 là bao nhiêu”

  • Hai câu mẫu trên đều chung mục đích là hỏi giá. Vì vậy, chúng có chung Ý định là “hỏi giá”

  • Tuy nhiên, giá cả của 2 loại sản phẩm này là khác nhau. Vì vậy, để đưa ra câu trả lời chính xác, Bot phải đưa ra 2 câu trả lời khác nhau

  • Kết luận: iphone X và Samsung s9 được gọi là Từ khóa. Đây là 2 loại sản phẩm. Vì thế, loại thực thể ở đây là “sản phẩm”.

Trong ví dụ này - Thực thể đối tượng, Bot cần đưa ra 2 câu trả lời khác nhau. (Xem cách thiết lập câu trả lời theo thực thể đối tượng)

Lưu ý:

  • Khi xây dựng chatbot, tùy vào nghiệp vụ, nhu cầu cụ thể, bạn cần tạo mới các loại thực thể thông tin và thực thể đối tượng hoặc có thể tận dụng 1 số thực thể hệ thống có sẵn nếu cần thiết.
  • Việc xác định loại thực thể là tiền đề thiết lập câu trả lời của Bot.

4.3. Các phương pháp trích xuất thực thể

Tùy vào từng bài toán, nền tảng FPT.AI Conversation cho phép người tạo Bot có thể dạy Bot hiểu chính xác các Từ khóa, ứng với từng loại thực thể đã dạy; hoặc có thể nhận diện được thêm các từ khóa tương tự khác (áp dụng kỹ thuật học máy). Đó là 2 phương pháp trích xuất thông tin: Trích xuất chính xác và Trích xuất theo tiên đoán

4.3.1. Trích xuất chính xác:

Với phương pháp trích xuất chính xác, Bot sẽ tìm kiếm từ khóa và loại thực thể trong danh sách Từ khoá.

Phương pháp này thường được áp dụng đối với các kịch bản có từ khóa cố định và có thể được xác định trước.

Ví dụ 1: “Giá của iphone X là bao nhiêu”, “Giá của Samsung s9 là bao nhiêu”

Loại thực thể “sản phẩm" trong 2 câu trên là “iphone X” và “Samsung s9”, chatbot đã sử dụng phương pháp trích xuất chính xác.

Ví dụ 2: Một công ty cung cấp bảo hiểm có nhiều loại sản phẩm bảo hiểm khác nhau thì:

  • “Bảo hiểm sức khỏe”, “Bảo hiểm tai nạn”, “Bảo hiểm xe cơ giới”… là các Từ khoá

  • “sản phẩm bảo hiểm” là Loại thực thể.

Bạn phải đánh dấu Từ khoá với Loại thực thể trên theo phương pháp trích xuất chính xác để bot có thể trích xuất thông tin trong câu mẫu.

Bước 1: Trong mục NLP, nhấn Câu mẫu -> Đánh dấu Từ khoá với loại thực thể.

1

Bước 2: Vào mục NLP -> Nhấn Loại thực thể -> Sửa phương pháp trích xuất loại thực thể đối tượng thành Trích xuất chính xác.

2

Bước 3: Trong mục Từ khóa, hệ thống đã lưu các từ khóa được tag (bôi đen) tại trang Câu mẫu. Tại đây, bạn có thể bổ sung thêm từ đồng nghĩa (các từ có nghĩa tương đương, hoặc từ viết tắt...) cho các từ khóa này, để Bot có thể nhận diện được đúng Ý định của người dùng.

3

Bước 4: Nhấn "Huấn luyện" để đào tạo các dữ liệu mới cho Bot.

Bước 5: Sau khi huấn luyện thành công, bạn có thể kiểm tra khả năng nhận diện các loại thực thể của Bot bằng cách ấn vào nút "Kiểm tra NLP".

4

Sau khi được đào tạo, Bot sẽ nhận diện được “ip X" là “iphone X", bởi bot đã có dữ liệu về sản phẩm. Nếu kiểm tra các câu khác với các sản phẩm khác ngoài danh sách các từ đồng nghĩa và từ khoá đã dạy, thì Bot sẽ không nhận diện được.

Giá trị thực là giá trị cố định trong danh sách từ khoá. Đây là giá trị được sử dụng để thiết kế câu trả lời của Bot theo từng Từ khoá. (Chi tiết xem tại kiểm tra điều kiện biến).

4.3.2. Trích xuất theo tiên đoán

Bởi Bot tìm kiếm thông tin thực thể bằng học máy, do đó bạn cần tag càng nhiều Từ khóa với Loại thực thể tương ứng càng tốt. Bot sẽ sử dụng các Câu mẫu được tag Từ khóa để tiên đoán thêm các thông tin khác (nhưng không tra cứu trong danh sách từ khóa cố định như với trích xuất chính xác).

Phương pháp này thường được áp dụng với các thông tin không thể xác định trước, ví dụ như tên người, số điện thoại, địa chỉ…

Ví dụ: Giao hàng cho tôi đến địa chỉ 17 Duy tân, số điện thoại 0123456789.

Thực thể thông tin “17 Duy Tân" và “0123456789” là một ví dụ sử dụng phương pháp trích xuất theo tiên đoán.

Bước 1: Nhập Câu mẫu (1) có chứa thông tin thực thể quan trọng. Chọn Ý định (2) và bôi đen các Từ khoá (3) rồi chọn Loại thực thể (4) tương ứng.

Nền tảng hội thoại đã cung cấp sẵn 4 loại Thực thể hệ thống là $address (địa chỉ), $datetime (ngày giờ), $email (email) và $number (số đếm), giúp bạn tiện lợi hơn trong việc tạo Chatbot.

Với những thông tin khác, bạn nhập Loại thực thể mới rồi nhấn Lưu (6).

5

Bước 2: Vào NLP -> Loại thực thể -> Sửa loại thực thể để sửa thực thể “so_dien_thoai” thành “trích xuất theo tiên đoán” hoặc giữ nguyên mặc định là “Cả hai”.

6

Bước 3: Khác với phương pháp trích xuất chính xác – Bổ sung từ đồng nghĩa với các từ khóa, phương pháp trích xuất theo tiên đoán sử dụng học máy để nhận diện thực thể. Do đó, bạn cần phải tag thêm nhiều các từ khoá khác có hình thức giống nhau để dạy bot hiểu và nhận diện được đó là loại thực thể nào.

7

Bước 4: Nhấn Huấn luyện để dạy Bot các thông tin thực thể mới được cập nhật.

Bước 5: Kiểm tra kết quả bằng cách nhấn vào nút Kiểm tra NLP trên giao diện. Sau đó nhập câu có chứa số điện thoại bất kì không giống với các số điện thoại đã dạy cho Bot. Bot sẽ vẫn nhận diện được đó là thực thể “so_dien_thoai".

8

4.4. Từ điển

Thay vì bổ sung sự đa dạng của các câu mẫu bằng phương pháp thủ công, bạn có thể thêm vào Từ điển các từ thay thế, từ đồng nghĩa với từ hoặc cụm từ đã có sẵn trong Câu mẫu, giúp khả năng nhận diện Ý định của bot chính xác hơn.

Lưu ý: Chỉ nên sử dụng từ điển cho các trường hợp cần thiết, mang tính đặc trưng trong riêng Chatbot đó. Ví dụ: CMND có từ thay thế là Căn cước công dân, chứng minh thư, CMT… Hạn chế sử dụng từ điển vì khó kiểm soát hết được các trường hợp gây nhiễu cho NLP Chatbot.

Ví dụ:

Ta có danh sách các câu mẫu trong ý định “khuyen_mai”:

1

Khi xử lí 1 câu mới của người dùng có cùng Ý định , Bot nhận diện đúng ý định nhưng độ tin cậy thấp. Để cải thiện độ hiểu của Bot, bạn phải bổ sung thêm nhiều Câu mẫu có cùng ý định "khuyen_mai" như: “có km k”, “có km gì ko”... Hoặc, bạn cũng có thể thêm từ km là từ thay thế cho từ “khuyến mãi". Khi khách hàng sử dụng câu có từ viết tắt “km", Bot có thể hiểu được khách hàng đang muốn hỏi về chương trình khuyến mãi.

2

Sau khi đã nhập xong các từ đồng nghĩa, từ thay thế trong Từ điển, bạn ấn Huấn luyện để dạy bot.

Kiểm tra NLP để đánh giá lại kết quả học tập của bot: Bot đã nhận diện đúng với độ tin cậy cao hơn.

3

← Tạo ChatbotKịch bản tạo câu trả lời →
  • 4.1. Câu mẫu và Ý định
  • 4.2. Từ khóa và Loại thực thể
    • 4.2.1. Thực thể thông tin
    • 4.2.2. Thực thể đối tượng
  • 4.3. Các phương pháp trích xuất thực thể
    • 4.3.1. Trích xuất chính xác:
    • 4.3.2. Trích xuất theo tiên đoán
  • 4.4. Từ điển
Conversation
DocumentationAPI ReferenceTutorials (Video)
Reader
DocumentationAPI ReferenceTutorials
Speech
DocumentationAPI ReferenceTutorials
Copyright © 2025 FPT Corporation