我目前使用api.ai來創建代理來執行特定的任務,但是我沒有答案的一個問題是,我可以讓它在聊天時學到一些東西,意思是說我說我的名字是'John Cena '她應該存儲它,然後每當我再次問她時,bot應該回答我的問題。我知道有一種方法可以通過登錄api.ai web並手動添加條目來實現,但它不會有幫助,是否有任何程序化或自動工作?我一直用來練習的文件在github中給出。這裏是工作DEMO如何讓api.ai代理動態地學習一些東西?
9
A
回答
4
你基本上需要你的機器人「學習」的事實。有很多不同的方法來實現這一點,但最近最常見的方法是將知識安排到語義「三元組」中,並將知識存儲到一個Graph存儲庫(如Neo4j,Titan,Spark Graph等)中。在你的例子中,「我的名字是約翰塞納」將會翻譯成一個類似「三重奏」(「anubava」,「名字」,「約翰塞納」)。這樣,下次您以anubhava身份登錄並詢問「我的名字是什麼?」時,它會轉化爲Graph搜索,並返回「John Cena」。謹慎地說,實現這一點並不簡單,需要進行大量的微調。欲瞭解更多信息,你可以檢查here和here。
最後,最完整的解決方案(我知道的)是服務器端解決方案。如果您希望整個知識庫駐留在您的移動設備中,那麼您可以使用此處的資源作爲靈感,並使用嵌入式數據庫構建您自己的關聯數據存儲庫。
希望這會有所幫助。祝你好運。
1
要存儲和調用用戶的名稱,您需要設置一些具有基本數據持久性功能的webhook。任何數據庫或鍵值存儲都可以正常工作。
這裏的故障:
- 用於捕獲用戶名意圖實現網絡掛接完成。 webhook應該存儲名稱以及唯一的標識ID,您應該從前端提供
sessionId
或在撥打/query
時作爲上下文參數。 - 爲讀取用戶名的意圖實現webhook履行。 webhook應該按ID查找名稱並返回一個響應,告訴用戶他們的名字。
高級別文檔編寫一個實現網絡掛接在這裏:
相關問題
- 1. 動態地打印一些東西來代替舊的打印的東西等
- 2. SQL查詢學習東西
- 3. 如何動態地投射東西?
- 4. .NET gadgeteer值得學習的東西?
- 5. 我必須學習哪些東西?塔塔與金字塔?
- 6. 關於PHP登錄代碼和學習PHP的東西?
- 7. Q學習代理的學習率
- 8. 讓一些東西在一個數組中移動
- 9. 如何動態地訓練api.ai/dialogflow chatbot?
- 10. 正確迴應這個字符串,所以我有一些東西要學習
- 11. 幫助理解一些OpenGL的東西
- 12. ConcurrentModificationException,幫我理解一些東西
- 13. 如何讓一些東西不以響應形式包裝?
- 14. iOS:如何讓繪圖板像繪製一些東西?
- 15. 如何讓getter根據參數返回一些東西?
- 16. Vim:用一些東西代替整行
- 17. 學習Java-Confused關於一些代碼
- 18. 如何添加一些東西到PYTHONPATH?
- 19. 如何在主把手骨架中動態地改變某些東西?
- 20. 在Python中啓動一些東西
- 21. 啓動tomcat後執行一些東西
- 22. 如何在前端的bing地圖繪製一些東西?
- 23. 無法理解如何測試一些東西
- 24. Jquery.getJson缺少一些東西?
- 25. 如何讓東西卡住別的東西?
- 26. 如何從舞臺上刪除一些動態創建的東西?
- 27. 如何用PayPal支付後自動更新一些東西
- 28. android:如何在Activity開始後自動運行一些東西
- 29. 如何在Java SWING的新行上啓動一些東西?
- 30. 如何在Eclipse E4應用程序中啓動一些東西?