Dialogflow là một chat bot AI tuyệt vời nhất hiện nay. Có thể nói là thông minh nhất hiện nay trong việc xử lý ngôn ngữ. Không như những chat bot khác thường sử dụng cấu trúc so sánh.
Tuy nhiên Dialogflow cũng giới hạn một số điểm và bạn cần biết những điểm giới hạn này trong dialoflow để xây dựng giải thuật phù hợp nhất cho business của bạn
Agent
- Maximum number of training phases per agent = 100.000: Nghĩa là tổng số training phrase trong toàn bộ Agent cho dù bạn có bao nhiêu intent đi nữa cũng chỉ có tối đa là 100.000 câu thôi.
Chúng ta có 2000 intent maximum, 1 intent có 2000 training phrase maximum. Như vậy theo toán học chúng ta sẽ có 2000×2000 = 4000.000 training phrases. Điều này quá lớn gây hao phí vì thực tế không phải intent nào cũng cần đến maximum số training phrase. Và Dialogflow rất thông minh, chỉ cần bạn cho nó vài câu training tốt là nó có thể hiểu rồi - Maximum number of entity reference values and synonyms per agent = 1.000.000: Chúng ta có tổng cộng 1 triệu từ khoá đồng nghĩa trong 1 agent. Nghĩa là gì ?
vd từ khoá “mua hàng” có thể có từ đồng nghĩa là mua ở đâu, bán ở đâu, mình muốn có. Như vậy bạn có 3 từ đồng nghĩa. Màu sắc có các từ màu gì, màu nào, màu đỏ, màu xanh… Vậy chúng ta có tổng cộng số từ này không được vược quá 1triệu trong 1 agent. Cũng xấp xỉ cái từ điển thông thường rồi - Maximum number of agents per Google Cloud project = 1: 1 dự án google cloud bạn chỉ có 1 agent thôi. Có thể hiểu 1 tài khoản google bạn có thể tạo nhiều agent nhưng bạn chỉ có thể active 1 agent trong 1 thời điểm thôi.
Intent
- Maximum number of intents = 2000: Tối đa số câu hội thoại cho 1 agent là 2000. Có vẻ nhiều nhưng thực ra là rất ít.
VD bạn làm 1 bot bán sản phẩm cho website của mình. Nếu 1 intent đại diện cho 1 sản phẩm và shop của bạn có trên 2000 sản phẩm thì bạn không thể làm nổi. Vì vậy hãy xử dụng chatbot cho việc xử lý chung chung là hợp lý. - Maximum number of training phases per intent = 2000: Phần training phrases đến 2000 cho 1 intent thì theo mình quá dư. Vì Dialogflow rất thông minh nên bạn không cần phải training quá nhiều và quá cụ thể đâu
- Maximum number of parameters per intent = 20: nghĩa là trong 1 intent, bạn không thể trích dẫn quá 20 tham số. VD thời tiết hôm nay tại TP HCM có mưa không? nó chứa 3 tham số là thời tiết, ngày tháng và nơi chốn. Một số bạn có thể xem 20 là quá lớn, nhưng một số khác thì xem là qúa nhỏ.
Vì hạn chế số intent tối đa là 2000 nên nhiều bạn sẽ đẩy tham số càng nhiều càng tốt. Phối hợp tốt giữa intent và parameter giúp ta tăng khả năng cho chatbot kha khá - Maximum number of input contexts = 5: số input context là 5, theo mình thấy khả ổn vì nó nếu sử dụng input context để truyền dữ liệu của intent trước cho intent sau thì chúng ta chỉ cần 1 là đủ. Tuy nhiên chúng ta còn dùng input context để chỉ định intent kích hoạt thì 5 là cũng khá tốt.
- Maximum number of output contexts = 30: Google không phải ngẫu nhiên mà cho output cao lên đến 30 nhỉ. Vì context như mình đã nói trước đây, nó không chỉ có nhiệm vụ truyền tải thông tin từ intent trước đến intent sau mà nó giúp chỉ định intent sau nào sẽ được kích hoạt. Bạn nên tham khảo context thật tốt để có thể tận dụng cơ chế này
- Maximum number of text responses per intent = 30: Theo mình nghĩ đây là quá nhiều cho phần response. Thông thường hệ thống chỉ call 1 response ngẫu nhiên trong số này thôi. Nếu bạn cần nhiều hơn 30 responses thì mình có 1 tip là chúng ta viết response trong webhook fulfillment. Tham khảo cách hiển thị thông tin trong Dialogflow fulfillment nha
- Maximum number of prompts per parameter = 30: Nghĩa là tối đa parameter bạn yêu cầu người dùng bắt buộc phải nhập là 30. Theo mình thấy đây là quá nhiều vì bạn nên hạn chế prompt parameter. Nó nằm trong mục slotfilling. Nó yêu cầu người dùng phải nhập đúng và đủ. Điều này rất dễ gây bực mình chon người dùng.
Entity
- Maximum number of entity types = 250: Nghĩa là bạn chỉ có thể tạo tối đa 250 bộ từ khoá. Cái này khá là ít vì nếu 1 sản phẩm của bạn là 1 bộ từ khoá VD Entity “bút dạ quang Artline” thì quá phung phí. Nếu bạn có 1000 sản phẩm thì bạn không thể tạo ra đủ số bộ từ khoá diễn giải cho các sản phẩm. Nên thay bằng từ khoá chung chung hơn. Bạn có thể hiểu đây là bộ từ khoá cấp 1 tương tự menu cấp 1 trong website.
- Maximum number of entity entries = 30000: Nghĩa là các bộ từ khoá con và cha trong entity. Để dễ hình dung, bạn có thể hiểu nó tương tự như số lượng menu cấp 1 và cấp 2 trong website. Số lượng này theo mình cũng khá ít cho những website lơn
- Maximum number of entity synonyms per entity entry = 200: 1 từ khoá Entity bạn có nhiều từ đồng nghĩa Vd Entity Màu sắc sẽ có từ đồng nghĩa là màu đỏ, màu xanh, màu vàng, màu tim… tuy nhiên không được vược quá 200 từ. Theo mình thấy với hạn ngạch này cũng khá ổn
Mình hy vọng bạn nắm vững hạn ngạch mà Dialogflow cung cấp cho bạn để có thể thiết kế giải thuật phù hợp nhất tận dụng tối đa. Hiện nay google chưa đưa ra cách thức nào hay một thông báo nào giúp tăng số hạn ngạch này. Hy vọng tương lai khi hệ thống lưu trữ hay giải thuật phát triển, google có thể tăng hạn ngạch thêm. Cái mình đang mong nhất là số lượng intent
Giới hạn
Phần giới hạn trong dialogflow đa số chỉ liên quan đến ký tự rất dễ hiểu vd cách đặt tên …nên mình không cần giải thích. Bạn có thể tự tìm hiểu tại đây
- Maximum intent name length 100 characters
- Maximum entity type name length 30 characters
- Maximum training phrase length 768 characters
- Maximum action name length 250 characters
- Maximum context name length 250 characters
- Maximum entry value length 512 characters
- Maximum parameter name length 30 characters
- Maximum text response length 4000 characters
- Maximum detect intent text input length* 256 characters