不知道这是不是问这个问题的好地方,但我正在为 Google Assistant 采取自己的行动。用户需要用字母和数字拼写一些单词(如 RJ34343KR)。 在 dialogflow 方面,一切正常,我定义了一个正则表达式实体,当我使用键盘向我的助手提问时它似乎工作正常。
但是当我说话时,谷歌助手无法理解我拼写的字母。数字没问题。我试着拼写:“RU304304”,结果是:“Are you 3 0 4 3 0 4”。
不知道这是否重要,但我的助手语言是法语(我给你一个英语的例子以便更好地理解)
我没有在文档中找到任何内容。除了link
谁能帮我解决这个问题?
谢谢!
MC
谷歌助手支持回复后编辑:
这是来自谷歌的答案:
对于 Google 智能助理中的语音识别,它只能转录支持语言的单词或短语。看起来“RU304304”输入不是一个词,所以它将“RU”识别为“是你”。您可以做的是为此响应实现建议芯片或在键盘中键入代码。有关建议芯片的更多信息,请查看此文档。
所以看起来很清楚,无法拼写到 google home 的字母。这就像一个很大的限制,是吗?
最佳答案
我在一个较旧的项目中也遇到过这个问题,当时我使用 sys.any 实体在用户输入中查找产品代码。我使用的解决方法是将 Google 更改为单词的某些单词改回字符或符号。
function customReplace(serial) {
let converted = serial.replace("are", "R");
converted = converted.replace("bee", "B");
converted = converted.replace("for", "4");
converted = converted.replace("slash", "/");
return converted;
}
我确实建议只在需要产品代码的处理程序中使用它,因为此代码会将其他输入(例如“That was for bob too”)更改为“That was 4 bob 2”,这可能会混淆您的回复。
关于speech-recognition - 如何在将单词发送到 dialogflow 之前将单词拼写给 google assistant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58504902/