Mô hình cuộc trò chuyện xác định nội dung người dùng có thể nói với Hành động của bạn cũng như cách Hành động sẽ phản hồi người dùng. Các thành phần chính của mô hình trò chuyện là ý định, loại, cảnh và lời nhắc. Sau khi một trong các Hành động của bạn được gọi, Trợ lý Google chuyển người dùng đến Hành động đó và Hành động bắt đầu cuộc trò chuyện với người dùng, dựa trên mô hình cuộc trò chuyện của bạn, bao gồm:
Yêu cầu hợp lệ của người dùng – Để xác định nội dung người dùng có thể nói với Hành động của bạn, bạn tạo một tập hợp ý định nhằm bổ sung cho NLU của Trợ lý để công nghệ này có thể hiểu các yêu cầu dành riêng cho Hành động của bạn. Mỗi ý định xác định các cụm từ huấn luyện mô tả những gì người dùng có thể nói để khớp với ý định đó. Chiến lược phát hành đĩa đơn Trợ lý NLU mở rộng các cụm từ huấn luyện này để bao gồm các cụm từ tương tự, và thì việc tổng hợp các cụm từ đó sẽ tạo ra mô hình ngôn ngữ của ý định.
Logic thao tác và phản hồi – Cảnh xử lý ý định, thực hiện logic bắt buộc và tạo lời nhắc để quay lại người dùng.
Xác định các yêu cầu hợp lệ của người dùng
Để xác định những điều người dùng có thể nói cho Hành động của bạn, bạn sẽ sử dụng kết hợp các ý định và loại tài khoản. Ý định và loại của người dùng cho phép bạn tăng cường NLU của Trợ lý với mô hình ngôn ngữ riêng. Các loại và ý định hệ thống cho phép bạn tận dụng các tính năng tích hợp sẵn mô hình ngôn ngữ và phát hiện sự kiện như người dùng muốn thoát khỏi Hành động của bạn hoặc Trợ lý không phát hiện thấy dữ liệu đầu vào nào.
Tạo ý định của người dùng
Ý định của người dùng cho phép bạn xác định các cụm từ huấn luyện của riêng mình giúp xác định những gì người dùng có thể nói với Hành động của bạn. Trợ lý NLU dùng các cụm từ này để tự huấn luyện để hiểu được người dùng nói gì. Khi người dùng nói điều gì đó khớp với mô hình ngôn ngữ của ý định của người dùng, Trợ lý sẽ so khớp ý định đó và thông báo Hành động của bạn để có thể áp dụng logic và phản hồi lại người dùng.
![](https://google-developers.gonglchuangl.net/static/assistant/console/images/builder/new-intent.png?authuser=1&hl=vi)
Cách tạo ý định của người dùng:
- Trong thẻ Phát triển, hãy nhấp vào Ý định của người dùng > ⊕ (Ý định mới), chỉ định tên rồi nhấn phím Enter để tạo ý định.
- Nhấp vào ý định mới tạo trong trình đơn bên trái. Trình chỉnh sửa ý định sẽ xuất hiện.
- Thêm các cụm từ huấn luyện vào ý định. Bạn nên thêm càng nhiều cụm từ huấn luyện để huấn luyện NLU Trợ lý.
- Không bắt buộc: Chú thích các cụm từ huấn luyện để hướng dẫn NLU của Trợ lý phân tích cú pháp
và trích xuất các tham số đã nhập khớp với một loại xác định từ hoạt động đầu vào của người dùng:
- Nhập tên cho thông số vào trường Thêm thông số mới.
- Chọn một loại hệ thống từ trình đơn thả xuống hoặc tạo loại hệ thống tuỳ chỉnh.
- Chỉ định xem tham số có phải là một danh sách hay không. Điều này cho phép tham số thu thập nhiều giá trị cùng loại.
- Trong phần Thêm cụm từ huấn luyện, hãy đánh dấu đoạn văn bản bạn muốn áp dụng loại cho. Thao tác này sẽ yêu cầu Trợ lý NLU xử lý nội dung được đánh dấu văn bản dưới dạng tham số. Nếu người dùng nói gì đó khớp với kiểu khớp đó, NLU trích xuất giá trị đó dưới dạng tham số.
Tạo ý định cho hệ thống
Ý định của hệ thống cho phép bạn tận dụng ý định bằng ngôn ngữ được xác định trước mô hình cho các sự kiện phổ biến như người dùng muốn thoát khỏi Hành động của bạn hoặc khi người dùng đầu vào đã hết thời gian chờ. Cách tạo ý định của hệ thống:
- Trong thẻ Phát triển, hãy nhấp vào Ý định hệ thống. Một tập hợp các ý định hệ thống có có sẵn, như NO_MATCH, NO_INPUT và CANCEL.
- Mỗi ý định của hệ thống chứa các trình xử lý riêng mà bạn có thể tuỳ chỉnh từng loại ý định hệ thống. Ví dụ: ý định của hệ thống cho phép bạn kích hoạt sự kiện webhook và gửi lời nhắc tĩnh khi sự kiện xảy ra.
Tạo kiểu tuỳ chỉnh
Các loại tuỳ chỉnh cho phép bạn tạo quy cách loại của riêng mình để huấn luyện NLU hiểu một tập hợp các giá trị cần ánh xạ đến một khoá duy nhất.
![](https://google-developers.gonglchuangl.net/static/assistant/console/images/builder/type-options.png?authuser=1&hl=vi)
Cách tạo một loại tuỳ chỉnh:
- Trong thẻ Phát triển, hãy nhấp vào Loại > ⊕ (Loại mới).
Chọn cách cung cấp giá trị loại trong phần Loại giá trị nào với giá trị này nhập hỗ trợ?:
- Từ và từ đồng nghĩa cho phép bạn ánh xạ nhiều giá trị tới một khoá duy nhất,
được gọi là một mục nhập. Loại của bạn có thể chứa một hoặc nhiều mục nhập. Nếu bạn
chọn tuỳ chọn này, bạn cũng có thể bật các chế độ cài đặt NLU sau đây:
- Bật tính năng so khớp mờ – Lựa chọn này cho phép các mục nhập có nhiều từ để khớp, ngay cả khi các từ được nói theo thứ tự khác.
- Chấp nhận giá trị không xác định – Khi bạn không thể chỉ định tất cả các giá trị có thể, mã này sẽ chấp nhận các từ hoặc cụm từ không xác định dựa trên thông tin đầu vào xung quanh và dữ liệu huấn luyện ý định, chẳng hạn như các mặt hàng có thể được thêm vào một cửa hàng tạp hoá danh sách.
- Biểu thức chính quy cho phép loại khớp trên các mẫu biểu thức chính quy dựa trên tiêu chuẩn RE2 của Google.
- Văn bản dạng tự do cho phép loại này khớp với bất kỳ nội dung nào người dùng nói.
- Từ và từ đồng nghĩa cho phép bạn ánh xạ nhiều giá trị tới một khoá duy nhất,
được gọi là một mục nhập. Loại của bạn có thể chứa một hoặc nhiều mục nhập. Nếu bạn
chọn tuỳ chọn này, bạn cũng có thể bật các chế độ cài đặt NLU sau đây:
Chỉ định các giá trị cho loại trong phần Thêm mục nhập. Nếu bạn chọn Biểu mẫu tuỳ ý văn bản, loại của bạn khớp với bất kỳ văn bản nào, vì vậy, bạn không phải cung cấp bất kỳ mục nhập nào.
Xây dựng logic và phản hồi cho Hành động
NLU của Trợ lý so khớp yêu cầu của người dùng với ý định để Hành động của bạn có thể xử lý chúng ở dạng cảnh. Cảnh là bộ thực thi logic mạnh mẽ cho phép bạn xử lý các sự kiện trong một cuộc trò chuyện.
![](https://google-developers.gonglchuangl.net/static/assistant/conversational/images/scene.png?authuser=1&hl=vi)
Tạo cảnh
Các phần sau đây mô tả cách tạo cảnh và định nghĩa chức năng cho từng giai đoạn vòng đời của cảnh.
Cách tạo cảnh:
- Trong thẻ Phát triển, hãy nhấp vào Cảnh > ⊕ (Cảnh mới), chỉ định tên rồi nhấn Enter để tạo một cảnh.
- Nhấp vào cảnh mới tạo trong trình đơn bên trái. Trình chỉnh sửa cảnh sẽ xuất hiện.
Xác định chế độ thiết lập một lần
Khi một cảnh bắt đầu hoạt động, bạn có thể thực hiện các thao tác một lần trong Giai đoạn Khi vào. Giai đoạn Khi nhập chỉ thực thi một lần và là giai đoạn duy nhất không chạy trong vòng lặp thực thi của một cảnh.
Trong một cảnh, hãy nhấp vào giai đoạn Khi nhập để chỉ định chức năng của cảnh đó. Bạn có thể chỉ định chức năng sau trong giai đoạn này:
- Gọi webhook của bạn – Kích hoạt webhook. Xem các webhook để biết thêm thông tin về webhook.
- Gửi lời nhắc – Chỉ định lời nhắc tĩnh cho người dùng để họ biết cách tiếp tục cuộc trò chuyện. Xem tài liệu về lời nhắc để biết thêm thông tin về cách chỉ định câu lệnh.
Hình 4. Ví dụ về một cảnh đang ở giai đoạn vào giai đoạn
Kiểm tra các điều kiện
Các điều kiện cho phép bạn kiểm tra vị trí trống, bộ nhớ phiên, bộ nhớ của người dùng và các tham số về bộ nhớ tại nhà để kiểm soát quy trình thực thi cảnh.
Trong một cảnh, hãy nhấp vào biểu tượng dấu + cho giai đoạn Điều kiện. Chiến lược phát hành đĩa đơn Trình chỉnh sửa điều kiện xuất hiện ở bên phải. Bạn có thể chỉ định sau chức năng trong giai đoạn này:
- Điều kiện – Chỉ định câu lệnh có điều kiện thực tế để tắt logic cơ sở . Hãy xem tài liệu về điều kiện để biết cú pháp của bạn.
- Gọi webhook của bạn – Kích hoạt webhook. Xem các webhook để biết thêm thông tin về webhook.
- Gửi lời nhắc – Chỉ định các lời nhắc tĩnh cần gửi cho người dùng để họ biết cách tiếp tục cuộc trò chuyện. Xem lời nhắc để biết thêm thông tin về cách chỉ định lời nhắc.
- Chuyển đổi – Chỉ định cảnh cần chuyển đổi khi có điều kiện là đúng.
![](https://google-developers.gonglchuangl.net/static/assistant/conversational/images/scene-condition.png?authuser=1&hl=vi)
Xác định lấp đầy vùng
Ô cho phép bạn trích xuất các thông số đã nhập từ hoạt động đầu vào của người dùng.
Trong trình chỉnh sửa cảnh, hãy nhấp vào biểu tượng dấu + cho vùng hiển thị Lấp đầy vùng. Chiến lược phát hành đĩa đơn trình chỉnh sửa cho vùng xuất hiện ở bên phải. Bạn có thể chỉ định sau thuộc tính của một vị trí:
- Tên vùng: Chỉ định tên của vùng. Nếu bạn muốn tận dụng của mối liên kết giá trị vị trí, hãy sử dụng cùng một tên làm tham số ý định tương ứng.
- Loại ô: Chỉ định loại của ô bằng một hệ thống hoặc loại tùy chỉnh.
- Khe này là bắt buộc: Đánh dấu ô này là bắt buộc. Nếu được bật, vị trí việc lấp đầy sẽ không hoàn tất cho đến khi ô này được lấp đầy.
- Chỉ định giá trị mặc định cho vùng này: Chỉ định giá trị mặc định cho vùng đó được đọc từ thông số phiên được chỉ định.
- Tuỳ chỉnh việc ghi lại giá trị vùng: Chỉ định một thông số phiên để duy trì giá trị của vùng quảng cáo sau khi lấp đầy vùng.
- Xác thực vùng: Kích hoạt một webhook khi một vùng được lấp đầy. Chế độ cài đặt này sẽ áp dụng cho mọi vị trí.
- Gọi webhook của bạn (Bật khi cần vùng): Kích hoạt webhook. Hãy xem tài liệu về webhook để biết thêm thông tin về webhook.
- Gửi lời nhắc (Bật khi cần có khung): Chỉ định lời nhắc tĩnh gửi cho người dùng để họ biết cách tiếp tục cuộc trò chuyện. Xem tài liệu về lời nhắc để biết thêm thông tin về cách chỉ định lời nhắc.
Đối với một số loại vị trí nhất định (như các vị trí có liên quan đến giao dịch hoặc mức độ tương tác của người dùng), một phần bổ sung sẽ xuất hiện để bạn có thể định cấu hình cho vùng quảng cáo. Ô có thể thay đổi trải nghiệm trò chuyện của người dùng dựa trên các thuộc tính mà bạn cung cấp.
Để định cấu hình một vị trí, hãy cung cấp các thuộc tính trong đối tượng JSON trong
phương thức thực hiện (được tham chiếu dưới dạng tham số phiên) hoặc trong trình chỉnh sửa JSON cùng dòng.
Bạn có thể tìm thấy các thuộc tính có sẵn cho từng loại vùng trong
Tài liệu tham khảo JSON của Trình tạo hành động. Ví dụ: actions.type.DeliveryAddressValue
vùng tương ứng với nội dung tham chiếu của
DeliveryAddressValue
vị trí.
![](https://google-developers.gonglchuangl.net/static/assistant/conversational/images/scene-slot.png?authuser=1&hl=vi)
Liên kết giá trị vị trí
Trong nhiều trường hợp, việc so khớp ý định trước đó có thể bao gồm các tham số mà một phần hoặc lấp đầy hoàn toàn các giá trị vùng của cảnh tương ứng. Trong những trường hợp này, tất cả vị trí được thực hiện bởi các thông số ý định ánh xạ với vùng lấp đầy của cảnh nếu tên vùng khớp với tên tham số ý định.
Ví dụ: nếu người dùng khớp với ý định đặt đồ uống bằng cách nói "Tôi muốn để đặt một tách cà phê vani cỡ lớn", hiện có các vị trí về kích thước, hương vị và đồ uống được coi là đã điền vào cảnh tương ứng nếu cảnh đó xác định cùng một vị trí.
Xử lý thông tin đầu vào
Trong giai đoạn này, bạn có thể yêu cầu Trợ lý NLU so khớp hoạt động đầu vào của người dùng với ý định. Bạn có thể đặt phạm vi so khớp ý định với một cảnh cụ thể bằng cách thêm các ý định mong muốn vào cảnh. Thao tác này cho phép bạn kiểm soát luồng trò chuyện bằng cách cho Trợ lý biết để khớp với các ý định cụ thể khi các cảnh cụ thể đang hoạt động.
Trong một cảnh, hãy nhấp vào biểu tượng dấu + để Xử lý ý định của người dùng hoặc Giai đoạn Xử lý ý định của hệ thống. Trình chỉnh sửa cho trình xử lý ý định xuất hiện ở bên phải. Bạn có thể chỉ định các chức năng sau đây của ý định trình xử lý:
- Ý định – Nêu ý định mà bạn muốn khớp trong cảnh này.
- Gọi webhook của bạn – Kích hoạt webhook. Xem các webhook để biết thêm thông tin về cách bạn có thể xử lý yêu cầu webhook.
- Gửi lời nhắc – Chỉ định lời nhắc tĩnh cho người dùng để họ biết cách phản hồi. Xem tài liệu về lời nhắc để biết thêm thông tin về chỉ định lời nhắc.
- Chuyển đổi (nếu có) – Chỉ định cảnh cần chuyển đổi đến thời điểm khớp với ý định được chỉ định.
![](https://google-developers.gonglchuangl.net/static/assistant/conversational/images/scene-customintent.png?authuser=1&hl=vi)
![](https://google-developers.gonglchuangl.net/static/assistant/conversational/images/scene-systemintent.png?authuser=1&hl=vi)