我正在尝试为书籍/文章 Build 一个“搜索意图” .
我创建了一个书签,其中包含我们书籍的所有预定义标签 .
我创建了另一个名为“intent-action”的实体
和搜索词的实体:
search-term-should-match-whatever-else-entity
现在,我希望有一个能够理解用户搜索内容的意图 .
例如:
输入:搜索糖尿病医学书籍
预期产量:
意图行动:“搜索”正确
书签:“医疗”正确
搜索词:它应该匹配其他任何东西,例如,它应该是“糖尿病书” .
有没有机会实现这一目标?
Update 1: with @sys-any
谢谢你的帮助 .
我尝试使用“sys-any” . 它适用于预定义的搜索项 . 我手动地将“糖尿病书”,“copd的文章”,“头痛的书”映射到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 回答
是的,您可以使"diabetes"和"copd"实体类型为
@sys.any
. 为此,您可以在测试短语中选择单词并键入或选择@sys.any
. 完成后它应该看起来像这样:如果您愿意,可以将参数名称从“any”更改为更有意义的其他名称 .
Update 1
您需要手动选择短语,因此对于更新示例中的短语,您需要选择它并将其设置为
@sys.any
.请记住,您的示例短语只是 - 样本 . 它们不会是它专门寻找的东西 . 通过将其标记为
@sys.any
实体类型,您可以说任何内容都与该参数匹配 .您可能还需要为您的案例选择“必需” .
通常情况下,
@sys.any
在其他单词也被排除在外时效果最佳,但却是短语的一部分 . 试图捕获"everything else"很困难,通常不是你想要的 . 你真的想要捕捉这个短语的"of"部分吗? "article"或"book"应该是他们自己的实体类型而且主题是@sys.any
参数吗?