Như chương 2 các bạn đã làm quen với việc tạo ra một project trong dialogflow được gọi là Agent và làm quen với Intent. Bây giờ các bạn sẽ cần phải hiểu rõ các khái niệm này thật cụ thể nhé
Nếu được, các bạn nên đọc thật kỹ các câu từ của mình để thấm. Mình chắc chắn 1 điều rằng rất ít tài liệu tiếng anh và tiếng Việt giải thích sâu cho bạn. Và nếu bạn không nắm vững phần này thì các bạn sẽ mất rất nhiều thời gian để có thể tạo ra 1 chatbot trơn tru theo mặt ngữ nghĩa.
- Agent là gì — 1 Agent thực ra là 1 project,
Bạn có thể hiểu đơn giản là 1 con chat bot. Trong Dialogflow, bạn có thể tạo ra nhiều chatbot khác nhau.
Trong hình sau thì agent là FirstAgent chúng ta đã tạo ở chương trước
VD 1 con chatbot tư vấn về sản phẩm Artline của cửa hàng A,
1 con chatbot tư vấn về sản phẩm Xstamper của cửa hàng B…
Theo mình được biết thì các Agent trong cùng 1 dialogflow chưa thể giao tiếp với nhau (hoặc là mình chưa biết cách cho nó giao tiếp và bạn cũng chưa cần bận tâm điều này)
2. Intent — Mình dịch là “Nội dung đề cập” hoặc “Tình huống”
Khi tạo 1 Agent, bạn sẽ được tạo cùng 2 Intents mặc định đó là “Default Falback Intent” và “Default Welcome Intent”
Default Fallback Intent — những nội dung mà bot không hiểu
Default Welcome Intent — những nội dung mà khách hàng chào
Vậy thì “Nội dung đề cập” là gì?
VD khách hỏi bot: mình muốn mua cây bút Artline, hoặc bút Artline bán ở đâu, hoặc mình ở Sài Gòn muốn mua bút Artline thì ghé nhà sách nào, hoặc nhà sách nào có bán bút dạ quang Artline vậy bạn….
Nói tới nói lui thì khách muốn mua bút thôi mà, vậy nội dung đề cập của khách là mua bút.
Ta sẽ tạo intent có tên là IMuaBan chẳng hạn. (Mình dùng tiếp đầu ngữ I viết tắt cho Intent. Bạn nên dùng như vậy để sau này lập trình dễ phân biệt hơn)
Một ví dụ khác:
Khách hỏi. Sài Gòn ngày mai có mưa không? hoặc mai thời tiết sài gòn như thế nào nhỉ, hoặc nhiệt độ sài gòn cỡ bao nhiêu…
Hỏi tới hỏi lui thì ý nội dung đề cập của khách muốn hỏi là thời tiết như vậy ta tạo Intent ThoiTiet còn Sài Gòn hay Hà Nội, hay ngày mai hay ngày mốt chỉ là biến phụ.
Tao sẽ tạo intent có tên là IThoiTiet chẳng hạn
Qua 2 ví dụ trên chắc bạn hiểu Intent là gì rồi nhỉ. Mình thật sự không muốn dịch từ này ra, bạn hiểu ý nghĩa nó như trên đó là nội dung đề cập. mình không gọi là ngữ cảnh như các bạn khác, vì ngữ cảnh lớn hơn nhiều.
Cái này nhìn vậy nhưng vào trường hợp cụ thể bạn cần phải xác định các intent càng khác nhau càng tốt, như vậy sau này các nội dung đề cập này xác định rõ ràng hơn
3. Entity — bạn hiểu nôn na là bộ từ khoá cho vấn đề cụ thể
Mình dùng lại ví dụ trên:
VD khách hỏi bot: mình muốn mua cây bút Artline, hoặc bút Artline bán ở đâu, hoặc mình ở Sài Gòn muốn mua bút Artline thì ghé nhà sách nào, hoặc nhà sách nào có bán bút dạ quang Artline vậy bạn….
Bạn sẽ thấy có bộ từ khoá: “mua”,” bán” còn những từ ngữ khác thì mình chưa cần quan tâm.
Như vậy ta có Entity eMuaBan (mình dùng tiếp đầu ngữ e để nhận biết đây là Entity, e nhỏ vì mình xem nó là biến, bạn nên sử dụng như vậy sau này lập trình sẽ chính xác hơn)
VD thứ 2:
Sài Gòn ngày mai có mưa không? hoặc mai thời tiết sài gòn như thế nào nhỉ, hoặc nhiệt độ sài gòn cỡ bao nhiêu…
Bạn sẽ xác định các bộ từ khoá Entity sau: mưa, thời tiết, nhiệt độ thuộc bộ từ khoá eThoiTiet. Sài Gòn, Hà Nội… thuộc bộ từ khoá eNoiChon. Ngày mai, ngày mốt, hôm nay…. thuộc bộ từ khoá eThoiGian
Như vậy ta sẽ có 3 Entity: eThoiThiet, eThoiGian, eNoiChon
Bạn cần phải nắm rõ 2 khái niệm Entity và Intent thật kỹ, mọi câu nói của mình có nhiều cách nói khác nhau, quy ra cho cùng vẫn có 2 thứ đó là Nội dung đề cập (Intent) và các bộ từ khoá (Entity) .để xác định bạn đang đề cập vấn đề gì
Tổng kết: Bạn đã hiểu Agent, Intent và Entity rồi nhỉ