基于选择性多特征融合的对话式问诊症状识别方法及装置

未命名 09-29 阅读:139 评论:0


1.本发明属于计算机技术领域,涉及数据的融合与特征提取,具体涉及基于选择性多特征融合的对话式问诊症状识别方法及装置。


背景技术:

2.在线问诊是指医生通过互联网和患者进行病情交流、疾病诊断以及提供相关医疗建议的过程,患者可以在互联网问诊平台上对自己的症状进行口语化描述,医生则会根据描述内容做出针对性地提问,最后填写病历。
3.随着“互联网+医疗”的迅速发展,选择在线问诊平台的患者人数增长迅速。然而医生只能利用结束线下工作后的空闲时间进行网上问诊,在一次问诊结束后,如果系统能够自动汇总当前患的症状,医生就可以直接根据汇总中的症状信息分析患者当前的情况,有效节约了医生填写病历所需要的时间,提高问诊效率。因此,一种对话式问诊症状识别方法被提出,其目的是根据医患对话文本,识别文本中存在的症状信息,辅助医生完成病历整理。现有技术主要通过症状实体识别或患者意图分析,得到一些先验信息来辅助症状识别,但是这些方法通常都忽略了对话文本中的角色信息,以及句子中存在的依存关系信息,在一定程度上影响到了对话式症状识别方法的性能。


技术实现要素:

4.针对现有技术的不足,本发明提出了基于选择性多特征融合的对话式问诊症状识别方法及装置,在进行症状识别时,不仅仅是考虑对话内容相应的文本向量信息,还利用了词与词之间的依赖信息和所述对话的角色信息。在充分考虑了这些外部特征信息的同时,根据识别目标的特点,选择性的融合相关的特征信息,以此来达到更高的预测精度。
5.基于选择性多特征融合的对话式问诊症状识别方法,具体包括以下步骤:
6.步骤1、数据收集与处理
7.收集在线问诊过程中的医患对话数据,每段对话包括多个句子,将一个句子表示为x={x1,x2,...,xn},xi表示该句子中的第i个字,n表示句子x的字数。按照对话顺序对一段对话中的多个句子进行编号,然后标记对话的角色为医生或患者,最后标注句子中的症状实体、症状归一化标签和症状识别标签。症状实体的标注方法为:将症状词开始的字标注为b,症状词的其他字标注为i,句子中的其余字标注为o。
8.步骤2、症状实体提取训练
9.构建症状实体提取模型,输入步骤1处理后的对话数据,提取句子中存在的症状实体,并与标签进行比较,完成模型训练,具体步骤如下:
10.步骤2.1、文本向量生成
11.将步骤1处理后的对话数据按照编号顺序,依次输入roberta中,生成句子x对应的上下文相关向量s={s1,s2,...,sn}。为进一步提取上下文特征,将向量s输入bilstm模型中,得到对应的正向lstm输出序列和反向lstm输出序列
再将和按位置拼接,得到向量h,作为最终句子x的文本向量表示:
[0012][0013]
其中,hi表示字xi对应的向量表示,dh是roberta模型的隐藏层维度。
[0014]
步骤2.2、症状实体识别
[0015]
将步骤2.1生成的文本向量表示h输入crf推理层中。crf推理层能够对症状识别的标签进行约束,利用标签之间的关联,避免产生不符合常识的标签序列,例如标签“i”不能出现在标签“o”后面。其实现方式是对于给定输入序列h={h1,h2,...,hn},计算其标签序列y={y1,y2,...,yn}的得分函数s(x,y):
[0016][0017]
其中为转移得分矩阵,k表示标签的个数,表示从标签yi到标签y
i+1
的转移得分,y0和y
n+1
分别表示句子的起始标签和终止标签;矩阵为bilstm层的输出,表示第i个得到标签yi的输出得分。crf推理层利用维特比算法求进行动态规划推理,目标是预测最佳标记路径y
*

