Thao tác 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 mình, 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 hành động đượ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, đồng thời thực hiện các nhiệm vụ dựa trên hoạt động đó.
Tổng quan
Thao tác 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 một cuộc trò chuyện với một trong các Hành động của mình. Lệnh gọi của một Hành động được xác định bằng một ý định duy nhất phù hợ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 được gọi. Bạn xây dựng các cuộc trò chuyện bằng ý định, loại, cảnh và lờ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à những dịch vụ web giao tiếp với Hành động 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 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 của bạn, 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 lệnh gọi (bộ sưu tậ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 trò chuyện (tất cả những gì người dùng có thể nói và tất cả các cách phản hồi người dùng).
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 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 các 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, trao đổi với bạn thông tin về Google"
- "Ok Google, hãy trao đổi với Chuyên gia về Google để nắm được thông tin thực tế về công ty"
- "Ok Google, hãy trao đổi với Cơ sở dữ liệu 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 đượ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à các lệnh gọi liên kết sâu, cho phép bạn chỉ định 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ời gọi trong ví dụ này cung cấp một điểm truy cập vào cuộc trò chuyện và tương ứng với một Hành động.
Hình 2 mô tả quy trình gọi chính chính:
- Khi người dùng yêu cầu một Hành động, họ thường yêu cầu Trợ lý làm việc đó theo tên hiển thị của bạn.
- 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
. - Hành động được thông báo về việc so khớp ý định và phản hồi bằng lời nhắc tương ứng để bắt đầu trò chuyện với người dùng.
Giao tiếp
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 được gọi. Bạn tạo các lượt 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ý dữ liệu đầu vào đó và các lời nhắc tương ứng để phản hồi người dùng. Hình và nội dung giải thích sau đây cho bạn biết 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ảnh và lời nhắc.
Hình 3 mô tả một cuộc trò chuyện thông thường:
- Khi người dùng nói điều gì đó, Trợ lý NLU sẽ so khớp dữ liệu đầu vào với ý định phù hợp. Một ý định được so khớp nếu mô hình ngôn ngữ cho ý định đó có thể khớp chặt chẽ hoặc chính xác với nội dung người dùng nhập. 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 thông tin người dùng có thể muốn nói. Trợ lý sử dụng các cụm từ huấn luyện này và mở rộng để tạo mô hình ngôn ngữ của ý định.
- Khi Trợ lý NLU khớp với một ý định, Trợ lý 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 thông số này có loại liên kết với chúng, chẳng hạn như ngày hoặc số. Bạn chú thích các phần cụ thể trong cụm từ huấn luyện của một ý định để chỉ định tham số bạn muốn trích xuất.
- Sau đó, tình huống sẽ xử lý ý định đã khớp. Bạn có thể coi cảnh là trình thực thi logic của một Hành động, thực hiện phần việc nặng nhọc 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, 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, thực hiện lấp đầy vùng, gửi lời nhắc cho người dùng và thực hiện nhiều thao tác khác.
- Khi thực hiện xong một cảnh, cảnh này thường 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 lệnh gọi hoặc cuộc trò chuyện, Hành động có thể kích hoạt một webhook thông báo cho dịch vụ thực hiện đơn hàng để thực hiện một số nhiệm vụ.
Hình 4 mô tả cách sử dụng phương thức thực hiện đơn hàng để tạo lời nhắc, một cách phổ biến để sử dụng phương thức thực hiện đơn hàng:
- Tại một 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 tới 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.
- Phương thức thực hiện yêu cầu của bạn xử lý yêu cầu, chẳng hạn như gọi một 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 trong tải trọng JSON. Một cách rất phổ biến để sử dụng tính năng thực hiện hành động 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 được điều chỉnh cho phù hợp hơn với người dùng hiện tại.
- Việc thực hiện đơn hàng của bạn sẽ trả về phản hồi cho Hành động chứa trọng tải JSON. Ứng dụng 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.