Page 354 - 《软件学报》2024年第6期
P. 354
2930 软件学报 2024 年第 35 卷第 6 期
C 进行排序
初始化: 按照 Pr(r k , x j |x i ) 的降序对
1. while n 没有达到最大长度 maxlen(C) do
2. m = n+1
3. while m 没有达到最大长度 maxlen(C) do
span n ← (C[n][ x i ],C[n][ x j ])
4.
5. span m ← (C[m][ x i ],C[m][ x j ])
6. entity_type ← (C[n][r k ])
n
7. entity_type ← (C[m][r k ])
m
8. if is_nested (span n , span m ,T) then
(entity_type ,entity_type ,E) then
9. if not is_matched n m
10. Pr(C [m][r k ],C[m][ x j ]|C [m][x i ]) ← 0
11. 过滤掉 C [m]
12. end if
(span n , span m ,T) then
13. else if is_flat
14. continue
15. else
16. Pr(C [m][r k ],C[m][ x j ]|C [m][x i ]) ← 0
C [m]
17. 过滤掉
18. end if
19. end while
20. end while
Pr
21. return sym
4 实验与分析
在本节中, 我们将通过对实际应用中的中文医疗命名实体数据集进行大量实验来证明我们所提出的系统框架
的有效性, 并针对框架结构的不同组成部件进行具体的分析来显示其作用和优势.
4.1 数据设置
我们使用中文医疗命名实体抽取数据库 (CMeEE), 其数据来源于中文医疗信息处理评测基准 CBLUE
(Chinese biomedical language understanding evaluation) 下属子任务评测. 其共包含了 20 000 条中文医疗领域语句,
通过统计, 数据中共包含 9 大类医疗实体类别, 具体如后文表 3 所示. 其中, 具有嵌套关系的实体对 (外层实体-内
层实体) 数量共 4 855 对. 可以看出, 大部分外层实体为 类型, 单一字构成实体大部分为 bod 类型. 在具体的实
验中, 我们发现实体类别嵌套关系出现次数小于 3 次的情况基本上都为数据的错标漏标所造成, 因此为了避免对
第 3.4 节所介绍的 span filtering 产生干扰, 我们对出现次数小于 3 次的类别约束规则进行了删除. 在实验中, 我们
将数据集按照训练集:开发集:测试集为 15000:2500:2500 的数量随机进行切分, 并采用 3 折交叉验证方式进行测
试. 我们采用精确率, 召回率和 F1 值对系统的实体识别结果进行评估.
4.2 实验设置
主要参数设置如表 4 所示, 我们使用中文医疗预训练模型 MC-BERT (https://github.com/alibaba-research/
ChineseBLUE) 作为预训练语言模型对系统的 BERT 编码层进行初始化设置, 其 layer 大小为 12, hidden size 大小
为 768. 我们采用 Adam 作为优化器, learning rate 大小为 2×10 −4 . 输入文本的 max length 设置为 256.