Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 3.21 KB

File metadata and controls

109 lines (86 loc) · 3.21 KB

MedCleanStd 医疗文本清洗标准化算子

概述

MedCleanStd 是一个面向医疗文本的智能化清洗与标准化处理算子,集成了文档解析、文本纠错、命名实体识别(NER)和医学术语标准化四大核心功能。

功能特性

1. 文档解析

  • 支持 .docx.txt 格式医疗文档
  • 段落提取与表格线性化处理
  • 字符位置映射构建,支持实体溯源

2. 文本纠错

  • 混淆集快速匹配(<1ms)
  • 可选拼音纠错(ProperCorrector)
  • 智能分段处理长文本

3. 实体识别

  • 基于 SiameseUIE 模型
  • 支持多种实体类型:疾病、症状、药品、手术、检查、检验
  • NPU/GPU/CPU 多硬件平台自适应

4. 术语标准化

  • L1 缓存:高频词精确匹配
  • L2 向量检索:语义模糊匹配
  • 输出 ICD-10 标准编码

参数说明

纠错配置

参数 类型 默认值 说明
启用拼音纠错 switch false 是否启用拼音纠错(精度更高但速度较慢)
纠错分段长度 slider 100 ProperCorrector 分段处理长度阈值
纠错最大文本长度 slider 200 超过此长度将自动禁用 ProperCorrector

NER 配置

参数 类型 默认值 说明
NER 抽取目标 checkbox 疾病,症状 选择需要抽取的实体类型
NER 推理批大小 slider 64 NER 模型推理时的批量大小

分句配置

参数 类型 默认值 说明
分句块大小 slider 80 每个处理 chunk 包含的最大句子数

标准化配置

参数 类型 默认值 说明
启用 L1 缓存 switch true 是否启用高频术语 L1 缓存
标准化批大小 slider 64 向量编码批处理大小
标准化检索批大小 slider 2000 Faiss 向量检索批处理大小
标准化相似度阈值 slider 0.75 向量检索的最低相似度阈值

实体过滤配置

参数 类型 默认值 说明
最大实体长度 slider 50 超过此长度的实体将被过滤

性能优化配置

参数 类型 默认值 说明
启用流水线模式 switch true NER 和标准化并行处理

输入输出

输入: 文本数据(text 字段)

输出: 包含以下字段:

  • corrected_text: 纠错后的文本
  • correction_errors: 纠错明细
  • entities: 识别的实体列表
  • filtered_entities: 过滤后的实体列表(含标准化结果)
  • medclean_metadata: 处理元数据

实体输出格式

{
  "text": "急性阑尾炎",
  "type": "疾病",
  "start": 2,
  "end": 7,
  "global_start": 2,
  "global_end": 7,
  "normalized": {
    "std_name": "急性阑尾炎",
    "std_code": "K35.900",
    "score": 1.0,
    "source": "L1_Cache"
  }
}

依赖说明

  • torch >= 2.0.0
  • torch_npu >= 2.1.0 (NPU 设备可选)
  • modelscope >= 1.9.0
  • python-docx >= 0.8.11
  • pycorrector >= 0.4.5
  • sentence-transformers >= 2.2.0
  • faiss-cpu >= 1.7.4

版本历史

  • v1.0.0: 首次发布,支持基本医疗文本清洗与标准化功能