🚀 健康记录生成器(HealthScribe)
健康记录生成器(HealthScribe)是一个基于微调模型的临床记录生成工具,它能够根据医生与患者对话的转录数据,自动生成临床记录,为医疗工作者提供便利。
🚀 快速开始
本模型是在 facebook/bart-large-cnn 的基础上,针对修改后的 MTS-Dialog 数据集 进行微调得到的。该模型集成于一个 Flask 网络应用程序中,此应用允许用户根据医生与患者对话的自动语音识别(ASR)转录数据生成临床记录。
推理测试数据示例
更多对话示例可参考 test.txt
。
"医生:你好呀,我喜欢你这条裙子,真漂亮!
患者:谢谢你夸一个 72 岁的老太太。
医生:不,我是认真的。好了,你在 2009 年 5 月入院。你有高血压病史,在 2009 年 6 月 18 日,你出现了严重的腹痛、腹泻和痉挛。
患者:是的,他们说我可能感染了艰难梭菌(C Diff)。他们给我做了腹部 CT,那时他们认为我感染了。
医生:是的,CT 显示有弥漫性结肠炎的迹象,所以我想他们给你用了静脉注射抗生素?
患者:是的。
医生:我看到了,用了甲硝唑(Flagyl)和左氧氟沙星(Levaquin)。他们还开始给你静脉注射胃复安(Reglan)来止吐。
患者:是的,我当时恶心极了,还吐了。
医生:在这之后,我发现你的白细胞还是很高。你现在还恶心吗?
患者:不,我现在不恶心也不吐了,但还是腹泻。因为一直腹泻,我感觉很虚弱。
医生:好的。还有其他症状吗?
患者:实际上没有了,一切都还好。
医生:很好。
患者:是的。"
✨ 主要特性
本模型用于根据医生与患者的对话数据(ASR)生成临床记录,但存在一定局限性:
- 生成结果为空(N/A)的情况较少,但有时会出现生成结果为 None 的情况。
- 当输入数据的字符标记非常少或输入数据非常大时,模型可能会生成与实际不符的内容。
📚 详细文档
训练和评估数据
该模型在评估集上取得了以下结果:
- 损失值(Loss):0.1562
- Rouge1:54.3238
- Rouge2:34.2678
- Rougel:46.5847
- Rougelsum:51.2214
- 生成长度(Generation Length):77.04
训练过程
模型在修改后的 MTS-Dialog 数据集上进行训练,使用了 1201 个训练样本和 100 个验证样本。
训练超参数
训练过程中使用了以下超参数:
learning_rate
:2e-05
train_batch_size
:1
eval_batch_size
:1
seed
:42
gradient_accumulation_steps
:2
total_train_batch_size
:2
optimizer
:Adam(betas=(0.9,0.999),epsilon=1e-08)
lr_scheduler_type
:线性
num_epochs
:3
mixed_precision_training
:原生混合精度训练(Native AMP)
训练结果
训练损失 |
轮数 |
步数 |
验证损失 |
Rouge1 |
Rouge2 |
Rougel |
Rougelsum |
生成长度 |
0.4426 |
1.0 |
600 |
0.1588 |
52.8864 |
33.253 |
44.9089 |
50.5072 |
69.38 |
0.1137 |
2.0 |
1201 |
0.1517 |
56.8499 |
35.309 |
48.2171 |
53.6983 |
72.74 |
0.0796 |
3.0 |
1800 |
0.1562 |
54.3238 |
34.2678 |
46.5847 |
51.2214 |
77.04 |
框架版本
- Transformers 4.39.2
- Pytorch 2.2.1+cu121
- Datasets 2.18.0
- Tokenizers 0.15.2
📄 许可证
本模型使用 MIT 许可证。
📦 模型信息