CN110543557A - 一种基于注意力机制的医疗智能问答系统的构建方法 - Google Patents

一种基于注意力机制的医疗智能问答系统的构建方法 Download PDF

Info

Publication number
CN110543557A
CN110543557A CN201910841535.4A CN201910841535A CN110543557A CN 110543557 A CN110543557 A CN 110543557A CN 201910841535 A CN201910841535 A CN 201910841535A CN 110543557 A CN110543557 A CN 110543557A
Authority
CN
China
Prior art keywords
answer
question
matrix
word
medical
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.)
Granted
Application number
CN201910841535.4A
Other languages
English (en)
Other versions
CN110543557B (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.)
Beijing University of Technology
Original Assignee
Beijing 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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910841535.4A priority Critical patent/CN110543557B/zh
Publication of CN110543557A publication Critical patent/CN110543557A/zh
Application granted granted Critical
Publication of CN110543557B publication Critical patent/CN110543557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Pathology (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明提出了一种基于注意力机制的医疗智能问答系统的构建方法。首先采集医疗问答数据,并用Word2vec技术进行向量化表示,对每个问题,从回答数据中选取语义相似度最大的句子作为标准答案,构建医疗知识问答训练库。然后构建基于注意力机制的医疗智能问答系统的深度学习模型:包括利用双向LSTM将问题和回答数据进行语义编码和拼接,并增加注意力机制;拼接后的语义编码输入到双向LSTM中进行特征融合,最后由softmax函数输出标准答案。

Description

一种基于注意力机制的医疗智能问答系统的构建方法
技术领域
本发明属于数据挖掘领域,具体是涉及基于注意力机制的医疗智能问答系统的构建方法。
背景技术
随着互联网技术的蓬勃发展,互联网成为了人们获取信息的重要来源。人们获取信息主要由搜索引擎来实现,搜索引擎可以帮助人们找到用户需要的信息网页。问答系统(Question Answering System,QA)是信息检索系统中的一种高级形式,它能够用准确、简洁的语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。
当人们搜索医疗信息时,搜索引擎返回的结果数量多、信息量大、返回的结果冗长,未经处理的医疗信息难以满足用户对健康的需求。医药领域专业性强,非专业人士在获取信息时会存在诸多障碍,因此需要构建医疗智能问答系统,根据用户提问,返回用户准确、精简的回答,提高医疗资源的利用率。
医疗问答系统的研究方法主要有基于规则的、基于知识图谱、基于深度学习等。基于规则的方法需要限定医疗领域,如糖尿病、高血压等;基于知识图谱的方法利用知识库中的知识对问句进行解析、推理来得到答案,但医疗知识图谱的构建过程较为复杂;基于深度学习的方法将问题和答案输入到深度模型进行训练,得到问题和答案的特征向量,将新的问题输入模型,得到候选答案的特征向量,最后选出最佳答案。
发明内容
本发明提出了一种基于注意力机制的医疗智能问答系统的构建方法。首先采集医疗问答数据,并用Word2vec技术进行向量化表示,对每个问题,从回答数据中选取语义相似度最大的句子作为标准答案,构建医疗知识问答训练库。然后构建基于注意力机制的医疗智能问答系统的深度学习模型:包括利用双向LSTM将问题和回答数据进行语义编码和拼接,并增加注意力机制;拼接后的语义编码输入到双向LSTM中进行特征融合,最后由softmax函数输出标准答案。
为实现上述目的,本发明采用如下的技术方案
一种基于注意力机制的医疗智能问答系统的构建方法,包括以下步骤:
1、一种基于注意力机制的医疗智能问答系统的构建方法,按以下步骤实现:
步骤(1)数据采集和预处理
(1.1)从医疗网站采集医疗问答数据集QA,
QA={(q1,A1),(q2,A2),…,(qi,Ai),…,(qn,An)},(1≤i≤n)
其中qi表示第i个医疗问题,Ai为医疗问题qi的回答列表,n为问答对的数量。Ai进一步表示为Ai={a1,a2,…,aj,…,am},(1≤j≤m),aj为回答列表Ai的第j个回答,m为Ai中回答总数。
(1.2)对医疗问答数据集QA进行分词,并用Word2vec中的CBOW模型对分词后的结果进行训练,得到QA中所有词的词向量表示,
E=(word1,word2,…,wordi,…,wordt),(1≤i≤t),
其中wordi=(e1,e2,…,em)表示第i个词的词向量,e1,e2,…,em是数值,t为医药单词总数,m为医药单词的维度。
步骤(2)构建医疗问答数据的训练集
(2.1)对每一个问答对(q,A),利用词向量构建对应的语义表示。
q的语义表示S(q)由公式(1)得到:
其中wordi(1≤i≤h)表示问题q中第i个词的词向量,“+”表示词向量作加法运算,h为问题q中的词的总数。
回答列表A={a1,a2,…,aj,…,am}中每个回答a的语义表示S(a)由公式(2)得到,
其中wordi(1≤i≤g)表示回答a中第i个词的词向量,“+”表示词向量作加法运算,g为回答a中的词的总数。
(2.2)对每一个问答对(q,A),计算问题q与回答列表A中每个回答a之间的相似性,获取问题的标准答案。
利用夹角余弦计算S(q)与S(a)之间的相似值Sim(q,a),
Sim(q,a)=cos<S(q),S(a)> (3)
其中S(q)为问题q的语义表示,S(a)为回答a∈A的语义表示。
对所有a∈A,取Sim(q,a)相似值最高的回答a作为标准答案,记作answer=(pb,pe)。其中pb表示标准答案在回答列表中的开始位置,pe表示标准答案在回答列表中的结束位置。
用医疗问题q,回答数据a,标准答案answer构建医疗知识问答库QAS={(q1,A1,answer1),(q2,A2,answer2),…,(qn,An,answern)}。
(2.3)从医疗知识问答库QAS取出一部分数据作为训练集trainset
(2.4)利用分位点得到医疗知识问答库QAS中的医疗问题q,回答数据a,标准答案answer的各自最大长度q_maxlen、a_maxlen、answer_max len。
步骤(3)构建基于注意力机制的深度学习医疗问答模型
(3.1)模型输入
模型的输入为训练集trainset中的问答对(q,A)。
(3.2)词嵌入层
将问题q的词向量按行排列,得到医疗问题q的词嵌入矩阵qemd。将回答列表A中每个回答的词向量按行排列,得到回答a的词嵌入矩阵aemd。将回答a的词嵌入矩阵按行拼接得到回答列表A的词嵌入矩阵Aemd
其中表示回答列表A中第i个回答的词嵌入矩阵,“:”表示矩阵拼接运算。
(3.3)双向LSTM层
利用双向LSTM模型分别对医疗问答词嵌入矩阵qemd和词嵌入矩阵Aemd进行编码,得到问题编码qencodes和回答列表编码Aencodes
(3.4)注意力层
将问题编码qencodes和回答列表编码Aencodes进行矩阵乘法运算,得到问题与回答之间的相似性矩阵SimqA
SimqA=mult(qencodes,Aencodes T) (5)
令矩阵SimqA各列向量中的最大值为问题回答特征向量Fattention
Fattention=max(SimqA[:,j])T (6)
其中SimqA[i,:]表示矩阵SimqA中第j列的向量,max(SimqA[i,:])表示矩阵SimqA的各列向量中的最大值。
将问题回答特征向量Fattention与回答列表编码Aencodes作点乘运算,得到问题回答权重矩阵Qweight
Qweight=Fattention*Aencodes (7)
其中“*”表示矩阵点乘运算。
(3.5)全连接层
Aencodes、Qweight以最高维度进行拼接得到问题回答拼接矩阵ConqA
ConqA=[Aencodes:Qweight] (8)
其中“:”表示矩阵拼接运算。
将矩阵ConqA输入到双向LSTM模型中得到问题与回答之间的上下文交互信息矩阵,记作BqA
(3.6)输出层
输出层来确定答案的初始位置和结束位置,即输出层输出回答列表中答案所在的初始位置和结束位置。方法如下:
将矩阵ConqA与矩阵BqA拼接后输入到softmax激活函数中,得到答案在回答列表中初始位置,记作pb',
pb'=softmax(ConqA:BqA) (9)
其中“:”表示矩阵拼接运算。
将矩阵BqA输入到双向LSTM模型中得到矩阵DqA,将矩阵ConqA与矩阵DqA拼接后输入到softmax激活函数中,得到答案在回答列表中结束位置,记作pe',
pe'=softmax(ConqA:DqA) (10)
其中“:”表示矩阵拼接运算。
这样对每一个问答对(q,A),都可以得到模型输出的答案位置对(pb',pe')。
(3.6)模型训练
根据输出层中答案的初始位置和结束位置,利用损失函数对模型进行训练,方法如下:
迭代更新模型参数,将损失函数Loss(θ)最小化来完成模型训练,损失函数由公式(11)得到:
其中θ为模型所有的待训练参数,N为医疗知识问答库QAS中问答对的总数,pbi为第i个标准答案answer初始位置,pei为第i个标准答案answer结束位置,pb′i为模型输出的第i个答案在回答列表中的初始位置,pe′i为模型输出的第i个答案在回答列表中的结束位置,“*”表示矩阵点乘运算。
步骤(4)测试深度学习医疗问答模型
利用步骤(3)训练的问答模型,针对用户提出的医疗问题,对问答模型进行测试。根据测试,本模型可以有效地输出用户问题对应的答案,至此我的技术方案可以为用户节省查询、搜索时间,给用户提供方便。
有益效果
(1)本发明从医疗问答对入手,根据用户提出的医药问题,能够返回用户精确、简洁的答案;
(2)本发明提出的注意力机制,能够捕捉融合用户的问题与医生回答之间的有效信息。
附图说明
图1本发明实现基于注意力机制的医疗智能问答系统流程图;
图2本发明实现基于注意力机制的医疗智能问答系统模型结构图;
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步的详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
根据图1、2所示,本发明提出的方法是依次按以下步骤实现的(以某内科疾病数据为例):
步骤(1)数据采集和预处理
从医疗网站某科室采集医疗问答数据集QA,共3415个问答对即n=3415,每个回答列表A中有6个回答,A={a1,a2,a3,a4,a5,a6}。部分医疗问答对如表1所示:
表1部分医疗问答对示例
(1.2)对医疗问答数据集QA进行分词,并用Word2vec中的CBOW模型对分词后的结果进行训练,得到QA中所有词的词向量E,词向量E中的词向量word数量为34943,每一个词向量word的维度为300维。
步骤(2)构建医疗问答数据的训练集和验证集
(2.1)对每一个问答对(q,A),利用词向量构建对应的语义表示。q的语义表示为S(q),回答列表A={a1,a2,a3,a4,a5,a6}中每个回答a的语义表示为S(a)。
(2.2)对每一个问答对(q,A),计算问题q与回答列表A中每个回答a之间的相似性,获取问题的标准答案。利用夹角余弦计算S(q)与S(a)之间的相似值Sim(q,a)。
取Sim(q,a)相似值最高的回答a作为标准答案,记作answer。对标准答案answer分词,将第一个词作为答案开始位置pb,最后一个词作为结束位置pe。用医疗问题q,回答数据a,标准答案answer构建医疗知识问答库QAS。示例结果如表2所示,a1-a6内容与表1相同。
表2医疗知识问答库QAS示例
(2.3)从医疗知识问答库QAS取出2390个问答对作为训练集trainset,将剩下的1025个问答对作为验证集valset
(2.4)利用九分位点得到医疗知识问答库QAS中的医疗问题q,回答数据a,标准答案answer的各自最大长度q_maxlen=200、a_maxlen=600、answer_max len=600。
步骤(3)构建基于注意力机制的深度学习医疗问答模型
(3.1)模型输入
模型的输入为训练集trainset中2390个问答对(q,A)。
(3.2)词嵌入层
本层主要用来对医疗问答对进行向量表示,由于医疗文本数据是非结构化的数据,为了更好地理解文本内容,通常需要将文本内容转化为向量表示,方便对文本内容进行表示。具体的表示方法如下:
将问题q的词向量按行排列,得到医疗问题q的词嵌入矩阵qemd。将回答列表A中每个回答的词向量按行排列,得到回答a的词嵌入矩阵aemd。将回答a的词嵌入矩阵按行拼接得到回答列表A的词嵌入矩阵Aemd
其中表示回答列表A中第i个回答的词嵌入矩阵,回答列表A中共有6个回答,“:”表示矩阵拼接运算,词嵌入矩阵qemd的维度为m行300列,m为问题q中词的数量,词嵌入矩阵Aemd的维度为n行300列,n为回答列表A中词的数量。
(3.3)双向LSTM层
本层主要用来对医疗问答对进行语义表示,由于双向LSTM模型可以捕获句子的前后信息,医药问答中的句子前后依赖性较强,因此选用双向LSTM模型对医疗问答对进行语义表示,具体方法如下:
将问题词嵌入矩阵qemd和回答列表词嵌入矩阵Aemd分别输入双向LSTM中得到,得到问题编码qencodes和回答列表编码Aencodes。经过双向LSTM模型后问题编码qencodes的维度为m行300列,m为问题q中词的数量,回答列表编码Aencodes的维度为n行300列,n为回答列表A中词的数量。
为了预防过拟合,将模型中隐藏层神经元的部分权重随机归零,来减少神经元各节点间的依赖,归零率dropout设置为0.5。
(3.4)注意力层
本层主要用来得到医药问题与回答列表之间的交互信息,具体方法如下:
将问题编码qencodes和回答列表编码Aencodes进行矩阵乘法运算,得到问题与回答之间的相似矩阵SimqA,问题编码qencodes的维度为m行600列,m为问题q中词的数量,回答列表编码Aencodes的维度为n行600列,n为回答列表A中词的数量,相似矩阵SimqA的维度为m行n列。
SimqA=mult(qencodes,Aencodes T) (2)
令矩阵SimqA各列向量中的最大值为问题回答特征向量Fattention
Fattention=max(SimqA[:,j])T (3)
其中SimqA[i,:]表示矩阵SimqA中第j列的向量,max(SimqA[i,:])表示矩阵SimqA的各列向量中的最大值,该向量中有n个元素,维度为1行n列,T表示矩阵转置,问题注意力矩阵Fattention维度为为n行1列。
将矩阵SimqA各行向量中的最大值与问题编码qencodes相乘得到问题注意力矩阵qattention
qattention=max(SimqA[:,j])T (4)
其中SimqA[i,:]表示矩阵SimqA中第j列的向量,max(SimqA[i,:])表示矩阵SimqA的各列向量中的最大值,该向量中有n个元素,维度为1行n列,T表示矩阵转置,问题注意力矩阵qattention维度为为n行1列。
将问题回答特征向量Fattention与回答列表编码Aencodes作点乘运算,得到问题回答权重矩阵Qweight
Qweight=qattention*Aencodes (5)
其中“*”表示矩阵点乘运算,问题注意力权重矩阵Qweight的维度为n行600列。
(3.5)全连接层
本层主要将医药问题与回答列表之间的交互信息进行连接,以便得到问题和回答的上下文交互信息,具体方法如下:
Aencodes、Qweight以最高维度进行拼接得到问题回答拼接矩阵ConqA
ConqA=[Aencodes:Qweight] (6)
其中“:”表示矩阵拼接运算,问答拼接矩阵ConqA的维度为n行1200列。
将矩阵ConqA输入到双向LSTM模型中得到问题与回答之间的上下文交互信息矩阵,记作BqA。上下文交互信息矩阵BqA维度为n行600列。
(3.6)输出层
本层主要输出答案的初始位置和结束位置,即答案输出,具体方法如下:
将矩阵ConqA与矩阵BqA拼接后,拼接后的矩阵维度为n行1800列,输入到softmax激活函数中,得到答案在回答列表中初始位置,记作pb',
pb'=softmax(ConqA:BqA) (7)
其中“:”表示矩阵拼接运算。
将矩阵BqA输入到双向LSTM模型中得到矩阵DqA,矩阵DqA的矩阵维度为n行600列,将矩阵ConqA与矩阵DqA拼接,拼接后的矩阵维度为n行1800列,并输入到softmax激活函数中,得到答案在回答列表中结束位置,记作pe',
pe'=softmax(ConqA:DqA) (8)
其中“:”表示矩阵拼接运算。
这样对每一个问答对(q:A),都可以得到模型输出的答案位置对(pb':pe')。
(3.6)模型训练
本层主要根据输出层中答案的初始位置和结束位置,利用损失函数对模型进行训练,具体方法如下:
利用公式(9)训练损失函数Loss(θ),不断迭代更新模型参数,直到损失函数达到最小值时结束训练。
通过训练参数θ来得到模型输出的答案位置对,训练参数的总量为14068个,表3给出模型训练的各个参数。
表3模型训练参数
由实验结果可知,当学习率为0.001时,模型收敛能更快收敛,当迭代次数等于100时,损失函数的函数值几乎没有变化,模型训练完成。步骤(4)模型测试与评价
(4.1)模型测试
将验证集valset中的1025个问答对输入到训练好的医药问答模型中,模型输出验证集中每一个问题在回答列表中答案位置对,根据答案位置对得到验证集中每一个问题对应的答案。部分医疗问答对测试示例如表4:
表4部分医疗问答对测试示例
由表4可以看出,模型输出的“扁桃体发炎肿大有红血丝咳嗽有痰怎么办”的答案为回答列表A中的第六个回答。
(4.2)模型评价
将验证集valset中得到的问题答案,利用两个评价指标Bleu和Rouge_L进行评价:
Bleu(bilingual evaluation understudy)评价方法:
其中N的上限取值为4,即最多统计4-gram的精度,BP为惩罚因子。lc表示匹配答案长度,ls表示标准答案长度,maxi∈m hk(answerij)表示某n-gram在多条标准答案中出现最多的次数,hk(ci)表示hk在预测答案ci中出现的次数,hk(answeri)表示hk在标准答案answerij中出现的次数。
Rouge_L(recall-oriented understanding for gisting evaluation)评价方法:
其中,answer为医疗标准答案,Y为模型预测答案,LCS(answer,Y)为answer、Y的最长公共子序列,m为X中单词总数,n为Y中单词总数,β为参数,R相当于召回率,P相当于精度,Rouge_L相当于F值。Rouge_L值越接近1,模型输出答案越接近标准答案。
问答模型在验证集下的评价得分如表5,表5为训练100轮的得分。
表5评价得分表
由表可知,Bleu_1、Bleu_2、Bleu_3、Bleu_4得分相近都为0.62,Rouge_L得分为0.67,比Bleu高0.05。说明本模型能够较为准确地匹配出医药问题的答案。

Claims (1)

1.一种基于注意力机制的医疗智能问答系统的构建方法,按以下步骤实现:
步骤(1)数据采集和预处理
(1.1)从医疗网站采集医疗问答数据集QA,
QA={(q1,A1),(q2,A2),…,(qi,Ai),…,(qn,An)},(1≤i≤n)
其中qi表示第i个医疗问题,Ai为医疗问题qi的回答列表,n为问答对的数量。Ai进一步表示为Ai={a1,a2,…,aj,…,am},(1≤j≤m),aj为回答列表Ai的第j个回答,m为Ai中回答总数。
(1.2)对医疗问答数据集QA进行分词,并用Word2vec中的CBOW模型对分词后的结果进行训练,得到QA中所有词的词向量表示,
E=(word1,word2,…,wordi,…,wordt),(1≤i≤t),
其中wordi=(e1,e2,…,em)表示第i个词的词向量,e1,e2,…,em是数值,t为医药单词总数,m为医药单词的维度。
步骤(2)构建医疗问答数据的训练集
(2.1)对每一个问答对(q,A),利用词向量构建对应的语义表示。
q的语义表示S(q)由公式(1)得到:
其中wordi(1≤i≤h)表示问题q中第i个词的词向量,“+”表示词向量作加法运算,h为问题q中的词的总数。
回答列表A={a1,a2,…,aj,…,am}中每个回答a的语义表示S(a)由公式(2)得到,
其中wordi(1≤i≤g)表示回答a中第i个词的词向量,“+”表示词向量作加法运算,g为回答a中的词的总数。
(2.2)对每一个问答对(q,A),计算问题q与回答列表A中每个回答a之间的相似性,获取问题的标准答案。
利用夹角余弦计算S(q)与S(a)之间的相似值Sim(q,a),
Sim(q,a)=cos<S(q),S(a)> (3)
其中S(q)为问题q的语义表示,S(a)为回答a∈A的语义表示。
对所有a∈A,取Sim(q,a)相似值最高的回答a作为标准答案,记作answer=(pb,pe)。其中pb表示标准答案在回答列表中的开始位置,pe表示标准答案在回答列表中的结束位置。
用医疗问题q,回答数据a,标准答案answer构建医疗知识问答库QAS={(q1,A1,answer1),(q2,A2,answer2),…,(qn,An,answern)}。
(2.3)从医疗知识问答库QAS取出一部分数据作为训练集trainset
(2.4)利用分位点得到医疗知识问答库QAS中的医疗问题q,回答数据a,标准答案answer的各自最大长度q_maxlen、a_maxlen、answer_maxlen。
步骤(3)构建基于注意力机制的深度学习医疗问答模型
(3.1)模型输入
模型的输入为训练集trainset中的问答对(q,A)。
(3.2)词嵌入层
将问题q的词向量按行排列,得到医疗问题q的词嵌入矩阵qemd。将回答列表A中每个回答的词向量按行排列,得到回答a的词嵌入矩阵aemd。将回答a的词嵌入矩阵按行拼接得到回答列表A的词嵌入矩阵Aemd
Aemd=[a1emd:a2emd…aiemd…:amemd] (4)
其中aiemd表示回答列表A中第i个回答的词嵌入矩阵,“:”表示矩阵拼接运算。
(3.3)双向LSTM层
利用双向LSTM模型分别对医疗问答词嵌入矩阵qemd和词嵌入矩阵Aemd进行编码,得到问题编码qencodes和回答列表编码Aencodes
(3.4)注意力层
将问题编码qencodes和回答列表编码Aencodes进行矩阵乘法运算,得到问题与回答之间的相似性矩阵SimqA
SimqA=mult(qencodes,Aencodes T) (5)
令矩阵SimqA各列向量中的最大值为问题回答特征向量Fattention
Fattention=max(SimqA[:,j])T (6)
其中SimqA[i,:]表示矩阵SimqA中第j列的向量,max(SimqA[i,:])表示矩阵SimqA的各列向量中的最大值。
将问题回答特征向量Fattention与回答列表编码Aencodes作点乘运算,得到问题回答权重矩阵Qweight
Qweight=Fattention*Aencodes (7)
其中“*”表示矩阵点乘运算。
(3.5)全连接层
Aencodes、Qweight以最高维度进行拼接得到问题回答拼接矩阵ConqA
ConqA=[Aencodes:Qweight] (8)
其中“:”表示矩阵拼接运算。
将矩阵ConqA输入到双向LSTM模型中得到问题与回答之间的上下文交互信息矩阵,记作BqA
(3.6)输出层
输出层来确定答案的初始位置和结束位置,即输出层输出回答列表中答案所在的初始位置和结束位置。方法如下:
将矩阵ConqA与矩阵BqA拼接后输入到softmax激活函数中,得到答案在回答列表中初始位置,记作pb',
pb'=softmax(ConqA:BqA) (9)
其中“:”表示矩阵拼接运算。
将矩阵BqA输入到双向LSTM模型中得到矩阵DqA,将矩阵ConqA与矩阵DqA拼接后输入到softmax激活函数中,得到答案在回答列表中结束位置,记作pe',
pe'=softmax(ConqA:DqA) (10)
其中“:”表示矩阵拼接运算。
这样对每一个问答对(q,A),都可以得到模型输出的答案位置对(pb',pe')。
(3.6)模型训练
根据输出层中答案的初始位置和结束位置,利用损失函数对模型进行训练,方法如下:
迭代更新模型参数,将损失函数Loss(θ)最小化来完成模型训练,损失函数由公式(11)得到:
其中θ为模型所有的待训练参数,N为医疗知识问答库QAS中问答对的总数,pbi为第i个标准答案answer初始位置,pei为第i个标准答案answer结束位置,pb′i为模型输出的第i个答案在回答列表中的初始位置,pe′i为模型输出的第i个答案在回答列表中的结束位置,“*”表示矩阵点乘运算。
步骤(4)模型应用
利用步骤(3)训练的问答模型,针对用户提出的医疗问题进行实时回答。
CN201910841535.4A 2019-09-06 2019-09-06 一种基于注意力机制的医疗智能问答系统的构建方法 Active CN110543557B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910841535.4A CN110543557B (zh) 2019-09-06 2019-09-06 一种基于注意力机制的医疗智能问答系统的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910841535.4A CN110543557B (zh) 2019-09-06 2019-09-06 一种基于注意力机制的医疗智能问答系统的构建方法

Publications (2)

Publication Number Publication Date
CN110543557A true CN110543557A (zh) 2019-12-06
CN110543557B CN110543557B (zh) 2021-04-02

Family

ID=68712835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910841535.4A Active CN110543557B (zh) 2019-09-06 2019-09-06 一种基于注意力机制的医疗智能问答系统的构建方法

Country Status (1)

Country Link
CN (1) CN110543557B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110990555A (zh) * 2020-03-05 2020-04-10 中邮消费金融有限公司 端到端检索式对话方法与系统及计算机设备
CN111428104A (zh) * 2020-01-21 2020-07-17 广东工业大学 基于观点型阅读理解的癫痫病辅助医疗智能问答方法
CN111444724A (zh) * 2020-03-23 2020-07-24 腾讯科技(深圳)有限公司 医疗问答对质检方法、装置、计算机设备和存储介质
CN111524593A (zh) * 2020-04-23 2020-08-11 厦门大学 基于上下文语言模型和知识嵌入的医疗问答方法及系统
CN111579939A (zh) * 2020-04-23 2020-08-25 天津大学 基于深度学习进行高压电力电缆局部放电现象检测方法
CN111597316A (zh) * 2020-05-15 2020-08-28 北京信息科技大学 融合语义与问题关键信息的多阶段注意力答案选取方法
CN111881279A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 基于Transformer模型的问答方法、问答装置及存储装置
CN112100355A (zh) * 2020-09-17 2020-12-18 中国建设银行股份有限公司 一种智能交互方法、装置及设备
CN112417120A (zh) * 2020-11-20 2021-02-26 中山大学 一种基于强化学习的生成式医疗问答方法及系统
CN112528010A (zh) * 2020-12-15 2021-03-19 建信金融科技有限责任公司 知识推荐方法、装置、计算机设备及可读存储介质
CN113672694A (zh) * 2020-05-13 2021-11-19 武汉Tcl集团工业研究院有限公司 一种文本处理方法、终端以及存储介质
CN113821619A (zh) * 2021-08-31 2021-12-21 前海人寿保险股份有限公司 培训方法、装置、系统与计算机可读存储介质
CN113866455A (zh) * 2021-09-30 2021-12-31 中铁桥隧技术有限公司 基于深度学习的桥梁加速度监测数据异常检测方法、系统和装置
CN116450796A (zh) * 2023-05-17 2023-07-18 中国兵器工业计算机应用技术研究所 一种智能问答模型构建方法及设备
CN117151228A (zh) * 2023-10-31 2023-12-01 深圳大数信科技术有限公司 一种基于大模型与知识库生成的智能客服系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108449A (zh) * 2017-12-27 2018-06-01 哈尔滨福满科技有限责任公司 一种面向医疗领域的基于多源异构数据问答系统及该系统的实现方法
CN109977428A (zh) * 2019-03-29 2019-07-05 北京金山数字娱乐科技有限公司 一种答案获取的方法及装置
CN110083692A (zh) * 2019-04-22 2019-08-02 齐鲁工业大学 一种金融知识问答的文本交互匹配方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108108449A (zh) * 2017-12-27 2018-06-01 哈尔滨福满科技有限责任公司 一种面向医疗领域的基于多源异构数据问答系统及该系统的实现方法
CN109977428A (zh) * 2019-03-29 2019-07-05 北京金山数字娱乐科技有限公司 一种答案获取的方法及装置
CN110083692A (zh) * 2019-04-22 2019-08-02 齐鲁工业大学 一种金融知识问答的文本交互匹配方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LIU CHEN ET AL: "Question answering over knowledgebase with attention-based LSTM networks and knowledge embeddings", 《2017 IEEE 16TH INTERNATIONAL CONFERENCE ON COGNITIVE INFORMATICS & COGNITIVE COMPUTING (ICCI*CC)》 *
史梦飞等: "基于Bi-LSTM和CNN并包含注意力机制的社区问答问句分类方法", 《计算机系统应用》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428104A (zh) * 2020-01-21 2020-07-17 广东工业大学 基于观点型阅读理解的癫痫病辅助医疗智能问答方法
CN110990555A (zh) * 2020-03-05 2020-04-10 中邮消费金融有限公司 端到端检索式对话方法与系统及计算机设备
CN111444724A (zh) * 2020-03-23 2020-07-24 腾讯科技(深圳)有限公司 医疗问答对质检方法、装置、计算机设备和存储介质
CN111524593B (zh) * 2020-04-23 2022-08-16 厦门大学 基于上下文语言模型和知识嵌入的医疗问答方法及系统
CN111524593A (zh) * 2020-04-23 2020-08-11 厦门大学 基于上下文语言模型和知识嵌入的医疗问答方法及系统
CN111579939A (zh) * 2020-04-23 2020-08-25 天津大学 基于深度学习进行高压电力电缆局部放电现象检测方法
CN113672694A (zh) * 2020-05-13 2021-11-19 武汉Tcl集团工业研究院有限公司 一种文本处理方法、终端以及存储介质
CN111597316A (zh) * 2020-05-15 2020-08-28 北京信息科技大学 融合语义与问题关键信息的多阶段注意力答案选取方法
CN111597316B (zh) * 2020-05-15 2023-12-01 北京信息科技大学 融合语义与问题关键信息的多阶段注意力答案选取方法
CN111881279A (zh) * 2020-07-28 2020-11-03 平安科技(深圳)有限公司 基于Transformer模型的问答方法、问答装置及存储装置
CN112100355A (zh) * 2020-09-17 2020-12-18 中国建设银行股份有限公司 一种智能交互方法、装置及设备
CN112417120A (zh) * 2020-11-20 2021-02-26 中山大学 一种基于强化学习的生成式医疗问答方法及系统
CN112528010A (zh) * 2020-12-15 2021-03-19 建信金融科技有限责任公司 知识推荐方法、装置、计算机设备及可读存储介质
CN113821619A (zh) * 2021-08-31 2021-12-21 前海人寿保险股份有限公司 培训方法、装置、系统与计算机可读存储介质
CN113866455A (zh) * 2021-09-30 2021-12-31 中铁桥隧技术有限公司 基于深度学习的桥梁加速度监测数据异常检测方法、系统和装置
CN116450796A (zh) * 2023-05-17 2023-07-18 中国兵器工业计算机应用技术研究所 一种智能问答模型构建方法及设备
CN116450796B (zh) * 2023-05-17 2023-10-17 中国兵器工业计算机应用技术研究所 一种智能问答模型构建方法及设备
CN117151228A (zh) * 2023-10-31 2023-12-01 深圳大数信科技术有限公司 一种基于大模型与知识库生成的智能客服系统
CN117151228B (zh) * 2023-10-31 2024-02-02 深圳大数信科技术有限公司 一种基于大模型与知识库生成的智能客服系统

Also Published As

Publication number Publication date
CN110543557B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN110543557B (zh) 一种基于注意力机制的医疗智能问答系统的构建方法
CN109271505B (zh) 一种基于问题答案对的问答系统实现方法
Nassiri et al. Transformer models used for text-based question answering systems
Zhu et al. Knowledge-based question answering by tree-to-sequence learning
CN109271529B (zh) 西里尔蒙古文和传统蒙古文双文种知识图谱构建方法
CN109271506A (zh) 一种基于深度学习的电力通信领域知识图谱问答系统的构建方法
CN113157885B (zh) 一种面向人工智能领域知识的高效智能问答系统
CN112256847B (zh) 融合事实文本的知识库问答方法
CN114818717B (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN113282711B (zh) 一种车联网文本匹配方法、装置、电子设备及存储介质
CN114912449B (zh) 基于代码描述文本的技术特征关键词抽取方法与系统
CN114461821A (zh) 一种基于自注意力推理的跨模态图文互索方法
CN112632250A (zh) 一种多文档场景下问答方法及系统
CN114238653A (zh) 一种编程教育知识图谱构建、补全与智能问答的方法
CN114626463A (zh) 语言模型的训练方法、文本匹配方法及相关装置
CN117591655A (zh) 基于中药知识图谱的智能问答系统
CN114239730B (zh) 一种基于近邻排序关系的跨模态检索方法
CN112883172B (zh) 一种基于双重知识选择的生物医学问答方法
Lee Natural Language Processing: A Textbook with Python Implementation
Yogish et al. Survey on trends and methods of an intelligent answering system
CN111581365B (zh) 一种谓词抽取方法
CN117828024A (zh) 一种插件检索方法、装置、存储介质及设备
Li et al. Approach of intelligence question-answering system based on physical fitness knowledge graph
CN116383357A (zh) 面向知识图谱的查询图生成方法及系统
CN115688785A (zh) 一种融合多源知识的航空装备型号命名实体识别方法

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