Hành động giao tiếp

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

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 bằng một trong các Hành động của bạn. Lệnh gọi của Hành động được xác định bằng một ý định đượ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 Hành động đó được gọi. Bạn xây dựng các cuộc trò chuyện có ý định, loại, cảnhlời nhắc.
  • Ngoài ra, Hành động của bạn có thể uỷ quyền làm thêm công việc cho phương thứ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 các dịch vụ web khác, thực hiện logic nghiệp vụ và nhiều tác vụ khác.

Bạn gói 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 gọi là dự án Actions (Hành động). Dự án Hành động của bạn chứa toàn bộ mô hình gọi (tập hợp tất cả các lệnh gọi), cho phép người dùng bắt đầu tại các vị trí hợp lý trong mô hình cuộc trò chuyện (tất cả những điều người dùng có thể nói và tất cả các cách bạn có thể phản hồi lại cho người dùng).

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

Lời gọi

Lệnh gọi được liên kết với tên hiển thị đại diện cho thương hiệu, tên hoặc cá tính mà cho phép người dùng yêu cầu Trợ lý gọi Hành động của bạn. Người dùng có thể sử dụng tên hiển thị này (gọi là lệnh gọi chính) hoặc sử dụng 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 của bạn.

Ví dụ: người dùng có thể nói những cụm từ sau để gọi 3 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, trao đổi với Thông tin về Google"
  • "Ok Google, hãy trao đổi với Thông tin về Google để biết thông tin thực tế về công ty"
  • "Ok Google, hãy trao đổi với Thông tin về Google để biết thông tin lịch sử"

Lệnh gọi đầu tiên trong ví dụ này là lệnh gọi chính. Lệnh gọi này 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à các 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ầu. 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 duy nhất.

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

Hình 2 mô tả một quy trình 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ý bằng tên hiển thị của bạn.
  2. Trợ lý 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ề ý định trùng khớp 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.

Giao lưu và 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 Hành động đó được gọi. Bạn sẽ tạo các hoạt động tương tác này bằng cách xác định dữ liệu đầu vào hợp lệ của người dùng cho cuộc trò chuyện, logic để xử lý dữ liệu đầu vào đó và các lời nhắc tương ứng để trả lời người dùng. Hình minh hoạ và nội dung giải thích sau đây cho bạn biết cách hoạt động của một lượt trò chuyện điển hình 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ề cuộc trò chuyện

Hình 3 mô tả một lượt trò chuyện điển hình:

  1. Khi người dùng nói điều gì đó, NLU của Trợ lý sẽ so khớp dữ liệu đầu vào với một ý định phù hợp. Một ý định sẽ được so khớp nếu mô hình ngôn ngữ cho ý định đó có thể khớp gần đúng hoặc chính xác với hoạt động đầu vào 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ừ đào tạo hoặc ví dụ về những điều mà người dùng có thể muốn nói. Trợ lý sẽ nhận 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 khớp với một ý định, Trợ lý có thể trích xuất các tham 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ể trong các cụm từ huấn luyện của một ý định để chỉ định những tham số bạn muốn trích xuất.
  3. Sau đó, một cảnh sẽ xử lý ý định trùng khớp. Bạn có thể coi cảnh là đơn vị thực thi logic của một Hành động, thực hiện phần việc khó khăn và thực hiện logic cần thiết để thúc đẩy cuộc trò chuyện. Các cảnh chạy trong một vòng lặp, mang đến vòng đời thực thi linh hoạt cho phép bạn làm những việc như xác thực tham số ý định, lấp đầy vị trí, gửi lời nhắc lại cho người dùng và làm nhiều việc khác.
  4. Khi thực thi xong, cảnh thường sẽ gửi lại lời nhắc cho 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 hoặc một cuộ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 một số thao tác.

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

Hình 4 mô tả cách bạn có thể sử dụng phương thức thực hiện để tạo câu lệnh. Đây là 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 của bạn, hành động đó có thể kích hoạt một webhook gửi yêu cầu đến một trình xử lý webhook đã đăng ký (dịch vụ thực hiện của bạn) với tải trọng JSON.
  2. Phương thức thực hiện của bạn sẽ xử lý yêu cầu, chẳng hạn như gọi API REST để tra cứu dữ liệu hoặc xác thực một số dữ liệu trong 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ủa bạn phù hợp hơn với người dùng hiện tại.
  3. Phương thức thực hiện sẽ trả về phản hồi cho Hành động có chứa tải trọng JSON. Mô-đun này 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.