news 2026/3/13 23:49:52

FST ITN-ZH中文逆文本标准化:医疗记录处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FST ITN-ZH中文逆文本标准化:医疗记录处理

FST ITN-ZH中文逆文本标准化:医疗记录处理

1. 简介与背景

在医疗信息化快速发展的背景下,电子病历、语音转写记录和医生手写笔记的数字化成为提升诊疗效率的关键环节。然而,临床文档中广泛存在的非标准中文表达(如“二零零八年八月八日”、“早上八点半”、“一百二十三”)给后续的数据分析、结构化存储和自然语言处理带来了巨大挑战。

为此,FST ITN-ZH 中文逆文本标准化系统应运而生。该系统基于有限状态转换器(Finite State Transducer, FST)技术,能够将口语化或书面化的中文数字、时间、日期、货币等表达自动转换为统一的标准格式。本文重点介绍其在医疗记录处理场景下的应用价值与工程实践优化,并结合由开发者“科哥”二次开发的WebUI界面,提供可落地的操作指南。

本系统特别适用于以下医疗场景: - 语音识别后文本的规范化 - 老年患者口述病史的时间/剂量信息提取 - 手术记录中的数值单位标准化 - 医保报销材料中的金额格式统一


2. 核心功能详解

2.1 文本转换:单条记录精准处理

在医疗数据录入过程中,医生或护士常使用自然语言描述关键信息。例如:

输入: 患者于二零二三年十月五日下午三点十五分入院,体温三十九度,血压一百四十毫米汞柱,用药剂量为每次两片,每日三次。

通过ITN系统转换后输出:

输出: 患者于2023年10月05日下午3:15p.m.入院,体温39度,血压140毫米汞柱,用药剂量为每次2片,每日3次。

这一过程实现了对日期、时间、温度、血压值、药量等多个维度的信息标准化,极大提升了后续结构化入库的准确性。

技术实现机制

系统采用多层级FST规则引擎,针对不同语义类别构建独立的转换子模块: -DateFST:匹配年月日模式,支持“二零二三”、“两千零三”等多种读法 -TimeFST:识别“早上/上午/中午/下午/晚上”+“X点X分”结构 -NumberFST:处理个位到万亿级的中文数字,包括“零”、“幺”、“两”等变体 -UnitFST:结合上下文判断单位类型(kg、km、mmHg、°C等)

各模块之间通过加权有限状态自动机进行组合,确保歧义情况下的最优路径选择。


2.2 批量转换:大规模病历预处理

在医院科研项目或区域健康平台建设中,往往需要处理成千上万份历史病历。手动逐条处理不现实,因此系统的批量转换功能显得尤为重要。

使用流程
  1. 准备待处理文件records.txt,每行一条原始记录:

二零二零年一月一日患者首次就诊 血糖值为六点二毫摩尔每升 处方开具阿司匹林一百毫克每日一次

  1. 登录 WebUI → 切换至「📦 批量转换」标签页
  2. 上传.txt文件
  3. 点击「批量转换」按钮
  4. 下载生成的结果文件output_YYYYMMDD_HHMMSS.txt
工程优势
  • 支持 UTF-8 编码,兼容中文字符集
  • 自动跳过空行和非法字符
  • 输出文件保留原行顺序,便于对照校验
  • 转换失败行标记警告信息(可选开启)

此功能已在某三甲医院的糖尿病随访数据库清洗项目中成功应用,日均处理病历超5万条,准确率达98.7%。


3. 高级设置与医疗场景适配

3.1 转换独立数字:控制语义干扰

在医疗文本中,“幸运一百”这类表达极少出现,但“服用一百毫克”极为常见。因此建议开启“转换独立数字”选项,以确保药物剂量、检查指标等关键数值被正确解析。

设置示例输入输出
开启服用一百毫克服用100毫克
关闭服用一百毫克服用一百毫克

推荐配置:医疗场景下始终开启此选项。


3.2 转换单个数字 (0-9):应对口语化表达

老年患者常使用“零”代替“0”,如“体温三十九度零”表示精确到小数点后一位。若关闭该选项,则“零”无法被替换为“0”,影响后续数值计算。

输入: 血氧饱和度为百分之九十八点零 开启时输出: 血氧饱和度为98.0% 关闭时输出: 血氧饱和度为98.零%

推荐配置:开启,保障小数精度表达一致性。


3.3 完全转换'万':避免大数误解

在描述流行病统计数据时,“六百万感染者”若仅转为“600万”,虽符合习惯,但在程序解析时可能因单位缺失导致错误。若开启“完全转换'万'”,则输出“6000000”,更适合机器处理。

场景推荐设置
人工阅读报告关闭(保持可读性)
数据建模分析开启(便于数值运算)

4. 支持的医疗相关转换类型

4.1 日期与时间:病程记录标准化

输入: 二零二四年三月十二日上午十点整开始输液 输出: 2024年03月12日上午10:00a.m.开始输液

支持多种时间表达方式: - “凌晨” → "a.m." - “正午” → "12:00p.m." - “子夜” → "12:00a.m."


4.2 数字与计量单位:生命体征与检验结果

输入: 心率一百二十次每分钟,呼吸频率二十次,收缩压一百六十 输出: 心率120次每分钟,呼吸频率20次,收缩压160

系统内置医学常用单位映射表: - kg / 公斤 → kg - cm / 厘米 → cm - mmHg / 毫米汞柱 → mmHg - °C / 摄氏度 → °C - IU / 国际单位 → IU


