在Google Apps上的动作中设置语音识别上下文?

时间:2017-10-13 11:38:48

标签: speech-recognition actions-on-google google-speech-api

我有一个Google Home应用,它使用Google客户端Javascript库上的操作:

https://github.com/actions-on-google/actions-on-google-nodejs

语音识别非常好。但有时我遇到一个认识上下文,它有点麻烦。是否有任何方法可以告诉语音识别工具在每个用户交互的基础上强调某些单词短语的概率?例如,如果要求用户提供日期,是否可以将一年中几个月的概率提高到正常水平?

在某些语音识别引擎中,您可以向引擎提供词汇表(又名语法等)。有没有办法通过Google Apps上的操作执行此操作?

我知道Google的语音识别API:

Google Speech Recognition API

但我不知道该API是通过Google服务上的动作公开或提供的,还是该API支持语法或上下文列表。

2 个答案:

答案 0 :(得分:3)

编辑:看起来Google上的操作确实有一种方法可以期待某些用户输入。 见:

  

https://developers.google.com/actions/reference/rest/Shared.Types/QueryPatterns

来自这个问题:

  

google action package how to define custom slot types?

原始答案:

您无法改变Google Home感知语音输入的方式,只需使用预定义的词汇表进行聆听即可。但是,您可以使用https://dialogflow.com/来要求对话中的某些参数。

使用Dialogflow(以前称为api.ai),您可以将Date设置为对话继续的必需参数,或者如果Home应用程序一致听到相同的错误输入,您可以设置该输入以返回输入我想收到。

示例:Google Home要求提供日期,用户说" october"但是家里总是听到" somethingelse"。然后你可以设置" somethingelse"作为" october"的同义词并从那里处理它。

除此之外,您可以在Google上的操作中调用少量操作,其中实际上需要某个输入https://developers.google.com/actions/assistant/helpers#built-in_helper_intents 即便如此,它也不会增加家庭在这里识别某个背景的机会。

答案 1 :(得分:0)

不,不幸的是,语音识别完全是从你身上抽象出来的,而且在尝试拥有名字时我也遇到了一些挑战,有时它会尝试寻找类似的英语单词,

DialogFlow(formely Api.ai)或您使用的任何框架稍后将用于NLP(自然语言处理),以最终处理文本并从中获取关键字。

因此,就我所知,它并不是文本部分演讲的一部分。

所以你的google home负责处理文本并将文本发送到你负责解决语法的NLP框架,但到现在为止我可以用API解决我所有的问题。它非常强大。