Google-speech-api 错误地转录口语数字

Posted

技术标签:

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

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

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

例如273 298

但转录返回 270-3298

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

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

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

谢谢

【问题讨论】:

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

【讨论】:

以上是关于Google-speech-api 错误地转录口语数字的主要内容,如果未能解决你的问题,请参考以下文章

pyspeech (python) - 转录 mp3 文件?

检测是否已为angularjs指令指定了转录内容

单细胞转录组测序数据的可变剪接(alternative splicing)分析方法总结

绝命毒师口语精析

RNA Sequencing

PCR技术