如何让Google Speech to text API始终将识别数字返回为文字写法
Google Speech-to-Text 统一返回数字文字拼写形式的可行方案
以下是可落地的实现方案,可单独使用也可组合使用保证效果:
- 方案1:调整API转录配置参数
Google STT的RecognitionConfig配置项中,直接开启enable_spoken_numbers参数即可,该参数的设计作用就是要求API将识别到的数字统一输出为口语化文字拼写形式,而非阿拉伯数字,目前主流支持的语言都可以适配该参数。
配置参考示例:{ "config": { "encoding": "LINEAR16", "sampleRateHertz": 16000, "languageCode": "en-US", "enableSpokenNumbers": true }, "audio": { "uri": "gs://your-bucket/audio-file-path" } } - 方案2:添加短语强化提示
如果部分冷门语境下配置参数仍有偏差,可以给请求添加phrase_set短语集,把你需要覆盖的所有数字拼写(比如英文的one、two、ten,中文的一、二、十等)添加到短语集中,设置较高的权重,强制API优先返回文字拼写结果。 - 方案3:后置转换兜底
作为最终容错方案,你可以在拿到API返回结果后,引入数字转文字的工具库对结果中的阿拉伯数字做批量转换:英文场景用num2words库,中文场景用cn2an的转汉字功能,只要检测到返回结果中的阿拉伯数字就统一转换为对应文字拼写,完全避免遗漏。这种方案容错率最高,尤其适合词汇学习类对输出准确性要求高的场景。
内容的提问来源于stack exchange,提问作者mkn
相关产品推荐
相关产品推荐

