一种问句分类方法及其应用技术

技术编号:27935664 阅读:32 留言:0更新日期:2021-04-02 14:15
本发明专利技术公开了一种问句分类方法,本发明专利技术通过预训练的BERT模型,利用了大规模语句下训练得到问句的词向量表示,每个词在不同的问句下都会有不用的向量表示;利用两层双向GRU网络结构处理文本序列,结合残差网络的思想,将原始的词向量与GRU网络第一层输出相结合后作为GRU第二层输入,可以加快模型的收敛速度,并利用注意力机制来关注问句的重要特征,提升问句分类精度。本发明专利技术利用GRU模型能够进一步捕获问句文本的依赖性问题,同时利用注意力机制对问句分类影响更大的特征赋予较高的权值,使得医疗问答系统中问句分类精度有进一步提升。

【技术实现步骤摘要】
一种问句分类方法及其应用
本专利技术涉及计算机
,具体涉及一种问句分类方法及其应用,尤其涉及一种中文问句分类方法,特别涉及一种中文医疗问答系统问句分类方法。
技术介绍
随着网络技术的发展及应用普及,医疗问答系统的应用前景十分广泛。用户可以通过医疗问答系统了解相关的医学知识或咨询某些疾病的治疗方法。目前基于知识库的医疗问答系统的主流构建方法是基于文本匹配的方法,即先识别问句中的相关实体和问句对应的类别,然后根据实体和问句类别从知识库中查找到答案,因此对问句进行准确分类是医疗问答系统的重要基础。现有医疗问答系统的问句分类方法大体可分为两大类,一类是基于特征工程的方法,即利用工具获取问句的词性、句法等特征进行分类,该类方法先利用分词工具进行分词和词性标注,找出问句中的关键词和依存句法关系等特征,然后利用提取的特征进行分类,得到分类结果;另一类是基于深度学习的方法,即利用神经网络自动提取特征进行分类,如中国专利“CN110176315A医疗问答方法及系统、电子设备、计算机可读介质”中提出了一种医疗问句分类的方法,该方法根据医疗问句所对应的文档主题信息和向量数据拼接得到包含词信息和主题信息的向量矩阵,并将该向量输入到双向门控循环单元,获得医疗咨询问句对应于每种类别的分数,取得分最高的类别为问句对应的类别。中文医疗问答系统的问句长短不一,语句中包含许多领域词汇,现有基于特征工程的方法需要进行人工抽取特征,可能导致特征提取不充分,影响问句分类准确度;而现有的基于双向门控循环单元的深度学习方法在构建问句的词向量时,每个词的向量表示都是固定的,不能解决词的歧义性问题,比如句子:“我最近心理包袱太大”、“昨天背的包袱太重了,今天腰痛”,两句话中的“包袱”在不同语境下含义不同,最终问句分类的结果也应不同;另外,门控循环单元容易遇到梯度消失和梯度爆炸问题,训练比较困难。
技术实现思路
针对上述缺陷问题,本专利技术提供一种问句分类方法,可用于中文医疗问答系统,该方法利用多层注意力机制在大规模语料库上训练好的BERT(BidirectionalEncoderRepresentationsfromTransformers)模型来获取问句的词向量表示,解决现有词向量的歧义性问题,并提出结合残差网络思想解决循环神经网络训练困难的缺陷,加快训练过程,让模型更快收敛,同时提升问句分类精度。本专利技术通过下述技术方案实现:一种问句分类方法,包括以下步骤:S1.问句预处理:将收集到的相关领域的问句进行预处理,经过预处理的每个问句表示为q={q1,q2,...,qk,...,qn},其中qk表示问句中第k个词语,n是问句的词语总数;S2.问句的向量表示:利用预训练的BERT模型,将问句q映射表示为向量vq={x1,x2,...,xk,...,xn},其中xk表示词语qk对应的词向量;S3.建立问句分类模型:采用带注意力机制的两层双向GRU模型提取问句高级特征,前向GRU处理问句的顺序输入,后向GRU处理问句的逆序输入;S31.问句高级特征提取:利用两层双向GRU网络结构处理文本序列,结合残差网络的思想,将原始的词语向量与GRU网络第一层输出相结合后作为GRU第二层输入;利用注意力机制给GRU第二层各个时刻的输出隐藏状态分配一个权重,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示;S32.问句类别概率计算:将步骤S31得到的句子高级特征表示输入到一个线性层进行分类,输出每个类别对应的概率,概率最高的类别作为模型预测的问句类别;S33.代价函数与迭代训练:将问句数据集划分为训练集和测试集,使用训练样本对模型进行训练,最终获得问句分类模型;S4.新问句分类:对于一个用户输入的问句,经过步骤S1的预处理,然后经过步骤S2将问句向量化,输入到训练好的问句分类模型,得到分类结果。进一步优选,步骤S31具体包括以下步骤:S311.双向GRU模型:GRU模型的第一层t时刻的计算过程如下:其中,xt表示GRU模型第一层t时刻输入的词向量,即问句中的第t个词对应的词向量,表示GRU模型第一层t时刻更新门的输出,rt1表示GRU模型第一层t时刻重置门的输出,表示GRU模型第一层t时刻的隐藏状态,是GRU模型第一层更新门中xt对应的参数矩阵,是GRU模型第一层更新门中上一时刻隐藏状态对应的参数矩阵,Wt1是GRU第一层重置门中xt对应的参数矩阵,是GRU模型第一层重置门中上一时刻隐藏状态对应的参数矩阵,W1是GRU模型第一层输出门中xt对应的参数矩阵,U1是GRU模型第一层输出门中重置门输出rt1与上一时刻隐藏状态点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,表示两个向量的点积运算;将问句向量vq={x1,x2,...,xk,...,xn}顺序输入到前向GRU网络,得到每个词对应的t时刻的隐藏状态将问句向量逆序表示为输入到后向GRU,得到每个词对应的t时刻的隐藏状态将前和链接起来作为GRU第一层t时刻的输出利用残差网络的思想,将原始问句的词向量表示xt与GRU第一层的输出连接后的向量作为GRU第二层t时刻的输入,计算如下:其中,表示GRU模型第二层t时刻更新门的输出,rt2表示GRU模型第二层t时刻重置门的输出,表示GRU模型第二层t时刻的隐藏状态,Wz2是GRU模型第二层更新门中xt与GRU模型第一层t时刻隐藏状态链接起来形成的向量对应的参数矩阵,是GRU模型第二层更新门中上一时刻隐藏状态对应的参数矩阵,Wt2是GRU模型第二层重置门中xt与GRU模型第一层t时刻隐藏状态链接起来形成的向量对应的参数矩阵,是GRU模型第二层重置门中上一时刻隐藏状态对应的参数矩阵,W2是GRU模型第二层输出门中xt与GRU模型第一层t时刻隐藏状态链接起来形成的向量对应的参数矩阵,U2是GRU模型第二层输出门中重置门输出rt2与上一时刻隐藏状态点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,表示两个向量的点积运算。同理,将前向和后向GRUt时刻的输出链接起来作为GRU第二层t时刻的输出S312.注意力机制:利用注意力机制给GRU模型第二层各个时刻的输出隐藏状态分配一个权重αi,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示hq,计算如下:αt=softmax(et)(8);其中,表示GRU第2层t时刻的隐藏向量,WAttention是GRU第二层t时刻的隐藏状态对应的参数矩阵,b是偏执向量。进一步优选,步骤S32中,训练过程选取交叉熵作为损失函数,计算如下:其中,pi是线性层的输出,代表问句为第i个类别的概率,N表示问句的类别数,yi表示该问句的分类输出是否与问句的真实类别标签相等,yi∈{0,1},若模型输出该问句的类别标签本文档来自技高网
...

