Tự tạo chatbot bán hàng với Dialogflow - Phần 4 (Khái niệm về Entities)

Tự tạo chatbot bán hàng với Dialogflow - Phần 4 (Khái niệm về Entities)

Entity là một cơ chế của Dialogflow giúp xác định và trích xuất các dữ liệu cần thiết từ yêu cầu của người dùng. Trong khi Intent giúp Agent có thể hiểu mục đích, ý định của người dùng thì Entity có thể giúp Agent trích xuất ra những thông tin chi tiết và cụ thể nhất của câu truy vấn.
Ví dụ: trong câu nói “có bán sữa bột cho trẻ em không” của người dùng thì “có bán sữa” có thể xem là một Entity về tư vấn và nó sẽ kích hoạt Intent iTuVan.

Một Entities bao gồm:

  • Loại Entity: định nghĩa ra loại thông tin mà ta muốn trích xuất từ câu truy vấn của người dùng.
  • Phần tử Entity: mỗi loại Entity sẽ có nhiều phần tử, mỗi phần tử cung cấp một tập các từ hoặc cụm từ được coi là tương đương
  • Các từ đồng nghĩa và giá trị tham chiếu với Entity: một vài phần tử Entity có nhiều từ hoặc cụm từ mà có nghĩa tương đương nhau, với những Entity này ta cần cung cấp một giá trị tham chiếu và một hoặc nhiều từ, cụm từ đồng nghĩa.

phần trước chúng ta đã tạo ra các Intent để tư vấn về sản phẩm sữa bột Frisolac. Tiếp theo chúng ta cần tạo ra các Entities tương ứng tại mục Entities ở menu bên phải click vào nút CREATE ENTITY và đặt tên cho Entity đầu tiên là eTuVan (tôi đặt theo định dạng chữ ‘e’ đầu tiên để chỉ đó là một Entity và ‘TuVan’ là tên Entity). Loại Entity ta để chọn mặc định là Define synonyms, sau đó chọn Add a row sẽ xuất hiện 2 ô để nhập vào một giá trị Entity và các từ đồng nghĩa với Entity đó.

eTuVan
reference value: tư vấn
synonyms: tư vấn, muốn hỏi, cần hỏi, cần biết, muốn biết, hỏi, cho hỏi

Như vậy khi người dùng nhập vào một câu có chứa các từ đồng nghĩa này thì Intent iTuVan sẽ được kích hoạt, tuy nhiên nếu người dùng không nhập vào 1 trong các từ đồng nghĩa mà ta đã nhập ở trên thì sao??? Câu trả lời là chat bot vẫn có thể nhận diện được nếu trong câu nói của người dùng có xuất hiện các từ tương tự với Entity mà ta đã định nghĩa đó là do Dialogflow xử dụng trí tuệ nhân tạo để học các từ đồng nghĩa mà ta nhập vào từ đó có thể suy luận ra các từ đồng nghĩa khác và kích hoạt Intent tương ứng. Cụ thể trong ví dụ của chúng ta thì câu nói của người dùng không chứa các từ đồng nghĩa trong eTuVan mà ta đã định nghĩa như có cụm từ “có bán sữa” là một cách nói khác với mục đích cuối cùng là muốn hỏi có bán sữa không, khi đó chat bot nhận diện được eTuVan và đã kích hoạt iTuVan thành công.

Quay lại một xíu ở phần trước khi ta định nghĩa ra các Training phrases trong Intent iTuVan tôi cố tình nhập vào các câu có chứa các từ đồng nghĩa trong Entity eTuVan, ví dụ trong câu “cho hỏi về sữa bột cho trẻ” có chứa Entity eTuVan là từ “cho hỏi” khi đó chúng ta thấy từ này lập tức được Dialogflow highlight lên và eTuVan được tự động thêm vào mục Action and parameters. Như vậy mỗi khi câu nói của người dùng được Dialogflow xác định có chứa Entity eTuVan thì lập tức nó sẽ kích hoạt Intent iTuVan tương ứng.

Chúng ta tiếp tục định nghĩa các Entities khác để xử lý các Intent về sản phẩm, giá bán và địa chỉ.

eSanPham
reference value: Physiolac
synonyms: Physiolac, sữa physiolac, sữa pháp, sữa bột physiolac

eGia
reference value: giá
synonyms: giá, giá bán, bao nhiêu tiền, giá bao nhiêu, giá hiện tại, bán bao nhiêu

eDiaChi
reference value: mua ở đâu
synonyms: mua ở đâu, mua, mua chỗ nào, chỗ mua

reference value: bán ở đâu
synonyms: bán ở đâu, bán, bán chỗ nào, chỗ bán, nời nào bán

Ta có thể định nghĩa nhiều phần tử Entity khác nhau trong một Entity như ở Entity eDiaChi tôi định nghĩa 2 phần tử Entity là mua ở đâu và bán ở đâu. Như vậy khi người dùng có nhu cầu hỏi về chỗ mua hoặc chỗ bán thì đều sẽ được Dialogflow nhận diện đó là Entity eTuVan. Ở phần cuối của series hướng dẫn tạo chat bot bằng Dialogflow này tôi sẽ hướng dẫn các bạn cách tích hợp chat bot mà mình đã tạo trên Dialogflow vào website của mình.

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×