如何将我的数据库连接到API.AI?

时间:2017-01-02 10:00:16

标签: machine-learning artificial-intelligence chatbot dialogflow

如何将我的数据库连接到API.AI

将每个句子变成INTENT并为每个句子创建实体似乎不是一个好主意吗?那么最好的方法是什么?

2 个答案:

答案 0 :(得分:0)

据我所知,目前还不行,但您可以row modeCVS格式JSON并过去实体 >或导入包含所有实体的JSON / CSV文件。

该文件应如下所示(JSON格式):

[
    {
        "value": "val1",
        "synonyms": [
            "syn1",
            "syn2"
        ]
    },
   {
        "value": "val2",
        "synonyms": [
            "syn21",
            "syn22"
        ]
    },
]

因此,您可以编写一份小作业的图像,该作业从您的DB中读取实体并根据所需格式制作JSON / CSV文件。

完成工作后,此过程可能会极大地促进您在api.ai上创建实体。

答案 1 :(得分:-1)

如果您使用webhook作为意图,您可以将params传递到您的端点,在那里您可以对数据库执行所有查询

我做了一个演示,我在那里查询新闻(作弊,因为我从网上获取它,但我可以插入数据库)。

收到的请求如下:

"What are the latest news about France"

latestFrance将是我发送到webhook端点的参数。

您将通过API.AI

获得以下JSON发送的终端
  "result": {
    "source": "agent",
    "resolvedQuery": "latest news about France",
    "action": "show.news",
    "actionIncomplete": false,
    "parameters": {
      "adjective": "latest",
      "subject": "France"
    }

然后,您可以查询France的所有新闻,并按latest

排序

在我的理解中,我们的想法是创建实体,这些实体是"占位符"对于您需要查询的值。 然后,通过在请求中标记该人所询问的内容,您可以通过几个示例来教授AI。让别人问:

"what is the  oldest news about France?"

人工智能可能不知道oldest是什么,因此你告诉它是一个形容词,从现在开始你可以把最古老的作为一个参数