【技术保护点】
1.一种问句分类方法,其特征在于,包括以下步骤:/nS1.问句预处理:将收集到的相关领域的问句进行预处理,经过预处理的每个问句表示为q={q

【技术特征摘要】
1.一种问句分类方法,其特征在于,包括以下步骤:
S1.问句预处理:将收集到的相关领域的问句进行预处理,经过预处理的每个问句表示为q={q1,q2,...,qk,...,qn},其中qk表示问句中第k个词语,n是问句的词语总数;
S2.问句的向量表示:利用预训练的BERT模型,将问句q映射表示为向量vq={x1,x2,...,xk,...,xn},其中xk表示词语qk对应的词向量;
S3.建立问句分类模型:采用带注意力机制的两层双向GRU模型提取问句高级特征,前向GRU处理问句的顺序输入,后向GRU处理问句的逆序输入;
S31.问句高级特征提取:利用两层双向GRU网络结构处理文本序列,结合残差网络的思想,将原始的词语向量与GRU网络第一层输出相结合后作为GRU第二层输入;利用注意力机制给GRU第二层各个时刻的输出隐藏状态分配一个权重,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示;
S32.问句类别概率计算:将步骤S31得到的句子高级特征表示输入到一个线性层进行分类,输出每个类别对应的概率,概率最高的类别作为模型预测的问句类别;
S33.代价函数与迭代训练:将问句数据集划分为训练集和测试集,使用训练样本对模型进行训练,最终获得问句分类模型;
S4.新问句分类:对于一个用户输入的问句,经过步骤S1的预处理,然后经过步骤S2将问句向量化,输入到训练好的问句分类模型,得到分类结果。


2.根据权利要求1所述的一种问句分类方法,其特征在于,步骤S31具体包括以下步骤:
S311.双向GRU模型:
GRU模型的第一层t时刻的计算过程如下:









其中,xt表示GRU模型第一层t时刻输入的词向量,表示GRU模型第一层t时刻更新门的输出,rt1表示GRU模型第一层t时刻重置门的输出,表示GRU模型第一层t时刻的隐藏状态,是GRU模型第一层更新门中xt对应的参数矩阵,是GRU模型第一层更新门中上一时刻隐藏状态对应的参数矩阵,Wt1是GRU第一层重置门中xt对应的参数矩阵,是GRU模型第一层重置门中上一时刻隐藏状态对应的参数矩阵,W1是GRU模型第一层输出门中xt对应的参数矩阵,U1是GRU模型第一层输出门中重置门输出rt1与上一时刻隐藏状态点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,表示两个向量的点积运算;
将问句向量vq={x1,x2,...,xk,...,xn}顺序输入到前向GRU网络,得到每个词对应的t时刻的隐藏状态将问句向量逆序表示为输入到后向GRU,得到每个词对应的t时刻的隐藏状态将前和链接起来作为GRU第一层t时刻的输出
利用残差网络的思想,将原始问句的词向量表示xt与GRU第一层的输出连接后的向量作为GRU第二层t时刻的输入,计算如下:









其...

【专利技术属性】
技术研发人员:杨世刚刘勇国杨尚明李巧勤朱嘉静张云
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1