如何使api.ai代理dynamic地学习一些东西?

我目前正在使用api.ai来创build代理来执行特定的任务,但是我没有回答的一个问题是,我可以在聊天的时候学习一些东西,意思是我说我的名字是'John Cena' ,她应该存储它,然后当我再次问她机器人应该回答我。 我知道有一种方法可以通过login到api.ai网页并手动添加条目来实现,但是它不会有帮助,是否有任何编程或自动工作? 我一直用来练习的文件在github中给出。 这里是DEMO的工作

Solutions Collecting From Web of "如何使api.ai代理dynamic地学习一些东西?"

你基本上需要你的机器人来“学习”事实。 有许多不同的方法来实现这一点,但最近最常见的方法是将知识安排到语义“三元组”中,并将知识存储到一个graphics存储库(如Neo4j,Titan,Spark Graph等)中。 在你的例子中,“我的名字是约翰·塞纳(John Cena)”将会翻译成一个三位一体(“anubava”,“名字”,“约翰·塞纳”)。 这样,下次你以anubhava身份login并询问“我的名字是什么?”时,它会转化为图表search,返回“John Cena”。 谨慎的一句话,实现这一点并不是微不足道的,需要进行大量的微调。 欲了解更多信息,你可以在这里和这里查看 。

最后,我所知道的最完整的解决scheme是服务器端解决scheme。 如果您希望整个知识库驻留在您的移动设备中,那么您可以使用该资源作为灵感,并使用embedded式数据库构build您自己的关联数据存储库。

希望这可以帮助。 祝你好运。

要存储和调用用户的名字,你需要设置一些基本的数据持久化function的webhook。 任何数据库或键值存储都可以正常工作。

这是细节:

  1. 实现捕捉用户名的意图的webhook履行。 webhook应该存储名称以及唯一的标识ID,您应该从您的前端提供sessionId或作为您的/query的上下文参数。
  2. 为读取用户名的意图实现webhook履行。 webhook应该通过ID查找名称,并返回一个响应,告诉用户他们的名字。

编写履行webhook的高级文档在这里:

https://docs.api.ai/docs/webhook