CN112131393B - 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 - Google Patents
一种基于bert和相似度算法的医疗知识图谱问答***构建方法 Download PDFInfo
- Publication number
- CN112131393B CN112131393B CN202010799407.0A CN202010799407A CN112131393B CN 112131393 B CN112131393 B CN 112131393B CN 202010799407 A CN202010799407 A CN 202010799407A CN 112131393 B CN112131393 B CN 112131393B
- Authority
- CN
- China
- Prior art keywords
- medical
- data
- rels
- model
- defining
- 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
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 50
- 238000010276 construction Methods 0.000 title claims abstract description 18
- 238000000605 extraction Methods 0.000 claims abstract description 31
- 238000012800 visualization Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 9
- 238000009877 rendering Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 36
- 201000010099 disease Diseases 0.000 claims description 35
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 31
- 239000003814 drug Substances 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 20
- 208000024891 symptom Diseases 0.000 claims description 18
- 229940079593 drug Drugs 0.000 claims description 14
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 12
- 238000002474 experimental method Methods 0.000 claims description 11
- 238000002372 labelling Methods 0.000 claims description 10
- 238000012360 testing method Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000009193 crawling Effects 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 230000036541 health Effects 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Animal Behavior & Ethology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
发明公开了一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,包括:利用Python爬虫爬取网络公开医疗百科信息,存储至图数据库Neo4j中,构造医疗知识图谱;对公开的医疗问答数据集进行数据处理,利用CNN‑BiLSTM‑CRF算法实现命名实体识别;通过BERT‑TextCNN算法实现关系抽取;匹配预设定的问题查询语句;利用TF‑IDF算法对医疗问答数据集建立相似度模型。用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据和相似病历回答,将查询数据返还WEB应用程序。本发明通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
Description
技术领域
本发明属于知识图谱和神经网络技术领域,特别涉及一种基于BERT和相似度算法的医疗知识图谱问答***构建方法。
背景技术
近年来人工智能的快速发展引发人们对智慧医疗的关注。相对于传统医疗方式,智慧医疗***通过对医疗信息进行分析,为医生诊断提供辅助决策的功能。智慧医疗可以缓解医疗资源不均衡的问题,完善当前的医疗体系。
医疗知识图谱是由医疗疾病信息构成的以图的形式存储的知识结构,知识图谱有表达能力强和较为灵活的优点,可以进行知识的推理。医疗知识图谱的逐渐成熟促进智慧医疗的发展。
冯万利,朱全银等人已有的研究基础包括:Wanli Feng.Research of themestatement extraction for chinese literature based on lexicalchain.International Journal of Multimedia and Ubiquitous Engineering,Vol.11,No.6(2016),pp.379-388;Wanli Feng,Ying Li,Shangbing Gao,Yunyang Yan,JianxunXue.A novel flame edge detection algorithm via a novel active contourmodel.International Journal of Hybrid Information Technology,Vol.9,No.9(2016),pp.275-282;刘金岭,冯万利.基于属性依赖关系的模式匹配方法[J].微电子学与计算机,2011,28(12):167-170;刘金岭,冯万利,张亚红.初始化簇类中心和重构标度函数的文本聚类[J].计算机应用研究,2011,28(11):4115-4117;刘金岭,冯万利,张亚红.基于重新标度的中文短信文本聚类方法[J].计算机工程与应用,2012,48(21):146-150.;朱全银,潘禄,刘文儒,等.Web科技新闻分类抽取算法[J].淮阴工学院学报,2015,24(5):18-24;李翔,朱全银.联合聚类和评分矩阵共享的协同过滤推荐[J].计算机科学与探索,2014,8(6):751-759;Quanyin Zhu,Sunqun Cao.A Novel Classifier-independent FeatureSelection Algorithm for Imbalanced Datasets.2009,p:77-82;Quanyin Zhu,YunyangYan,Jin Ding,Jin Qian.The Case Study for Price Extracting of Mobile PhoneSell Online.2011,p:282-285;Quanyin Zhu,Suqun Cao,Pei Zhou,Yunyang Yan,HongZhou.Integrated Price Forecast based on Dichotomy Backfilling and DisturbanceFactor Algorithm.International Review on Computers and Software,2011,Vol.6(6):1089-1093;朱全银,冯万利等人申请、公开与授权的相关专利:冯万利,邵鹤帅,庄军.一种智能冷藏车状态监测无线网络终端装置:CN203616634U[P].2014;朱全银,胡蓉静,何苏群,周培等.一种基于线性插补与自适应滑动窗口的商品价格预测方法.中国专利:ZL201110423015.5,2015.07.01;朱全银,曹苏群,严云洋,胡蓉静等,一种基于二分数据修补与扰乱因子的商品价格预测方法.中国专利:ZL 201110422274.6,2013.01.02;李翔,朱全银,胡荣林,周泓.一种基于谱聚类的冷链物流配载智能推荐方法.中国专利公开号:CN105654267A,2016.06.08。
知识图谱:
知识图谱是专家***、语言学、语义网、数据库等多领域融合的产物,知识图谱描述各种实体及其之间的关系。其中的核心为实体和关系并过关系将所有实体链接,构建语义网络图。对于国内高校教师数据。从中抽取出教师实体和研究领域实体,构建实体间关系,搭建知识图谱。
BERT:
BERT是一个自监督模型,它可以自己学习一个好的特征表示,作为最近兴起的一般技术,它所采用的是Transformer网络。BERT使用的是双向Transformer,经过从左到右和从右到左两个LSTM来串联生成下游任务特征。分割的每个字都有三个Embedding拼接表示,分别是Token Embeddings、Segment Embeddings和Position Embeddings,其中,TokenEmbeddings用于文本分类任务,是将每个词以及特殊符号转换成词嵌入;SegmentEmbeddings将句子分隔开来并做标记;Position Embeddings是对每个字的位置信息进行编码,感知每个词之间的位置关系。它解决了NLP长期的依赖性问题,解决了Word2vec所不能解决的问题,它可以比较所有层两侧的语境。它既能做分类任务,也能做问答任务。
深度学习:
深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
传统的知识图谱构建方法中涉及医疗知识以及关系抽取,如:刘云等人提出一种基于药品说明书的合理用药知识图谱构建方法,中国专利公开号:CN110377755A,抽取药品说明书,通过专家标注法对其中的实体和关系进行归纳,形成实体和关系标引规则库,通过半监督学习方法,基于专家标注的数据以及机器学习规则训练机器学习模型,使用已训练好的机器学习模型,对未标注的药品说明书进行预测标注,形成药品关系的知识图谱;潘磊等人提出一种基于医疗知识图谱的智能问答***,中国专利公开号:CN111046272A,包括医药知识图谱、医药知识卡片、自然语言处理单元、盲区处理单元、药物推荐界面、输入界面、智能问答处理器,医药知识图谱和所述医药知识卡片通过常用的医疗数据提取获得,输入界面将用户输入的信息发送给所述自然语言处理单元提取关键信息,智能问答处理器通过关键信息在所述医药知识图谱和所述医药知识卡片中进行对比,并结合盲区处理单元数据确定推荐的药物,所述药物推荐界面用于显示所推荐的药物;赵铁军等人提出一种面向医疗领域的基于多源异构数据问答***及该***的实现方法,中国专利公开号:CN108108449A,属于医疗健康领域,解决现有医疗健康问答***中数据来源单一、算法单一、考虑的语义信息少的问题,提出一种面向医疗领域的基于多源异构数据问答***,包括客户端和服务器,客户端向服务器发起获取答案的请求,服务器从结构化数据库、医疗健康问答对数据和开放知识图谱中获取答案,并将答案进行处理和合成后返回至客户端。
发明内容
发明目的:针对现有技术中存在的问题,本发明提出一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,能够完成问诊病例的推荐以及相关疾病知识库的构建,为用户提供辅助医疗诊断和疾病百科查询服务。
技术方案:为解决上述技术问题,本发明提供一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,具体步骤如下:
(1)通过爬虫爬取医疗百科信息,导入Neo4j构建知识图谱G;对医疗问答公开数据集D进行序列标注和分类打标签,构造命名实体识别实验数据集NER_DATA和关系抽取实验数据集CLASSIFY_DATA;
(2)搭建CNN-BiLSTM-CRF神经网络算法,输入NER_DATA进行命名实体识别实验,训练神经网络,保存模型NER_MODEL;
(3)搭建BERT-TextCNN神经网络算法,输入CLASSIFY_DATA进行关系抽取实验,训练神经网络,保存模型CLASSIFY_MODEL;
(4)根据关系抽取分类设定模板匹配的问题查询语句,对输入问句SEQ进行命名实体识别和关系抽取,匹配问题模板,查询Neo4j得到结果ANS;
(5)通过对输入问句SEQ与公开数据集D进行相似度分析,利用余弦相似度计算出最相似的病例,得到结果REC;
(6)开放Neo4j图数据库接口API和相似病历推荐***接口API,对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS和相似病历回答REC,将查询数据返还WEB应用程序;通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
进一步的,所述步骤(1)中构造命名实体识别实验数据集NER_DATA和关系抽取实验数据集CLASSIFY_DATA的具体步骤如下:
(1.1)进行数据爬虫,选择爬虫网站;
(1.2)确定爬取页面;
(1.3)利用urllib模拟访问医疗百科网站,获取html信息;
(1.4)利用etree解析html实体,其中,包括药品信息drugs_info、食物foods_info、检查checks_info、科室departments_info、生产商producers_info、疾病diseases_info和症状symptoms_info等分类信息;构造实体信息与属性项basic_info={drugs_info,foods_info,checks_info,departments_info,producers_info,diseases_info,symptoms_info,disease_infos};
(1.5)定义疾病与忌吃食物关系为rels_noteat,疾病与宜吃食物关系为rels_doeat,疾病与推荐药品关系为rels_commonddrug,疾病与检查关系为rels_check,厂商与药物关系为rels_drug_producer,疾病与症状关系为rels_symptom,疾病与相关疾病并发关系为rels_acompany,疾病与科室之间的关系为rels_category。构造实体关系项rels={rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category};
(1.6)去除basic_info和rels数据缺失项;
(1.7)利用basic_info和rels构造Neo4j图数据库G;
(1.8)利用BIOES标注法对医疗问答公开数据集D进行序列标注,构造命名实体识别实验数据集NER_DATA;
(1.9)利用rels分类对医疗问答公开数据集D进行打标签,构造关系抽取实验数据集CLASSIFY_DATA。
进一步的,所述步骤(2)中搭建CNN-BiLSTM-CRF神经网络算法的具体步骤如下:
(2.1)将采用BIOES标注的NER_DATA划分为训练数据集ner_train_txt,测试数据集ner_test_txt,比例为8:2;
(2.2)采用词向量模型中的连续词袋模型cbow进行词向量的训练,定义emb为数据训练后构建的词向量;
(2.3)定义con1为一维卷积对词向量emb进行特征提取,采取relu激活函数,卷积核长度为1,padding保留边界处的卷积结果;定义con2为一维卷积卷积核长度为2对词向量emb进行特征提取;定义con3为一维卷积卷积核长度为3对词向量emb进行特征提取;定义con4为一维卷积卷积核长度为4对词向量emb进行特征提取;
(2.4)定义fc1为联合con1,con2,con3,con4多个卷积特征提取框架提取的特征进行融合;
(2.5)定义fc2为fc1进行全连接的结果;
(2.6)对fc进行归一化层操作,赋值为fc3;
(2.7)利用BiLSTM对emb提取特征,即输入emb至BiLSTM,赋值为lstm;
(2.8)将fc3与lstm特征融合,定义结果为fc4;
(2.9)对fc4进行全连接,采用relu激活函数,定义结果为fc5;
(2.10)对fc5归一化层操作,定义结果为fc6;
(2.11)定义crf为CRF模型实体,输入fc进行预测得到outputs;
(2.12)定义词向量ID序列为x_in,将outputs与x_in输入keras Model中训练,得到模型NER_MODEL。
进一步的,所述步骤(3)中搭建BERT-TextCNN神经网络算法的具体步骤如下:
(3.1)将CLASSIFY_DATA划分为训练数据集classify_train_txt,测试数据集classify_test_txt,比例为8:2;
(3.2)初始化网络参数实体类TextConfig为config,利用BERT中tokenization.FullTokenizer类用来处理vocab file单字的切分,标点符号,unknown词,Unicode转换等操作;
(3.3)定义model为TextCNN的实体,利用config进行参数的初始化;
(3.4)加载数据集classify_train_data和classify_test_data,将样本数据转化成BERT模型输入的token形式,bert模型需要的四个变量;input_ids:字符级text_a(分类文本)在词库对应的token;input_mask:bert模型mask训练的标记,初始化为1;segment_ids:句子标记,初始化为0;label_ids:文本标签对应的token,非one_hot的形式;
(3.5)加载BERT模型,定义k=1,num_epochs=1000,k用于循环操作;
(3.6)如果k<=num_epochs,则转到步骤(3.7),否则转到步骤(3.18);
(3.7)定义batch_train为四个tokens形式组成的变量;
(3.8)定义batch_ids,batch_mask,batch_segment,batch_label为batch_train的元素,初始化j=1用于遍历batch_train;
(3.9)如果j<batch_train.length,跳转至步骤(3.10),否则转到步骤(3.17);
(3.10)batch_ids,batch_mask,batch_segment,batch_label构造参数向量输入model进行训练;
(3.11)定义训练集准确度为train_accuracy,测试集准确度为test_accuracy,merged_acc=(train_accuracy+test_accuracy)/2,best_acc为相同计算方式下历史最高分数;
(3.12)如果merged_acc>best_acc,则转至步骤(3.13),否则转至(3.14);
(3.13)best_acc=merged_acc,保存模型参数;
(3.14)定义global_step为当前epoch循环的次数,last_improved为上次提升best_acc的次数;
(3.15)如果global_step-last_improved>1500,转至步骤(3.18),否则转至(3.16);
(3.16)j=j+1,跳转至步骤(3.9);
(3.17)k=k+1,跳转至步骤(3.6);
(3.18)保存模型为CLASSIFY_MODEL。
进一步的,所述步骤(4)中得到结果ANS的具体步骤如下:
(4.1)定义用户输入语句为SEQ;
(4.2)利用NER_MODEL对SEQ进行命名实体识别,得到实体item;
(4.3)利用CLASSIFY_MODEL对SEQ进行关系抽取,得到用户输入语句类别question_type;
(4.4)定义与实体关系项rels对应的Cypher查询语句cypher,包含{rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category}类别;
(4.5)根据question_type,将对应item赋值至cypher语句中,查询Neo4j得到结果ANS。
进一步的,所述步骤(5)中得到结果REC的具体步骤如下:
(5.1)D为医疗问答公开数据集,D中包含title和answer,title,answer分别表示病人的问题和医生的答复;
(5.2)通过对title项进行分词,分词后得到text={w1,w2,…,wn},wn是病例数据中病人问题的核心,包含疾病的名字、症状、药品名称等专有名词,定义texts是text1到textN的集合,其中,变量A∈[1,n],n是文本的最大数量;
(5.3)定义frequency为map,键值对形式为<词语,出现次数>,用于遍历texts统计词语频率;
(5.4)定义min_frequency为最小频率,默认值为1;定义k=1用于遍历texts;
(5.5)如果k<texts.length,则转到步骤(5.6),否则转到步骤(5.12);
(5.6)定义j=1用于遍历texts[k];
(5.7)如果j<texts[k].length,则转到步骤(5.8),否则转到步骤(5.11);
(5.8)如果词语texts[k][j]的频率即frequency<wA>小于或等于min_frequency,则转到步骤(5.9),否则转到步骤(5.10);
(5.9)texts[k]删除元素text[k][j];
(5.10)j=j+1,转到步骤(5.7);
(5.11)k=k+1,转至步骤(5.5);
(5.12)对texts构造词典得到字典Dict;
(5.13)通过对元素text构造词袋模型,得到词语向量集合
V={(id1,value1),(id2,value2),…(idn,valuen)};idA是词语wA在整个字典Dict中词语的id,valueA是wA在当前文档出现的次数。向量集corpus_simple是V1至Vn的集合,其中,变量A∈[1,n];
(5.14)定义model-tf为TF-IDF模型,将corpus_simple输入初始化model-tf;
(5.15)通过模型mdoel-tf训练corpus_simple得到corpus,corpus为对应的向量集,对corpus建立相似度矩阵得到index;
(5.16)定义用户输入问句为Q,对Q分词得textQ,textQ={w1,w2,...wn};
(5.17)对textQ调用doc2bow方法,输入训练好的model-tf计算TF-IDF值;
(5.18)利用余弦相似度计算出最相似的病例,得到结果REC。
进一步的,所述步骤(6)中通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***的具体步骤如下:
(6.1)开放Neo4j图数据库接口API和相似病历推荐***接口API;
(6.2)创建线程池Thread Pool;
(6.3)判断线程池Thread Pool所有任务是否执行完毕;
(6.4)用户输入查询语句,包含医疗相关数据;
(6.5)子线程Child Thread获取任务处理;
(6.6)***构造包含查询信息的Cypher查询语句,获取医疗实体相关属性数据,通过相似病历推荐***提供的接口对查询所得的医疗实体数据进行实体间关系维度扩展;
(6.7)对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS或相似病历回答REC,将查询数据返还WEB应用程序;
(6.8)结束该子进程Child Thread;
(6.9)关闭线程池Thread Pool;
(6.10)WEB应用程序通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
本发明采用上述技术方案,具有以下有益效果:
本发明利用爬虫爬取到医疗领域的非结构化文本数据,提出了一种利用CNN-BiLSTM-CRF、BERT-TextCNN和TF-IDF相似度算法技术构建医疗知识图谱问答***的方法。相比于传统的医疗问答推荐算法,本方法解决了现有医疗问答***算法单一和传统语义检索技术语义识别率低的问题,优化了知识存储的方式和知识查询的效果,实现医疗实体关系可视化以及医疗自动问答***的构建。
附图说明
图1为本发明的总体流程图;
图2为具体实施例中医疗百科上爬取的数据以及医疗问答公开数据集进行预处理的流程图;
图3为具体实施例中CNN-BiLSTM-CRF神经网络算法构建的流程图;
图4为具体实施例中BERT-TextCNN神经网络算法构建的流程图;
图5为具体实施例中输入问句SEQ进行命名实体识别、关系抽取和匹配问题模板获取答案的流程图;
图6为具体实施例中输入问句SEQ进行相似度分析,利用余弦相似度计算出最相似的病例的流程图;
图7为具体实施例中将知识图谱应用于医疗问答***的流程图。
具体实施方式
下面结合工程国家标准的具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
如图1-7所示,本发明所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,包括如下步骤:
步骤1:通过爬虫爬取医疗百科信息,导入Neo4j构建知识图谱G。对医疗问答公开数据集D进行序列标注和分类打标签,构造命名实体识别实验数据集NER_DATA和关系抽取实验数据集CLASSIFY_DATA。具体步骤如下:
步骤1.1:进行数据爬虫,选择爬虫网站;
步骤1.2:确定爬取页面;
步骤1.3:利用urllib模拟访问医疗百科网站,获取html信息;
步骤1.4:利用etree解析html实体,其中,包括药品信息drugs_info、食物foods_info、检查checks_info、科室departments_info、生产商producers_info、疾病diseases_info和症状symptoms_info等分类信息。构造实体信息与属性项basic_info={drugs_info,foods_info,checks_info,departments_info,producers_info,diseases_info,symptoms_info,disease_infos};
步骤1.5:定义疾病与忌吃食物关系为rels_noteat,疾病与宜吃食物关系为rels_doeat,疾病与推荐药品关系为rels_commonddrug,疾病与检查关系为rels_check,厂商与药物关系为rels_drug_producer,疾病与症状关系为rels_symptom,疾病与相关疾病并发关系为rels_acompany,疾病与科室之间的关系为rels_category。构造实体关系项rels={rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category};
步骤1.6:去除basic_info和rels数据缺失项;
步骤1.7:利用basic_info和rels构造Neo4j图数据库G;
步骤1.8:利用BIOES标注法对医疗问答公开数据集D进行序列标注,构造命名实体识别实验数据集NER_DATA;
步骤1.9:利用rels分类对医疗问答公开数据集D进行打标签,构造关系抽取实验数据集CLASSIFY_DATA。
步骤2:搭建CNN-BiLSTM-CRF神经网络算法,输入NER_DATA进行命名实体识别实验,训练神经网络,保存模型NER_MODEL。具体步骤如下:
步骤2.1:将采用BIOES标注的NER_DATA划分为训练数据集ner_train_txt,测试数据集ner_test_txt,比例为8:2;
步骤2.2:采用词向量模型中的连续词袋模型cbow进行词向量的训练,定义emb为数据训练后构建的词向量;
步骤2.3:定义con1为一维卷积对词向量emb进行特征提取,采取relu激活函数,卷积核长度为1,padding保留边界处的卷积结果;定义con2为一维卷积卷积核长度为2对词向量emb进行特征提取;定义con3为一维卷积卷积核长度为3对词向量emb进行特征提取;定义con4为一维卷积卷积核长度为4对词向量emb进行特征提取;
步骤2.4:定义fc1为联合con1,con2,con3,con4多个卷积特征提取框架提取的特征进行融合;
步骤2.5:定义fc2为fc1进行全连接的结果;
步骤2.6:对fc进行归一化层操作,赋值为fc3;
步骤2.7:利用BiLSTM对emb提取特征,即输入emb至BiLSTM,赋值为lstm;
步骤2.8:将fc3与lstm特征融合,定义结果为fc4;
步骤2.9:对fc4进行全连接,采用relu激活函数,定义结果为fc5;
步骤2.10:对fc5归一化层操作,定义结果为fc6;
步骤2.11:定义crf为CRF模型实体,输入fc进行预测得到outputs;
步骤2.12:定义词向量ID序列为x_in,将outputs与x_in输入keras Model中训练,得到模型NER_MODEL。
步骤3:搭建BERT-TextCNN神经网络算法,输入CLASSIFY_DATA进行关系抽取实验,训练神经网络,保存模型CLASSIFY_MODEL。具体步骤如下:
步骤3.1:将CLASSIFY_DATA划分为训练数据集classify_train_txt,测试数据集classify_test_txt,比例为8:2;
步骤3.2:初始化网络参数实体类TextConfig为config,利用BERT中tokenization.FullTokenizer类用来处理vocab file单字的切分,标点符号,unknown词,Unicode转换等操作;
步骤3.3:定义model为TextCNN的实体,利用config进行参数的初始化;
步骤3.4:加载数据集classify_train_data和classify_test_data,将样本数据转化成BERT模型输入的token形式,bert模型需要的四个变量;input_ids:字符级text_a(分类文本)在词库对应的token;input_mask:bert模型mask训练的标记,初始化为1;segment_ids:句子标记,初始化为0;label_ids:文本标签对应的token,非one_hot的形式;
步骤3.5:加载BERT模型,定义k=1,num_epochs=1000,k用于循环操作;
步骤3.6:如果k<=num_epochs,则转到步骤3.7,否则转到步骤3.18;
步骤3.7:定义batch_train为四个tokens形式组成的变量;
步骤3.8:定义batch_ids,batch_mask,batch_segment,batch_label为batch_train的元素,初始化j=1用于遍历batch_train;
步骤3.9:如果j<batch_train.length,跳转至步骤3.10,否则转到步骤3.17;
步骤3.10:batch_ids,batch_mask,batch_segment,batch_label构造参数向量输入model进行训练;
步骤3.11:定义训练集准确度为train_accuracy,测试集准确度为test_accuracy,merged_acc=(train_accuracy+test_accuracy)/2,best_acc为相同计算方式下历史最高分数;
步骤3.12:如果merged_acc>best_acc,则转至步骤3.13,否则转至3.14;
步骤3.13:best_acc=merged_acc,保存模型参数;
步骤3.14:定义global_step为当前epoch循环的次数,last_improved为上次提升best_acc的次数;
步骤3.15:如果global_step-last_improved>1500,转至步骤3.18,否则转至3.16;
步骤3.16:j=j+1,跳转至步骤3.9;
步骤3.17:k=k+1,跳转至步骤3.6;
步骤3.18:保存模型为CLASSIFY_MODEL。
步骤4:根据关系抽取分类设定模板匹配的问题查询语句,对输入问句SEQ进行命名实体识别和关系抽取,匹配问题模板,查询Neo4j得到结果ANS。具体步骤如下:
步骤4.1:定义用户输入语句为SEQ;
步骤4.2:利用NER_MODEL对SEQ进行命名实体识别,得到实体item;
步骤4.3:利用CLASSIFY_MODEL对SEQ进行关系抽取,得到用户输入语句类别question_type;
步骤4.4:定义与实体关系项rels对应的Cypher查询语句cypher,包含{rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category}类别;
步骤4.5:根据question_type,将对应item赋值至cypher语句中,查询Neo4j得到结果ANS。
步骤5:通过对输入问句SEQ与公开数据集D进行相似度分析,利用余弦相似度计算出最相似的病例,得到结果REC。具体步骤如下:
步骤5.1:D为医疗问答公开数据集,D中包含title和answer,title,answer分别表示病人的问题和医生的答复;
步骤5.2:通过对title项进行分词,分词后得到text={w1,w2,…,wn},wn是病例数据中病人问题的核心,包含疾病的名字、症状、药品名称等专有名词,定义texts是text1到textN的集合,其中,变量A∈[1,n],n是文本的最大数量;
步骤5.3:定义frequency为map,键值对形式为<词语,出现次数>,用于遍历texts统计词语频率;
步骤5.4:定义min_frequency为最小频率,默认值为1。定义k=1用于遍历texts;
步骤5.5:如果k<texts.length,则转到步骤5.6,否则转到步骤5.12;
步骤5.6:定义j=1用于遍历texts[k];
步骤5.7:如果j<texts[k].length,则转到步骤5.8,否则转到步骤5.11;
步骤5.8:如果词语texts[k][j]的频率即frequency<wA>小于或等于min_frequency,则转到步骤5.9,否则转到步骤5.10;
步骤5.9:texts[k]删除元素text[k][j];
步骤5.10:j=j+1,转到步骤5.7;
步骤5.11:k=k+1,转至步骤5.5;
步骤5.12:对texts构造词典得到字典Dict;
步骤5.13:通过对元素text构造词袋模型,得到词语向量集合V={(id1,value1),(id2,value2),…(idn,valuen)}。idA是词语wA在整个字典Dict中词语的id,valueA是wA在当前文档出现的次数。向量集corpus_simple是V1至Vn的集合,其中,变量A∈[1,n];
步骤5.14:定义model-tf为TF-IDF模型,将corpus_simple输入初始化model-tf;
步骤5.15:通过模型mdoel-tf训练corpus_simple得到corpus,corpus为对应的向量集,对corpus建立相似度矩阵得到index;
步骤5.16:定义用户输入问句为Q,对Q分词得textQ,textQ={w1,w2,...wn};
步骤5.17:对textQ调用doc2bow方法,输入训练好的model-tf计算TF-IDF值;
步骤5.18:利用余弦相似度计算出最相似的病例,得到结果REC。
步骤6:开放Neo4j图数据库接口API和相似病历推荐***接口API,对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS或相似病历回答REC,将查询数据返还WEB应用程序。通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。具体步骤如下:
步骤6.1:开放Neo4j图数据库接口API和相似病历推荐***接口API;
步骤6.2:创建线程池Thread Pool;
步骤6.3:判断线程池Thread Pool所有任务是否执行完毕;
步骤6.4:用户输入查询语句,包含医疗相关数据;
步骤6.5:子线程Child Thread获取任务处理;
步骤6.6:***构造包含查询信息的Cypher查询语句,获取医疗实体相关属性数据,通过相似病历推荐***提供的接口对查询所得的医疗实体数据进行实体间关系维度扩展;
步骤6.7:对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS或相似病历回答REC,将查询数据返还WEB应用程序;
步骤6.8:结束该子进程Child Thread;
步骤6.9:关闭线程池Thread Pool;
步骤6.10:WEB应用程序通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
上述方法所涉及的变量说明如下表所示:
/>
/>
/>
本发明公开了一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,通过对8758例疾病信息和220606条问诊记录进行处理,提出了一种利用CNN-BiLSTM-CRF、BERT-TextCNN和TF-IDF相似度算法技术构建医疗知识图谱问答***的方法,能够完成医疗问诊病例的推荐以及相关疾病知识库的构建,为用户提供辅助医疗诊断和疾病百科查询服务。其中,命名实体识别算法准确率为95%,用户意图识别算法准确率为93%
本发明创造性地提出了一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,通过深度神经网络、知识图谱和问答***技术的应用实现医疗实体关系可视化以及医疗自动问答***的构建。
Claims (7)
1.一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,具体步骤如下:
(1)通过爬虫爬取医疗百科信息,导入Neo4j构建知识图谱G;对医疗问答公开数据集D进行序列标注和分类打标签,构造命名实体识别实验数据集NER_DATA和关系抽取实验数据集CLASSIFY_DATA;
(2)搭建CNN-BiLSTM-CRF神经网络算法,输入NER_DATA进行命名实体识别实验,训练神经网络,保存模型NER_MODEL;
(3)搭建BERT-TextCNN神经网络算法,输入CLASSIFY_DATA进行关系抽取实验,训练神经网络,保存模型CLASSIFY_MODEL;
(4)根据关系抽取分类设定模板匹配的问题查询语句,对输入问句SEQ进行命名实体识别和关系抽取,匹配问题模板,查询Neo4j得到结果ANS;
(5)通过对输入问句SEQ与公开数据集D进行相似度分析,利用余弦相似度计算出最相似的病例,得到结果REC;
(6)开放Neo4j图数据库接口API和相似病历推荐***接口API,对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS和相似病历回答REC,将查询数据返还WEB应用程序;通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
2.根据权利要求1所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(1)中构造命名实体识别实验数据集NER_DATA和关系抽取实验数据集CLASSIFY_DATA的具体步骤如下:
(1.1)进行数据爬虫,选择爬虫网站;
(1.2)确定爬取页面;
(1.3)利用urllib模拟访问医疗百科网站,获取html信息;
(1.4)利用etree解析html实体,其中,包括药品信息drugs_info、食物foods_info、检查checks_info、科室departments_info、生产商producers_info、疾病diseases_info和症状symptoms_info分类信息;构造实体信息与属性项basic_info={drugs_info,foods_info,checks_info,departments_info,producers_info,diseases_info,symptoms_info,disease_infos};
(1.5)定义疾病与忌吃食物关系为rels_noteat,疾病与宜吃食物关系为rels_doeat,疾病与推荐药品关系为rels_commonddrug,疾病与检查关系为rels_check,厂商与药物关系为rels_drug_producer,疾病与症状关系为rels_symptom,疾病与相关疾病并发关系为rels_acompany,疾病与科室之间的关系为rels_category;构造实体关系项rels={rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category};
(1.6)去除basic_info和rels数据缺失项;
(1.7)利用basic_info和rels构造Neo4j图数据库G;
(1.8)利用BIOES标注法对医疗问答公开数据集D进行序列标注,构造命名实体识别实验数据集NER_DATA;
(1.9)利用rels分类对医疗问答公开数据集D进行打标签,构造关系抽取实验数据集CLASSIFY_DATA。
3.根据权利要求2所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(2)中搭建CNN-BiLSTM-CRF神经网络算法的具体步骤如下:
(2.1)将采用BIOES标注的NER_DATA划分为训练数据集ner_train_txt,测试数据集ner_test_txt,比例为8:2;
(2.2)采用词向量模型中的连续词袋模型cbow进行词向量的训练,定义emb为数据训练后构建的词向量;
(2.3)定义con1为一维卷积对词向量emb进行特征提取,采取relu激活函数,卷积核长度为1,padding保留边界处的卷积结果;定义con2为一维卷积卷积核长度为2对词向量emb进行特征提取;定义con3为一维卷积卷积核长度为3对词向量emb进行特征提取;定义con4为一维卷积卷积核长度为4对词向量emb进行特征提取;
(2.4)定义fc1为联合con1,con2,con3,con4多个卷积特征提取框架提取的特征进行融合;
(2.5)定义fc2为fc1进行全连接的结果;
(2.6)对fc进行归一化层操作,赋值为fc3;
(2.7)利用BiLSTM对emb提取特征,即输入emb至BiLSTM,赋值为lstm;
(2.8)将fc3与lstm特征融合,定义结果为fc4;
(2.9)对fc4进行全连接,采用relu激活函数,定义结果为fc5;
(2.10)对fc5归一化层操作,定义结果为fc6;
(2.11)定义crf为CRF模型实体,输入fc进行预测得到outputs;
(2.12)定义词向量ID序列为x_in,将outputs与x_in输入keras Model中训练,得到模型NER_MODEL。
4.根据权利要求3所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(3)中搭建BERT-TextCNN神经网络算法的具体步骤如下:
(3.1)将CLASSIFY_DATA划分为训练数据集classify_train_txt,测试数据集classify_test_txt,比例为8:2;
(3.2)初始化网络参数实体类TextConfig为config,利用BERT中tokenization.FullTokenizer类用来处理vocab file单字的切分,标点符号,unknown词,Unicode转换操作;
(3.3)定义model为TextCNN的实体,利用config进行参数的初始化;
(3.4)加载数据集classify_train_data和classify_test_data,将样本数据转化成BERT模型输入的token形式,bert模型需要的四个变量;input_ids:字符级text_a其含义为分类文本,在词库对应的token;input_mask:bert模型mask训练的标记,初始化为1;segment_ids:句子标记,初始化为0;label_ids:文本标签对应的token,非one_hot的形式;
(3.5)加载BERT模型,定义k=1,num_epochs=1000,k用于循环操作;
(3.6)如果k<=num_epochs,则转到步骤(3.7),否则转到步骤(3.18);
(3.7)定义batch_train为四个tokens形式组成的变量;
(3.8)定义batch_ids,batch_mask,batch_segment,batch_label为batch_train的元素,初始化j=1用于遍历batch_train;
(3.9)如果j<batch_train.length,跳转至步骤(3.10),否则转到步骤(3.17);
(3.10)batch_ids,batch_mask,batch_segment,batch_label构造参数向量输入model进行训练;
(3.11)定义训练集准确度为train_accuracy,测试集准确度为test_accuracy,merged_acc=(train_accuracy+test_accuracy)/2,best_acc为相同计算方式下历史最高分数;
(3.12)如果merged_acc>best_acc,则转至步骤(3.13),否则转至(3.14);
(3.13)best_acc=merged_acc,保存模型参数;
(3.14)定义global_step为当前epoch循环的次数,last_improved为上次提升best_acc的次数;
(3.15)如果global_step-last_improved>1500,转至步骤(3.18),否则转至(3.16);
(3.16)j=j+1,跳转至步骤(3.9);
(3.17)k=k+1,跳转至步骤(3.6);
(3.18)保存模型为CLASSIFY_MODEL。
5.根据权利要求4所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(4)中得到结果ANS的具体步骤如下:
(4.1)定义用户输入语句为SEQ;
(4.2)利用NER_MODEL对SEQ进行命名实体识别,得到实体item;
(4.3)利用CLASSIFY_MODEL对SEQ进行关系抽取,得到用户输入语句类别question_type;
(4.4)定义与实体关系项rels对应的Cypher查询语句cypher,包含{rels_noteat,rels_doeat,rels_commonddrug,rels_check,rels_drug_producer,rels_symptom,rels_acompany,rels_category}类别;
(4.5)根据question_type,将对应item赋值至cypher语句中,查询Neo4j得到结果ANS。
6.根据权利要求5所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(5)中得到结果REC的具体步骤如下:
(5.1)D为医疗问答公开数据集,D中包含title和answer,title,answer分别表示病人的问题和医生的答复;
(5.2)通过对title项进行分词,分词后得到text={w1,w2,…,wn},wn是病例数据中病人问题的核心,包含疾病的名字、症状、药品名称专有名词,定义texts是text1到textN的集合,其中,变量A∈[1,n],n是文本的最大数量;
(5.3)定义frequency为map,键值对形式为<词语,出现次数>,用于遍历texts统计词语频率;
(5.4)定义min_frequency为最小频率,默认值为1;定义y=1用于遍历texts;
(5.5)如果y<texts.length,则转到步骤(5.6),否则转到步骤(5.12);
(5.6)定义j=1用于遍历texts[k];
(5.7)如果j<texts[k].length,则转到步骤(5.8),否则转到步骤(5.11);
(5.8)如果词语texts[k][j]的频率即frequency<wA>小于或等于min_frequency,则转到步骤(5.9),否则转到步骤(5.10);
(5.9)texts[k]删除元素text[k][j];
(5.10)j=j+1,转到步骤(5.7);
(5.11)y=y+1,转至步骤(5.5);
(5.12)对texts构造词典得到字典Dict;
(5.13)通过对元素text构造词袋模型,得到词语向量集合V={(id1,value1),(id2,value2),…(idn,valuen)};idA是词语wA在整个字典Dict中词语的id,valueA是wA在当前文档出现的次数;向量集corpus_simple是V1至Vn的集合,其中,变量A∈[1,n];
(5.14)定义model-tf为TF-IDF模型,将corpus_simple输入初始化model-tf;
(5.15)通过模型mdoel-tf训练corpus_simple得到corpus,corpus为对应的向量集,对corpus建立相似度矩阵得到index;
(5.16)定义用户输入问句为Q,对Q分词得textQ,textQ={t1,t2,...tm};
(5.17)对textQ调用doc2bow方法,输入训练好的model-tf计算TF-IDF值;
(5.18)利用余弦相似度计算出最相似的病例,得到结果REC。
7.根据权利要求6所述的一种基于BERT和相似度算法的医疗知识图谱问答***构建方法,其特征在于,所述步骤(6)中通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***的具体步骤如下:
(6.1)开放Neo4j图数据库接口API和相似病历推荐***接口API;
(6.2)创建线程池Thread Pool;
(6.3)判断线程池Thread Pool所有任务是否执行完毕;
(6.4)用户输入查询语句,包含医疗相关数据;
(6.5)子线程Child Thread获取任务处理;
(6.6)***构造包含查询信息的Cypher查询语句,获取医疗实体相关属性数据,通过相似病历推荐***提供的接口对查询所得的医疗实体数据进行实体间关系维度扩展;
(6.7)对用户输入医疗相关关键字或语句调用算法获取相关医疗实体数据ANS或相似病历回答REC,将查询数据返还WEB应用程序;
(6.8)结束该子线程Child Thread;
(6.9)关闭线程池Thread Pool;
(6.10)WEB应用程序通过ECharts渲染医疗实体属性数据和实体间关系数据,实现医疗实体关系可视化以及医疗自动问答***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010799407.0A CN112131393B (zh) | 2020-08-11 | 2020-08-11 | 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010799407.0A CN112131393B (zh) | 2020-08-11 | 2020-08-11 | 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131393A CN112131393A (zh) | 2020-12-25 |
CN112131393B true CN112131393B (zh) | 2023-09-22 |
Family
ID=73851619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010799407.0A Active CN112131393B (zh) | 2020-08-11 | 2020-08-11 | 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131393B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112800766B (zh) * | 2021-01-27 | 2023-08-22 | 华南理工大学 | 基于主动学习的中文医疗实体识别标注方法及*** |
CN114969275A (zh) * | 2021-02-19 | 2022-08-30 | 深圳市奥拓电子股份有限公司 | 一种基于银行知识图谱的对话方法及其*** |
CN112817945A (zh) * | 2021-03-03 | 2021-05-18 | 江苏汇鑫融智软件科技有限公司 | 一种基于esb的医疗的异构***数据仓库建设方法 |
CN112667799B (zh) * | 2021-03-15 | 2021-06-01 | 四川大学 | 一种基于语言模型和实体匹配的医疗问答***构建方法 |
CN112967820B (zh) * | 2021-04-12 | 2023-09-19 | 平安科技(深圳)有限公司 | 药性认知信息抽取方法、装置、设备及存储介质 |
CN113221705B (zh) * | 2021-04-30 | 2024-01-09 | 平安科技(深圳)有限公司 | 电子文献的自动分类方法、装置、设备以及存储介质 |
CN113268573A (zh) * | 2021-05-19 | 2021-08-17 | 上海博亦信息科技有限公司 | 一种学术人才信息的抽取方法 |
CN113468304A (zh) * | 2021-06-28 | 2021-10-01 | 哈尔滨工程大学 | 一种基于知识图谱的船舶靠离泊知识问答查询***的构建方法 |
CN113312501A (zh) * | 2021-06-29 | 2021-08-27 | 中新国际联合研究院 | 基于知识图谱的安全知识自助查询***的构建方法及装置 |
CN113591475B (zh) * | 2021-08-03 | 2023-07-21 | 美的集团(上海)有限公司 | 无监督可解释分词的方法、装置和电子设备 |
CN113764112A (zh) * | 2021-09-16 | 2021-12-07 | 山东大学第二医院 | 一种在线医疗问答方法 |
CN115964459B (zh) * | 2021-12-28 | 2023-09-12 | 北方工业大学 | 基于食品安全认知图谱的多跳推理问答方法及*** |
CN114882985B (zh) * | 2022-07-11 | 2022-10-18 | 北京泽桥医疗科技股份有限公司 | 基于数据库和ai算法识别的医药多媒体管理***及方法 |
TWI813448B (zh) * | 2022-09-20 | 2023-08-21 | 世界先進積體電路股份有限公司 | 專家系統及專家方法 |
CN115512859B (zh) * | 2022-11-21 | 2023-04-07 | 北京左医科技有限公司 | 基于互联网的诊中质量管理方法、管理装置及存储介质 |
CN115599902B (zh) * | 2022-12-15 | 2023-03-31 | 西南石油大学 | 一种基于知识图谱的油气百科问答方法及*** |
CN116186232A (zh) * | 2023-04-26 | 2023-05-30 | 中国电子技术标准化研究院 | 一种标准知识智能问答实现方法、装置、设备和介质 |
CN117951314B (zh) * | 2024-03-26 | 2024-06-07 | 南京众智维信息科技有限公司 | 一种融合知识图谱与大语言生成模型的生成剧本决策方法 |
CN118093788B (zh) * | 2024-04-22 | 2024-07-02 | 成都同步新创科技股份有限公司 | 一种基于大模型的中小企业知识库的构建与搜索方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083831A (zh) * | 2019-04-16 | 2019-08-02 | 武汉大学 | 一种基于BERT-BiGRU-CRF的中文命名实体识别方法 |
CN110287334A (zh) * | 2019-06-13 | 2019-09-27 | 淮阴工学院 | 一种基于实体识别和属性抽取模型的学校领域知识图谱构建方法 |
WO2020034642A1 (zh) * | 2018-08-17 | 2020-02-20 | 齐鲁工业大学 | 医疗自动问答方法及装置、存储介质、电子设备 |
CN111191048A (zh) * | 2020-01-02 | 2020-05-22 | 南京邮电大学 | 基于知识图谱的急诊问答***构建方法 |
CN111506721A (zh) * | 2020-04-22 | 2020-08-07 | 福州大学 | 一种面向领域知识图谱的问答***及构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016094840A2 (en) * | 2014-12-11 | 2016-06-16 | Ghosh Sudeep | System, method & computer readable medium for software protection via composable process-level virtual machines |
-
2020
- 2020-08-11 CN CN202010799407.0A patent/CN112131393B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020034642A1 (zh) * | 2018-08-17 | 2020-02-20 | 齐鲁工业大学 | 医疗自动问答方法及装置、存储介质、电子设备 |
CN110083831A (zh) * | 2019-04-16 | 2019-08-02 | 武汉大学 | 一种基于BERT-BiGRU-CRF的中文命名实体识别方法 |
CN110287334A (zh) * | 2019-06-13 | 2019-09-27 | 淮阴工学院 | 一种基于实体识别和属性抽取模型的学校领域知识图谱构建方法 |
CN111191048A (zh) * | 2020-01-02 | 2020-05-22 | 南京邮电大学 | 基于知识图谱的急诊问答***构建方法 |
CN111506721A (zh) * | 2020-04-22 | 2020-08-07 | 福州大学 | 一种面向领域知识图谱的问答***及构建方法 |
Non-Patent Citations (2)
Title |
---|
基于知识图谱的急诊问答***;刘羿;冯子恩;万晓娴;;电脑与电信(第04期);93-98 * |
基于道路法规知识图谱的多轮自动问答研究;陈金菊;王义真;欧石燕;;现代情报(第08期);23-26 * |
Also Published As
Publication number | Publication date |
---|---|
CN112131393A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131393B (zh) | 一种基于bert和相似度算法的医疗知识图谱问答***构建方法 | |
JP7008772B2 (ja) | 電子診療レコードからの医学的状態および事実の自動的特定および抽出 | |
CN106776711B (zh) | 一种基于深度学习的中文医学知识图谱构建方法 | |
Li et al. | SEMINT: A tool for identifying attribute correspondences in heterogeneous databases using neural networks | |
US9146987B2 (en) | Clustering based question set generation for training and testing of a question and answer system | |
US9230009B2 (en) | Routing of questions to appropriately trained question and answer system pipelines using clustering | |
WO2023029506A1 (zh) | 病情分析方法、装置、电子设备及存储介质 | |
CN113505243A (zh) | 基于医疗知识图谱的智能问答方法和装置 | |
CN111538894A (zh) | 查询反馈方法、装置、计算机设备及存储介质 | |
CN104516942A (zh) | 概念驱动的自动分节标识 | |
Liu et al. | Concept placement using BERT trained by transforming and summarizing biomedical ontology structure | |
Gunjan et al. | [Retracted] Machine Learning and Cloud‐Based Knowledge Graphs to Recognize Suicidal Mental Tendencies | |
CN113764112A (zh) | 一种在线医疗问答方法 | |
WO2023029501A1 (zh) | 智能问诊方法、装置、电子设备及存储介质 | |
CN115293161A (zh) | 基于自然语言处理和药品知识图谱的合理用药***及方法 | |
Chen et al. | Named entity recognition of Chinese electronic medical records based on a hybrid neural network and medical MC-BERT | |
Jia | Music emotion classification method based on deep learning and improved attention mechanism | |
CN117992594A (zh) | 基于生成式ai的用户陪伴方法、***、设备及存储介质 | |
Liu et al. | Extracting patient demographics and personal medical information from online health forums | |
CN116662522B (zh) | 问题答案推荐方法、存储介质和电子设备 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
Saint-Dizier et al. | Knowledge and reasoning for question answering: Research perspectives | |
CN114817497A (zh) | 一种基于意图识别与模板匹配的混合问答方法 | |
Zhang et al. | Conco-ernie: Complex user intent detect model for smart healthcare cognitive bot | |
FADHLALLAH | A Deep Learning-based approach for Chatbot: medical assistance a case study |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20201225 Assignee: Fanyun software (Nanjing) Co.,Ltd. Assignor: HUAIYIN INSTITUTE OF TECHNOLOGY Contract record no.: X2023980052895 Denomination of invention: A construction method for medical knowledge graph question answering system based on BERT and similarity algorithm Granted publication date: 20230922 License type: Common License Record date: 20231219 |