Mục đích

Ý định biểu thị một tác vụ mà Trợ lý cần Hành động của bạn để thực hiện, chẳng hạn như một số hoạt động đầu vào của người dùng cần phải xử lý hoặc một sự kiện hệ thống mà bạn cần xử lý. Bạn sẽ sử dụng ý định để giúp tạo lệnh gọimô hình cuộc trò chuyện. Khi những sự kiện này xảy ra, thời gian chạy của Trợ lý sẽ so khớp ý định đó với ý định tương ứng và gửi ý định đến Hành động của bạn để xử lý. Có 2 loại ý định chính được mô tả trong danh sách sau:

  • Ý định của người dùng giúp Trợ lý mở rộng khả năng hiểu được các yêu cầu của người dùng dành riêng cho thương hiệu và dịch vụ của bạn. Bạn xác định các cụm từ đào tạo tuỳ chỉnh trong một ý định, việc này sẽ tạo ra mô hình ngôn ngữ của ý định. Mô hình ngôn ngữ đó giúp củng cố NLU của Trợ lý, giúp Trợ lý dễ hiểu hơn nữa.

  • Ý định hệ thống có dữ liệu huấn luyện hoặc các tín hiệu đầu vào không phải cuộc trò chuyện khác do Trợ lý xác định. Điều này có nghĩa là bạn không cần xác định các cụm từ huấn luyện cho những ý định này. Trợ lý so khớp các ý định này theo cách chuẩn, trong các sự kiện hệ thống phổ biến, chẳng hạn như lệnh gọi chính hoặc khi người dùng không cung cấp bất kỳ dữ liệu đầu vào nào.

Hình 1. Một tình huống so khớp ý định phổ biến. Người dùng nói điều gì đó phù hợp với ý định chung. Cảnh tương ứng sẽ kích hoạt và cuối cùng sử dụng nhiều hoạt động đầu vào của người dùng hơn. Một ý định khác được so khớp. Ý định này sẽ chuyển đổi sang và kích hoạt một cảnh khác.

Ý định của người dùng

Khi tạo Hành động, bạn sẽ tạo ý định của người dùng chứa các cụm từ huấn luyện, giúp Trợ lý có thể hiểu được nhiều hơn nữa. Trợ lý sử dụng các cụm từ huấn luyện của bạn để tăng cường NLU khi uỷ quyền các yêu cầu của người dùng cho Hành động của bạn.

Khi điều này xảy ra, Trợ lý sẽ môi giới hoạt động giao tiếp giữa người dùng và Hành động của bạn, liên kết hoạt động đầu vào của người dùng với một ý định có mô hình ngôn ngữ phù hợp. Sau đó, Trợ lý sẽ thông báo cho Hành động của bạn về ý định phù hợp để bạn có thể xử lý ý định đó trong một cảnh.

Khi xây dựng ý định của người dùng, bạn cần chỉ định các phần tử sau:

  • Chỉ định ý định chung xác định liệu môi trường thời gian chạy của Trợ lý có thể khớp với ý định của người dùng đã chỉ định tại thời điểm gọi cũng như trong cuộc trò chuyện hay không. Theo mặc định, Trợ lý chỉ có thể so khớp ý định của người dùng trong một cuộc trò chuyện. Chỉ những ý định mà bạn đánh dấu là chung mới đủ điều kiện để gọi đường liên kết sâu.

  • Cụm từ huấn luyện là các ví dụ về những điều người dùng có thể nói để khớp với ý định. Công cụ Trợ lý NLU (hiểu ngôn ngữ tự nhiên) một cách tự nhiên sẽ mở rộng những cụm từ huấn luyện này để bao gồm cả các cụm từ tương tự khác. Việc cung cấp một tập hợp lớn các ví dụ chất lượng cao sẽ giúp tăng chất lượng và độ chính xác của ý định.

  • Tham số là dữ liệu đã nhập mà bạn muốn trích xuất từ hoạt động đầu vào của người dùng. Để tạo một tham số, bạn cần chú thích các cụm từ huấn luyện bằng loại để thông báo cho công cụ NLU rằng bạn muốn trích xuất một số dữ liệu từ hoạt động đầu vào của người dùng. Bạn có thể sử dụng các loại hệ thống hoặc tạo loại tuỳ chỉnh của riêng mình cho tham số.

