Công cụ

Entity trong Dialogflow là gì? Tất tần tật về 3 loại entity phải biết khi sử dụng Dialogflow

Entity là một thuật ngữ khá quan trọng trong Dialogflow nhưng không phải người mới nào cũng biết và làm chủ được nó. Bài viết này sẽ giúp bạn tìm hiểu kỹ hơn về 3 loại entity trong Dialogflow để tối ưu khả năng xử lý hội thoại cho agent của mình!

1. Entity trong Dialogflow là gì?

Entity (Thực thể) là cơ chế trong Dialogflow giúp nhận diện và trích xuất dữ liệu cụ thể từ những gì người dùng nhập vào (có thể là text hoặc giọng nói).

Nó cho phép agent (đại diện của chatbot) lấy thông tin chi tiết như ngày, giờ, địa điểm, số điện thoại, hoặc các dữ liệu tùy chỉnh khác do người dùng tự định nghĩa.

Ví dụ, nếu người dùng nói "Hãy chỉ cho tôi biết địa chỉ đến quán ăn X ở thành phố H” thì entity trong trường hợp này sẽ là:

  • Địa điểm/Quán ăn: Tên của quán ăn, trong trường hợp này là X. Entity này có thể được lưu lại dưới tên là @restaurant_name.
  • Thành phố: Tên của thành phố, trong trường hợp này là H. Entity này có thể được lưu lại dưới tên là @ city_name.

Do đó, khi trích xuất entity thì sẽ cho kết quả như sau:

  • @restaurant_name: X
  • @city_name: H

 

6 Buoc Tao Agent Trong Dialogflow 4

Trong Dialogflow, tên gọi của Entity được bắt đầu bằng ký hiệu @ để phân biệt với các thành phần khác như Intents (thể hiện ý định của người dùng) hay Actions (Hành động của agent).

Tùy vào từng ngữ cảnh mà bạn có thể xác định các thực thể của riêng mình, chẳng hạn như loại xe, thể loại nhạc, số lượng, đơn vị… Bất kỳ dữ liệu quan trọng nào bạn muốn lấy từ yêu cầu của người dùng đều sẽ có một thực thể tương ứng.

2. Các loại entity trong Dialogflow

Trong Dialogflow, có ba loại entity chính là: 

System entities

System entities (Thực thể hệ thống) là các thực thể được trang bị sẵn trong Dialogflow, cho phép các agent trích xuất thông tin về nhiều khái niệm khác nhau mà không cần cấu hình thêm. 

Đơn cử, Dialogflow có các system entities mặc định để trích xuất ngày tháng, thời gian và địa điểm từ đầu vào là ngôn ngữ tự nhiên của con người.

Ví dụ:

Nếu người dùng nói: "Tôi muốn đặt bàn vào thứ Sáu tuần sau lúc 7 giờ tối."
Entity có thể trích xuất là:

  • @sys.date: "thứ Sáu tuần sau"
  • @sys.time: "7 giờ tối"

Entity Trong Dialoflow 2

Cả hai ví dụ trên đều là system entities, tức đã có sẵn nên người dùng không phải cài đặt hay cấu hình gì thêm.

Bạn nên dùng Developer Entities khi cần nhận diện các từ hoặc cụm từ đặc thù, không có trong System Entities hoặc muốn tùy chỉnh agent tốt hơn, kiểm soát hoàn toàn cách entity được nhận diện và xử lý.

Developer entities

Developer entities là các thực thể không có sẵn mà do nhà phát triển tự định nghĩa trong quá trình xây dựng chatbot để đáp ứng mục đích riêng.

Ví dụ: Giả sử bạn đang phát triển một chatbot đặt vé xem phim. Bạn có thể tạo các Developer Entities như:

  • @movie_name: Định nghĩa danh sách các bộ phim.
    Giá trị: ["Avengers", "Inception", "Titanic"]
  • @cinema_name: Danh sách rạp chiếu phim.
    Giá trị: ["Galaxy", "CGV", "Lotte"]
  • @seat_type: Loại ghế trong rạp.
    Giá trị: ["Thường", "VIP", "Giường nằm"]

Khi người dùng nói: "Tôi muốn đặt 2 vé xem Avengers ở CGV ghế VIP" → chatbot có thể trích xuất:

  • @movie_name: "Avengers"
  • @cinema_name: "CGV"
  • @seat_type: "VIP"

Entity Trong Dialoflow 3

Session entities