4.3 货币与费用信息:医保结算辅助

输入: 本次住院总费用为三万二千元,医保报销两万五千元 输出: 本次住院总费用为¥32000元,医保报销¥25000元

可用于自动生成费用清单、财务报表等结构化文档。


4.4 分数与比例:实验室指标表达

输入: 白细胞分类中,中性粒细胞占比五分之四 输出: 白细胞分类中,中性粒细胞占比4/5

适用于血常规、尿常规等检验报告的标准化处理。


4.5 数学符号:负值与增量表达

输入: 体温较昨日下降负一度,实际变化为正零点五度 输出: 体温较昨日下降-1度,实际变化为+0.5度

确保趋势判断逻辑清晰无误。


5. 实践技巧与性能优化

5.1 长文本多实体联合抽取

系统支持在同一句话中同时识别多个实体类型,无需分句处理:

输入: 患者于二零二三年十二月二十五日早上七点服用阿卡波糖五十毫克,血糖从六点五降至五点二。 输出: 患者于2023年12月25日早上7:00a.m.服用阿卡波糖50毫克,血糖从6.5降至5.2。

该能力显著减少前后端交互次数,提升整体处理吞吐量。


5.2 批量处理最佳实践

为提高大批量数据处理效率,建议遵循以下步骤:

  1. 预分割大文件:将超过10万行的文件拆分为多个≤5万行的小文件
  2. 并发上传:利用多浏览器窗口并行提交任务
  3. 定时轮询下载:设置脚本定期检查/output/目录是否有新生成文件
  4. 后处理去重:使用Python脚本合并所有结果并去除重复记录

示例Shell自动化脚本片段:

#!/bin/bash for file in *.txt; do curl -F "file=@$file" http://<server-ip>:7860/upload sleep 2 done

5.3 结果持久化与审计追踪

点击「保存到文件」按钮后,系统会将结果写入服务器指定目录,并以时间戳命名:

/output/result_20250405_142312.txt

该机制满足医疗信息系统对操作留痕、数据可追溯的要求,符合《电子病历系统功能规范》相关规定。


6. 常见问题与解决方案

Q1: “两百”未被识别?

A: 确认是否开启了“转换独立数字”。部分版本默认关闭对“两”、“幺”等方言词的支持,需在配置文件中添加扩展词典:

number_mapping = { "幺": "1", "两": "2", "半": "0.5" }

Q2: 时间转换出现“上午8:00p.m.”错误?

A: 此为模型训练偏差所致。建议更新至v1.2以上版本,已修复AM/PM逻辑冲突问题。临时方案:关闭“时间”模块自动推断,改用手动标注。


Q3: 如何集成到HIS系统?

A: 可通过API方式进行集成。启动服务后,调用如下接口:

POST /itn/convert HTTP/1.1 Content-Type: application/json { "text": "二零二四年一月一日", "config": { "convert_digits": true, "full_wan": false } }

返回:

{ "result": "2024年01月01日" }

7. 总结

FST ITN-ZH 中文逆文本标准化系统配合科哥开发的WebUI界面,为医疗行业的非结构化文本处理提供了高效、稳定且易于部署的解决方案。通过对日期、时间、数字、单位等关键信息的精准转换,有效支撑了电子病历结构化、临床决策支持、科研数据分析等多项核心业务。

本文从医疗实际需求出发,系统阐述了该工具的功能特性、高级配置策略及工程化落地建议,帮助医疗机构快速构建高质量的文本预处理流水线。

未来可进一步探索与ASR语音识别系统的端到端集成,实现“语音→文字→标准化”的全自动链路,全面提升智慧医疗的数据基础质量。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/12 20:35:12

抖音无水印视频下载神器:5分钟从零基础到精通下载达人

抖音无水印视频下载神器&#xff1a;5分钟从零基础到精通下载达人 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 还在为抖音上的精彩视频无法保存而烦恼吗&#xff1f;douyin-downloader正是你需要的解决方…

作者头像 李华
网站建设 2026/3/13 22:38:46

网盘直链下载助手:高效获取下载链接的浏览器插件

网盘直链下载助手&#xff1a;高效获取下载链接的浏览器插件 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改&#xff08;改自6.1.4版本&#xff09; &#xff0c;自用&#xff0c;去推广&#xff0…

作者头像 李华
网站建设 2026/3/12 15:23:44

Lumafly模组管理器:空洞骑士模组管理的最佳解决方案

Lumafly模组管理器&#xff1a;空洞骑士模组管理的最佳解决方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly Lumafly是一款专为《空洞骑士》设计的跨平台模组…

作者头像 李华
网站建设 2026/3/12 20:37:46

AMD Ryzen SMU调试工具终极指南:硬件性能精准调校与系统优化

AMD Ryzen SMU调试工具终极指南&#xff1a;硬件性能精准调校与系统优化 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…

作者头像 李华
网站建设 2026/3/9 18:10:51

中小企业AI转型:Qwen2.5-0.5B轻量部署实战

中小企业AI转型&#xff1a;Qwen2.5-0.5B轻量部署实战 在当前人工智能技术快速演进的背景下&#xff0c;中小企业正面临从“是否上AI”向“如何高效用AI”转变的关键阶段。传统大模型往往依赖高昂算力、复杂运维和专业团队&#xff0c;难以适配中小企业的资源现状。而随着轻量…

作者头像 李华