【问题标题】:How to spell word to google assistant before sending it to dialogflow如何在将单词发送到对话流之前将单词拼写到谷歌助手
【发布时间】:2019-10-25 16:33:34
【问题描述】:

不知道这是不是问这个问题的好地方,但我正在为谷歌助手做我自己的行动。用户需要用字母和数字拼写一些单词(如 RJ34343KR)。 在对话流方面,一切都很好,我定义了一个正则表达式实体,当我使用键盘向我的助手提问时,它似乎工作了。

但是当我说话时,谷歌助手无法理解我拼写的字母。数字没问题。我尝试拼写:“RU304304”,它给出:“你是 3 0 4 3 0 4”。

不知道是否重要,但我的助手语言是法语(我给你一个英文例子以便更好地理解)

我在文档中找不到任何内容。除了link

任何人都可以帮助我吗?

谢谢!

MC

在 Google 助理支持回复后进行编辑:

这是来自 Google 的答案:

对于 Google Assistant 中的语音识别,它只能转录语言支持的单词或短语。看来“RU304304”输入不是一个词,因此它将“RU”识别为“是你”。您可以做的是为此响应实施建议芯片或在键盘中键入代码。有关建议芯片的更多信息,请查看此文档。

所以看起来很清楚,无法将字母拼写到 google home。这就像一个很大的限制是吗?

【问题讨论】:

  • 您的正则表达式是否考虑了语音输入中的暂停?如果您在与 Google 助理交谈时暂停,Google 会在您的输入中添加空格。 “3 0 4 3 0 4”就是一个例子。这可能会影响使用 Google 助理时的实体检测。
  • 感谢您的评论。事实上,我的正则表达式考虑到了这一点。问题是在那之前。就像我说的,当我输入 R J 3 4 3 4 3 K R 时:没问题。当我拼写它时,谷歌助手会尝试将声音转换为单词而不是字母。

标签: speech-recognition dialogflow-es actions-on-google voice-recognition google-home


【解决方案1】:

当我使用 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;
    }

我确实建议仅在您需要产品代码的处理程序中使用它,因为此代码会将其他输入(例如“那也是给鲍勃”)更改为“那是 4 鲍勃 2”,这可能会弄乱您的回复。

【讨论】:

  • 感谢您的建议。就我而言,数字运行良好。问题在于字母。我希望有一些替代方法而不是您的解决方法,因为我不想添加 26 行(每个字母一个)代码。干杯!
猜你喜欢
  • 2019-03-13
  • 1970-01-01
  • 2020-08-30
  • 2011-04-25
  • 2011-05-23
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
相关资源
最近更新 更多