在dialogflow中使用事件触发意图

时间:2019-06-19 16:15:44

标签: dialogflow dialogflow-fulfillment

我正在尝试创建一个测验机器人,我希望在其中验证用户的答案。我创建了一个显示问题的意图,然后创建了一个验证答案的后续意图。以下是简要的想法:

当向用户显示问题时,还向他/她显示了一个单词选项作为建议磁贴,用户选择了建议磁贴(他/她认为这是正确的答案),那么后续意图应为触发以验证答案,并且漫游器应以正确或不正确的答案进行响应。

到目前为止,我已经能够在聊天框中显示问题和选项,但是一旦用户选择了该选项,就会触发默认的回退意图。 另外,我已将所有答案包括在意图培训中,这些答案只有一个字长。

是否可以使用用户的输入来触发意图?另外,如果还有其他方法可以在dialogflow中创建测验机器人,请发表评论吗?

1 个答案:

答案 0 :(得分:2)

我还在Google主页上创建了一个测验。 我遇到了同样的问题,我想出了以下解决方案:

默认欢迎意图的输出上下文为 await_answer ,我问这个意图。 然后是一个 getAnswerIntent ,它以 await_answer 作为输入上下文,并以 answerCodeEntity 作为训练短语。该实体包括:

Traceback (most recent call last):
  File "C:\Users\ghamr\OneDrive\Documents\GitHub\Care_Track\Learning\Ghamr\PD\Ghamr_panda.py", line 4, in <module>
    datafram = pd.read_csv("candata.csv")
  File "C:\Users\ghamr\AppData\Roaming\Python\Python37\site-packages\pandas\io\parsers.py", line 702, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "C:\Users\ghamr\AppData\Roaming\Python\Python37\site-packages\pandas\io\parsers.py", line 429, in _read
    parser = TextFileReader(filepath_or_buffer, **kwds)
  File "C:\Users\ghamr\AppData\Roaming\Python\Python37\site-packages\pandas\io\parsers.py", line 895, in __init__
    self._make_engine(self.engine)
  File "C:\Users\ghamr\AppData\Roaming\Python\Python37\site-packages\pandas\io\parsers.py", line 1122, in _make_engine
    self._engine = CParserWrapper(self.f, **self.options)
  File "C:\Users\ghamr\AppData\Roaming\Python\Python37\site-packages\pandas\io\parsers.py", line 1853, in __init__
    self._reader = parsers.TextReader(src, **kwds)
  File "pandas\_libs\parsers.pyx", line 387, in pandas._libs.parsers.TextReader.__cinit__
  File "pandas\_libs\parsers.pyx", line 705, in pandas._libs.parsers.TextReader._setup_parser_source
FileNotFoundError: [Errno 2] File b'candata.csv' does not exist: b'candata.csv'
[Finished in 2.068s]

例如:月亮离地球有多远? A:384.000公里 B:50.000公里 或C:1.000.000 km

通过这种方式,用户知道如何回答。您将避免拥有无法说出答案或不记得的用户。始终尝试期望用户会做出怎样的反应。

通过这种方式,您可以在 getAnswerIntent中处理用户的答案。

希望对您有所帮助!