Mỗi cuộc hội thoại giữa agent của Dialogflow và người dùng cuối được xem là một phiên làm việc (session). Do đó, bạn có thể tạo ra các entity đặc biệt chỉ có thể sử dụng trong một phiên làm việc duy nhất. Chúng sẽ được gọi là session entities (thực thể phiên làm việc).
Hay nói đơn giản hơn, session entities là các phiên bản tạm thời của entity, được xác định riêng cho một phiên hội thoại cụ thể.

Ví dụ: Giả sử bạn muốn tạo một chatbot đặt vé xem phim. Bạn sẽ có một developer entity cố định là @movie_name chứa tên 3 bộ phim phổ biến như sau:

@movie_name: ["Avengers", "Inception", "Titanic"]

Tuy nhiên, nếu người dùng hỏi về một sự kiện phim đặc biệt chỉ diễn ra trong hôm nay, bạn có thể tạo một session entity để thêm các bộ phim cho sự kiện đó.

Lúc này, ta sẽ có 1 session entity vẫn tên là @movie_name nhưng giá trị có thể là ["Special Movie 1", "Special Movie 2"].

Khi người dùng nói: "Tôi muốn đặt vé xem Special Movie 1" → chatbot có thể nhận diện movie_name là "Special Movie 1".

 

Entity Trong Dialoflow 4

Quá trình này không ảnh hưởng gì đến developer entity nguyên bản vốn chỉ có 3 giá trị.

Session entities có thể mở rộng hoặc thay thế các entity tùy chỉnh và chỉ tồn tại trong phiên làm việc mà chúng được tạo ra. Các bạn cần lưu ý là sau khi phiên hội thoại kết thúc, session entities cũng sẽ bị xóa và không ảnh hưởng đến entity cố định. Tất cả các dữ liệu trong session, bao gồm cả session entities, sẽ được Dialogflow lưu trữ trong vòng 20 phút.

3. Tạm kết

Bạn thấy đấy, entity là một thành phần quan trọng trong Dialogflow, giúp chatbot hiểu và trích xuất thông tin quan trọng từ câu nói của người dùng. Bên cạnh khái niệm này, các bạn cũng cần tìm hiểu thêm về intent, agent hay training phrases… để làm chủ Dialogflow tốt hơn nhé! 

Dung Thu Ngay

0/5 - (0 bình chọn)
son phuoc
Tác Giả
Bình luận (0)
Hơn 500K+ người dùng đã đăng ký nhận thông báo cập nhật bài viết mỗi ngày.
Để lại email để nhận thông báo về công cụ tiếp thị, xu hướng công nghệ mới nhất!
Khám phá
Bài viết cùng danh mục
so sanh asana va slack cong cu nao vuot troi hon trong nam 2025So sánh Asana và Slack: Công cụ nào vượt trội hơn trong năm 2025

Trong thời đại công nghệ phát triển như vũ bão, nơi mọi người làm việc từ xa, họp trực tuyến và quản lý dự án qua các nền tảng số, việc chọn đúng công cụ làm việc nhóm là yếu tố tiên quyết để đảm bảo hiệu suất. Với hàng loạt phần mềm hỗ trợ công việc trên thị trường, Asana và Slack luôn là hai cái tên “cộm cán” trong lĩnh vực quản lý công việc và giao tiếp nhóm. Câu hỏi đặt ra là: Asana hay Slack, nền tảng nào thực sự vượt trội hơn ở thời điểm hiện tại? Hãy cùng BENOCODE tìm hiểu đâu là lựa chọn tốt hơn cho nhu cầu của bạn trong bài viết này nhé!

trello hay asana se giup day nhanh tien do du anTrello hay Asana sẽ giúp đẩy nhanh tiến độ dự án?

Kể từ khi cuộc cách mạng công nghiệp 4.0 bùng nổ, các tập đoàn công nghệ đã nhanh chóng nắm bắt cơ hội và cho ra đời những sản phẩm thông minh như phần mềm quản lý công việc. Những công cụ này giúp doanh nghiệp tiết kiệm chi phí, tối ưu thời gian và nâng cao hiệu suất làm việc. Việc điều hành và quản lý cũng trở nên linh hoạt hơn khi bạn có thể giám sát mọi thứ từ xa, mọi lúc, mọi nơi. Trong bài viết này, chúng ta sẽ so sánh hai phần mềm quản lý công việc phổ biến hiện nay là Trello và Asana.