由丽萍 王世钰 李朝翻
(山西大学经济与管理学院 太原 030006)
近年来,药品安全性事件频发,对公众健康造成严重威胁,药品安全问题逐渐引起舆论热议。据世界卫生组织统计,全球死亡患者中有1/3死于用药不合理[1]。在我国,药疗事故占医疗事故的30%,药品不良事件已成为严重的公共卫生问题。随着信息技术在医疗领域的广泛应用,在线医疗平台和药品电商等互联网产业蓬勃兴起,积累了大量药品咨询记录和药效评价信息。抽取此类信息不仅对分析患者用药后的反馈具有重要意义,而且可以为药品生产、经营、使用及药政部门管理提供参考,以提高监管力度,推动社会卫生事业进步。
目前,事件抽取相关研究成为国内外自然语言处理领域的重要研究方向之一,旨在从非结构化文本中抽取公众感兴趣的事件信息,并以结构化形式呈现出来。已有研究立足于从信息[2]、事件[3]、关系[4]3个层次展开,将相关事件提取技术应用于特定领域,如政治外交[5]、法律[6]以及临床[7]等,以提升特定领域事件抽取精确率。在生物医学领域,陈瑶等[8]基于深度学习模型,引入注意力机制,对字向量与分词向量进行优化,研究异常检出率报告中的“药品-不良反应”关系抽取。张玉坤等[9]提出一种联合神经网络模型,将实体识别和关系抽取联合起来,研究中文医疗关系抽取。Kilicoglu H[10]和Bui Q C[11]分别提出ConcordU和BioSEM生物医学事件抽取方法。这些基于词向量的方法可操作性强,但缺乏词汇资源的有效组织和语义关联描述,表示深度及语义理解不足,处理精度不高,应用价值受限;而基于语义分析则能满足对自然语言深层语义理解的需要,准确识别不良反应与感知部位之间的语义关系。
本研究基于框架语义理论,结合《监管活动医学词典》(Medical Dictionary for Regulatory Activities,MedDRA)[12]术语集构建药品不良事件分类词表;根据词典和句法规则分析公众在社交网络中对药品的评论文本,识别药品不良事件相关语义信息,填充药品不良事件框架;基于框架语义分析结果,完成药品不良事件抽取。这是情感分析向医疗健康领域纵深发展的一次有益探索,兼具社会意义与学术价值。
药品不良事件抽取由文本预处理、框架语义标注和药品不良事件框架填充3部分构成。首先,以微博、知乎等社交网络平台为数据来源,通过网络爬虫技术,抓取包含有“副作用”“药品不良反应”等信息的用药反馈评论文本,并对其进行分词、词性标注等预处理。其次,基于框架语义标注规则对文本进行框架元素标注,并通过匹配药品不良事件分类词表及程度值计算规则,将语义识别出的谓词匹配不良事件触发词,确定药品不良事件及其整体程度值。最后,根据框架语义分析结果填充药品不良事件框架,从而完成药品不良事件抽取,见图1。
图1 药品不良事件抽取流程
框架语义理论是美国语言学家Fillmore C J[13]提出的一种以框架为单位描述词语意义以及句子语义结构的方法体系。框架是语言使用者在其认知经验中存储的关于词语和句子语义理解的图示化情景,由一系列框架元素组成,表明情景中的动作主体、客体、程度等其他概念角色。以框架语义模型表示药品不良事件,即将语言表达中的谓词和语义角色标注为相应的事件类别和患者、药品、感知部位等框架元素,其定义如下:
Ei(dri,pi,bi,dgri)
(1)
其中,Ei为句子中一个短语i的事件类;dri为药品名称;pi为患者;bi为感知部位;dgri为程度值。程度值表示药品不良事件的严重程度,依据医学程度常用分级,进行4级区分,1~4级依次为轻度、中度、重度、极重度。如评论文本“吃了舍曲林感觉四肢很无力”,其模型为:Ei:乏力(dri:舍曲林,pi:匿名用户,bi:四肢,dgri:2),见图2。
图2 药品不良事件框架语义表示模型
在药品不良事件框架中,事件类是由句子中的谓词(动词和形容词)所激活的语义内容,其在框架中位于核心支配地位,与框架元素相关联。本文以MedDRA为基础确立基本事件类别,在爬取的大量社交网络文本中提取谓词与MedDRA进行匹配,构建药品不良事件分类词表。MedDRA具有层级结构,从低到高分别为低位语(lowest level term,LLT)、首选语(preferred term,TP)、高位语(high level term,HLT)、高位组语(high level group term,HLGT)和系统器官分类(system organ class,SOC),其中术语即为低位语,同义术语或等同术语归于首选语,见表1。
表1 药品不良事件分类词表示例
用药反馈文本中句法依存关系与语义角色之间有较强的对应规律,因此,基于规则匹配的方式识别句子中的感知部位,即谓词所支配的语义角色。框架语义标注预设规则为:
LUframe[SBV⊕ATT-headtheme][ADVddegree][AD-Vnnegative]…
(2)
其中,LU代表药品不良事件评论文本中的谓词,SBV代表主语成分。由于评论句在表达方式上具有句式简单、主语省略甚至独词成句等特点,因此,除了谓词是必要成分外,主语和其他修饰语均为可选项,以“[]”表示。根据依存句法分析结果,若谓词支配一个主语成分,则该成分标注为该不良事件的框架元素(theme),即感知部位;若谓词处于偏正结构中定语中心语 (ATT-head)位置,则标注为感知部位。符号⊕表示这两种情况是“异或”的逻辑关系,即要么SBV成立,要么ATT-head成立,二者不能同时成立。若依存句法结构中出现程度副词做状语成分(ADVd),则标注为框架元素“程度”(degree);若出现否定副词做状语成分(AD-Vn),则标注为“否定修饰”(negative),二者将作为程度值计算依据。
依存句法分析是按照指定语法规范将特定序列用图结构呈现的自然语言语句,可以直接展示出句中词与词之间的句法关系。在基于图结构的表示方法中,每个词语代表一个实体,用节点表示,词语节点之间的连线则表示其之间的句法关系。这种表现形式清晰简洁、标注容易,其句法功能标记与语义结构相互对应并有较强规律性,因此可以有效地识别句子中谓词及其所支配的语义角色,从而为实现药品不良事件评论文本的语义标注提供规则依据。示例1依存句法关系,见图3。其中v代表动词、a代表形容词,n代表名词,d代表副词,u代表助词,m代表数词,p代表介词,wp代表标点符号。
示例1:刚开始服用舍曲林就恶心,没食欲,手会轻微抖动,内心感觉很麻木。
药品不良事件识别基于框架语义标注结果,与药品不良事件分类词表匹配事件触发词,从而识别出药品不良事件,然后进一步匹配上级类别。若只匹配到单一上级类别,直接输出药品不良事件类别;若存在多个上级类别,则存在归类歧义,通过将上下文中出现的其他词(主要为表示感知部位的词)进一步限定,从而筛选出合适的上级类别,最终完成药品不良事件类别的识别。
针对示例1进行药品不良事件类别的识别。首先,将动词“没食欲”、动词“抖动”和形容词“麻木”匹配药品不良事件类词表,分别对应为“食欲减退”“震颤”和“感觉减退”。其中,低位语“食欲减退”和“震颤”,分别对应高位语“各种食欲障碍”和“各种颤抖”。“感觉减退”则对应两个高位语“各种表皮和真皮病症”“感觉异常和感觉迟钝”,存在歧义。根据上下文出现的词汇“内心”可将“感觉减退”进一步限定为“感觉异常和感觉迟钝”。最终,该条评论所识别出的药品不良事件类别分别为“各种食欲障碍”“各种颤抖”和“感觉异常和感觉迟钝”。
4.3.1 药品名称和患者识别 对网络文本数据进行分词和词性标注,基于实体命名识别规则,从经过预处理的评论文本中识别药品名称,即对词性标注为专有名词(nz)的词语前后两个词进行扫描后匹配以下模式,若模式相符合则识别字符串中的*为药品名称。
模式1:吃 v 了 u * nz。例如:吃了舍曲林。
模式2:长期 a 使用 v * nz。例如:长期使用舍曲林。
模式3:服用 v * nz。例如:服用舍曲林。
模式4:* nz 的 u 副作用 n。例如:舍曲林的副作用。
模式5:# m 片/盒/瓶 p * nz (#表示任意数词)。例如:两片舍曲林。
针对示例1,药品名称识别符合模式3,于是将药品名称识别为“舍曲林”。根据各社交平台中发布相关评论的用户资源标识符填充至框架元素“患者”中。
4.3.2 感知部位识别 即谓词所支配的框架元素,根据前文框架语义分析标注规则进行识别。在示例2中,可将主谓结构中的主语(SBV)“嘴唇”“头”和定中结构的中心语(ATT-head)“肠胃”识别为感知部位。
示例2:最/d开始v/吃/v舍曲林/n[感知部位嘴唇/n]不时/d会/v<震颤颤抖/v>,/wp[感知部位头/n]也/d很/d<震颤晕/a>,/wp[感知部位肠胃/n]的/u<疼痛和不适不适/a>逐渐/d加重/v。/wp
针对前文示例1,根据框架语义标注规则,将与“抖动”“麻木”分别构成主谓结构的中心语“手”“内心”识别为感知部位。
4.3.3 计算程度值 (1)计算过程。首先,将用药反馈文本中触发词与词表相匹配得到原值1。其次,确定用药反馈文本中是否含有程度副词,若有则将第1程度值设为“原值+增量值”。最后,确定文本中是否含有否定副词(不、没有、无等),若有,将程度值赋值为“1-第1程度值”;若无,则第1程度值为最终程度值。其中程度副词“有些、有点、比较”等词的增量值为0;“很、实在、蛮”等词的增量值为1;“十分、非常、特别”等词的增量值为2;“极其、超级、超”等词的增量值为3。(2)示例1程度值计算。将“轻微”和“很”识别为程度副词;根据程度值赋值规则,“抖动”和“晕”的程度原值为1,句中程度副词“轻微”增量值为0,“很”增量值为1,因此将原值与增量值相加,最终输出程度值分别为1和2;“没食欲”的程度原值为1,无程度副词修饰,因此最终程度值为1。将情感语义元素填入药品不良事件框架,结果为:
Ei:食欲减退(dri:舍曲林,pi:匿名用户,bi:null,dgri:1)。
Ei:震颤(dri:舍曲林,pi:匿名用户,bi:手,dgri:1)。
Ei:感觉减退(dri:舍曲林,pi:匿名用户,bi:内心,dgri:2)。
5.1.1 数据来源 对药品“盐酸舍曲林(左洛复)”用药反馈文本进行实例分析,检验药品不良事件抽取的应用效果。从网络社交平台微博话题和知乎中爬取该药品相关问答及评论文本,剔除无效文本,共得到有效评论数1 505条(知乎)和706条(微博),见表2。
5.1.2 分析工具 基于哈尔滨工业大学语言技术平台对语料进行依存句法分析,利用自主研发的标注软件“基于框架本体的中文情感语义标注与查询系统”(软件著作权登记号:2018SR823004),通过添加本文所构建的药品不良事件分类词表,基于规则匹配的方式,实现框架语义信息的自动标注,可对中文评价词和框架进行编辑和本体存储,并支持模糊语义检索。
经过框架语义标注可得到该药品所有不良事件框架信息。评论句中若只识别出1个不良事件,且只对应1个感知部位,则建立1个事件框架;若1个事件类型对应多个不同感知部位,则需建立多个事件框架,其程度值取平均值;存在多患者时只列举3个。从药品不良事件抽取结果中,剔除发生的重复事件和相近事件,共得到 43 种药品不良事件和32种药品不良事件类别,其中影响身体感知的不良事件类别有23种,影响精神反应的不良事件类别有9种。将影响身体感知的不良事件类别中的“入睡和睡眠障碍”“各种睡眠障碍”合并为“睡眠障碍”,将“肠胃胀气、气胀和膨胀”“胃肠道和腹部疼痛”和“各种胃肠道迟缓和动力不足疾病”合并为“胃肠道不适”,见图4、图5。
图4 影响身体感知的药品不良事件比例
由此可知,该药品最严重的不良反应为睡眠障碍,根据患者个体差异主要分别体现为失眠和嗜睡;身体上还会有虚弱状态,体现为累、乏力等,并且会恶心、呕吐;精神上则主要表现为神经学症状和体征及各种感受与感觉,主要体现在头晕、情绪差,并且会存在意识障碍、困倦迟钝等。
本文基于社交网络文本框架语义分析研究药品不良事件抽取。基于MedDRA术语集构建药品不良事件框架语义分类词表,为医疗领域文本分析提供语义资源;通过框架语义理论,识别药品不良事件以及与其相关药品名称、患者、感知部位,提高事件抽取的完整性和准确性;以“盐酸舍曲林”为例,对比抽取结果与药品说明书,证实该方法的有效性。本文研究结果一方面为医疗健康领域提供语义知识库资源;另一方面为社交网络文本挖掘向医疗健康领域纵深发展提供新方向。
相比于传统问卷和量表分析方法,文本挖掘方法可以批量处理患者关于药品的评论文本,但目前所构建词表规模有限,尚未覆盖不同种类药品的不良反应,无法实现大规模不良反应识别;社交媒体数据繁杂、各平台之间信息互通,评论者可通过多平台对药品进行同一评述,可能造成数据交叉重复,存在一定局限性。在未来工作中,将尝试采用机器学习和规则相结合方式,扩充词典规模,完善识别规则,从而提高事件抽取准确率;并且尝试对所抽取药品不良反应进行本体存储与构建,从而形成知识图谱以实现信息的深度关联与展现。