Hành động giao tiếp

Hành động trò chuyện cho phép bạn mở rộng Trợ lý Google bằng các giao diện trò chuyện của riêng bạn, cho phép người dùng truy cập vào các sản phẩm và dịch vụ của bạn. Các thao tác tận dụng công cụ hiểu ngôn ngữ tự nhiên mạnh mẽ của Trợ lý (NLU) để xử lý và hiểu dữ liệu nhập bằng ngôn ngữ tự nhiên cũng như thực hiện các nhiệm vụ dựa trên dữ liệu nhập đó.

Tổng quan

Hành động trò chuyện là một đối tượng đơn giản xác định một điểm truy cập (gọi là lệnh gọi) vào một cuộc trò chuyện:

  • Lời gọi xác định cách người dùng cho Trợ lý biết rằng họ muốn bắt đầu cuộc trò chuyện với một trong các Hành động của mình. Lời gọi hành động được xác định bằng một ý định duy nhất được so khớp khi người dùng yêu cầu Hành động.
  • Cuộc trò chuyện xác định cách người dùng tương tác với một Hành động sau khi nó được gọi. Bạn xây dựng các cuộc trò chuyện bằng ý định, loại, cảnhlời nhắc.
  • Ngoài ra, Hành động của bạn có thể ủy quyền thêm công việc cho việc thực hiện, đó là các dịch vụ web giao tiếp với Hành động của bạn thông qua webhook. Điều này cho phép bạn xác thực dữ liệu, gọi cho các dịch vụ web khác, thực hiện logic kinh doanh, v.v.

Bạn sẽ nhóm một hoặc nhiều Hành động lại với nhau, dựa trên các trường hợp sử dụng quan trọng đối với người dùng, vào một vùng chứa logic có tên là dự án Hành động. Dự án Hành động chứa toàn bộ mô hình kích hoạt (tập hợp tất cả các lời gọi của bạn), cho phép người dùng bắt đầu từ những vị trí hợp lý trong mô hình trò chuyện (tất cả những gì người dùng có thể nói và tất cả những cách có thể phản hồi người dùng).

Hình 1. Tập hợp các Hành động đóng vai trò là điểm truy cập vào mô hình cuộc trò chuyện. Các ý định đủ điều kiện gọi được coi là chung.

Lệnh gọi

Lệnh gọi được liên kết với một tên hiển thị đại diện cho một thương hiệu, tên hoặc cá tính, cho phép người dùng yêu cầu Trợ lý gọi ra các Hành động của bạn. Người dùng có thể tự sử dụng tên hiển thị này (được gọi là lệnh gọi chính) hoặc kết hợp với các cụm từ liên kết sâu (không bắt buộc) để gọi Hành động.

Ví dụ: người dùng có thể nói các cụm từ sau để gọi ba Hành động riêng biệt trong một dự án có tên hiển thị là "Thông tin về Google":

  • "Ok Google, hãy trao đổi với Google về các thông tin thực tế"
  • "Ok Google, hãy trao đổi với Google về các thông tin thực tế liên quan để biết thông tin về công ty"
  • "Ok Google, hãy trao đổi với Google về các thông tin thực tế để nắm được thông tin thực tế trước đây"

Lệnh gọi đầu tiên trong ví dụ là lệnh gọi chính. Lệnh gọi này được liên kết với một ý định đặc biệt của hệ thống có tên là actions.intent.MAIN. Lệnh gọi thứ hai và thứ ba là lệnh gọi liên kết sâu cho phép bạn chỉ định các cụm từ bổ sung cho phép người dùng yêu cầu chức năng cụ thể. Các lệnh gọi này tương ứng với ý định của người dùng mà bạn đã chỉ định là toàn cục. Mỗi lệnh gọi trong ví dụ này cung cấp một điểm truy cập vào một cuộc trò chuyện và tương ứng với một Hành động.

Hình 2. Ví dụ về lệnh gọi chính

