CN112487202B - 融合知识图谱与bert的中文医学命名实体识别方法、装置 - Google Patents

融合知识图谱与bert的中文医学命名实体识别方法、装置 Download PDF

Info

Publication number
CN112487202B
CN112487202B CN202011356803.2A CN202011356803A CN112487202B CN 112487202 B CN112487202 B CN 112487202B CN 202011356803 A CN202011356803 A CN 202011356803A CN 112487202 B CN112487202 B CN 112487202B
Authority
CN
China
Prior art keywords
entity
medical
bert
sentence
knowledge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011356803.2A
Other languages
English (en)
Other versions
CN112487202A (zh
Inventor
林开标
梁怀众
朱顺痣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen University of Technology
Original Assignee
Xiamen University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen University of Technology filed Critical Xiamen University of Technology
Priority to CN202011356803.2A priority Critical patent/CN112487202B/zh
Publication of CN112487202A publication Critical patent/CN112487202A/zh
Application granted granted Critical
Publication of CN112487202B publication Critical patent/CN112487202B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition

Abstract

本发明公开一种融合知识图谱与BERT的中文医学命名实体识别方法及装置,方法包括:构建知识图谱的数据模型;在医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json文件;根据所述数据模型从所述json文件抽取医学实体和实体关系,构建医疗知识图谱K;识别输入的句子中包含的医学实体,并根据医疗知识图谱将医学实体填充成三元组ε=(wi,rk,wj);将三元组注入到句子中,生成句子树;通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,以解决引入外部知识可能产生的知识噪音问题和BERT模型无法处理图结构句子树的问题。本发明可快速、有效的提取出文本中包含的医学实体,具有较高的准确性。

Description

融合知识图谱与BERT的中文医学命名实体识别方法、装置
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种融合知识图谱与BERT的中文医学命名实体识别方法、装置。
背景技术
随着医疗卫生信息化建设进程的不断加快,医疗行业也迎来了自己的大数据时代。海量的医疗数据普遍以非结构化的方式存在于文本当中,如何高效的从这些文本中抽取有用的信息成为了现代医学研究发展的重点。
NER作为自然语言处理的基础,能够自动化的从医学文本中抽取疾病、症状名称等特定实体,可帮助人们从繁重枯燥的人工标注与分析工作中解放出来。然而,面向中文医疗领域的NER还存在着许多的问题和难点。中文并不像英文那样有着空格这种天然的分隔符,在处理中文文本之前首先需要对其进行分词操作,而分词本身就可能与医学命名实体识别产生冲突,例如,“小儿感冒颗粒”可能会被分为“小儿感冒”与“颗粒”。同时,中文是一种意合型的语言,它更注重语句里的内在关系,导致同一中文命名实体在不同语境中的含义可能有所不同。再者,医学领域的实体名称具有很强的专业性,所有数据都需要专业人士进行标注,导致开放的数据集较少,这也给NER任务带来了新的挑战。因此,如何设计开发一种准确、高效的面向中文医疗领域的NER算法已成为焏待解决的问题。
现有的NER方法主要分为两类:
(1)基于词典和规则的方法
基于词典和规则的方法主要是通过字符串匹配算法来识别文本中出现的实体名称。这类方法需要领域专家和语言专家手工建立规则,比较消耗时间,系统的可移植性差,精度也普遍不高。
(2)基于深度学习的方法
基于深度学习的方法主要是通过获取序列中单词的向量表示来捕获单词特征信息,并在此基础上将其作为深度模型的输入,通过模型来提取序列的句法特征信息和语义特征信息,从而完成NER任务。该方法相比于基于词典和规则的方法在精度上有较大的提升,但它却没有很好的考虑到单词的上下文环境,忽略了单词在语义层面的信息,在识别精度上还有一定的上升空间。
发明内容
有鉴于此,本发明的目的在于提供一种融合知识图谱与BERT的中文医学命名实体识别方法、装置以解决上述问题。
本发明实施例提供了一种融合知识图谱与BERT的中文医学命名实体识别方法,其包括:
构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,医学实体类之间形成有预定的实体关系;
在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件;
根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K;
识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组ε=(wi,rk,wj),wi,wj均为实体名称,rk为实体间关系,ε∈K;
将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树;
通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
优选地,所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
优选地,所述医学实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
优选地,通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务,具体包括:
在嵌入层中将所述句子树平铺成包括多个字符的序列;
设置软位置索引使得所述序列的每个字符在其枝干上的位置顺序正确;
通过可视层中的可视矩阵对枝干中的字符进行区分,将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关,从而将原本树结构的句子树引入到BERT模型中;
经过掩码转换器对序列进行语义建模。
优选地,可视矩阵M的计算公式为:
Figure BDA0002802830790000041
其中wi·wj表示字符wi,wj属于同一个枝干,相反
Figure BDA0002802830790000042
则表示字符wi,wj不在同一枝干上,i,j皆为硬位置索引。
优选地,经过掩码转换器来对序列进行语义建模,具体包括:
将字符转化成对应的向量xi,然后分别与权重矩阵WQ,WK,WV相乘,生成对应的查询向量qi、键向量ki和值向量vi,其中qi与ki的乘积为序列中当前处理字符与系列中每个字符的相关性得分;
将所述相关性得分除以键向量维度ki的开方,使训练过程中的梯度更加稳定;
通过softmax函数对结果进行归一化处理,再使用归一化后的分数与值向量vi相乘,以突出语义相关字符,而弱化相关性低的字符;所有经过加权后值向量的和即为当前处理字符的最终向量表示;
以上过程的计算公式为:
Figure BDA0002802830790000051
其中Q=S·WQ,K=S·WK,V=S·WV,S为序列的向量矩阵;
掩码注意力模块会在计算字符间的相关性得分的时候添加一个由可视矩阵获取的分数Mij,对于一个输入向量hi,它在掩码注意力模块中的计算过程可由以下公式计算:
Qi+1,Ki+1,Vi+1=hiWQ,hiWK,hiWV
Figure BDA0002802830790000052
hi+1=Si+1Vi+1
若两个字在同一枝干,则Mij取值为0,按照自注意力机制中的打分方式进行计算;反之,若两个字不在同一枝干,则Mij取值为负无穷,那么Si+1的得分即为0,这也就意味着这两个字符对彼此的隐藏状态无影响。
本发明实施例还提供了一种融合知识图谱与BERT的中文医学命名实体识别装置,其包括:
构建模块,用于构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,所述医学实体类之间形成有预定的实体关系;
爬取模块,用于在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件;
知识图谱模块,用于根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K;
填充模块,用于识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组ε=(wi,rk,wj),wi,wj均为实体名称,rk为实体间关系,ε∈K;
注入模块,用于将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树;
加载模块,用于通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
优选地,所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
优选地,所述实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
优选地,所述加载模块具体用于:
在嵌入层中将所述句子树平铺成包括多个字符的序列;
设置软位置索引使得所述序列的每个字符在其枝干上的位置顺序正确;
通过可视层中的可视矩阵对枝干中的字符进行区分,将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关,从而将原本树结构的句子树引入到BERT模型中;
经过掩码转换器对句子进行语义建模。
综上所述,本发明提供的一种融合知识图谱与BERT的中文医疗命名实体识别方法,针对中文医学命名实体识别难度大、精度低的问题,将医疗知识图谱集成到预训练语言模型中,为模型配备相应的医学知识,从而完成面向医疗领域的NER任务。本实施例首先自顶向下的构造中文医疗知识图谱,然后将知识图谱内的三元组知识注入到句子中,生成一个包含领域知识的句子树。再利用软位置索引和可视矩阵来解决引入外部知识信息可能产生的知识噪音问题以及BERT模型无法处理图结构句子树的问题,从而将知识图谱中蕴含的丰富领域知识引入到BERT中。该方法可快速、有效的提取出文本中包含的医学实体,具有较高的准确性。
附图说明
图1为本发明第一实施例的融合知识图谱与BERT的中文医学命名实体识别方法的流程示意图。
图2为医疗网站中疾病介绍页面示意图。
图3为构建的医疗知识图谱中的部分三元组信息。
图4为将医疗知识图谱融入BERT模型的整体架构图。
图5为软定位与可视矩阵的示意图。
图6为自注意力机制的工作流程图。
图7为本发明第二实施例的融合知识图谱与BERT的中文医学命名实体识别装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
请参阅图1,本发明第一实施例提供了一种融合知识图谱与BERT的中文医学命名实体识别方法,其包括:
S101,构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,所述医学实体类之间形成有预定的实体关系。
在本实施例中,所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
所述医学实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
数据模型的模式层中的实体类型以及实体关系可参照表1。
表1
Figure BDA0002802830790000091
Figure BDA0002802830790000101
S102,在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件。
S103,根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K。
在本实施例中,知识库的数据来源为垂直类医疗网站中的疾病介绍页面,其一种可能的内容如图2所示。
在图2中,以疾病为中心,通过xpath解析网页,爬取了疾病介绍页面中疾病简介、症状、检查等详细页面的内容,数据存储在MongoDB数据库中,并将其导出为json格式以方便读取。然后根据模式层中已经设计好的实体类型和实体关系,从json文件中将其抽取出来,并导入到Neo4j图数据库中,Neo4j中部分三元组关系表示如图3所示。
S104,识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组。
在本实施例中,三元组可表示为ε=(wi,rk,wj),其中,wi,wj均为实体名称,rk为实体间关系,ε∈K。
S105,将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树。
在本实施例中,假设输入的句子为“细菌感染会有咽喉疼痛的症状”,则模型会根据序列中存在的实体“细菌感染”和“咽喉疼痛”,将“细菌感染-belongs_to-内科”与“细菌感染-no_eat-鸭蛋”等存在于医疗知识图谱K中的相应三元组信息ε注入原句中,生成如图4所示的句子树。
S106,通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
在本实施例中,BERT类模型是无法处理句子树这种非序列结构输入的,如果强行将句子树平铺成序列结构的话,又必然会导致信息丢失,因此需要使用嵌入层中的软位置索引和可视层中的可视矩阵来解决此问题。
如图5所示,句子树首先会在嵌入层中被平铺成序列“[CLS]细菌感染no_eat鸭蛋belongs_to内科会有咽喉疼痛has_symptom热咳的症状”,其中[CLS]为句子开头的标识,是为了方便模型识别,可以设置为任意的识别标识,本发明不做具体限定。
在本实施例中,平铺生成的序列难以理解并且其中字符位置关系错乱,因此需要设置软位置索引(即图5中不带圆圈的数字)使得每个字符在其枝干上的位置顺序正确,即“[CLS](0)细(1)菌(2)感(3)染(4)no_eat(5)鸭(6)蛋(7)belongs_to(5)内(6)科(7)会(5)有(6)咽(7)喉(8)疼(9)痛(10)has_symptom(11)热(12)咳(13)的(11)症(12)状(13)”。同时为了解决经过软位置编码后序列中不同的字可能会有相同的编号,以及可能会导致“鸭蛋”与“热咳”这种本来无关的词语间产生新的联系,还需要用到可视矩阵来进行区分。
具体地,可视矩阵M的计算公式可表示为:
Figure BDA0002802830790000121
其中wi·wj表示wi,wj属于同一个枝干,相反
Figure BDA0002802830790000122
则表示wi,wj不在同一枝干上,i,j皆为硬位置索引(即图5中带圆圈的数字)。如图5中可视矩阵,若两个字符在一个枝干上,则标记为红色,表示它们之间可见,Mij取值为0;若两个字不在一个枝干上,则标记为白色,表示它们之间不可见,Mij取值为负无穷。通过可视矩阵M可将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关。如此,通过软位置索引和可视矩阵使得包含三元组信息的句子树被合理的转换成BERT模型可以处理的序列结构。然后经过一个掩码转换器即可将这些序列结构进行语义建模。
在本实施例中,掩码转换器是由多个掩码自注意力(mask-self-attention)模块堆叠而成,每个自注意力模块的输出会作为下个模块的输入,掩码自注意力模块源自于自注意力机制(self-attention),只不过在它的基础上使得序列中不同枝干上的字互相看不到。自注意力机制主要是在对序列进行编码的时候把训练重点集中在与当前处理字符相关的序列部分,忽略无关部分。下面通过图6,以输入序列中的单词“细菌”为例,详细阐述自注意力机制的工作流程。
具体而言,自注意力机制首先将单词“细菌”分割成字符“细”、“菌”,并转化成向量x1、x2,然后分别与权重矩阵WQ,WK,WV相乘,生成对应的查询向量qi,键向量ki和值向量vi,其中qi与ki的乘积为序列中当前处理字符与序列中每个字符(包含当前处理字符)的相关性得分。之后所相关性得分会除以键向量ki维度的开方,这样可以使训练过程中的梯度更加稳定,然后通过softmax函数对结果进行归一化处理。再使用归一化后得到的分数与值向量vi相乘,直观上来看是为了突出语义相关字符,而弱化那些相关性低的字符(将值向量乘以一个很小的数字),但同时也是为了后面的求和做准备,所有经过加权后值向量的和即为当前处理字符的最终向量表示。以上过程的计算公式为:
Figure BDA0002802830790000141
其中Q=S·WQ,K=S·WK,V=S·WV,S为序列的向量矩阵。
掩码注意力模块会在计算字符间的相关性得分的时候添加一个由可视矩阵获取的分数Mij。对于一个输入向量hi,它在掩码注意力模块中的计算过程可由以下公式计算:
Qi+1,Ki+1,Vi+1=hiWQ,hiWK,hiWV (3)
Figure BDA0002802830790000142
hi+1=Si+1Vi+1 (5)
若两个字符在同一枝干,则Mij取值为0,按照自注意力机制中的打分方式进行计算;反之,若两个字不在同一枝干,则Mij取值为负无穷,那么Si+1的得分即为0,这也就意味着这两个字对彼此的隐藏状态无影响。
从以上可以看出,掩码注意力模块类似于BERT中的自注意力机制,不同点在于它在对序列中的字符进行注意力打分的时候会添加一个由可视矩阵获取的分数。
在本实施例中,通过以上步骤即可将医疗知识图谱K中蕴含的领域知识加载到BERT模型中,BERT模型再根据任务需要在数据集上进行训练和调整即可完成NER任务。
为便于对本发明的理解,下面将以两部分实验来证明本发明所提出方法的性能。
在第一部分实验中,将本实施例与融入非医疗领域知识图谱(HowNet)和通用知识图谱(CN-DBpedia)以及未融入知识图谱的BERT模型进行实验对比,语料来源为CCKS2017:Task2,通过BIO三位标注,包含治疗方式、身体部位、疾病症状、医学检查和疾病实体共五类实体。其对比结果如表2所示
表2
Figure BDA0002802830790000151
由表2中BERT在融入不同知识图谱后进行NER的结果可看出,将非医疗领域的知识图谱(HowNet)集成到BERT中,对模型进行面向医疗领域的NER任务时几乎没有影响。因为在这种面向特定领域的任务中,这些非领域性的知识对于模型来说是多余的,它们的出现很难影响到模型的性能。同时,对于BERT级别的模型而言,它已经从海量的开放领域训练语料中学习到了一些高频、潜在的知识,比如“中国-首都-北京”,因此将通用知识图谱(CN-DBpedia)中涵盖的此类信息加载到BERT中也是难以提升模型性能的。而将医疗知识图谱(MedicalKG)融入BERT后,模型的precision、recall和f1都有提升。BERT本身就拥有着庞大的模型体量并且通过海量的数据训练而来,它考虑了单词的上下文信息以及单词语义层面的丰富信息,很大程度上发挥出了深度学习的表征能力。然而BERT存在的问题在于,它的这些训练数据都源于开放领域,这也就意味着BERT更像一个博览群书的普通人,虽然能读得懂通用文本,但面对医疗、金融等特定领域时,缺乏一定的背景知识,而通过专业领域的语料进行模型的预训练又需要消耗大量的时间和计算资源。另一方面,知识图谱中蕴含了丰富的知识信息,将知识图谱集成到BERT中不但可为模型配备现成的领域知识,而且还省去了额外的预训练过程。因此,融入领域知识图谱的BERT毋庸置疑会在特定任务中表现的更好。
值得注意的是,融入知识图谱的BERT模型是在训练集上进行fine-tuning,如果构建的医疗知识图谱中没有包含训练集中出现的医学实体,那么就无法将相应的三元组信息注入到模型中去。同时,本实施例所构建的知识图谱与训练语料中所对应的实体类型也只有疾病、检查和疾病症状三种,因此在一定程度上会影响模型在NER任务上的表现。但尽管如此,模型的性能还是在融入医疗知识图谱后有了较好的提升。因此,如果能够构建一个大规模的医疗知识图谱,囊括更多的医学实体信息,那么模型的性能将会有更大的提升。
第二部分实验,将本实施例与HMM、Bi-LSTM和Bi-LSTM-CRF进行比较测试,同时为了验证模型的泛化性能,本实施例选用CCKS2018电子病例NER评测任务中提供的600份标注好的电子病历文本作为语料进行实验,其中包含的实体类型与CCKS2017一致。本实施例将语料顺序打乱,并以6:2:2的比例分成训练集、验证集和测试集进行验证。
由表3可看出,在上述几种方法中,融入医疗知识图谱的BERT模型取得了最好的效果,相比于NER任务中经典的Bi-LSTM-CRF算法,其精度也提升了近4%。同时相比于表1,虽然使用了不同的数据集,但是模型的性能依然稳定。以上的实验结果都表明了本发明算法的优越性,具有一定的实用价值。
表3
Figure BDA0002802830790000171
综上所述,本发明提供的一种融合知识图谱与BERT的中文医疗命名实体识别方法,针对中文医学命名实体识别难度大、精度低的问题,将医疗知识图谱集成到预训练语言模型中,为模型配备相应的医学知识,从而完成面向医疗领域的NER任务。本实施例首先自顶向下的构造中文医疗知识图谱,然后将知识图谱内的三元组知识注入到句子中,生成一个包含领域知识的句子树。再利用软位置索引和可视矩阵来解决引入外部知识信息可能产生的知识噪音问题以及BERT模型无法处理图结构句子树的问题,从而将知识图谱中蕴含的丰富领域知识引入到BERT中。该方法可快速、有效的提取出文本中包含的医学实体,具有较高的准确性。
请参阅图7,本发明第二实施例还提供了一种融合知识图谱与BERT的中文医学命名实体识别装置,其包括:
构建模块210,用于构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,所述医学实体类之间形成有预定的实体关系;
爬取模块220,用于在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件;
知识图谱模块230,用于根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K;
填充模块240,用于识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组ε=(wi,rk,wj),wi,wj均为实体名称,rk为实体间关系,ε∈K;
注入模块250,用于将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树;
加载模块260,用于通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
优选地,所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
优选地,所述实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
优选地,所述加载模块260具体用于:
在嵌入层中将所述句子树平铺成包括多个字符的序列;
设置软位置索引使得所述序列的每个字符在其枝干上的位置顺序正确;
通过可视层中的可视矩阵对枝干中的字符进行区分,将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关,从而将原本树结构的句子树引入到BERT模型中;
经过掩码转换器对序列进行语义建模。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包括”不排除存在未列在权利要求中的元件或步骤。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。
以上实施方式仅适于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,包括:
构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,医学实体类之间形成有预定的实体关系;
在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件;
根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K;
识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组ε=(wi,rk,wj),wi,wj均为实体名称,rk为实体间关系,ε∈K;
将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树;
通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
2.根据权利要求1所述的融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,
所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
3.根据权利要求2所述的融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,
所述医学实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
4.根据权利要求1所述的融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务,具体包括:
在嵌入层中将所述句子树平铺成包括多个字符的序列;
设置软位置索引使得所述序列的每个字符在其枝干上的位置顺序正确;
通过可视层中的可视矩阵对枝干中的字符进行区分,将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关,从而将原本树结构的句子树引入到BERT模型中;
经过掩码转换器对序列进行语义建模。
5.根据权利要求4所述的融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,可视矩阵M的计算公式为:
Figure FDA0003562091240000031
其中wi·wj表示字符wi,wj属于同一个枝干,相反
Figure FDA0003562091240000032
则表示字符wi,wj不在同一枝干上,i,j皆为硬位置索引。
6.根据权利要求4所述的融合知识图谱与BERT的中文医学命名实体识别方法,其特征在于,经过掩码转换器来对序列进行语义建模,具体包括:
将字符转化成对应的向量xi,然后分别与权重矩阵WQ,WK,WV相乘,生成对应的查询向量qi、键向量ki和值向量vi,其中qi与ki的乘积为序列中当前处理字符与系列中每个字符的相关性得分;
将所述相关性得分除以键向量维度ki的开方,使训练过程中的梯度更加稳定;
通过softmax函数对结果进行归一化处理,再使用归一化后的分数与值向量vi相乘,以突出语义相关字符,而弱化相关性低的字符;所有经过加权后值向量的和即为当前处理字符的最终向量表示;
以上过程的计算公式为:
Figure FDA0003562091240000041
其中Q=S·WQ,K=S·WK,V=S·WV,S为序列的向量矩阵;
掩码注意力模块会在计算字符间的相关性得分的时候添加一个由可视矩阵获取的分数Mij,对于一个输入向量hi,它在掩码注意力模块中的计算过程可由以下公式计算:
Qi+1,Ki+1,Vi+1=hiWQ,hiWK,hiWV
Figure FDA0003562091240000042
hi+1=Si+1Vi+1
若两个字在同一枝干,则Mij取值为0,按照自注意力机制中的打分方式进行计算;反之,若两个字不在同一枝干,则Mij取值为负无穷,那么Si+1的得分即为0,这也就意味着这两个字符对彼此的隐藏状态无影响。
7.一种融合知识图谱与BERT的中文医学命名实体识别装置,其特征在于,包括:
构建模块,用于构建知识图谱的数据模型;其中,所述数据模型包括多个中文医学实体类,所述医学实体类之间形成有预定的实体关系;
爬取模块,用于在设定的医疗网站上爬取疾病简介页面中的相应内容,将所述内容存储在数据库中,并将所述数据库中的数据导出为json格式的json文件;
知识图谱模块,用于根据所述数据模型从所述json文件抽取相应的医学实体和实体关系,从而构建医疗知识图谱K;
填充模块,用于识别输入的句子中包含的医学实体,并根据所述医疗知识图谱将每个医学实体填充成三元组ε=(wi,rk,wj),wi,wj均为实体名称,rk为实体间关系,ε∈K;
注入模块,用于将相应的三元组注入到所述句子中,生成一个包含领域知识的句子树;
加载模块,用于通过嵌入层中的软位置索引和可视层中的可视矩阵对所述句子树进行处理,从而将所述句子树中蕴含的领域知识加载到BERT模型中,进而所述BERT模型再根据任务需要在数据集上进行训练完成NER任务。
8.根据权利要求7所述的融合知识图谱与BERT的中文医学命名实体识别装置,其特征在于,
所述医学实体类包括:疾病名称、症状、饮食保健中的食品名称、常用药品、检查项目、就诊科室。
9.根据权利要求8所述的融合知识图谱与BERT的中文医学命名实体识别装置,其特征在于,
所述医学实体类之间的实体关系包括:
(1)X has_symptom Y:患有疾病实体X会有症状实体Y;
(2)X do_eat Y:患有疾病实体X适宜吃食物实体Y;
(3)X recommend_drug Y:患有疾病实体X推荐药品实体Y;
(4)X need_check Y:患有疾病实体X需要做检查项目实体Y;
(5)X acompany_with Y:患有疾病实体X伴随着并发症实体Y;
(6)X belongs_to Y:实体X属于实体Y;
(7)X no_eat Y:患疾病实体X不宜吃食物实体Y。
10.根据权利要求7所述的融合知识图谱与BERT的中文医学命名实体识别装置,其特征在于,所述加载模块具体用于:
在嵌入层中将所述句子树平铺成包括多个字符的序列;
设置软位置索引使得所述序列的每个字符在其枝干上的位置顺序正确;
通过可视层中的可视矩阵对枝干中的字符进行区分,将句子树中的结构化信息保留,并且使得每个字的嵌入只与其同一个枝干中的上下文有关,从而将原本树结构的句子树引入到BERT模型中;
经过掩码转换器对序列进行语义建模。
CN202011356803.2A 2020-11-27 2020-11-27 融合知识图谱与bert的中文医学命名实体识别方法、装置 Active CN112487202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011356803.2A CN112487202B (zh) 2020-11-27 2020-11-27 融合知识图谱与bert的中文医学命名实体识别方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011356803.2A CN112487202B (zh) 2020-11-27 2020-11-27 融合知识图谱与bert的中文医学命名实体识别方法、装置

Publications (2)

Publication Number Publication Date
CN112487202A CN112487202A (zh) 2021-03-12
CN112487202B true CN112487202B (zh) 2022-05-06

Family

ID=74935960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011356803.2A Active CN112487202B (zh) 2020-11-27 2020-11-27 融合知识图谱与bert的中文医学命名实体识别方法、装置

Country Status (1)

Country Link
CN (1) CN112487202B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113077873B (zh) * 2021-05-06 2022-11-22 井颐医疗信息技术(杭州)有限公司 一种中医临床决策支持系统及方法
CN113707303A (zh) * 2021-08-30 2021-11-26 康键信息技术(深圳)有限公司 基于知识图谱的医疗问题解答方法、装置、设备及介质
CN114330312A (zh) * 2021-11-03 2022-04-12 腾讯科技(深圳)有限公司 标题文本处理方法、装置、存储介质和程序
CN114300128B (zh) * 2021-12-31 2022-11-22 北京欧应信息技术有限公司 用于辅助疾病智能诊断的医学概念链接系统及存储介质
CN116010583B (zh) * 2023-03-17 2023-07-18 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) 一种级联耦合的知识增强对话生成方法
CN116189843B (zh) * 2023-04-23 2023-07-07 索思(苏州)医疗科技有限公司 治疗方案推荐方法、装置、系统及存储介质
CN117059261A (zh) * 2023-08-21 2023-11-14 安徽农业大学 一种基于多模态知识图谱的畜禽疾病诊断方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598005A (zh) * 2019-09-06 2019-12-20 中科院合肥技术创新工程院 一种面向公共安全事件的多源异构数据知识图谱构建方法
CN111552821A (zh) * 2020-05-14 2020-08-18 北京华宇元典信息服务有限公司 法律意图搜索方法、法律意图搜索装置和电子设备
CN111708899A (zh) * 2020-06-13 2020-09-25 广州华建工智慧科技有限公司 一种基于自然语言和知识图谱工程信息智能搜索方法
WO2020193966A1 (en) * 2019-03-26 2020-10-01 Benevolentai Technology Limited Name entity recognition with deep learning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020193966A1 (en) * 2019-03-26 2020-10-01 Benevolentai Technology Limited Name entity recognition with deep learning
CN110598005A (zh) * 2019-09-06 2019-12-20 中科院合肥技术创新工程院 一种面向公共安全事件的多源异构数据知识图谱构建方法
CN111552821A (zh) * 2020-05-14 2020-08-18 北京华宇元典信息服务有限公司 法律意图搜索方法、法律意图搜索装置和电子设备
CN111708899A (zh) * 2020-06-13 2020-09-25 广州华建工智慧科技有限公司 一种基于自然语言和知识图谱工程信息智能搜索方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DeNERT-KG: Named Entity and Relation Extraction Model Using DQN, Knowledge Graph, and BERT;SungMin Yang等;《applied science》;20200915;第10卷(第18期);第1-15页 *

