中文ITN转换利器|FST ITN-ZH镜像部署与WebUI使用全解析
1. 简介与核心价值
逆文本标准化(Inverse Text Normalization, ITN)是语音识别系统中不可或缺的一环,其主要任务是将ASR模型输出的口语化、非结构化文本转换为标准化、可读性强的格式。在中文场景下,这一过程尤为复杂:数字、日期、时间、货币等表达形式多样,且常夹杂于自然语言之中。
本文将深入解析FST ITN-ZH 中文逆文本标准化系统的部署方式与 WebUI 使用方法。该镜像由开发者“科哥”基于有限状态转导器(Finite State Transducer, FST)技术二次开发构建,具备高精度、低延迟、易用性强等特点,适用于语音转写、智能客服、会议纪要生成等多个实际应用场景。
本系统支持多种中文表达形式到标准格式的自动转换,例如: -二零零八年八月八日→2008年08月08日-早上八点半→8:30a.m.-一百二十三→123-一点二五元→¥1.25
通过容器化封装和图形化界面设计,用户无需关注底层依赖即可快速上手,极大降低了技术落地门槛。
2. 镜像部署与服务启动
2.1 环境准备
在使用 FST ITN-ZH 镜像前,请确保服务器满足以下基本条件:
- 操作系统:Linux(推荐 Ubuntu 18.04+ 或 CentOS 7+)
- 容器运行时:Docker 已安装并正常运行
- 内存:至少 2GB 可用内存
- 端口:
7860端口未被占用(用于 WebUI 访问)
2.2 启动或重启应用
镜像已预配置好所有依赖环境及启动脚本,用户只需执行以下命令即可启动服务:
/bin/bash /root/run.sh该脚本会完成以下操作: 1. 检查 Python 环境与必要库是否就绪 2. 启动基于 Gradio 构建的 WebUI 服务 3. 监听0.0.0.0:7860地址供外部访问
首次运行可能需要数秒进行模型加载,后续请求响应速度极快。
2.3 访问 WebUI 界面
服务启动成功后,在浏览器中输入以下地址即可访问图形化操作界面:
http://<服务器IP>:7860页面加载完成后将显示如下主界面布局:
┌─────────────────────────────────────────┐ │ [紫蓝渐变] 中文逆文本标准化 (ITN) │ │ webUI二次开发 by 科哥 │ ├─────────────────────────────────────────┤ │ [📝 文本转换] [📦 批量转换] │ │ │ │ ┌───────────┐ ┌───────────┐ │ │ │ 输入框 │ → │ 输出框 │ │ │ │ │ │ │ │ │ └───────────┘ └───────────┘ │ │ │ │ [开始转换] [清空] [复制] [保存] │ ├─────────────────────────────────────────┤ │ 🎯 快速示例 │ │ [日期] [时间] [数字] [货币] ... │ └─────────────────────────────────────────┘提示:若无法访问,请检查防火墙设置是否放行
7860端口,并确认 Docker 容器处于运行状态。
3. 核心功能详解与使用实践
3.1 功能一:单文本转换
这是最常用的功能模块,适用于实时处理少量文本内容。
使用步骤
- 打开 WebUI 页面
- 切换至「📝 文本转换」标签页
- 在左侧输入框中键入待转换的中文文本
- 点击「开始转换」按钮
- 查看右侧输出框中的标准化结果
示例演示
输入: 二零零八年八月八日早上八点半 点击: [开始转换] 输出: 2008年08月08日 8:30a.m.此功能特别适合集成在语音识别后处理流程中,作为 ASR 输出的“清洗器”,提升最终文本的可读性与结构一致性。
3.2 功能二:批量文件转换
当面对大量数据时,手动逐条输入显然不现实。为此,系统提供了「📦 批量转换」功能,支持.txt文件上传与结果下载。
使用流程
- 准备一个纯文本文件(
.txt),每行包含一条待转换的语句 - 进入「批量转换」标签页
- 点击「上传文件」选择本地文件
- 点击「批量转换」触发处理流程
- 转换完成后点击「下载结果」获取标准化后的文本文件
输入文件格式示例
二零零八年八月八日 一百二十三 早上八点半 一点二五元 二十五千克 负二 京A一二三四五输出文件将保持相同行数,每行对应一条转换结果,便于后续程序化处理或导入数据库。
建议:对于超过千行的数据集,建议分批提交以避免前端超时。
3.3 快速示例与一键填充
为方便测试与学习,页面底部提供多个预设示例按钮,点击即可自动填充典型输入案例:
| 按钮 | 输入示例 |
|---|---|
[日期] | 二零零八年八月八日 |
[时间] | 早上八点半 |
[数字] | 一百二十三 |
[货币] | 一点二五元 |
[分数] | 五分之一 |
[度量] | 二十五千克 |
[数学] | 负二 |
[车牌] | 京A一二三四五 |
[长文本] | 二零一九年九月十二日的晚上... |
这些示例覆盖了常见转换类型,可用于快速验证系统功能完整性。
4. 支持的转换类型与规则说明
4.1 日期转换
将中文年月日表述转换为标准 YYYY-MM-DD 格式。
输入: 二零一九年九月十二日 输出: 2019年09月12日 输入: 二零零八年八月八日 输出: 2008年08月08日支持“二零”、“两千”等多种读法,兼容简体与大写数字。
4.2 时间转换
将口语化时间描述转换为 12 小时制带 a.m./p.m. 标记的标准时间。
输入: 早上八点半 输出: 8:30a.m. 输入: 下午三点十五分 输出: 3:15p.m.自动识别“凌晨”、“上午”、“中午”、“下午”、“晚上”等时段关键词。
4.3 数字转换
将中文数字词转换为阿拉伯数字。
输入: 一百二十三 输出: 123 输入: 一千九百八十四 输出: 1984支持个、十、百、千、万、亿等单位组合解析。
4.4 货币转换
识别金额单位并添加对应货币符号。
输入: 一点二五元 输出: ¥1.25 输入: 一百美元 输出: $100目前支持人民币(¥)、美元($)、欧元(€)等主流币种。
4.5 分数与度量单位
输入: 五分之一 → 输出: 1/5 输入: 三分之二 → 输出: 2/3 输入: 二十五千克 → 输出: 25kg 输入: 三十公里 → 输出: 30km单位缩写符合国际通用规范,便于后续数据分析。
4.6 数学表达式与特殊编号
输入: 负二 → 输出: -2 输入: 正五点五 → 输出: +5.5 输入: 京A一二三四五 → 输出: 京A12345对车牌号中的字母与数字混合场景做了专门优化,确保字母部分保留原样,仅转换数字部分。
5. 高级设置与参数调优
系统提供三项关键参数控制转换行为,可根据具体业务需求灵活调整。
5.1 转换独立数字
- 开启效果:
幸运一百→幸运100 - 关闭效果:
幸运一百→幸运一百
适用于希望保留数字文字情感色彩的场景,如品牌名、昵称等。
5.2 转换单个数字 (0-9)
- 开启效果:
零和九→0和9 - 关闭效果:
零和九→零和九
在诗歌、文学类文本中建议关闭,避免破坏语义美感。
5.3 完全转换'万'
- 开启效果:
六百万→6000000 - 关闭效果:
六百万→600万
金融报表等需精确数值计算的场景建议开启;日常阅读建议关闭以保持可读性。
注意:每次修改高级设置后,首次转换会有 3–5 秒延迟用于重新加载模型配置。
6. 实践技巧与最佳建议
6.1 长文本综合处理能力
系统支持在同一段文本中同时处理多种类型的表达式,无需拆分处理。
输入: 这件事发生在二零一九年九月十二日的晚上,大概八点半左右,涉及金额为一万二千元。 输出: 这件事发生在2019年09月12日的晚上,大概8:30左右,涉及金额为12000元。这种端到端处理能力显著提升了处理效率,尤其适合会议记录、访谈稿等长篇文档的自动化清洗。
6.2 大规模数据批处理策略
对于百万级文本处理任务,建议采用以下策略:
- 将原始数据按 1000 行/文件切分为多个
.txt文件 - 并发调用多个容器实例进行分布式处理
- 使用脚本自动收集结果文件并合并
可通过编写 Shell 脚本实现自动化调度:
for file in input_*.txt; do curl -F "file=@$file" http://localhost:7860/upload > "${file%.txt}_out.txt" done6.3 结果持久化与审计追踪
点击「保存到文件」按钮可将当前转换结果保存至服务器本地目录,文件命名包含时间戳,格式如下:
itn_result_20250405_143022.txt便于后期追溯与版本管理,也适用于需要留痕的合规性场景。
7. 常见问题与技术支持
7.1 转换结果不准确怎么办?
请尝试以下解决方案: - 检查输入文本是否存在错别字或非常规表达 - 调整「高级设置」中的参数组合 - 确认是否属于系统尚未支持的方言或变体表达
7.2 是否支持方言或特殊变体?
当前系统支持标准普通话下的多种表达形式,包括: - 简体数字:一、二、三 - 大写数字:壹、贰、叁 - 特殊变体:幺(代表“一”)、两(代表“二”)
暂不支持粤语、闽南语等地域性发音对应的书面表达。
7.3 转换速度慢的原因
首次转换较慢属正常现象,原因在于: - 模型初始化与加载 - FST 状态机编译 - 缓存预热
后续转换可在毫秒级别完成,性能稳定。
7.4 版权与使用声明
本项目基于 Apache License 2.0 开源协议发布,允许自由使用与修改,但必须保留原始版权信息:
webUI二次开发 by 科哥 | 微信:312088415 承诺永远开源使用 但是需要保留本人版权信息!违反此规定将视为侵权行为。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。