FST ITN-ZH保姆级教程:手把手教你配置中文逆文本标准化系统
1. 简介与使用场景
中文逆文本标准化(Inverse Text Normalization, ITN)是语音识别后处理中的关键环节,其核心任务是将口语化、非结构化的中文表达转换为标准书面格式。例如,在ASR(自动语音识别)系统输出“二零零八年八月八日”时,ITN模块需将其转化为“2008年08月08日”,以便下游应用如信息抽取、数据库录入等直接使用。
FST ITN-ZH 是基于有限状态转导器(Finite State Transducer, FST)构建的高性能中文ITN系统,具备高精度、低延迟和强可扩展性等特点。本教程聚焦于由开发者“科哥”二次开发的 WebUI 版本,提供图形化操作界面,极大降低了使用门槛,适用于科研测试、产品原型验证及教学演示等多种场景。
该系统支持日期、时间、数字、货币、分数、度量单位、数学符号及车牌号等多种常见语义类别的转换,并可通过高级参数灵活控制转换行为,满足不同业务需求。
2. 环境准备与启动方式
2.1 部署环境说明
本系统以容器化或脚本化形式部署在Linux服务器上,依赖Python 3.8+ 及相关自然语言处理库。WebUI基于Gradio框架实现,前端通过浏览器访问,后端服务运行于本地7860端口。
默认部署路径位于/root/目录下,核心启动脚本为run.sh,负责拉起Python服务并监听指定端口。
2.2 启动与重启指令
若服务未运行或需要重新加载配置,请执行以下命令:
/bin/bash /root/run.sh此脚本将自动激活虚拟环境、安装缺失依赖(首次运行),并启动Gradio Web服务。正常启动后,终端会输出类似如下信息:
Running on local URL: http://0.0.0.0:7860表示服务已就绪,可通过浏览器访问。
重要提示:请确保服务器防火墙开放7860端口,且SELinux/Iptables策略允许外部连接。
3. 功能详解与操作指南
3.1 文本转换功能
操作流程
- 打开浏览器,输入地址:
http://<服务器IP>:7860 - 进入主界面后点击「📝 文本转换」标签页
- 在左侧输入框中键入待转换的中文文本
- 点击「开始转换」按钮
- 转换结果实时显示在右侧输出框中
示例演示
输入: 二零零八年八月八日早上八点半 输出: 2008年08月08日 8:30a.m.系统能够同时识别多个语义实体并进行联合转换,保持上下文一致性。
3.2 批量转换功能
对于大批量数据处理,系统提供「📦 批量转换」功能,支持文件级自动化处理。
使用步骤
- 准备一个纯文本
.txt文件,每行包含一条原始语句 - 点击「上传文件」按钮选择文件
- 点击「批量转换」触发处理流程
- 完成后生成带时间戳的结果文件(如
output_20250405_1423.txt) - 用户可点击「下载」获取结果
输入文件格式示例
二零零八年八月八日 一百二十三 早上八点半 一点二五元 二十五千克 京A一二三四五输出文件对应为:
2008年08月08日 123 8:30a.m. ¥1.25 25kg 京A12345该功能特别适合用于语音识别日志清洗、历史文档数字化等批处理任务。
3.3 快速示例与一键填充
为提升用户体验,界面底部集成常用示例按钮,便于快速测试各类转换能力。
| 按钮 | 输入内容 |
|---|---|
[日期] | 二零零八年八月八日 |
[时间] | 早上八点半 |
[数字] | 一百二十三 |
[货币] | 一点二五元 |
[分数] | 五分之一 |
[度量] | 二十五千克 |
[数学] | 负二 |
[车牌] | 京A一二三四五 |
[长文本] | 二零一九年九月十二日的晚上... |
点击任一按钮,输入框将自动填充对应示例文本,用户可立即点击「开始转换」查看效果,无需手动输入。
4. 高级设置与参数调优
系统提供三项关键参数供用户根据实际需求调整转换粒度。
4.1 转换独立数字
- 开启状态:
幸运一百→幸运100 - 关闭状态:
幸运一百→幸运一百
适用于是否希望将嵌入式中文数字也进行数值化处理。若文本中存在品牌名、俗语等不宜转换的情况,建议关闭。
4.2 转换单个数字 (0–9)
- 开启状态:
零和九→0和9 - 关闭状态:
零和九→零和九
控制单字数字是否替换。某些场景下保留汉字更符合阅读习惯(如儿童教育材料),此时应关闭此项。
4.3 完全转换'万'
- 开启状态:
六百万→6000000 - 关闭状态:
六百万→600万
决定是否彻底展开“万”单位。金融报表可能需要完整数字形式,而日常交流中“600万”更具可读性。
建议实践:首次使用时保持默认设置(全部开启),根据输出质量逐步微调。
5. 支持的转换类型详述
5.1 日期转换
将中文年月日表达转换为标准YYYY-MM-DD格式。
输入: 二零一九年九月十二日 输出: 2019年09月12日支持世纪省略补全(如“零八年”→“2008年”)、农历转公历(需额外模型支持)等功能。
5.2 时间转换
将口语化时间描述转换为24小时制或AM/PM格式。
输入: 下午三点十五分 输出: 3:15p.m.支持“凌晨”、“中午”、“傍晚”等模糊时段解析。
5.3 数字转换
将中文数字词转换为阿拉伯数字。
输入: 一千九百八十四 输出: 1984支持多位数、零的处理(如“一百零五”→“105”)以及大写数字(壹、贰、叁)识别。
5.4 货币转换
自动添加货币符号并标准化金额表示。
输入: 一百美元 输出: $100支持人民币(¥)、美元($)、欧元(€)等主流币种。
5.5 分数与度量单位
输入: 三分之二 → 输出: 2/3 输入: 三十公里 → 输出: 30km单位缩写遵循国际惯例,长度、重量、体积均可准确映射。
5.6 数学表达式
输入: 负二 → 输出: -2 输入: 正五点五 → 输出: +5.5适用于教育、科技类文本处理。
5.7 车牌号识别
输入: 京A一二三四五 → 输出: 京A12345保留地区编码不变,仅对数字部分进行标准化,符合中国机动车号牌规范。
6. 实用技巧与最佳实践
6.1 长文本多实体联合处理
系统支持在同一段文本中识别并转换多种类型实体,无需分拆处理。
输入: 这件事发生在二零一九年九月十二日的晚上,大概八点半左右,涉及金额为一万二千元。 输出: 这件事发生在2019年09月12日的晚上,大概8:30左右,涉及金额为12000元。体现了上下文感知能力和多类别协同推理优势。
6.2 大规模数据处理建议
当需处理超过千条记录的数据集时,推荐采用批量转换模式:
- 将所有文本整理为
.txt文件,每行一条 - 利用「批量转换」功能一次性提交
- 下载结果文件后做进一步清洗或导入数据库
避免频繁手动操作导致效率低下。
6.3 结果保存与追溯
点击「保存到文件」按钮可将当前转换结果持久化至服务器,文件命名规则为:
output_<YYYYMMDD>_<HHMM>.txt例如:output_20250405_1423.txt,便于后续归档与审计。
7. 常见问题与解决方案
7.1 转换结果不准确
可能原因:
- 输入文本含有方言或非标准表达
- 参数设置不合理(如误开“完全转换万”)
解决方法:
- 检查输入是否符合普通话规范
- 调整高级设置尝试不同组合
- 查看是否有未支持的语义类型
7.2 是否支持方言或变体?
目前系统主要支持标准普通话表达,但兼容以下常见变体:
- 大写数字:壹、贰、叁、肆、伍、陆、柒、捌、玖、拾
- 口语化表达:幺(一)、两(二)、半(0.5)
- 简写形式:零、〇、○ 均可识别
不支持粤语、闽南语等区域性发音对应的书写形式。
7.3 转换速度慢?
首次转换或修改参数后,系统需重新编译FST图结构,耗时约3–5秒,属正常现象。后续转换响应迅速,通常在毫秒级完成。
若持续卡顿,请检查服务器资源占用情况(CPU、内存)。
7.4 版权与使用声明
本项目承诺永久开源免费使用,但必须保留以下版权声明:
webUI二次开发 by 科哥 | 微信:312088415 承诺永远开源使用 但是需要保留本人版权信息!任何衍生作品均须注明原作者信息,不得用于闭源商业产品直接发布。
8. 界面布局与操作元素说明
8.1 主界面结构
┌─────────────────────────────────────────┐ │ [紫蓝渐变] 中文逆文本标准化 (ITN) │ │ webUI二次开发 by 科哥 │ ├─────────────────────────────────────────┤ │ [📝 文本转换] [📦 批量转换] │ │ │ │ ┌───────────┐ ┌───────────┐ │ │ │ 输入框 │ → │ 输出框 │ │ │ │ │ │ │ │ │ └───────────┘ └───────────┘ │ │ │ │ [开始转换] [清空] [复制] [保存] │ ├─────────────────────────────────────────┤ │ 🎯 快速示例 │ │ [日期] [时间] [数字] [货币] ... │ └─────────────────────────────────────────┘8.2 操作按钮功能说明
| 按钮 | 功能描述 |
|---|---|
| 开始转换 | 触发当前输入文本的标准化过程 |
| 清空 | 清除输入与输出区域内容 |
| 复制结果 | 将输出内容复制回输入框,便于连续编辑 |
| 保存到文件 | 将结果写入服务器临时文件 |
| 批量转换 | 处理上传的文本文件并生成结果 |
9. 技术支持与反馈渠道
如在使用过程中遇到问题或有功能改进建议,欢迎联系开发者获取支持:
- 微信: 312088415
- 开发者: 科哥
我们鼓励社区共建,欢迎提交Issue或Pull Request参与项目优化。
10. 许可证信息
本项目遵循 Apache License 2.0 开源协议发布。
核心条款摘要:
- 允许商业使用、修改、分发
- 不提供担保
- 必须保留原始版权声明
再次强调:任何使用本系统的个人或组织,均需保留“webUI二次开发 by 科哥”相关信息。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。