对话流,如何返回其他实体

时间:2018-09-18 14:16:37

标签: dialogflow

我正在尝试为书籍/文章建立“搜索意图”。

我创建了一个书本标签,其中包含我们书本的所有预定义标签。

book-tags-entity

我创建了另一个名为“意图动作”的实体

intent-action-entity

和搜索词的实体:

search-term-should-match-whatever-else-entity

现在,我想要一个可以理解用户搜索内容的意图。

例如:

输入:搜索糖尿病医学书籍

预期输出:

意图动作:“搜索”正确

书签:“医疗”正确

搜索词:它应该与其他任何内容匹配,在此示例中,应为“糖尿病书”。

search-book-intent

是否有可能实现这一目标?

更新1:使用@ sys-any

感谢您的帮助。

我尝试使用“ sys-any”。它与预定义的搜索词一起使用。我手动将“糖尿病书”,“ copd文章”,“头痛书”映射到sys-any,

,但是它仍然无法识别任何新的搜索词。

try with sys-any

更新2,来自Dialogflow支持的回复

感谢您对Dialogflow的支持。

当前,Dialogflow不提供此类即用型功能。您可以启用意图实现,然后尝试在实现代码中开发自己的自定义业务逻辑,以处理从Dialogflow发送的请求中的参数值和原始用户查询文本,并将结果作为响应发送回Dialogflow。

此处更新了3,适用的解决方案。

在对话流程意图中->训练短语

这里有2种不同的训练模型,“示例模型”和“模板模型”。

我们需要的是“模板模型”,并设置一个模板“ @ sys.any:search-term @ intent-action:intent-action @ sys.any:search-term”

完成。

1 个答案:

答案 0 :(得分:1)

是的,您可以将实体类型为@sys.any的“糖尿病”和“ copd”一词。为此,您可以在测试短语中选择单词,然后输入或选择@sys.any。完成后,它应该看起来像这样:

enter image description here

如果愿意,可以将参数名称从“ any”更改为更有意义的名称。

更新1

您需要手动选择该短语,因此对于更新后的示例中的短语,您需要选择它并将其设置为@sys.any

请记住,您的示例短语就是这样-示例。它们不会是它的特定外观。通过将其标记为@sys.any实体类型,就意味着该参数将匹配任何内容。

您可能还需要为案例选择“必需”。

通常,@sys.any在其他单词也被排除在词组之外时效果最好。试图捕获“其他所有东西”很困难,通常不是您想要的。您真的要捕获短语的“ of”部分吗? “文章”或“书”应该是它们自己的实体类型,而主题应该是@sys.any参数吗?