Also Published As

Publication number Publication date
CN112487202A (zh) 2021-03-12

Similar Documents

Publication Publication Date Title
CN112487202B (zh) 融合知识图谱与bert的中文医学命名实体识别方法、装置
Alwaneen et al. Arabic question answering system: a survey
Cohen et al. Empirical distributional semantics: methods and biomedical applications
Zubrinic et al. The automatic creation of concept maps from documents written using morphologically rich languages
CN102663129A (zh) 医疗领域深度问答方法及医学检索系统
CN113505243A (zh) 基于医疗知识图谱的智能问答方法和装置
Jagannatha et al. Mining and ranking biomedical synonym candidates from Wikipedia
CN115080694A (zh) 一种基于知识图谱的电力行业信息分析方法及设备
Adduru et al. Towards Dataset Creation And Establishing Baselines for Sentence-level Neural Clinical Paraphrase Generation and Simplification.
CN113590783A (zh) 基于nlp自然语言处理的中医养生智能问答系统
Baazaoui Zghal et al. A system for information retrieval in a medical digital library based on modular ontologies and query reformulation
Yang et al. PPIExtractor: a protein interaction extraction and visualization system for biomedical literature
Muralidaran et al. A systematic review of unsupervised approaches to grammar induction
Song et al. Deep convolutional neural network based medical concept normalization
CN113963748A (zh) 一种蛋白质知识图谱向量化方法
Herwando et al. Medical entity recognition using conditional random field (CRF)
Zubke et al. Using openEHR archetypes for automated extraction of numerical information from clinical narratives
Kholghi Active learning for concept extraction from clinical free text
De Maio et al. Text Mining Basics in Bioinformatics.
Zhuang Architecture of Knowledge Extraction System based on NLP
Han et al. Construction method of knowledge graph under machine learning
KR102448275B1 (ko) 생물 종 동정을 활용한 생물학적 정보 추론 장치 및 방법
Polpinij Ontology-based knowledge discovery from unstructured and semi-structured text
Thiyagu et al. Named entity recognition in biomedical domain: A survey
Martinez-Rodriguez et al. NLP and the Representation of Data on the Semantic Web

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant