Page 348 - 《软件学报》2024年第6期
P. 348
2924 软件学报 2024 年第 35 卷第 6 期
据诊断 [2] 和智能问诊 [3] 中都扮演着非常重要的上游任务角色. 由于医疗文本往往以非结构化的形式出现且包含大
量具有特殊含义的医疗命名实体 (例如“疾病”“症状”“身体部位”等), 而信息抽取的下游任务如医疗对话系
统 [4] 、医疗知识图谱构建 [5] 等都依赖于对文本中的命名实体的识别结果. 因此如何自动、准确地抽取命名实体成
为医疗信息分析和挖掘的一项关键技术.
对于医疗文本领域来说, 其文本中所包含的医疗实体构词形式复杂多样, 往往以陈述性短语形式出现 (如症状
类实体). 而中文又以字为语素的最小书写单位 [6] , 这就造成了中文医疗文本中经常会出现实体的嵌套现象. 如图 1
所示, 可以看到实体类别为“检查程序”的“X 线”医疗实体被整个嵌套在了类别为“症状”的“X 线心影显著增大”医
疗实体的内部, 因此我们称“X 线”和“X 线心影显著增大”互为各自的内外层嵌套实体.
症状
症状 检查程序
呼 吸 困 难 伴 X 线 心 影 显 著 增 大 。
B-sym I-sym I-sym I-sym 。 X 线 I-sym I-sym I-sym I-sym I-sym I-sym 。
提出将关系抽取视为一个多头选择问题
图 1 嵌套命名实体序列标注示例
近些年, 受益于深度神经网络的发展, 命名实体识别系统的性能得到了大幅提升 [7−9] . 传统实体识别模型多使
用基于文本序列标注的方法, 如 encoder+CRF 模型 [10−12] 来对命名实体进行识别. 由于序列标注方法需要将词语
边界和词语类型同时进行输出 (图 1 中“B”“I”“O”为边界, “-”后为实体类别), 因此这种方法只适用于实体边界没有
重叠的非嵌套的命名实体, 如图 1 中的症状类实体“呼吸困难”. 而在处理“X 线”这种和其他实体有边界嵌套的情
况时, 仅依靠序列标注模型就难以进行处理. 为了解决对上述边界出现嵌套的实体识别问题, 本文提出将实体识别
任务转化为实体的边界识别与边界首尾关系识别的联合任务. 如图 2 所示, 对于待识别的文本, 首先识别文本中所
包含的所有实体的边界首字和尾字, 之后按照关系抽取的方法, 将每个具有边界配对关系 (即首字和尾字隶属同一
个实体) 的首字和尾字组合进行关系抽取, 如实体“X 线”与“X 线心影显著增大”的识别可以转换为对“(首字, 尾字,
实体类别)”关系三元组的抽取, 即“(X, 线, 检查程序)”和“(X, 大, 症状)”.
X 线 心 影 显 著 增 大 。 X 线 心 影 显 著 增 大 。
首 尾 尾 首 尾 尾
PRO SYM
(X, 线, PRO 实体边界)
边界识别 边界首尾关系识别
(X, 大, SYM 实体边界)
图 2 实体的边界识别与边界关系识别示例
Bekoulis 等人 [13] (multi-head selection), 借此来解决实体关系抽取中的
实体关系重叠问题, 即每一个实体都可能与其他多个实体存在关系. 这与本文中所需要解决的实体边界字直接的
关系抽取有共同之处. 因此本文借鉴多头选择机制的思想, 按照每一个实体的首字都可能与多个实体尾字拥有关
系链接的顺序, 提出了改进后的多头选择机制. 与针对实体关系抽取任务所设计的初始多头选择机制不同, 我们设
计的多头选择机制所针对的实体边界的首尾字关系和实体之间的关系在文本组成规则上有着较大的区别. 我们依
照实际文本中的实体嵌套规则, 对实体首尾字之间的关系组合进行了严格限制, 例如, 同一组首尾字之间只能组成
一种实体类别, 每个字都只能对其自身或相对位置靠后的字组成首尾关系等. 我们将在本文的第 3 节对其进行详
细介绍.
和我们的想法近似, Yu 等人 [14] 将 biaffine 机制引入实体识别任务, 并借鉴了依存关系解析 (dependency parsing)