0

例如,如果我想验证用户的话语中是否有关键字,但我不想训练意图也不想使用表单参数,只需 fullfilment 的条件字段,例如:

$user.input : "关键字"

已翻译... 用户的话语中是否包含“关键字”一词?

4

2 回答 2

0

特别是对于条件,没有这样的默认参数或变量将包含用户的输入查询作为值。条件触发器明确地仅与以下参数一起使用:$intent、$page 和 $session。如条件参考中所述,可以设置的参数列在参数指南下。

如果您要求的参数/变量可以与查询中包含特定关键字的条件一起使用,那么除非定义或设置了意图、表单或会话参数,否则这样的事情是不可能的。

尽管您指定只想使用条件履行,但以下是两种可能的解决方案:

A) 有一个简单的解决方案,只需要一个能够处理验证的Webhook 。让您的 Webhook 准备好解析传入的 JSON WebhookRequest ,根据用户的查询输入方法查找texttrigger_intenttranscripttrigger_event字段。例如,如果用户通过文本输入,您的 webhook 应在 Webhook 请求中查找“文本”字段,检查关键字是否存在,并正确处理。

B) 使用 API 的另一种解决方法是直接在您的实现中使用API 和客户端库,以允许您访问用户输入查询的副本。例如,您可以按如下方式使用 REST API:

  1. 通过 DetectIntent将用户查询发送到Dialogflow
  2. 返回后,它们将包含一个DetectIntentResponse,其中包含一个QueryResult
  3. 在 QueryResult 内:
    如果提供自然语言语音音频作为输入,则转录音频的文本字符串将存储在“转录本”中。
    如果提供的是自然语言文本,则文本的副本将存储在“文本”中</li>
于 2021-04-29T23:25:17.610 回答
0

没有默认参数,但您可以轻松添加自己的参数。

您可以添加一个实体类型的参数@sys.any,它可以捕获用户输入并将值放入变量中。

在此处输入图像描述

然后您将能够使用 Route 来检查 user_input 是否满足您的条件

在此处输入图像描述

于 2021-08-26T00:09:20.153 回答