【问题标题】:Google-speech-api transcribing spoken numbers incorrectlyGoogle-speech-api 错误地转录口语数字
【发布时间】:2017-02-15 01:34:52
【问题描述】:

我开始使用谷歌语音 api 来转录音频。

被转录的音频包含许多一个接一个说出的数字。

例如273 298

但转录返回 270-3298

我的猜测是它会将其解释为某种电话号码。

我想要的是未解析的输出,例如“二七十三二九十八”我可以自己处理和解析。

有这种东西的设置或支持吗?

谢谢

【问题讨论】:

  • 您要求的选择不止一种吗?如果是这样,其他任何人的转录正确吗?
  • 我有 10 个备选方案,所有备选方案都将号码格式化为电话号码
  • 我遇到了类似的问题。应用程序要求用户输入一个 9 位数的卡号,Google 认为用户试图说出一个电话号码,因此它会在结果的末尾甚至中间添加一个额外的数字。
  • 试试 IBM 的 SR 服务,它提供了一个“smart_format”选项来调整是返回原始成绩单还是“格式化”的成绩单

标签: google-cloud-platform speech-recognition speech-to-text google-speech-api


【解决方案1】:

所以我遇到了同样的问题,我认为我们找到了解决方案。如果您使用英语作为输入,请在处理数字时切换到 en-PH。然后,Google 不会将结果格式化为美国电话号码,也不会尝试在其中插入一个额外的数字。

【讨论】:

    【解决方案2】:

    尝试通过一些短语提示传递语音上下文。此处记录了如何使用它:https://cloud.google.com/speech/docs/basics#phrase-hints

    给它你想要识别的拼写数字。

    "speech_context": {
      "phrases":["zero", "one", "two", ... "nine", "ten", "eleven", ... "twenty", "thirty,..., "ninety"]
     }
    

    这不能保证有效,但它可能会有所帮助。

    【讨论】:

    • 我们也试过了,不幸的是我们仍然看到这个问题。
    【解决方案3】:

    为了记录,我在上面尝试了 blambert 的解决方案,但很遗憾,它不起作用。我最近发布了另一个问题,看看是否有人找到了解决这种行为的方法,因为它阻止了我实施我计划的转录服务。

    【讨论】:

    • 作为记录,亚马逊的语音识别软件似乎没有将数字格式化为电话号码。如果我无法通过 Google 解决这个问题,我可能需要再看一遍。
    【解决方案4】:

    你试过谷歌语音customClass吗?

    您有一些可以使用的类令牌,告诉 API 您需要的不是电话号码,而是不同类型的号码。

    例如,如果您选择使用 OOV_CLASS_AM_RADIO_FREQUENCY,您将指示 API 以如下方式解释数字:

    • “十二点二十” --> 1220
    • “七百三十” --> 730

    可能(尚未阅读)API 默认使用此类 FULLPHONENUM 来表示数字:

    • “一八百五五五四哦哦一”--> +1-800-555-4001
    • “七一八五五六一哦一”--> 718-555-6101

    【讨论】:

      猜你喜欢
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多