Hình 2 mô tả một luồng gọi chính điển hình:

  1. Khi người dùng yêu cầu một Hành động, họ thường yêu cầu Trợ lý thực hiện hành động đó qua tên hiển thị của bạn.
  2. Trợ lý sẽ so khớp yêu cầu của người dùng với ý định tương ứng khớp với yêu cầu. Trong trường hợp này, giá trị sẽ là actions.intent.MAIN.
  3. Hành động sẽ được thông báo về việc đối sánh ý định và phản hồi bằng lời nhắc tương ứng để bắt đầu cuộc trò chuyện với người dùng.

Cuộc trò chuyện

Cuộc trò chuyện xác định cách người dùng tương tác với một Hành động sau khi gọi Hành động đó. Bạn tạo các hoạt động tương tác này bằng cách xác định hoạt động đầu vào hợp lệ của người dùng cho cuộc trò chuyện, logic để xử lý hoạt động đầu vào đó và các lời nhắc tương ứng để phản hồi cho người dùng. Hình và giải thích sau đây cho bạn thấy cách một cuộc trò chuyện điển hình hoạt động với các thành phần cấp thấp của cuộc trò chuyện: ý định, loại, cảnhlời nhắc.

Hình 3. Ví dụ về một cuộc trò chuyện

Hình 3 mô tả một cuộc trò chuyện điển hình:

  1. Khi người dùng nói điều gì đó, Trợ lý NLU sẽ so khớp thông tin đầu vào với một ý định phù hợp. Ý định được so khớp nếu mô hình ngôn ngữ của ý định đó có thể khớp gần đúng hoặc chính xác với nội dung nhập của người dùng. Bạn xác định mô hình ngôn ngữ bằng cách chỉ định cụm từ huấn luyện hoặc ví dụ về những điều người dùng có thể muốn nói. Trợ lý dùng các cụm từ huấn luyện này và mở rộng các cụm từ đó để tạo mô hình ngôn ngữ của ý định.
  2. Khi NLU Trợ lý khớp với một ý định, nó có thể trích xuất các thông số mà bạn cần từ dữ liệu đầu vào. Các tham số này có loại liên kết, chẳng hạn như ngày hoặc số. Bạn chú thích các phần cụ thể của cụm từ đào tạo trong một ý định để chỉ định tham số bạn muốn trích xuất.
  3. Sau đó, một cảnh sẽ xử lý ý định đã khớp. Bạn có thể coi cảnh là người thực thi logic của một Hành động, thực hiện các công việc khó khăn và thực hiện logic cần thiết để thúc đẩy một cuộc trò chuyện tiến về phía trước. Các cảnh chạy trong một vòng lặp, cung cấp vòng đời thực thi linh hoạt cho phép bạn thực hiện những việc như xác thực tham số ý định, lấp đầy vị trí, gửi lại lời nhắc cho người dùng và làm nhiều việc khác.
  4. Khi đang thực thi xong, cảnh thường sẽ gửi một lời nhắc trở lại người dùng để tiếp tục cuộc trò chuyện hoặc có thể kết thúc cuộc trò chuyện nếu thích hợp.

Quy trình thực hiện đơn hàng

Trong khi gọi điện hoặc trò chuyện, Hành động của bạn có thể kích hoạt một webhook thông báo cho dịch vụ thực hiện nhiệm vụ để thực hiện một số thao tác.

Hình 4. Ví dụ về một cuộc trò chuyện

Hình 4 mô tả cách sử dụng phương thức thực hiện để tạo lời nhắc, một cách phổ biến để sử dụng phương thức thực hiện:

  1. Tại các thời điểm cụ thể trong quá trình thực thi Hành động, nó có thể kích hoạt một webhook gửi yêu cầu đến trình xử lý webhook đã đăng ký (dịch vụ thực hiện của bạn) với trọng tải JSON.
  2. Quá trình thực hiện yêu cầu, chẳng hạn như gọi API REST để thực hiện một số thao tác tra cứu dữ liệu hoặc xác thực một số dữ liệu từ tải trọng JSON. Một cách rất phổ biến để sử dụng phương thức thực hiện là tạo lời nhắc động trong thời gian chạy để các cuộc trò chuyện được điều chỉnh cho phù hợp hơn với người dùng hiện tại.
  3. Quá trình thực hiện của bạn sẽ trả về phản hồi cho Hành động chứa tải trọng JSON. Nó có thể sử dụng dữ liệu từ tải trọng để tiếp tục thực thi và phản hồi lại người dùng.