[0018][0019]
其中y
x
表示所有可能标签的集合。
[0020]
步骤2.3、模型训练
[0021]
将crf推理层输出的结果与步骤1的标注数据进行比对,以最大化正确标签序列的似然概率为目标,进行模型参数调整:
[0022][0023]
其中,表示真实标签值。
[0024]
步骤3、症状识别训练
[0025]
筛选经过步骤1处理后,句子中存在有症状实体的对话数据,输入一种融合多特征信息的多任务学习架构进行训练,具体步骤如下:
[0026]
步骤3.1、生成句法特征信息
[0027]
仅对步骤1处理后存在症状实体的句子使用spacy工具进行依存句法分析,得到依存结构信息,然后构建无向关系图a
ij
,当a
ij
=1时,表示依存图中单词i和单词j之间有一条边相连,a
ij
=0时,表示依存图中单词i和单词j之间不相连。再使用ngram2vec生成句子对应的向量表示o={o1,o2,...,on},将向量o和无向关系图a
ij
输入基于注意力引导的图卷积神经网络aggcn(attention guided graph convolutional networks)中提取文本特征信息,aggcn利用矩阵a,通过多头注意力机制得到新的邻接矩阵
[0028][0029]
其中k=q=o
(l-1)
,l表示第l层,q、k为第l-1层的输出,t表示转置矩阵,和分别是当前q=k得到的第t个查询矩阵和键矩阵,d
head
是生成的数量。将输出的d
head
个矩阵使用线性组合层合并每个头部的输出,得到句法特征信息向量表示
[0030]
步骤3.2、生成角色特征信息
[0031]
使用角色编码器,根据对话文本的来源,分别对“医生”和“患者”两个角色标签进行嵌入表示,提高角色标签的维度,生成角色特征信息r。
[0032]
步骤3.3、特征融合与提取
[0033]
症状识别的模型训练目标有两个,分别是症状实体归一化和症状推理。对于症状实体归一化目标,忽略症状实体的中间字,采用首尾拼接的形式d
i,j
进行表示,然后输入到第一mlp层中,将d
i,j
映射为一组输出向量,对d
i,j
所属的归一化标签进行分类:
[0034]
p1=softmax(mlp1(d
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0035]
其中p1表示归一化标签的概率。
[0036]
对于症状推理目标,融合句法特征信息角色特征信息r和步骤2.1得到的文本向量h,生成特征向量然后输入到第二mlp层中进行推理:
[0037][0038]
其中p2表示存在症状、不存在症状和无法确定否存在症状的概率。
[0039]
步骤3.4、模型训练
[0040]
对于症状实体归一化目标,设置损失函数为:
[0041]
loss1=-∑yilog(p
1i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
[0042]
对于症状推理目标设置损失函数为:
[0043][0044]
症状识别训练的总损失函数为:
[0045]
loss=αloss1+βloss2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0046]
其中,α和β是控制任务重要性的权重。在步骤2和步骤3的训练过程中,使用bertadam优化器对步骤3中的模型进行优化,对于步骤2中的roberta模型,以5
×
10-5
的学习率来进行微调,其它神经网络模型使用1
×
10-3
的学习率进行微调,一共训练15轮,保存训练效果最好的模型。
[0047]
步骤4、对话式问诊症状识别
[0048]
使用步骤2和步骤3保存的模型对未标注信息的对话数据进行症状识别,具体步骤如下:
[0049]
步骤4.1、症状实体提取
[0050]
通过步骤2.1、2.2对未标注信息的对话数据进行症状实体提取,若存在症状实体相关的标签,则进入步骤4.2,否则输出不存在症状实体。
[0051]
步骤4.2、症状识别
[0052]
对于存在症状实体的句子,分别通过步骤3.1~3.3,根据第二mlp层输出的pi值识别患者的症状信息,辅助医生完成病历填写。
[0053]
基于选择性多特征融合的对话式问诊症状识别装置,包括症状实体提取模块和症状识别模块。
[0054]
所述症状实体提取模块,使用一个roberta、bilstm和crf推理层级联的网络作为症状实体提取模型。将问诊过程的对话文本输入症状实体提取模型中,先通过roberta和bilstm生成文本相关的向量表示,再通过crf推理层识别文本向量表示中存在的症状实体,记录症状实体在句子中相对应的位置索引,并将存在症状实体的句子作为症状识别阶段的处理对象。
[0055]
所述症状识别模块,使用一种融合多特征信息的多任务学习架构。首先针对存在症状实体的对话文本进行句法分析,生成句子依存关系图,输入aggcn模型生成句法特征信息。然后使用角色编码器,针对存在症状实体的对话文本生成角色特征信息。然后将句法特征信息、角色特征信息以及存在症状实体的句子对应的文本相关的向量表示进行选择性融合,输出症状识别结果。
[0056]
本发明具有以下有益效果:
[0057]
1、本发明将对话式症状识别分为两部分,在症状实体识别部分,对文本中存在的症状实体进行识别,从而过滤掉干扰的文本数据;在症状推理部分,模型通过训练两个目标任务,根据任务预测的结果,推理出患者目前的症状信息。在一次在线问诊对话结束后,可以自动生成症状诊断结果,可以供医生生成诊断报告使用,从而有效地提高医生的工作效率。
[0058]
2、本发明融合了依存句法相关的上下文信息以及角色相关的信息,并根据任务的特点,选择性地融合了这些信息,使得模型提取的特征信息更加完备,同时模型的鲁棒性更好,在预测精度方面,本发明的预测精度明显高于其它的模型。
[0059]
3、本发明训练后的模型能够有效地识别出文本对话数据中存在的症状实体,可以直接部署在云服务器上,封装相关的接口供外部调用,可以大规模应用到在线问诊平台中,对未标注文本对话数据进行症状识别,提高平台的智能化程度。并生成症状汇总报告,辅助医生进行病情诊断和病历填写,提高医生问诊的效率。
附图说明
[0060]
图1为基于选择性多特征融合的对话式问诊症状识别方法流程图;
[0061]
图2为实施例中对症状实体的标注方法示意图;
[0062]
图3为选择性多特征融合的对话式问诊症状识别模型示意图。
具体实施方式
[0063]
以下结合附图对本发明作进一步的解释说明;需要注意的是,本发明仅用于辅助医生进行病历填写和总结,不具有疾病诊断功能。
[0064]
本实例使用python语言实现实现基于选择性多特征融合的对话式问诊症状识别方法,识别过程如图1所示,具体步骤如下:
[0065]
步骤1、利用爬虫程序从“好大夫”、“春雨医生”、“平安好医生”等在线问诊平台获
取医患对话文本数据。从获取的数据中,过滤掉无效数据,例如与文本无关的语音数据。对过滤后的数据进行任务相关的标注,包括有症状实体相关的标签以及症状诊断相关的标签。具体的标注方式如图2所示,首先对句子内容进行bio标注,将句子中症状词开始的字标注为b,症状词的其他字标注为i,句子中的其余字标注为o。然后标注症状归一化标签和症状诊断标签。标注症状归一化标签的原因是,在患者的口头表述中同一症状会有多种表述方式,例如“发热”、“热”、“发烧”都表示医学中“发热”这一症状。为了完成症状诊断的任务,需要给句子打上症状诊断相关的标签,其中0表示未患有该症状,1表示患有该症状,2表示不确定是否患有该症状。
[0066]
步骤2、如果存在症状实体则提取对话数据中的特征信息进行融合,通过症状诊断模型识别出相应的症状,否则识别下一句对话中是否存在症状实体。如图3所示的症状实体识别模型首先通过roberta预训练模型获得待测文本的向量表示,为进一步提取待测文本的上下文信息,将该向量表示通过bilstm得到最终的上下文表示其中dh是roberta模型隐藏层维度。接着通过crf推理层,识别出待测文本中存在的bio标签,如果存在bio标签,则说明该文本中存在症状实体,对该文本执行步骤3。
[0067]
步骤3、对包含症状实体的文本进行症状实体归一化和症状推理。在进行归一化和推理时,先对待测文本进行句法分析,得到相关的依存关系图,将其作为aggcn的输入,得到其向量表示在本实例中,输入维度是300,d
head
=4,则每一个的输出维度是75,4个输出拼接后,最后的输出维度就是300。接着对待测文本的角色进行编码,生成相关的角色特征向量r,在本实例中,r的向量维度为20,其中全0表示患者,全1表示医生。
[0068]
对于症状实体归一化任务,选择融合角色特征向量r以及待测文本的最终上下文表示信息h,对于症状识别任务,选择融合角色特征向量r、最终上下文表示信息h以及aggcn输出的向量表示通过多任务学习的方式进行训练,提高症状诊断的准确性。
[0069]
为了验证依存句法信息和多任务学习两大改进策略对模型的增强作用,本实施例进行了相关的消融实验。具体的实验结果如下表所示:
[0070][0071]
实验结果表明,在基线模型的基础上引入多任务学习机制可以提升模型的f1值约1%,这说明了针对此任务使用多任务学习的方式对模型进行训练,能一定程度上的提升模型的效果。并且通过实验结果发现,当引入了症状实体这一辅助信息后,模型的f1值有3%
~4%的小幅提升,说明症状实体信息对症状实体归一化和症状推理任务有较大的帮助,原因是将症状实体信息作为辅助标识符嵌入到下游的任务中,可以给下游任务提供更加可靠的知识。但使用此类方法的前提是症状实体识别的准确率要足够高,在实验的数据集中,症状实体识别的难度不大,识别的准确率都达到了95%以上,因此实体识别出的信息能够有效的提升模型的整体性能,但不可避免地存在一定的误差传递。
[0072]
接下来进行图卷积神经网络与嵌入角色向量特征信息有效性的验证。通过实验结果,可以发现本发明提出的模型整体达到了最高的f1值,其在数据集上的f1值为74.26%,相比基线模型,f1值提高了8%左右。为了验证特征信息融合模块的效果,做了相关的模块消融实验,实验表明,当去除图卷积神经网络提取的特征信息后,在数据集上的f1值为72.03%,相比本发明提出的模型的f1值降低了3%左右,从而证明了融合依存句法相关的信息可以有效的提升模型的整体性能;当去除了角色向量信息后,在数据集上的f1值为73.17%,相比本发明提出的模型的f1值降低了2%左右,这表明角色相关的向量信息有利于提高模型的症状诊断性能。

技术特征:
1.基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:具体包括以下步骤:步骤1、数据收集与处理收集在线问诊过程中的医患对话数据,每段对话包括多个句子,按照对话顺序进行编号;然后标记对话的角色为医生或患者,最后标注句子中的症状实体、症状归一化标签和症状识别标签;一个句子表示为x={x1,x2,...,x
n
},x
i
表示该句子中的第i个字,n表示句子x的字数;步骤2、症状实体提取训练将步骤1处理后的对话数据输入roberta模型中,生成句子x对应的上下文相关向量s={s1,s2,...,s
n
},再将向量s输入bilstm模型中,得到句子x的文本向量表示其中d
h
是roberta模型的隐藏层维度;最后将文本向量表示h输入crf推理层中,输出最佳标记路径y
*
,与步骤1的标注数据进行比对,以最大化正确标签序列的似然概率为目标,进行模型参数调整:其中,表示真实标签值,s(x,y)表示标签序列y={y1,y2,...,y
n
}的得分函数,y
x
表示所有可能标签的集合;步骤3、症状识别训练筛选经过步骤1处理后,句子中存在有症状实体的对话数据,输入一种融合多特征信息的多任务学习架构进行训练,具体步骤如下:步骤3.1、生成句法特征信息对于存在症状实体的句子进行依存句法分析,构建无向关系图a,并使用ngram2vec生成句子对应的向量表示o={o1,o2,...,o
n
};将无向关系图a与向量o输入aggcn模型中,得到句法特征信息向量表示步骤3.2、生成角色特征信息使用角色编码器,根据对话文本的来源,分别对“医生”和“患者”两个角色标签进行嵌入表示,生成角色特征信息r;步骤3.3、特征融合与提取多任务学习架构的训练目标包括症状实体归一化和症状推理:

对于症状实体归一化目标,忽略症状实体的中间字,采用首尾拼接的形式d
i,j
进行表示,然后输入到第一mlp层中,对d
i,j
所属的归一化标签进行分类:p1=softmax(mlp1(d
i,j
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中p1表示归一化标签的概率;

对于症状推理目标,融合句法特征信息角色特征信息r和文本向量h,生成特征向量然后输入到第二mlp层中进行推理:其中p2表示存在症状、不存在症状和无法确定否存在症状的概率;
步骤3.4、模型训练对于症状实体归一化目标,设置损失函数为:loss1=-∑y
i
log(p
1i
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)对于症状推理目标设置损失函数为:症状识别训练的总损失函数为:loss=αloss1+βloss2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)其中,α和β是控制任务重要性的权重;步骤4、对话式问诊症状识别使用步骤2和步骤3保存的模型对未标注信息的对话数据进行症状识别,根据第二mlp层输出的p
i
值识别患者的症状信息,辅助医生完成病历填写。2.如权利要求1所述基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:步骤1中,症状实体的标注方法为:将症状词开始的字标注为b,症状词的其他字标注为i,句子中的其余字标注为o。3.如权利要求1所述基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:所述bilstm模型对于输入向量s,得到正向lstm输出序列和反向lstm输出序列将和按位置拼接得到句子x的文本向量表示按位置拼接得到句子x的文本向量表示其中,h
i
表示字x
i
对应的向量表示。4.如权利要求1所述基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:所述crf推理层对于给定输入序列h={h1,h2,...,h
n
},计算其标签序列y={y1,y2,...,y
n
}的得分函数s(x,y):其中为转移得分矩阵,k表示标签的个数,表示从标签y
i
到标签y
i+1
的转移得分,y0和y
n+1
分别表示句子的起始标签和终止标签;矩阵为bilstm层的输出,表示第i个得到标签y
i
的输出得分;然后利用维特比算法求进行动态规划推理,预测最佳标记路径y
*
:5.如权利要求1所述基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:所述aggcn模型利用矩阵a,通过多头注意力机制得到新的邻接矩阵所述aggcn模型利用矩阵a,通过多头注意力机制得到新的邻接矩阵
其中k=q=o
(l-1)
,l表示第l层,q、k为第l-1层的输出,t表示转置矩阵,和分别是当前q=k得到的第t个查询矩阵和键矩阵,d
head
是生成的数量;将输出的d
head
个矩阵使用线性组合层合并每个头部的输出,得到句法特征信息向量表示6.如权利要求1所述基于选择性多特征融合的对话式问诊症状识别方法,其特征在于:在步骤2和步骤3的训练过程中,使用bertadam优化器对步骤3中的模型进行优化,对于步骤2中的roberta模型,以5
×
10-5
的学习率来进行微调,其它神经网络模型使用1
×
10-3
的学习率进行微调,一共训练15轮,保存训练效果最好的模型。7.基于选择性多特征融合的对话式问诊症状识别装置,其特征在于:该装置用于实现如权利要求1~6任一所述的基于选择性多特征融合的对话式问诊症状识别方法,包括症状实体提取模块和症状识别模块;所述症状实体提取模块,使用一个roberta、bilstm和crf推理层级联的网络作为症状实体提取模型;将问诊过程的对话文本输入症状实体提取模型中,先通过roberta和bilstm生成文本相关的向量表示,再通过crf推理层识别文本向量表示中存在的症状实体,记录症状实体在句子中相对应的位置索引,并将存在症状实体的句子作为症状识别阶段的处理对象;所述症状识别模块,使用一种融合多特征信息的多任务学习架构;首先针对存在症状实体的对话文本进行句法分析,生成句子依存关系图,输入aggcn模型生成句法特征信息;然后使用角色编码器,针对存在症状实体的对话文本生成角色特征信息;然后将句法特征信息、角色特征信息以及存在症状实体的句子对应的文本相关的向量表示进行选择性融合,输出症状识别结果。

技术总结
本发明公开了基于选择性多特征融合的对话式问诊症状识别方法和用于实现该方法的装置。所述识别方法包括两个主要步骤,在症状实体识别部分,对文本中存在的症状实体进行识别,从而过滤掉干扰的文本数据;在症状推理部分,模型通过训练两个目标任务,根据任务预测的结果,推理出患者目前的症状信息。该方法融合了依存句法相关的上下文信息以及角色相关的信息,并根据任务的特点,选择性地融合了这些信息,使得模型提取的特征信息更加完备,同时模型的鲁棒性更好,在预测精度方面,明显高于其他模型,能够有效地识别出文本对话数据中存在的症状实体,辅助医生进行病情诊断和病历填写,提高医生问诊的效率。提高医生问诊的效率。提高医生问诊的效率。


技术研发人员:高志刚 张耀 岑伟鹏 吴丁杰 谭敏
受保护的技术使用者:杭州电子科技大学
技术研发日:2023.01.09
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