MedCleanStd 是一个面向医疗文本的智能化清洗与标准化处理算子,集成了文档解析、文本纠错、命名实体识别(NER)和医学术语标准化四大核心功能。
- 支持
.docx和.txt 格式医疗文档
- 段落提取与表格线性化处理
- 字符位置映射构建,支持实体溯源
- 混淆集快速匹配(<1ms)
- 可选拼音纠错(ProperCorrector)
- 智能分段处理长文本
- 基于 SiameseUIE 模型
- 支持多种实体类型:疾病、症状、药品、手术、检查、检验
- NPU/GPU/CPU 多硬件平台自适应
- L1 缓存:高频词精确匹配
- L2 向量检索:语义模糊匹配
- 输出 ICD-10 标准编码
| 参数 |
类型 |
默认值 |
说明 |
| 启用拼音纠错 |
switch |
false |
是否启用拼音纠错(精度更高但速度较慢) |
| 纠错分段长度 |
slider |
100 |
ProperCorrector 分段处理长度阈值 |
| 纠错最大文本长度 |
slider |
200 |
超过此长度将自动禁用 ProperCorrector |
| 参数 |
类型 |
默认值 |
说明 |
| 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: 首次发布,支持基本医疗文本清洗与标准化功能