我在使用dialogflow(api.ai)开发代理时遇到问题 . 我使用了很多彼此不同的实体值 . 但是某些实体值有相似的同义词,但代理只返回一个值 .
我如何获得所有可能的匹配或提出问题以解决歧义
例如我有一个意图:告诉我ABC快车的位置
if my entity values are :
entity synonym
15127 ABC express
12345 ABC express
我希望它返回两个值或提出问题来解决这种模棱两可的问题我如何才能解决这个问题
1 回答
如果您为此意图启用了履行,则可以查看用户所说的值,并在需要消除实体之间的歧义时再询问一个问题 .
让我们假设您正在提取一个名为“火车”的实体 . 意图中的参数表可能如下所示:
默认情况下,如果用户说
ABC express
,将使用以下参数hash调用实现webhook:这不足以确定请求是否模糊,因为列车15127也可能具有非模糊的同义词 .
您可以将Dialogflow配置为发送实体的原始文本以及已解析的值 . 这意味着您将收到以下信息给您的webhook:
然后,您可以使用一些简单的逻辑来询问另一个问题,如果
original
的值出现在已知的模糊同义词列表中 .要让Dialogflow发送此数据,请修改参数表,使其如下所示:
这将导致原始同义词与解析后的值一起发送到Dialogflow .