CN110543557A - 一种基于注意力机制的医疗智能问答***的构建方法 - Google Patents
一种基于注意力机制的医疗智能问答***的构建方法 Download PDFInfo
- 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
Links
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/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H80/00—ICT 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)训练的问答模型,针对用户提出的医疗问题进行实时回答。
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 (14)
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模型的问答方法、问答装置及存储装置 |
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)
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 | 齐鲁工业大学 | 一种金融知识问答的文本交互匹配方法及装置 |
-
2019
- 2019-09-06 CN CN201910841535.4A patent/CN110543557B/zh active Active
Patent Citations (3)
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)
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 (18)
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模型的问答方法、问答装置及存储装置 |
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) | 一种基于问题答案对的问答***实现方法 | |
CN109271529B (zh) | 西里尔蒙古文和传统蒙古文双文种知识图谱构建方法 | |
Zhu et al. | Knowledge-based question answering by tree-to-sequence learning | |
CN110364251B (zh) | 一种基于机器阅读理解的智能交互导诊咨询*** | |
Nassiri et al. | Transformer models used for text-based question answering systems | |
CN113157885B (zh) | 一种面向人工智能领域知识的高效智能问答*** | |
CN113282711B (zh) | 一种车联网文本匹配方法、装置、电子设备及存储介质 | |
CN112256847B (zh) | 融合事实文本的知识库问答方法 | |
CN114912449B (zh) | 基于代码描述文本的技术特征关键词抽取方法与*** | |
CN112328800A (zh) | 自动生成编程规范问题答案的***及方法 | |
CN112632250A (zh) | 一种多文档场景下问答方法及*** | |
CN114818717A (zh) | 融合词汇和句法信息的中文命名实体识别方法及*** | |
CN114461821A (zh) | 一种基于自注意力推理的跨模态图文互索方法 | |
CN112749265A (zh) | 一种基于多信息源的智能问答*** | |
CN116561264A (zh) | 一种基于知识图谱的智能问答***的构建方法 | |
CN112883172B (zh) | 一种基于双重知识选择的生物医学问答方法 | |
Yogish et al. | Survey on trends and methods of an intelligent answering system | |
CN111581365B (zh) | 一种谓词抽取方法 | |
CN117609477A (zh) | 一种基于领域知识的大模型问答方法和装置 | |
CN117828024A (zh) | 一种插件检索方法、装置、存储介质及设备 | |
Kumari et al. | Context-based question answering system with suggested questions | |
CN115617960A (zh) | 一种岗位推荐方法及装置 | |
CN117591655A (zh) | 基于中药知识图谱的智能问答*** | |
Li et al. | Approach of intelligence question-answering system based on physical fitness knowledge graph |
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 |