带有不同实体值的相同同义词的dialogflow模糊性

Sai*_*rga 3 dialogflow-es

我在使用dialogflow(api.ai)开发代理时遇到问题。我正在使用很多彼此不同的实体值。但是,某些实体值也有类似的同义词,但是代理仅返回一个值。

我如何获得所有可能的匹配项或提出问题以解决歧义

例如,我的意图是:告诉我ABC快车的位置

if my entity values are :
entity            synonym
15127             ABC express
12345             ABC express 
Run Code Online (Sandbox Code Playgroud)

我希望它返回两个值或询问问题以解决这种歧义,我该如何解决呢?

Dan*_*ake 5

如果为此目的启用了实现,则可以查看用户所说的值,并提出另一个问题,是否需要区分实体之间的歧义。

假设您要提取一个名为“ trains”的实体。目的中的参数表可能如下所示:

参数表图片

默认情况下,如果用户说ABC express,则将使用以下参数哈希调用实现Webhook:

"parameters": {
  "trains": "15127"
}
Run Code Online (Sandbox Code Playgroud)

这还不足以决定请求是否模棱两可,因为火车15127可能也具有明确的同义词。

您可以配置Dialogflow以发送实体的原始文本以及已解析的值。这意味着您将在Webhook上收到以下信息:

"parameters": {
  "trains": "15127",
  "original": "ABC express"
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用一些简单的逻辑来问一个进一步的问题,即的值是否original出现在已知模棱两可的同义词列表中。

要让Dialogflow发送此数据,请修改参数表,使其如下所示:

参数表图片

这将导致原始同义词与解析值一起发送到Dialogflow。