Khi phát hiện thấy tham số khớp trong hoạt động đầu vào của người dùng, công cụ NLU sẽ trích xuất giá trị dưới dạng tham số đã nhập để bạn có thể thực hiện logic với tham số đó trong một cảnh. Nếu một tham số ý định có cùng tên với một vùng cảnh, thì thời gian chạy Trợ lý sẽ tự động lấp đầy vùng cảnh đó bằng giá trị từ tham số ý định. Xem tài liệu về liên kết giá trị vị trí để biết thêm thông tin.

Các tham số ý định cũng hỗ trợ kết quả khớp "một phần". Ví dụ: nếu bạn chỉ định loại DateTime và người dùng chỉ cung cấp ngày, thì NLU vẫn trích xuất một phần giá trị dưới dạng tham số.

Bạn nên sử dụng NLU của riêng mình để xử lý tất cả hoạt động đầu vào của người dùng cho một Hành động. Ví dụ: bạn có thể muốn Hành động của mình phản hồi tất cả các tình huống không khớp trong một cuộc trò chuyện. Để đảm bảo bạn nắm bắt được mọi hoạt động đầu vào của người dùng, hãy tạo một ý định bằng loại văn bản Biểu mẫu tuỳ ý. Tuy nhiên, bạn nên tránh sử dụng ý định tuỳ chỉnh để ghi đè chung hành vi mặc định không khớp của Trợ lý, vì ý định này có thể ảnh hưởng tiêu cực đến khả năng người dùng di chuyển giữa các Hành động.

Khi bạn tạo một ý định tuỳ chỉnh trong bảng điều khiển Actions, Trình tạo hành động sẽ đề xuất các ý định hệ thống có thể thực hiện vai trò giống như ý định của người dùng. Để biết thêm thông tin về ý định của hệ thống, vui lòng tham khảo phần sau.

Ý định của hệ thống

Trợ lý so khớp ý định của hệ thống dựa trên các sự kiện tiêu chuẩn của hệ thống. Những sự kiện này có thể có mô hình ngôn ngữ do hệ thống xác định, chẳng hạn như người dùng nói "pause" để tạm dừng trình phát nội dung đa phương tiện hoặc có thể không có mô hình ngôn ngữ, chẳng hạn như người dùng không cung cấp bất kỳ dữ liệu đầu vào nào. Vì những ý định này là do Trợ lý cung cấp, nên bạn không phải lo lắng về cách so khớp các ý định đó, mà chỉ cần xử lý các ý định khi các ý định đó được so khớp.

Ý định hệ thống cũng thay thế nhu cầu tạo ý định của người dùng cho các thao tác thường được yêu cầu, chẳng hạn như YESNO. Ý định hệ thống được đào tạo cho tất cả các ngôn ngữ, cho phép bạn dễ dàng triển khai trải nghiệm nhất quán cho người dùng bằng nhiều ngôn ngữ. Ý định của hệ thống cũng có thể được đặt làm ý định chung.

Các ý định của hệ thống đã được tạo phiên bản. Bạn có thể sử dụng một phiên bản cụ thể của ý định hệ thống, miễn là phiên bản đó được Trợ lý hỗ trợ. Nếu một Hành động sử dụng phiên bản không được hỗ trợ của một ý định hệ thống, thì ý định hệ thống đó sẽ tự động được cập nhật lên một phiên bản được hỗ trợ.

Danh sách ý định

Intent Nội dung mô tả
actions.intent.MAIN Mỗi dự án Hành động phải chứa lệnh gọi chính mặc định này, được liên kết với tên hiển thị của bạn. Người dùng nói những cụm từ như "Ok Google, trò chuyện với <tên hiển thị>" để gọi Hành động.

actions.intent.NO_MATCH_1

actions.intent.NO_MATCH_2

actions.intent.NO_MATCH_FINAL

Những ý định này được so khớp khi người dùng nói điều gì đó không thể khớp với một ý định trong Hành động của bạn. Bạn có thể đặt từng lời nhắc lại và thông báo thoát trong ý định cuối cùng.

actions.intent.NO_INPUT_1

actions.intent.NO_INPUT_2

actions.intent.NO_INPUT_FINAL

Các ý định này được so khớp khi không có thông tin đầu vào từ người dùng sau 8 giây. Bạn có thể đặt từng lời nhắc riêng cho mỗi ý định và thông báo thoát trong ý định cuối cùng.

