如何从谷歌助手的意图中检索用户说的数据?

时间:2018-07-04 14:01:36

标签: node.js actions-on-google dialogflow jovo-framework

我目前正在使用jovo框架,并使用nodeJs编写代码。 我的项目是这样的:

  

你好!你叫什么名字?

     

萨尔玛

     

你好,萨尔玛,很高兴认识你!你要我为你做什么?

     

播放更好的广播

     

您要我播放名为A Better Radio的广播吗?

收音机的名称“更好的收音机”位于意图的json文件中,因此 那里一切都很好。但是,如果我说“打赌”,radio.value的值将变得不确定。我想检索用户说的“打赌盘”数据,以便我进行分析。

那么我该如何从意图中检索用户所说的数据?

json看起来像这样:

let inputs = this.getInputs();

let inputs = this.user().getPrevSpeech(0);

let inputs =this.getSpeechText();

我尝试过:

{{1}}

3 个答案:

答案 0 :(得分:1)

从用户语音/文本中提取信息的首选方法是Dialogflow的实体。您可以在这里找到有关实体的入门指南:https://dialogflow.com/docs/getting-started/extract-entities

答案 1 :(得分:0)

您可以使用this.googleAction().getRawText()获取Google Action请求的原始文本。

答案 2 :(得分:-1)

好吧,首先,我需要知道您是在dialogflow上还是在alexa上进行此操作(假设它是一个还是另一个,因为Jovo教程是针对那些2。

您已经在标签中添加了dialogflow,所以我假设这就是您正在使用的。

我猜您已经使用实体sys.any创建了一个名为radio的参数。如果没有,则使用实体sys.any创建一个称为radio的参数;然后有5-6个训练短语(仅用于测试,如果您实施,还需要更多),并确保突出显示实际上是收音机的哪一部分。这就是您应该检索数据的方式。

如果要检索用户所说的所有内容,通常这不是一个好习惯(除非您正在测试或需要所说的所有内容)。然后只需用一些突出显示的内容和sys.any实体做一些训练短语即可。

我可能无法完全理解问题,我确实使用了Jovo一段时间,但现在我在firebase中使用了实现,因为它更加清晰。如果是这样,请澄清一下您认为我误解了。

此外,您还可以受邀参加正式的Jovo休闲活动:

https://www.jovo.tech/community

Jovo的开发人员在那里,因此他们可能能够为您解决任何问题。