繁体   English   中英

如何使用Dialogflow捕获用户文本

[英]How to capture user text with Dialogflow

我正在为谷歌环聊聊天创建一个新的机器人。 看起来使用Dialogflow可能是最好的工具。 (如果我错了,请另行通知)。 目标是能够创建一个Q&A机器人,能够检索用户的完整响应作为答案。

我试过谷歌搜索一些不同的搜索词,但没有找到答案,我开始认为Dialogflow不适合我。

我想创建的机器人应该可以进行以下对话:(B:Bot,U:用户)

U: I would like to work remotely today.
B: Ok, please let us know what you will be working on today
U: I will be completing task A, B and C
B: Great, your team has been notified that you will be completing task A, B and C.

要么

U: I will be in the office late today
B: Sure, what time do you think you will be in the office?
U: Before 2pm
B: Great, your team has been notified you will be in the office before 2pm

我一直试图用Dialogflow做到这一点。 我能够让机器人通过提供所需的参数来询问下一个输入,然后提示更多信息,问题是对提示的响应要求我通过实体输入固定的答案。 它无法捕获完整的用户响应作为答案。

目前尚不清楚您认为需要“完整回复”的回复。 通常,Dialogflow可以帮助您获取所需信息的重要部分作为参数,并帮助过滤掉可能不同的用户输入的其他部分,但在语义上是相同的。

所以在你的第一个例子中,你可能想要选择诸如的短语

  • 我将[完成任务A,B和C]
  • 我[正在研究D]
  • 可能[继续E和F]

我用[括号]标记的部分实际上是你想要的部分,而答复的其他部分在语义上是相同的。 您可以使用@sys.any标记每个部分,这类似于正则表达式.* (但不完全相同)。

对于第二个示例,您可能需要多个与您的回复匹配的Intent。 请记住: 意图与用户说的相符,而不是如何处理该回复

一个意图可以用以下时间收集特定答案:

  • 有时[后] [下午2点]
  • [周围] [3]
  • [不在之前] [1:30]
  • 可能[不] [今天]

其中每个都有两个参数 - 一个是时间,另一个是相对于那个时间的短语。

您还可以使用其他类似的短语

  • 这取决于
  • 我不知道

而这些根本不需要参数。 意图本身应反映用户想要说的内容。

在所有这些情况下,您将需要为您要求的特定问题设置后备意图。 您可能只想记录该答案,或者您可能希望使用后备意图来提示他们您想要什么类型的消息。

您需要确定用户可能对您的机器人说什么,并根据您需要在对话框流程代理中创建不同的意图
当用户说出某些内容时,对话框流将尝试通过匹配意图并从中提取参数来确定用户的意图,并且可以基于此配置响应。

例如,你可以让一个意图work_remotely与用户的短语I would like to work remotely todayI would like to work remotely today and will be working on tasks A, B and C
分配参数@sys.any并突出显示A, B and C 此外,您可以根据需要标记该参数并提供提示Ok, please let us know what you will be working on today用户将回答他正在处理的任务。 最后,机器人将捕获参数值并给出响应Great, your team has been notified that you will be completing task $parameter_value.

同样,您需要设计多个流,制作意图,用用户短语训练,提供参数和响应。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM