首页 文章

dialogflow,如何返回what-else实体

提问于
浏览
2

我正在尝试为书籍/文章 Build 一个“搜索意图” .

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

book-tags-entity

我创建了另一个名为“intent-action”的实体

intent-action-entity

和搜索词的实体:

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

现在,我希望有一个能够理解用户搜索内容的意图 .

例如:

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

预期产量:

意图行动:“搜索”正确

书签:“医疗”正确

搜索词:它应该匹配其他任何东西,例如,它应该是“糖尿病书” .

search-book-intent

有没有机会实现这一目标?

Update 1: with @sys-any

谢谢你的帮助 .

我尝试使用“sys-any” . 它适用于预定义的搜索项 . 我手动地将“糖尿病书”,“copd的文章”,“头痛的书”映射到sys-any,

但它仍然无法识别任何新的搜索词 .

try with sys-any

Update 2, response from Dialogflow support

感谢您与Dialogflow的支持联系 .

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

Update 3, working solution here.

在dialogflow intent - > training phrase中

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

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

完成 .

1 回答

  • 1

    是的,您可以使"diabetes"和"copd"实体类型为 @sys.any . 为此,您可以在测试短语中选择单词并键入或选择 @sys.any . 完成后它应该看起来像这样:

    enter image description here

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

    Update 1

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

    请记住,您的示例短语只是 - 样本 . 它们不会是它专门寻找的东西 . 通过将其标记为 @sys.any 实体类型,您可以说任何内容都与该参数匹配 .

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

    通常情况下, @sys.any 在其他单词也被排除在外时效果最佳,但却是短语的一部分 . 试图捕获"everything else"很困难,通常不是你想要的 . 你真的想要捕捉这个短语的"of"部分吗? "article"或"book"应该是他们自己的实体类型而且主题是 @sys.any 参数吗?

相关问题