1

我有一个使用在谷歌客户端Javascript库动作的谷歌主页的应用程序:在Google应用的Actions上设置语音识别上下文?

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

语音识别是非常好。但有时候我遇到了一个认识上下文,它有一点点麻烦。有没有什么办法可以告诉语音识别设施在每个用户交互的基础上强调某些词语短语的概率?例如,如果用户被要求提供日期,那么今年的几个月的可能性会比正常情况提高吗?

在某些语音识别引擎中,您可以为引擎提供词汇表(也称为语法等)。有没有一种方法可以在Google应用上使用Actions?

我知道谷歌的语音识别API的:

Google Speech Recognition API

但如果API通过在谷歌服务的操作暴露或可我不知道,或者如果API支持语法或上下文名单。

回答

3

编辑:看起来像谷歌行动确实有办法期待某些用户输入。 看到:

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应用程序一致地听到相同的错误输入,您可以设置该输入以返回您想要接收的输入。

示例:谷歌首页询问日期,用户说“十月”,但家庭总是听到“somethingelse”。然后,您可以将“somethingelse”设置为“十月”的同义词并从那里处理它。

除此之外还有,你可以在谷歌上调用操作动作的少数地方实际上期望有特定输入https://developers.google.com/actions/assistant/helpers#built-in_helper_intents 即便如此,它也不会促进家庭在这里认识了一定范围内的机会。

+0

我没有使用DialogFlow(formely Api.ai)。我们有我们自己的输入预处理库。 –

0

不,不幸的是,语音识别是完全从你抽象,并试图在有姓名,这样,有时试图寻找类似的英文单词,

DialogFlow(以前我也有一些挑战Api.ai)或你使用的任何框架稍后将用于NLP(自然语言处理),以最终处理文本并从中获取关键字。

因此,据我所知,它并不是真正的文字部分。

因此,您的谷歌家庭照顾到文本的语音,并发送文本到您的NLP框架,照顾解决语法问题,但直到现在我可以解决我所有的问题与API.ai它是非常强大的。