actions.intent.CANCEL Ý định này được so khớp khi người dùng muốn thoát khỏi Hành động của bạn trong một cuộc trò chuyện, chẳng hạn như một người dùng nói: "Tôi muốn thoát".
actions.intent.MEDIA_STATUS_FINISHED Ý định này được so khớp và gửi đến Hành động của bạn khi người dùng phát xong nội dung đa phương tiện hoặc chuyển sang phần nội dung đa phương tiện tiếp theo.
actions.intent.MEDIA_STATUS_PAUSED Ý định này được so khớp và gửi đến Hành động của bạn khi người dùng tạm dừng phát nội dung đa phương tiện trong một phản hồi nội dung đa phương tiện.
actions.intent.MEDIA_STATUS_STOPPED Ý định này được so khớp và gửi đến Hành động của bạn khi người dùng dừng hoặc thoát khỏi quá trình phát nội dung đa phương tiện từ một phản hồi nội dung đa phương tiện.
actions.intent.MEDIA_STATUS_FAILED Ý định này được so khớp và gửi đến Hành động của bạn khi trình phát của phản hồi nội dung đa phương tiện không phát được.
actions.intent.YES

Ý định này được so khớp khi người dùng đưa ra phản hồi xác nhận cho Hành động của bạn.

actions.intent.NO

Ý định này được so khớp khi người dùng phản hồi tiêu cực cho Hành động của bạn.

actions.intent.REPEAT

Ý định này được so khớp khi người dùng yêu cầu Hành động lặp lại phản hồi gần nhất. Trợ lý sẽ tự động xử lý yêu cầu lặp lại nếu ý định của hệ thống không được bật trong tác nhân. Việc bật ý định của hệ thống này cho phép bạn sửa đổi cách xử lý các yêu cầu lặp lại cũng như các phản hồi.

actions.intent.PLAY_GAME Ý định này được so khớp khi người dùng yêu cầu chơi trò chơi. Ý định này cho phép bạn chọn sử dụng một lệnh gọi ngầm (lệnh gọi mà không cần sử dụng tên hiển thị của bạn) do Actions on Google cung cấp.

Thêm tính năng hỗ trợ cho các ngôn ngữ khác

Một số ý định của hệ thống, chẳng hạn như YES, NONO_MATCH, chỉ được hỗ trợ bằng tiếng Anh.Để hỗ trợ thêm các ngôn ngữ khác, bạn phải tạo ý định của người dùng phù hợp với ý định của hệ thống đó. Các ý định mới phải được xử lý trong mã của bạn giống như cách bạn đã triển khai ý định của hệ thống.

Ví dụ: giả sử bạn đang phát triển một hành động mới và đã triển khai ý định của hệ thống YES. Ý định của hệ thống YES chỉ được hỗ trợ bằng tiếng Anh, nhưng bạn cũng muốn ứng dụng hỗ trợ các tương tác bằng tiếng Đức và tiếng Nhật. Để hỗ trợ các ngôn ngữ khác, bạn tạo một ý định bao gồm các cụm từ huấn luyện cho tiếng Đức và tiếng Nhật, sau đó triển khai cách xử lý mà bạn đã sử dụng cho ý định của hệ thống YES.

Tìm hiểu thêm về cách tạo ý định của người dùng.

Tìm hiểu thêm về cách bản địa hoá ý định của người dùng.

Lợi nhuận không khớp

Khi câu trả lời của người dùng không phù hợp với một trong các ý định của bạn, Trợ lý sẽ cố gắng xử lý dữ liệu nhập. Hành vi này hỗ trợ người dùng thay đổi Hành động trong khi trò chuyện. Ví dụ: một người dùng hỏi "Tuần này có phim gì?" rồi thay đổi bối cảnh giữa cuộc trò chuyện: "Thời tiết ngày mai thế nào?" Trong ví dụ này, vì "Ngày mai thời tiết thế nào?" không phải là câu trả lời hợp lệ cho cuộc trò chuyện do câu lệnh ban đầu kích hoạt nên Trợ lý sẽ tự động tìm cách xử lý việc so khớp và đưa người dùng vào một cuộc trò chuyện thích hợp.

Nếu Trợ lý không tìm thấy Hành động thích hợp, phù hợp với hoạt động đầu vào của người dùng, thì người dùng sẽ tiếp tục trong bối cảnh của Hành động đó.

Vì Trợ lý có thể làm gián đoạn Hành động của bạn để phản hồi trong trường hợp không khớp hợp lệ, đừng sử dụng ý định của hệ thống NO_MATCH để thực hiện truy vấn của người dùng. Bạn chỉ nên sử dụng ý định NO_MATCH để nhắc lại người dùng.