中文数字、时间、单位自动转换?试试FST ITN-ZH WebUI镜像工具
你是否遇到过这样的场景:整理会议录音稿时,满屏都是“二零二四年九月十二日”“早上八点四十五分”“一百二十三点五元”;处理政务公文时,需要手动把“叁万柒仟捌佰玖拾元整”改成“¥37890.00”;校对新闻通稿时,反复修改“百分之十五点六”“三十五千克”“京A壹贰叁肆伍”……这些看似微小的转换,单次耗时不过几秒,但日积月累,每月多花3–5小时在机械性文字修正上,早已成为内容工作者沉默的损耗。
现在,一个轻量、开箱即用、专为中文设计的逆文本标准化(ITN)工具来了——FST ITN-ZH WebUI镜像。它不依赖云端API,不上传隐私数据,不需配置Python环境,只需一行命令启动,打开浏览器就能用。它能把口语化、书写冗余的中文表达,一键转成符合书面规范、可直接用于正式文档的标准化格式。
这不是概念演示,而是已稳定运行于真实工作流中的生产力工具。本文将带你从零开始,真正用起来、用得准、用得深。
1. 什么是ITN?为什么中文特别需要它?
1.1 ITN不是“翻译”,而是“语义归一”
逆文本标准化(Inverse Text Normalization, ITN)常被误解为“中文字转阿拉伯数字”的简单替换。实际上,它是一套面向语言结构理解的规整逻辑:识别中文数词的语法角色(是年份?序号?金额?车牌?还是单纯修饰语),结合上下文判断单位层级(“万”该展开为10000,还是保留为“万”?“两百”在“两百公里”中是200,在“两百个”中却是200,在“第二百名”中却不能动),最终输出语义无歧义、格式可复用的标准文本。
英文ITN相对简单——“twenty twenty-five” → “2025”,因为其数词结构线性、进位规则统一。而中文不同:
- “六百万” = 6 × 100 × 10000?还是6 × 1000000?
- “二零零八年”是年份(2008),但“二零零八班”是编号(2008班),不能简单等同
- “零下五度”要转成“-5℃”,但“零点五”必须是“0.5”,而非“-0.5”
- “京A一二三四五”是车牌,需转为“京A12345”;但“第一二三四五中学”绝不能变成“第12345中学”
这些细微差别,正是FST ITN-ZH的核心能力所在——它基于有限状态转换器(FST)构建规则网络,每条路径对应一种语义模式,确保转换既精准又可控。
1.2 中文ITN的三大现实痛点
| 痛点类型 | 典型案例 | 手动处理难点 |
|---|---|---|
| 多义嵌套 | “合同签订于二零二四年八月八日,总金额为人民币壹佰贰拾叁万肆仟伍佰陆拾柒元整,违约金为千分之五。” | 需区分日期、大写金额、比例,不能全局替换“壹→1” |
| 单位耦合 | “二十五千克”“三十公里”“一百二十伏特”“零下十七摄氏度” | 单位缩写需匹配国际标准(kg/km/V/℃),且“零下”符号位置固定 |
| 口语残留 | “下午三点十五分”“晚上八点半”“凌晨一点”“早上十点二十” | 时间格式需统一为12小时制+am/pm,或24小时制,且空格、标点需规范 |
FST ITN-ZH正是为解决这三类问题而生。它不是通用NLP模型,而是聚焦中文数词与单位的“垂直专家”。
2. 三分钟上手:WebUI快速部署与基础使用
2.1 启动服务(仅需一条命令)
该镜像已预装全部依赖(包括FST引擎、Gradio WebUI、中文规则库),无需编译、无需下载模型。在支持Docker的服务器或本地机器上执行:
/bin/bash /root/run.sh等待约8–12秒(首次加载FST规则图需初始化),终端将输出类似提示:
Running on local URL: http://127.0.0.1:7860 Running on public URL: http://<你的IP>:7860小贴士:若访问失败,请确认服务器防火墙已放行7860端口,且浏览器未拦截HTTP非安全连接(内网环境可忽略)
2.2 界面初识:两个核心入口
打开http://<服务器IP>:7860后,你会看到一个简洁的紫蓝渐变界面,顶部明确标注:“中文逆文本标准化 (ITN) webUI二次开发 by 科哥”。主操作区分为两大标签页:
- ** 文本转换**:适合单条、少量文本即时处理(如粘贴一段会议纪要)
- 📦 批量转换:适合处理数百上千行待规整数据(如导出的ASR识别结果txt文件)
两者共享同一套FST规则引擎,仅输入方式不同,输出质量完全一致。
2.3 第一次转换:从“二零零八年八月八日”到“2008年08月08日”
以最典型的日期为例,实操步骤如下:
- 切换至「 文本转换」标签页
- 在左侧输入框中键入:
二零零八年八月八日早上八点半 - 点击右侧【开始转换】按钮
- 右侧输出框立即显示:
2008年08月08日 8:30a.m.
成功!整个过程不到1秒。你不需要知道背后是FST状态机在匹配“四位数字+年”模式,也不用关心“早上”如何映射为“a.m.”——工具已为你封装好所有语言学知识。
3. 深度掌握:八大转换类型详解与效果实测
FST ITN-ZH并非只做“数字替换”,它覆盖中文文本中所有高频非标准表达。以下按实际使用频率排序,逐一展示真实输入与输出,并标注关键处理逻辑。
3.1 日期:智能识别年月日结构
| 输入 | 输出 | 处理说明 |
|---|---|---|
二零一九年九月十二日 | 2019年09月12日 | 自动补零,统一为“YYYY年MM月DD日”格式 |
一九年九月十二号 | 2019年09月12日 | 支持简写“一九年”(默认补全为2019)、“号”转为“日” |
二零二四年第三季度 | 2024年第三季度 | 保留“季度”等语义单位,不强行转数字 |
实测发现:对“二〇二四年”(带圈字符)同样有效,兼容多种输入习惯。
3.2 时间:12小时制+am/pm精准映射
| 输入 | 输出 | 处理说明 |
|---|---|---|
下午三点十五分 | 3:15p.m. | “下午”→“p.m.”,“三点十五分”→“3:15”,空格与标点自动规范 |
晚上八点半 | 8:30p.m. | “晚上”同“下午”,统一为p.m. |
凌晨一点 | 1:00a.m. | “凌晨”→“a.m.”,并补零为“1:00” |
十点二十分整 | 10:20 | “整”字自动省略,符合书面习惯 |
3.3 数字:支持万/亿级复杂结构解析
| 输入 | 输出 | 处理说明 |
|---|---|---|
一百二十三 | 123 | 基础基数转换 |
六百万 | 600万(默认)或6000000(开启“完全转换'万'”) | “万”作为单位保留,更符合中文阅读直觉;可选展开 |
三万零五十 | 30050 | 精准处理“零”占位,避免误为“3050” |
壹贰叁肆伍(大写) | 12345 | 兼容财务大写数字,满足票据场景 |
3.4 货币:自动添加符号与小数点对齐
| 输入 | 输出 | 处理说明 |
|---|---|---|
一点二五元 | ¥1.25 | “元”→“¥”,小数点自动对齐 |
一百美元 | $100 | 识别货币名称,匹配对应符号 |
欧元五十点七五 | €50.75 | 多币种支持,符号前置 |
3.5 分数与数学:保持数学表达式严谨性
| 输入 | 输出 | 处理说明 |
|---|---|---|
五分之一 | 1/5 | 分数转斜杠格式,便于后续计算 |
负二 | -2 | “负”→“-”,“正”→“+”(如“正五点五”→+5.5) |
百分之十五点六 | 15.6% | 百分比符号后置,小数点保留原精度 |
3.6 度量单位:国际单位制(SI)缩写标准化
| 输入 | 输出 | 处理说明 |
|---|---|---|
二十五千克 | 25kg | “千克”→“kg”,数字与单位间无空格(符合SI规范) |
三十公里 | 30km | “公里”→“km”,同理“米”→“m”,“厘米”→“cm” |
零下十七摄氏度 | -17℃ | “零下”→“-”,“摄氏度”→“℃”,符号位置精准 |
3.7 车牌号:严格遵循中国车牌编码规则
| 输入 | 输出 | 处理说明 |
|---|---|---|
京A一二三四五 | 京A12345 | 汉字数字转阿拉伯数字,字母与数字间无空格 |
沪B六七八九零 | 沪B67890 | “零”转“0”,非“O” |
粤Z港ABCD | 粤Z港ABCD | 保留原有字母数字组合,不误处理港澳车牌 |
3.8 长文本混合处理:真实场景压力测试
我们构造了一段含多类型混杂的典型政务文本:
输入:
“根据二零二四年九月十二日签署的合同,甲方应于十月十五日前支付首期款人民币贰佰叁拾肆万伍仟陆佰柒拾捌元玖角,逾期将按每日千分之五计收违约金。联系人:张三,电话:一三八零零幺三八零零零。”
输出:
“根据2024年09月12日签署的合同,甲方应于10月15日前支付首期款人民币¥2345678.90,逾期将按每日0.5%计收违约金。联系人:张三,电话:13800138000。”
全部转换准确:日期、金额(大写转数字+¥符号)、比例(千分之五→0.5%)、手机号(去除空格与“零”字)。这正是FST ITN-ZH在真实业务中展现的价值——一次处理,全域规整。
4. 进阶实战:批量处理与高级参数调优
4.1 批量转换:让千行数据秒级规整
当面对ASR识别导出的.txt文件(每行一条语音转写结果)时,手动逐条粘贴效率极低。批量功能为此而生:
准备文本文件
input.txt,内容示例:二零零八年八月八日 早上八点半 一百二十三 一点二五元 五分之一 二十五千克切换至「📦 批量转换」标签页
点击【上传文件】,选择
input.txt点击【批量转换】
等待进度条完成(1000行约3–5秒),点击【下载结果】获取
output_20240315_142218.txt
生成的文件内容为:
2008年08月08日 8:30a.m. 123 ¥1.25 1/5 25kg注意:批量模式下,高级设置参数全局生效。若需不同规则,建议分批上传。
4.2 高级设置:三个开关,掌控转换粒度
点击界面右上角【高级设置】,可精细调控转换行为。这三个选项直击中文ITN的核心权衡点:
4.2.1 转换独立数字(默认:开启)
- 开启效果:
幸运一百→幸运100 - 关闭效果:
幸运一百→幸运一百(保留原样) - 适用场景:关闭可保护品牌名、成语(如“一心一意”“三心二意”不被误改)
4.2.2 转换单个数字(0–9)(默认:开启)
- 开启效果:
零和九→0和9 - 关闭效果:
零和九→零和九 - 适用场景:关闭适用于教学材料、儿童读物等需保留汉字数字认知的场景
4.2.3 完全转换'万'(默认:关闭)
- 开启效果:
六百万→6000000 - 关闭效果:
六百万→600万 - 适用场景:金融报告倾向开启(便于Excel计算);新闻稿、公文倾向关闭(更符合中文阅读习惯)
实测建议:日常办公推荐保持默认(关闭“完全转换'万'”),既保证可读性,又不失精确性。仅在需导入数据库或做数值计算时开启。
5. 效率倍增技巧:科哥亲授的5个隐藏用法
这些技巧未在官方文档显眼位置,却是长期用户总结出的“真香”实践:
5.1 快速示例一键填充,免打字
页面底部有9个绿色示例按钮:[日期][时间][数字]…… 点击任一按钮,输入框将自动填入对应标准示例。这是验证功能、快速上手的最快路径。
5.2 “复制结果”反向调试
点击【复制结果】,会将当前输出内容回填至输入框。这个看似简单的功能,实则是调试利器:
- 若某句转换异常,点击复制后,再微调输入(如加空格、改标点),可快速定位触发规则的边界条件。
5.3 “保存到文件”自动带时间戳
点击【保存到文件】,系统会在服务器/root/output/目录下生成形如result_20240315_142218.txt的文件。时间戳精确到秒,避免文件覆盖,方便版本管理。
5.4 长文本中保留非数字部分
FST ITN-ZH采用局部替换策略:只处理识别出的数词与单位模式,其余文字(标点、汉字、英文字母)原样保留。这意味着你可以放心输入整段含数字的合同、邮件、报告,无需担心格式错乱。
5.5 微信支持直达开发者
文档末尾注明微信:312088415。这不是营销话术——科哥本人活跃在技术一线,用户反馈的问题(如某类车牌识别不准、某方言数字支持缺失)常在24小时内获得响应与规则更新。这种“开发者就在隔壁”的体验,在开源工具中极为珍贵。
6. 总结:它不是一个工具,而是一条中文文本的“净化流水线”
FST ITN-ZH WebUI镜像的价值,远超“把汉字数字变阿拉伯数字”的表层功能。它是一套经过中文语境深度打磨的文本净化流水线:
- 对个人:把每天重复的15分钟文字修正,压缩为1次点击;让ASR识别结果真正“开箱即用”,释放创造力
- 对团队:统一内部文档数字格式标准,消除“2024年”“二零二四年”“2024”混用的混乱,提升协作专业度
- 对企业:在不依赖云服务、不泄露原始数据的前提下,获得媲美商业ASR系统的ITN能力,满足等保与合规要求
它不追求大模型的泛化幻觉,而是以FST的确定性、规则的可解释性、WebUI的零门槛,扎实解决一个具体而高频的中文文本痛点。
当你下次再看到“二零二四年”,不必再伸手去键盘敲“2024”——让FST ITN-ZH替你完成这最后一步。真正的效率革命,往往就藏在这样安静而精准的一次转换里。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。