Intent là đại diện cho một ánh xạ giữa những truy vấn mà người dùng đưa vào và hành động sẽ được thực hiện tương ứng từ hệ thống. Nói nôm na Intent là đại diện cho một mục đích, một ý định hay một yêu cầu cụ thể nào đó của người dùng.
Trong phần 1 ta có ví dụ về chat bot tư vấn mua sữa, thì Intent ở đây là để thể hiện cho mục đích cần tìm mua sữa của các bà mẹ. Như vậy trong ví dụ này ta cần định nghĩa ra một Intent để tư vấn về sữa.
Để tạo mới một Intent ta chọn vào mục Intents bên menu phải và nhấn vào CREATE INTENT, đặt tên cho Intent là iTuVan (bạn có thể đặt bất kỳ tên gì, ở đây tôi đặt theo định dạng có chữ i ở đầu để phân biệt đó là Intent và tên Intent viết theo kiểu lạc đà phía sau).
Một intent về cơ bản sẽ bao gồm 4 thành phần chính sau:
• Training phrases: là những câu thoại người dùng có thể nói, được lên sẵn để kích hoạt intent đó. Khi người dùng nói một câu truy vấn giống với một trong những câu thoại sẵn này thì Dialogflow sẽ kích hoạt Intent này. Tuy nhiên chúng ta không cần phải định nghĩa ra mọi câu thoại có thể xuất hiện bởi vì Dialogflow được xây dựng dựa trên máy học nên có khả năng tự mở rộng danh sách các câu thoại tương tự.
Tại mục Training phrases trong Intent iTuVan ta có thể định nghĩa các training phrases mà người dùng hay nói như:
- cho hỏi về sữa bột cho trẻ
- mình cần tư vấn về sữa cho bé
• Action: là những hành động ta định nghĩa ra cho mỗi Intent, khi Dialogflow tìm được intent phù hợp nó sẽ cung cấp hành động tương ứng tới hệ thống và ta có thể sử dụng hành động này để kích hoạt các tính năng của hệ thống.
• Parameters: đây là một danh sách các tham số được dùng để trích xuất thông tin cần thiết từ lời yêu cầu của người dùng để xử lý ở fulfillment hoặc cũng có thể dùng để phản hồi về cho người dùng dưới dạng tham biến. Nó không giống như dữ liệu đầu vào của người dùng, các parameters là dữ liệu có cấu trúc mà có thể dễ dàng được sử dụng để biểu diễn các logic hoặc tạo ra các phản hồi.
Thông thường trong các training phrases mà mình nhập vào sẽ có chứa các Entity trong đó và Dialogflow sẽ tự nhận diện và thêm xuống mục Action and parameters. Entity là gì tôi sẽ trình bày cụ thể ở những phần tiếp theo, ở phần này chúng ta chỉ cần tập trung vào câu nói yêu cầu của người dùng (Training phrases) và câu trả lời từ chat bot (Responses).
• Responses: là những phản hồi được định nghĩa sẵn để trả lại cho người dùng, nó có thể là một câu trả lời cho một yêu cầu của người dùng hoặc có thể là lời yêu cầu người dùng cung cấp thêm thông tin hoặc một phản hồi kết thúc cuộc hội thoại. Cũng giống như Training pharases chúng ta cũng không cần phải định nghĩa đầy đủ các câu trả lời cho yêu cầu của người dùng, Dialogflow sử dụng máy học có khả năng tạo ra các câu trả lời phù hợp với từng ngữ cảnh khác nhau.
Trong mục Responses ta có thể nhập vào các câu trả lời từ chat bot khi được người dùng hỏi tư vấn về sữa, nên sử dụng các câu trả lời mang tính gợi mở để dẫn dắt người dùng theo kịch bản mà ta đã xây dựng để có thể nhanh chóng chốt đơn đúng không ^^
VD: bạn cần mua loại nào: Frisolac Gold, Nan Nestle, Physiolac, Morinaga, Meiji
Như vậy trong phần này chúng ta đã cùng nhau tìm hiểu được các khái niệm cơ bản về Intent, nhưng nếu chỉ dừng lại ở mức người dùng hỏi cái gì chat bot trả lời lại đúng cái đó thôi thì không có gì hấp dẫn cả. Trong ví dụ ở phần 1 ta còn thấy được một khả năng đặc biệt ở Dialogflow nữa là có thể tạo ra chat bot có trí nhớ ngắn hạn, nghĩa là nó có thể ghi nhớ được câu trả lời trước đó của người dùng để sử dụng vào các ngữ cảnh sau. Cụ thể khi chat bot hỏi lại người dùng cần tìm sữa của hãng nào, người dùng trả lời “frisolac”, chat bot hỏi tiếp là muốn tìm chỗ mua hay muốn biết giá, người dùng trả lời “mình muốn biết giá hiện tại bao nhiêu” và chat bot trả lời lại chính xác giá của sữa frisolac mặc dù trong câu trả lời của người dùng trước đó không hề nhắc đến “frisolac”. Ở phần tiếp theo chúng ta sẽ cùng tìm hiểu cách để giúp chat bot có được trí nhớ ngắn hạn này nhé!