我目前正在使用jovo框架,并使用nodeJs编写代码。 我的项目是这样的:
你好!你叫什么名字?
萨尔玛
你好,萨尔玛,很高兴认识你!你要我为你做什么?
播放更好的广播
您要我播放名为A Better Radio的广播吗?
收音机的名称“更好的收音机”位于意图的json文件中,因此 那里一切都很好。但是,如果我说“打赌”,radio.value的值将变得不确定。我想检索用户说的“打赌盘”数据,以便我进行分析。
那么我该如何从意图中检索用户所说的数据?
json看起来像这样:
let inputs = this.getInputs();
let inputs = this.user().getPrevSpeech(0);
let inputs =this.getSpeechText();
我尝试过:
{{1}}
答案 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的开发人员在那里,因此他们可能能够为您解决任何问题。