🚀 葡萄牙语命名实体识别 - TempClinBr - BioBERTpt(all)
本项目使用BioBERTpt(all)模型在TempClinBr语料库上进行训练,旨在实现葡萄牙语临床文本的命名实体识别,为医学信息处理提供支持。
📦 数据集
使用了TempClinBr数据集,以下是部分数据示例:
- 文本:“Dispneia importante aos esforços + dor tipo peso no peito no esforço.”
- 文本:“Obeso, has, icc c # cintilografia miocardica para avaliar angina. Discreto edema mmii pricn a esquerda.”
- 文本:“Plastia Mitral ( Insuficiencia ), CRM Saf - 2Mg e e Saf - 3MG ).(09/03/16). Nega palpitação.”
- 文本:“Uso: AAS 100 - 1xd; Metoprolol 25 - 1xd; FSM - 1xd ; Levotiroxina 175 - 1xd; Sinva 40 - 1xd; Fluoxetina 20 - 1xd.”
- 文本:“Refere melhora da dispneia depois da cx porem mantem aos mdoeardos - leves esforço.”
🔧 训练指标
以下是模型训练的各项指标:
precision recall f1 - score support
0 0.75 0.90 0.82 291
1 0.77 1.00 0.87 33
2 1.00 0.25 0.40 28
3 0.90 0.99 0.94 71
4 0.79 0.91 0.85 112
5 0.72 0.83 0.77 420
6 0.62 0.45 0.53 11
7 0.96 0.85 0.91 2236
8 0.61 0.67 0.64 78
9 0.61 0.98 0.76 124
10 0.81 0.87 0.84 503
11 0.67 0.60 0.63 10
accuracy 0.86 3917
macro avg 0.77 0.78 0.74 3917
weighted avg 0.87 0.86 0.86 3917
F1: 0.8588744393393593 Accuracy: 0.8565228491192239
⚙️ 训练参数
模型训练使用的参数如下:
device = cuda (Colab)
nclasses = len(tag2id)
nepochs = 50 => 训练在第9轮停止
batch_size = 16
batch_status = 32
learning_rate = 3e - 5
early_stop = 5
max_length = 256
write_path = 'model'
📊 测试集评估
在TempClinBr测试集上的评估结果如下,注意:评估包含标签“O”(标签编号7),如有需要可计算不包含此标签的平均值。
tag2id = {'B - Tratamento': 0,
'I - Teste': 1,
'I - Ocorrencia': 2,
'B - Evidencia': 3,
'B - Teste': 4,
'I - Problema': 5,
'B - DepartamentoClinico': 6,
'O': 7,
'I - Tratamento': 8,
'B - Ocorrencia': 9,
'B - Problema': 10,
'I - DepartamentoClinico': 11,
'<pad>': 12}
precision recall f1 - score support
0 0.82 0.92 0.87 261
1 0.81 0.58 0.67 99
2 0.56 0.20 0.29 51
3 1.00 0.94 0.97 128
4 0.81 0.86 0.83 194
5 0.81 0.87 0.84 645
6 0.96 0.80 0.87 30
7 0.95 0.90 0.93 2431
8 0.73 0.81 0.77 146
9 0.74 0.88 0.80 146
10 0.87 0.95 0.91 713
11 0.83 0.71 0.77 14
12 0.00 0.00 0.00 0
accuracy 0.89 4858
macro avg 0.76 0.72 0.73 4858
weighted avg 0.89 0.89 0.89 4858
📖 引用说明
引用方式将在后续公布。