HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种基于多任务和知识引导的医疗咨询对话生成方法与流程

2021-01-08 13:01:00|310|起点商标网
一种基于多任务和知识引导的医疗咨询对话生成方法与流程
本发明属于自然语言处理
技术领域:
,具体涉及一种基于多任务和知识引导的医疗咨询对话生成方法。
背景技术:
:近年来,随着互联网技术的迅速发展和普及,在线医疗网站开始进入人们的生活中,例如求医网、寻医问药网、家庭医生在线网等。越来越多的患者或患者亲属选择通过在线咨询的方式,向医生咨询医疗健康相关的问题。这种方法有着高效且方便的优点,极大促进了医生和患者之间的医疗健康交流。但是,目前参与在线医疗咨询服务的医生人数有限,很多患者的在线医疗咨询,往往不能得到及时的专业答复。经过多年的研究,人工智能技术在自然语言处理方面持续发展并逐渐成熟,越来越多的机构利用人工智能技术构建了自动答复的对话系统,根据用户输入的问题,通过机器学习模型自动获得最匹配的咨询答复。这种方法在有效地减轻医生的工作量的同时,满足了大量用户的咨询请求[程梦卓,董兰芳.面向消化内科辅助诊疗的生成式对话系统[j].计算机系统应用,2019,28(10):53-60.]。对话系统最早起源于艾伦.图灵提出的图灵测试,初衷是提高计算机的智能程度,以达到模仿人类与人类进行交互的目的。随着时间的发展,对话系统开始被设计用于在线商品导购、智能问答、聊天、心理咨询等用途。近年来,基于商业目的而设计的对话助理在学术界和工业界都得到了很大的关注,例如微软的小冰、小娜,以及阿里巴巴的阿里小蜜等。传统的构建方法将对话系统分成多个模块,分别负责识别输入句子的领域类别、抽取输入句子包含的关键词语、识别输入句子表达的意图、追踪对话的状态、预测答复的对话行为等。由于每个模块都需要人工进行标签的定义和标注,传统的对话系统构建方法经常需要花费大量的人力和时间。因而,传统的对话系统构建方法存在着一定的局限性。对话生成技术将对话视为一个文本到文本的过程,它将一个句子作为输入,另一个句子作为输出标签进行训练,因而通过对话生成技术构建对话系统所需要耗费的人力和时间远少于传统的构建方法。随着深度学习技术的迅猛发展,越来越多的研究工作开始关注如何通过对话生成技术构建对话系统。近年来,基于深度学习技术的对话生成模型取得了极大的进展,这些工作证明了深度学习在在构建对话系统上的巨大潜力。虽然基于深度学习的对话生成模型能够较好地对当前对话的上下文进行建模,但是由于缺少知识的指引,这些模型会生成一些质量不好的句子,例如偏离输入句子的主题、不包含有参考意义的信息等。为此,许多学者在深度学习的基础上,引入用户个人信息、情感信息等更多外部的信息,或者把检索得到的候选答复输入到模型中,从而提高对话生成的句子的质量。目前针对在线医疗咨询文本进行对话生成的研究不多,如何使用了医疗相关知识改善在线医疗咨询对话生成任务的效果,是一项亟待解决的工作。技术实现要素:有鉴于此,为解决上述现有技术中的问题,本发明提供了一种基于多任务和知识引导的医疗咨询对话生成方法,通过在多源对话生成模型中引入疾病类别分类器和主题分类器进行多任务联合训练,以及利用疾病类别特征和主题特征构造模型的上下文向量,有效地提高了医疗咨询对话生成的质量。本发明至少通过如下技术方案之一实现。一种基于多任务和知识引导的医疗咨询对话生成方法,包括以下步骤:步骤1、采集和预处理医疗咨询数据;步骤2、采集疾病相关的知识,并从疾病相关的知识中整理出主题标签;步骤3、通过检索为当前的咨询问题检索出k个候选的咨询答复;步骤4、构建医疗咨询对话生成模型,在编码器-解码器的基础上构建多任务学习模型,以对话生成为主任务,疾病类别分类任务和疾病领域知识的主题分类任务作为辅助任务;步骤5、在步骤4的医疗咨询对话生成模型中,构造基于疾病类别特征的领域注意力机制和词注意力机制,将疾病类别特征引入解码器中;步骤6、在步骤4的医疗咨询对话生成模型中,构造主题注意力机制,将主题特征引入解码器中;步骤7、对步骤4的医疗咨询对话生成模型进行多任务联合训练。优选的,步骤1预处理方式包括分词、去除无用的符号和过滤噪声。优选的,步骤4所述的构建医疗咨询对话生成模型包括以下步骤:步骤41、在编码器-解码器的基础上加入疾病类别分类器,疾病类别分类器根据咨询问题的编码表示判断出咨询问题所属的疾病类别;步骤42、在疾病类别分类器的基础上加入主题分类器,主题分类器根据疾病类别特征预测该疾病领域知识的主题标签。优选的,所述步骤5中包括以下步骤:步骤51、根据疾病类别特征计算k个候选的咨询答复的重要性得分,利用重要性得分得到候选咨询答复的编码表示的加权和;将候选咨询答复的编码表示的加权和与咨询问题的编码表示拼接在一起进行线性变换,得到解码器的初始状态;步骤52、根据疾病类别特征和解码器在上一时间步的隐藏层输出计算所有输入句子的词重要性得分,并将所有输入句子的词编码表示的加权和作为词注意力机制输出的特征向量。优选的,步骤6所述的中主题注意力机制是根据咨询问题的编码表示计算主题特征的重要性得分,将主题特征的加权和与词注意力机制输出的特征向量拼接在一起,作为当前时间步的上下文向量。优选的,步骤7所述的训练是向医疗咨询对话生成模型输入的咨询问题和k个候选的咨询答复,利用疾病类别分类器和主题分类器判断咨询问题的疾病类别,预测该疾病领域知识的主题标签,并生成新的咨询答复。优选的,所述编码器主要由两个双向门控循环单元组成,其中一个双向门控循环单元负责对输入的咨询问题进行编码,另一个负责对候选的咨询答复进行编码。优选的,所述解码器采用的结构是单向门控循环单元;疾病类别分类器主要由多层感知机和softmax组成,主题分类器主要由两个多分类器组成。优选的,领域注意力机制和词注意力机制采用同样的权重计算函数,权重计算函数是:ei=tanh(q×m×vi)其中αi表示重要性得分,ei为第i个向量的热度值,q表示注意力机制的查询向量,vi表示键值向量,n表示归一化的范围,m是可训练的权重矩阵。优选的,疾病类别分类任务的损失函数是:其中分别表示对咨询问题进行编码的双向门控循环单元、疾病类别分类器的参数,ydom表示咨询问题的实际疾病类别,vq表示咨询问题的编码表示;对于疾病领域知识的主题分类任务,其损失函数是:其中表示主题分类器中第n个多标签分类器的参数,表示疾病领域第n个方面知识的主题标签,vdom是疾病类别特征,而咨询答复生成任务的损失函数是:其中表示对候选答复进行编码的双向门控循环单元的参数,θattn表示注意力机制的参数,θdec表示解码器的参数,yr表示实际的咨询答复,表示实际的咨询答复的第t个词;综合上述各个任务的损失函数,训练阶段的总损失函数是:其中的权重系数α、的权重系数β、的权重系数γ都是能够训练的参数。与现有技术比较,本发明具有以下优点和有益效果:1、本发明的通过引入疾病类别分类任务和疾病领域的知识主题分类任务,以多任务联合学习的方式共享任务间的信息。2、本发明的在疾病分类任务的基础上构建了一个疾病领域的知识主题分类任务,逐步地引入了医疗咨询领域的相关知识。3、本发明的通过三种注意力机制,把疾病类别特征和主题特征引入了对话生成任务中,给咨询答复的生成过程提供了咨询相关的知识,能有效提高咨询答复的生成质量,让模型生成更契合患者病情、更具有针对性的答复,具有一定的市场价值和推广价值。附图说明图1为本实施例的一种基于多任务和知识引导的医疗咨询对话生成方法的总流程图;图2为本实施例的一种基于多任务和知识引导的医疗咨询对话生成方法的模型网络结构图。具体实施方式下面将结合附图和具体的实施例对本发明的具体实施作进一步说明。需要指出的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。如图1和图2所示,为本发明的一种基于多任务和知识引导的医疗咨询对话生成方法的总流程图,主要分成以下几个步骤:s1、采集和预处理医疗咨询数据,数据是通过爬虫从在线医疗咨询网站上获取的,包括咨询问题、咨询的答复、咨询涉及的疾病名称;预处理方式包括分词、去除无用的符号、过滤噪声样本;s2、采集疾病相关知识,并将疾病相关知识整理成主题标签,具体的,分别为每个方面的知识设计主题标签,同时将每个方面的知识分成多个片段,每个片段分别用一个主题标签表示。其中,一个方面的知识有多个主题标签;s3、利用检索根据当前用户提出的咨询问题与咨询语料库的咨询问题的相似程度,检索出k个候选的咨询答复。当前的咨询问题检索出k=2个候选的咨询答复;s4、构建医疗咨询对话生成模型,在编码器-解码器的基础上构建多任务模型,加入疾病类别分类任务和疾病领域的知识主题分类任务,分别用于完成咨询问题的疾病分类任务和疾病领域的知识主题分类任务,其中,解码器由循环神经网络组成,疾病类别分类器根据编码器对咨询问题的编码表示判断出咨询问题所属的疾病类别,而主题分类器包含多个多分类器,每个多分类器分别对疾病类别特征作进一步的特征提取,然后预测出该疾病领域某个方面知识的主题;s5、在步骤4的医疗咨询对话生成模型中,构造基于疾病类别特征的领域注意力机制和词注意力机制,分别将疾病类别特征引入解码器中。领域注意力机制的输出向量与咨询问题的编码表示拼接成一个向量,经过线性变换后得到解码器的初始状态。在词注意力机制中,疾病类别特征和和解码器在上一时间步的隐藏层输出拼接成一个向量,用于评估所有输入句子的词重要性得分,所有输入句子的词编码表示的加权和作为词注意力机制输出的特征向量;s6、在步骤4的医疗咨询对话生成模型中,构造基于主题特征的主题注意力机制。主题注意力的输出向量与词注意力机制输出的特征向量拼接在一起,作为当前时间步的上下文向量。s7、对步骤4的医疗咨询对话生成模型进行多任务联合训练。其中咨询问题和k个候选的咨询答复是模型的输入,疾病类别、疾病领域的知识主题和生成的回复是模型的输出。步骤s1中,采集的医疗咨询数据包括病人或病人家属咨询的问题、医生对咨询问题的答复以及咨询所属的疾病类别。步骤s2中,采集疾病相关知识包括疾病的预防方案的文本描述和治疗方案文本描述。在整理主题标签的过程中,疾病的预防方案和治疗方案分别被拆分成多个片段,每个片段分别用一个主题标签表示,表1显示口腔溃疡疾病的主题标签组织方式。其中,预防方案的主题标签集合与治疗方案的不重合。表1口腔溃疡疾病的主题标签组织方式步骤s3中,采用开放源代码的全文搜索引擎工具包lucene对语料库中的咨询问题-咨询答复中的咨询问题建立逆索引。在检索过程中,通过lucene对比语料库中的咨询问题与当前的咨询问题的相似程度进行评分,把评分最高的k=2个咨询问题-咨询答复中的咨询答复作为候选的咨询答复。所述编码器主要由两个双向门控循环单元组成,其中一个双向门控循环单元负责对输入的咨询问题进行编码,另一个负责对候选的咨询答复进行编码;解码器采用的结构是单向门控循环单元;疾病类别分类器主要由一层的多层感知机和softmax组成,疾病类别分类器以编码器对输入的咨询问题的向量表示作为输入,通过多层感知机提取出疾病类别特征,然后通过softmax进行疾病分类;主题分类器主要由两个多分类器组成,分别负责预测预防方案的主题和治疗方案的主题,每个多分类器由一层的多层感知机和sigmoid组成,先通过多层感知机对疾病类别特征作进一步的特征提取,获得主题特征,然后通过sigmoid进行多标签分类,预测疾病领域知识的主题。表2显示了编码器、解码器、疾病类别分类器和主题分类器的超参数设置。表2超参数设置名称值双向门控循环单元的隐藏层大小200单向门控循环单元的隐藏层大小200疾病类别分类器的多层感知机的单元数200主题分类器的多层感知机的单元数200步骤s5中的领域注意力机制和词注意力机制采用同样的权重计算函数,权重计算函数是:ei=tanh(q×m×vi)其中αi表示重要性得分,ei为第i个向量的热度值,q表示注意力机制的查询向量,vi表示键值向量,n表示归一化的范围,m是可训练的权重矩阵,需要注意的是,m在领域注意力机制和词注意力机制中不共享权重。在领域注意力机制中,疾病类别特征vdom是查询向量,咨询问题的编码表示和k个候选的咨询答复的编码表示是键值向量,n=k。咨询问题的编码表示与k个候选的咨询答复的编码表示的加权和拼接成一个向量并进行线性变换,得到解码器的初始状态;在词注意力机制中,疾病类别特征vdom和解码器在上一时间步的隐藏层输出拼接成查询向量,咨询问题的词编码表示和k个候选的咨询答复的词编码表示都是键值向量,计算得到的词权重在句子内进行归一化,即归一化的范围n是每个句子的词数,所有输入句子的词编码表示的加权和作为词注意力机制输出的特征向量。步骤s6中,主题注意力机制采用与上述的权重计算函数。在主题注意力机制中,咨询问题的编码表示是查询向量,疾病的预防方案的主题特征与治疗方案的主题特征作为键值向量,归一化的范围n是所有主题特征的数量。主题特征的加权和与词注意力机制输出的特征向量拼接在一起,得到当前时间步的上下文向量。步骤s7中,多任务联合训练包括咨询问题的疾病类别分类任务、疾病各个方面的主题预测任务、咨询答复生成任务。疾病类别分类任务的损失函数是:其中分别表示对咨询问题进行编码的双向门控循环单元、疾病类别分类器的参数,ydom表示咨询问题的实际疾病类别,vq表示咨询问题的编码表示。对于疾病领域知识的主题分类任务,其损失函数是:其中表示主题分类器中第n个多标签分类器的参数,表示疾病领域第n个方面知识的主题标签,vdom是疾病类别特征。而咨询答复生成任务的损失函数是:其中表示对候选答复进行编码的双向门控循环单元的参数,θattn表示注意力机制的参数,θdec表示解码器的参数,yr表示实际的咨询答复,表示实际的咨询答复的第t个词。综合上述各个任务的损失函数,训练阶段的总损失函数是:其中的权重系数α、的权重系数β、的权重系数γ都是可训练的参数。其中,训练过程中采用adam优化器,学习率设为0.003,训练的批大小设为16。以上为本发明的一个实施例,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
的技术人员在本发明所公开的范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都属于本发明的保护范围。当前第1页1 2 3 

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips