我正在尝试创建一个测验机器人,我希望在其中验证用户的答案。我创建了一个显示问题的意图,然后创建了一个验证答案的后续意图。以下是简要的想法:
当向用户显示问题时,还向他/她显示了一个单词选项作为建议磁贴,用户选择了建议磁贴(他/她认为这是正确的答案),那么后续意图应为触发以验证答案,并且漫游器应以正确或不正确的答案进行响应。
到目前为止,我已经能够在聊天框中显示问题和选项,但是一旦用户选择了该选项,就会触发默认的回退意图。 另外,我已将所有答案包括在意图培训中,这些答案只有一个字长。
是否可以使用用户的输入来触发意图?另外,如果还有其他方法可以在dialogflow中创建测验机器人,请发表评论吗?
答案 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中处理用户的答案。
希望对您有所帮助!