【问题标题】:dialogflow ambiguity with same synonyms for different entity values不同实体值具有相同同义词的对话流歧义
【发布时间】:2018-06-21 05:20:06
【问题描述】:

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

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

例如,我有这样的意图:告诉我 ABC 快车的位置

if my entity values are :
entity            synonym
15127             ABC express
12345             ABC express 

我希望它返回两个值或提出问题来解决这种歧义 我怎样才能解决这个问题 提前致谢

【问题讨论】:

  • 信息不足。发布一些包含实体、同义词等的示例。
  • 我想我提供了足够的信息。我担心的是,如果我有许多具有相同同义词的实体值,我该如何处理这种情况。 api.ai 只给我它找到的一个实体值,而不是提供所有此类匹配的类似问题,如果您发现它有用discuss.api.ai/t/synonym-in-multiple-instances-of-one-entity/…,链接中会提供类似的问题

标签: dialogflow-es


【解决方案1】:

如果您为此 Intent 启用了实现,您可以查看用户所说的值,并在您需要消除实体之间的歧义时提出进一步的问题。

假设您正在提取一个名为“火车”的实体。您的意图中的参数表可能如下所示:

默认情况下,如果用户说ABC express,将使用以下参数散列调用实现webhook:

"parameters": {
  "trains": "15127"
}

这不足以确定请求是否有歧义,因为火车 15127 也可能有无歧义的同义词。

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

"parameters": {
  "trains": "15127",
  "original": "ABC express"
}

然后,如果original 的值出现在已知的歧义同义词列表中,您可以使用一些简单的逻辑来进一步提问。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多