□ 邵旻晖 SHAO Min-hui 李娟 LI Juan 陈芳芳 CHEN Fang-fang 李伟 LI Wei
Diabetes is one of the major diseases that seriously endanger people's health. At present, many prevention and treatment measures have been taken in China, among which the management of patients' blood glucose is the key point of diabetes treatment. In order to help patients improve their self-management behavior ability and effectively control their blood glucose level, this study extracted semantic entities from a number of medical materials through knowledge extraction,knowledge fusion and knowledge storage, and sorted out the relationships between entities based on clinical guidelines,expert experience, hospital electronic medical records and other medical materials. Finally, a diabetes knowledge map was constructed by using the secondary graph database, and based on this map, an intelligent question-and-answer application on the mobile phone was realized to provide support for patients' blood sugar management.
据相关统计,中国患糖尿病人数达1.16 亿,目前糖尿病的治疗率(35.6%)和控制率(33.0%)仍处于较低水平[1-2]。《中国2 型糖尿病防治指南》中指出,糖尿病的控制不再是传统意义上的治疗,而是系统的管理,其中患者自我管理是有效防止病情进展的关键[3]。通过为糖尿病患者提供规范化和个体化的专业性血糖管理指导,提高患者自我管理能力,对患者病情控制具有重要意义。
知识图谱技术是众多国内外学者研究的热点,近年来已广泛应用于医学领域。有研究将知识图谱应用于糖尿病管理,对糖尿病管理指南和循证医学知识以知识图谱形式进行表达,构建糖尿病相关知识库[4]。在实际应用中,患者需要通过多种渠道和方式了解不同模块展示的信息后再进行知识整合,增加了知识的获取难度,不利于患者利用知识图谱技术进行自我健康管理。本研究在全面探讨知识图谱相关理论与构建技术基础上,通过知识抽取、知识融合和知识存储等技术将临床指南、专家经验、电子病历等医学资料有机整合,设计并实现手机端的糖尿病智能问答应用,为糖尿病患者血糖管理提供技术支持。
1.知识图谱相关概念。知识图谱由Google 于2012 年率先提出,本质上是一种语义网络,通常用“实体—关系—实体”的三元组形式表示,用来描述真实世界中存在的各种实体、属性及其关系构成的语义[5]。不同于早期的语义网络,知识图谱着重于实体间的关系或者实体的属性值,例如三元组<二甲双胍,适应证,2 型糖尿病>就可以表达为“二甲双胍的适应证是2 型糖尿病”。从这个角度看,三元组是最接近于人类自然语言的数据模型,而图的信息组织方式又更加接近于人脑的记忆存储方式,因此知识图谱对现实世界中各种现象或事物都有很强的表达和建模能力,可用于辅助分析和决策支持[6]。
2.知识图谱构建。知识图谱构建需要先确定知识表示模型,然后对结构化数据进行知识抽取,利用知识融合和知识推理提高知识图谱质量,最后根据具体的应用场景设计不同的知识呈现方式,具体流程如图1 所示[7]。
图1 知识图谱构建流程
本研究采用自顶向下和自底向上相结合的构建方式。模式层(即本体)设计是对医学资料中的临床表现、检查、诊断、治疗药物等概念及其间关系的网络化整合;数据层构建是对医学资料中显性知识的抽取和隐性知识的挖掘。本体即具有同种特性的实体构成的集合,如“临床表现”“治疗药物”等概念,而“体重减轻”“二甲双胍”等语义为实体。
1.数据源获取。考虑到构建糖尿病知识图谱需要高质量的专业性医疗数据作为数据层,本研究的数据来源于:(1)本院电子病历,从医院电子病历中提取出和糖尿病相关的数据共1500 条,经过数据预处理后得到1213 条结构化数据。(2)DiaKG 数据集,该数据集是由阿里云天池平台与清华大学合作推出的高质量的中文糖尿病知识图谱数据集,共包含22050 个实体和6890 个关系,涵盖了近年来糖尿病领域最广泛的研究内容和热点,作为电子病历数据源的补充。
2.知识表示。研究参照ICD-10 编码,对医学术语进行编码管理,赋予相应的规范化唯一概念标识,如“2 型糖尿病”在ICD-10 编码中对应的疾病编码是“E11.900”。本体描述选择基于语义的RDF 作为资源描述语言,RDF 提供一个统一的标准以“主体—谓词—宾语”的SPO 三元组来表达实体及实体间的关系,具体形式为<实体,关系,实体>或者<实体,属性,属性值>。
3.知识抽取。通过人工或自动化技术从数据源中提取糖尿病相关知识并存入知识图谱中,分为实体抽取、关系抽取和属性抽取三个步骤。(1)实体抽取。采用BERTBiLSTM-CRF 模型抽取医学文本中的疾病名、症状名、药物名等[8]。(2)关系抽取。在医学文本中,“症状是”“表现为”等显性关系指示词很容易被发现并确认,而对于“小儿糖尿病各年龄均可发病,小至出生后3 个月,但以5 ~7岁和10 ~13 岁二组年龄多见”这一知识,隐含了关系指示词“年龄”,即<小儿糖尿病高危人群,年龄,5 ~7 岁和10 ~13 岁二组年龄>,此种隐性关系,往往需要通过人工标注才能被挖掘出来。有研究表明将基于规则匹配的方法和大规模的人工标注语料结合在一起用于医学语义关系抽取,可很好地发挥各自的优势,提高抽取性能[9]。本项目将收集的医学资料与DiaKG 数据集结合起来,以<实体,关系,实体>和<实体,属性,属性值>两种形式构建糖尿病知识三元组。文中抽取了7 个医学实体类型:疾病、所属科室、症状、检查项目、检查指标值、药品和食物;8 个医学实体-关系类型:疾病分型、疾病就诊科室、疾病症状、疾病并发症、检查项目、治疗药物、宜吃食物和忌吃食物;7 个医学实体-属性类型标签:疾病名称、疾病简介、病因、传染性、预防措施、治疗方法、治疗周期。(3)属性抽取。抽取药品适应证、剂型、用法用量、不良反应、禁忌等属性,进一步增加医学实体的完整性扩充。
4.知识融合。本研究采用基于规则和统计结合方法,通过设定规则检查输入的医学实体是否与抽取的实体匹配,如果不匹配就计算输入实体与抽取实体的匹配值,本研究设置判定实体对齐的阈值为0.75,如果匹配值小于0.75,则认为两个实体不相关;如果大于0.75 且存在多个值,则选择匹配值最大的实体作为对齐的最终结果。
实体对齐解决了多词同义的问题,而实体消歧则用来解决不同知识库之间实体的一词多义问题。考虑到某些同一医学实体的同一属性存在多个描述值,本研究参考了文献提出的基于语义一致性的集成实体链接算法,该算法在上下文信息不充分的情况下也能很好地利用知识库中实体间的结构化语义关系区分相似实体,提高医学实体链接结果的准确率[10]。
1.基于Neo4j 的糖尿病知识图谱检索与展示。利用Neo4j 图形数据库构建查询语句,实现语义实体及语义关系的检索和可视化展示。图2 展示了部分本文构建的糖尿病知识图谱,图谱从宏观层面展示了糖尿病营养知识的框架体系,也实现了单独检索某类节点及某类关系,如疾病与检查、疾病与药物、疾病与食物等节点及其间关系,根据不同患者类型和并发症的情况查询相应的饮食原则、药物治疗方法,促进患者提升自我管理能力。此外,知识图谱还可以根据需要对其进行扩大、缩小、移动操作,当聚焦到某一关键主题词上,会只显示与该主题词相互关联的概念,方便用户查阅。
图2 糖尿病知识图谱部分展示
2.基于知识图谱的手机端智能问答应用。本研究设计了手机端智能问答应用App,以构建的糖尿病知识图谱为数据支撑,用基于语义模板匹配的方法对用户的提问进行推理并返回结果。首先,计算机从用户问题中提取关键词并判断问题类型,具体过程为从图数据库中提取相关实体,并构建AC 自动机,将输入的问题作为主串、AC 自动机作为模式串进行匹配,将匹配到的实体标签和疑问词标签进行组合,来判断问题的类型。其次,利用命名实体识别、句法依赖分析等语义分析技术,将问题转化为CQL 语句,根据CQL 语句返回结果并输出答案。
智能问答应用无需编辑Cypher 查询语句对Neo4j 图数据库进行检索,而是让用户直接以自然语言与AI 小助手进行会话,例如当患者输入“糖尿病患者可以吃什么”,计算机会通过NLP 技术将问题转为语法{“question_type”:“饮食”:“food”:“what”},随后通过数据推理到知识库中匹配到对应的答案为“糖尿病患者的饮食原则就是严格控制对糖分、蛋白质和碳水化合物的摄入量,还要保持饮食的低油低盐”。目前智能问答应用可实现糖尿病的基础知识科普、患者血糖监测与评估、患者饮食和运动的行为评估,并可结合患者的行为评估与目标评估给出相应的血糖控制范围和健康指导等功能(图3)。
图3 基于知识图谱实现糖尿病智能问答
此外,为检验智能问答应用的实际效果,项目组随机邀请了20 名门诊患者参与系统的内部测试,让患者与AI 小助手进行会话,累计共获得258 条有效问答,去除重复问题后获得232 条有效问答,在专科医生的协助下统计回答正确的问题数为216 条,计算出该应用的问答正确率为93.1%,说明智能问答应用能快捷且较准确地回答患者关心的糖尿病问题,为未来规范化的患者健康教育打下坚实基础。
本研究将临床指南、专家经验、本院电子病历等资料转化为逻辑数据并利用Neo4j 图数据库构建了糖尿病知识图谱,并在此基础上实现了智能问答应用,为糖尿病患者提供规范的血糖管理指导。未来本项目计划将糖尿病知识问答库逐步延伸至各类智能载体,便于患者获取,以此来促进患者掌握糖尿病管理所需的知识和技能。