You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求美元文本转数字的最优方案或预构建Web服务

解析语音转文本中的货币数值:从自然语言到标准格式的开源方案

我完全懂你的需求——把Speech2Text输出的自然语言货币描述(比如"three hundred dollars and twelve cents")转换成规整的标准格式(比如$300.12),而且想要找靠谱的开源工具对吧?我之前帮不少开发者解决过类似的问题,这里给你几个实用的思路和实现方案:

1. 轻量Python实现:用基础库快速搭建

如果你只需要处理常见的货币表述(比如美元的整数+美分结构),可以用word2number这个库来完成数字单词到数值的转换,再配合简单的字符串处理提取货币单位。

先安装依赖:

pip install word2number

然后可以写一个简单的解析函数:

from word2number import w2n

def parse_currency(text):
    text = text.lower().strip()
    # 拆分美元和美分部分,处理有无"and"的情况
    if 'and' in text:
        dollar_segment, cent_segment = text.split('and', 1)
    else:
        dollar_segment = text
        cent_segment = 'zero cents'
    
    # 提取数字部分并转换,兼容单复数单位
    dollar_amount = w2n.word_to_num(dollar_segment.replace('dollars', '').replace('dollar', '').strip())
    cent_amount = w2n.word_to_num(cent_segment.replace('cents', '').replace('cent', '').strip())
    
    # 格式化输出,确保美分是两位数字
    return f"${dollar_amount}.{cent_amount:02d}"

# 测试示例
print(parse_currency("three hundred dollars and twelve cents"))  # 输出 $300.12
print(parse_currency("one dollar and five cents"))  # 输出 $1.05
print(parse_currency("fifty dollars"))  # 输出 $50.00

这个方案的优势是轻量、易修改,你可以很方便地扩展支持欧元、英镑等其他货币,只需要添加对应的单位替换逻辑就行。

2. 复杂场景:用NLP工具处理多样化表述

如果你的语音文本里有更复杂的表达(比如"two thousand five hundred seventy-five dollars and thirty-five cents"),或者需要识别更多口语化表述,推荐用spaCy配合自定义规则来做。

你可以用spaCy的Matcher来定位文本中的数字单词和货币单位组合,再结合word2number完成数值转换。甚至可以训练一个小型的自定义NER(命名实体识别)模型,专门识别货币类实体,这样能更精准地处理模糊或复杂的表述。

3. 专门的开源货币解析库

还有一个叫money-parser的Python库,专门针对自然语言中的货币表述做解析,支持多种货币类型,能直接把自然语言转换成带符号的标准格式。它对常见的口语化表述兼容性不错,你可以试试:

安装命令:

pip install money-parser

简单使用示例:

from money_parser import price_str

result = price_str("three hundred dollars and twelve cents")
print(f"${result}")  # 输出 $300.12

不过建议先测试它对你的Speech2Text输出的适配性,毕竟语音转写可能会有一些口语化的变体,需要微调的话可以结合自定义规则补充。

另外,如果需要处理俚语(比如"twenty bucks"指代20美元),可以提前加一个映射字典,把俚语转换成标准的货币单位表述后再进行解析。

内容的提问来源于stack exchange,提问作者kashkar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:32:23