我正在尝试为书籍/文章建立“搜索意图”。
我创建了一个书本标签,其中包含我们书本的所有预定义标签。
我创建了另一个名为“意图动作”的实体
和搜索词的实体:
search-term-should-match-whatever-else-entity
现在,我想要一个可以理解用户搜索内容的意图。
例如:
输入:搜索糖尿病医学书籍
预期输出:
意图动作:“搜索”正确
书签:“医疗”正确
搜索词:它应该与其他任何内容匹配,在此示例中,应为“糖尿病书”。
是否有可能实现这一目标?
更新1:使用@ sys-any
感谢您的帮助。
我尝试使用“ sys-any”。它与预定义的搜索词一起使用。我手动将“糖尿病书”,“ copd文章”,“头痛书”映射到sys-any,
,但是它仍然无法识别任何新的搜索词。
更新2,来自Dialogflow支持的回复
感谢您对Dialogflow的支持。
当前,Dialogflow不提供此类即用型功能。您可以启用意图实现,然后尝试在实现代码中开发自己的自定义业务逻辑,以处理从Dialogflow发送的请求中的参数值和原始用户查询文本,并将结果作为响应发送回Dialogflow。
此处更新了3,适用的解决方案。
在对话流程意图中->训练短语
这里有2种不同的训练模型,“示例模型”和“模板模型”。
我们需要的是“模板模型”,并设置一个模板“ @ sys.any:search-term @ intent-action:intent-action @ sys.any:search-term”
完成。
答案 0 :(得分:1)
是的,您可以将实体类型为@sys.any
的“糖尿病”和“ copd”一词。为此,您可以在测试短语中选择单词,然后输入或选择@sys.any
。完成后,它应该看起来像这样:
如果愿意,可以将参数名称从“ any”更改为更有意义的名称。
更新1
您需要手动选择该短语,因此对于更新后的示例中的短语,您需要选择它并将其设置为@sys.any
。
请记住,您的示例短语就是这样-示例。它们不会是它的特定外观。通过将其标记为@sys.any
实体类型,就意味着该参数将匹配任何内容。
您可能还需要为案例选择“必需”。
通常,@sys.any
在其他单词也被排除在词组之外时效果最好。试图捕获“其他所有东西”很困难,通常不是您想要的。您真的要捕获短语的“ of”部分吗? “文章”或“书”应该是它们自己的实体类型,而主题应该是@sys.any
参数吗?