CN112597304A - 一种问句分类方法及其应用 - Google Patents

一种问句分类方法及其应用 Download PDF

Info

Publication number
CN112597304A
CN112597304A CN202011520183.1A CN202011520183A CN112597304A CN 112597304 A CN112597304 A CN 112597304A CN 202011520183 A CN202011520183 A CN 202011520183A CN 112597304 A CN112597304 A CN 112597304A
Authority
CN
China
Prior art keywords
question
layer
gru
model
output
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.)
Pending
Application number
CN202011520183.1A
Other languages
English (en)
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202011520183.1A priority Critical patent/CN112597304A/zh
Publication of CN112597304A publication Critical patent/CN112597304A/zh
Pending legal-status Critical Current

Links

Images

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/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Machine Translation (AREA)

Abstract

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

Description

一种问句分类方法及其应用
技术领域
本发明涉及计算机技术领域,具体涉及一种问句分类方法及其应用,尤其涉及一种中文问句分类方法,特别涉及一种中文医疗问答***问句分类方法。
背景技术
随着网络技术的发展及应用普及,医疗问答***的应用前景十分广泛。用户可以通过医疗问答***了解相关的医学知识或咨询某些疾病的治疗方法。目前基于知识库的医疗问答***的主流构建方法是基于文本匹配的方法,即先识别问句中的相关实体和问句对应的类别,然后根据实体和问句类别从知识库中查找到答案,因此对问句进行准确分类是医疗问答***的重要基础。
现有医疗问答***的问句分类方法大体可分为两大类,一类是基于特征工程的方法,即利用工具获取问句的词性、句法等特征进行分类,该类方法先利用分词工具进行分词和词性标注,找出问句中的关键词和依存句法关系等特征,然后利用提取的特征进行分类,得到分类结果;另一类是基于深度学习的方法,即利用神经网络自动提取特征进行分类,如中国专利“CN110176315A医疗问答方法及***、电子设备、计算机可读介质”中提出了一种医疗问句分类的方法,该方法根据医疗问句所对应的文档主题信息和向量数据拼接得到包含词信息和主题信息的向量矩阵,并将该向量输入到双向门控循环单元,获得医疗咨询问句对应于每种类别的分数,取得分最高的类别为问句对应的类别。
中文医疗问答***的问句长短不一,语句中包含许多领域词汇,现有基于特征工程的方法需要进行人工抽取特征,可能导致特征提取不充分,影响问句分类准确度;而现有的基于双向门控循环单元的深度学习方法在构建问句的词向量时,每个词的向量表示都是固定的,不能解决词的歧义性问题,比如句子:“我最近心理包袱太大”、“昨天背的包袱太重了,今天腰痛”,两句话中的“包袱”在不同语境下含义不同,最终问句分类的结果也应不同;另外,门控循环单元容易遇到梯度消失和梯度***问题,训练比较困难。
发明内容
针对上述缺陷问题,本发明提供一种问句分类方法,可用于中文医疗问答***,该方法利用多层注意力机制在大规模语料库上训练好的BERT(Bidirectional EncoderRepresentations from Transformers)模型来获取问句的词向量表示,解决现有词向量的歧义性问题,并提出结合残差网络思想解决循环神经网络训练困难的缺陷,加快训练过程,让模型更快收敛,同时提升问句分类精度。
本发明通过下述技术方案实现:
一种问句分类方法,包括以下步骤:
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时刻的计算过程如下:
Figure BDA0002848690100000021
Figure BDA0002848690100000022
Figure BDA0002848690100000023
其中,xt表示GRU模型第一层t时刻输入的词向量,即问句中的第t个词对应的词向量,
Figure BDA0002848690100000024
表示GRU模型第一层t时刻更新门的输出,rt 1表示GRU模型第一层t时刻重置门的输出,
Figure BDA0002848690100000025
表示GRU模型第一层t时刻的隐藏状态,
Figure BDA0002848690100000026
是GRU模型第一层更新门中xt对应的参数矩阵,
Figure BDA0002848690100000027
是GRU模型第一层更新门中上一时刻隐藏状态
Figure BDA0002848690100000028
对应的参数矩阵,Wt 1是GRU第一层重置门中xt对应的参数矩阵,
Figure BDA0002848690100000029
是GRU模型第一层重置门中上一时刻隐藏状态
Figure BDA0002848690100000031
对应的参数矩阵,W1是GRU模型第一层输出门中xt对应的参数矩阵,U1是GRU模型第一层输出门中重置门输出rt 1与上一时刻隐藏状态
Figure BDA0002848690100000032
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure BDA0002848690100000033
表示两个向量的点积运算;
将问句向量vq={x1,x2,...,xk,...,xn}顺序输入到前向GRU网络,得到每个词对应的t时刻的隐藏状态
Figure BDA0002848690100000034
将问句向量逆序表示为
Figure BDA0002848690100000035
输入到后向GRU,得到每个词对应的t时刻的隐藏状态
Figure BDA0002848690100000036
将前
Figure BDA0002848690100000037
Figure BDA0002848690100000038
链接起来作为GRU第一层t时刻的输出
Figure BDA0002848690100000039
利用残差网络的思想,将原始问句的词向量表示xt与GRU第一层的输出
Figure BDA00028486901000000310
连接后的向量作为GRU第二层t时刻的输入,计算如下:
Figure BDA00028486901000000311
Figure BDA00028486901000000312
Figure BDA00028486901000000313
其中,
Figure BDA00028486901000000314
表示GRU模型第二层t时刻更新门的输出,rt 2表示GRU模型第二层t时刻重置门的输出,
Figure BDA00028486901000000315
表示GRU模型第二层t时刻的隐藏状态,Wz 2是GRU模型第二层更新门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA00028486901000000327
链接起来形成的向量对应的参数矩阵,
Figure BDA00028486901000000316
是GRU模型第二层更新门中上一时刻隐藏状态
Figure BDA00028486901000000317
对应的参数矩阵,Wt 2是GRU模型第二层重置门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA00028486901000000318
链接起来形成的向量对应的参数矩阵,
Figure BDA00028486901000000319
是GRU模型第二层重置门中上一时刻隐藏状态
Figure BDA00028486901000000320
对应的参数矩阵,W2是GRU模型第二层输出门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA00028486901000000321
链接起来形成的向量对应的参数矩阵,U2是GRU模型第二层输出门中重置门输出rt 2与上一时刻隐藏状态
Figure BDA00028486901000000322
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure BDA00028486901000000326
表示两个向量的点积运算。同理,将前向和后向GRU t时刻的输出
Figure BDA00028486901000000323
链接起来作为GRU第二层t时刻的输出
Figure BDA00028486901000000324
S312.注意力机制:
利用注意力机制给GRU模型第二层各个时刻的输出隐藏状态分配一个权重αi,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示hq,计算如下:
Figure BDA00028486901000000325
αt=softmax(et) (8);
Figure BDA0002848690100000041
其中,
Figure BDA0002848690100000042
表示GRU第2层t时刻的隐藏向量,WAttention是GRU第二层t时刻的隐藏状态
Figure BDA0002848690100000043
对应的参数矩阵,b是偏执向量。
进一步优选,步骤S32中,训练过程选取交叉熵作为损失函数,计算如下:
Figure BDA0002848690100000044
其中,pi是线性层的输出,代表问句为第i个类别的概率,N表示问句的类别数,yi表示该问句的分类输出是否与问句的真实类别标签相等,yi∈{0,1},若模型输出该问句的类别标签与真实标签相等,yi为1,否则yi为0。
进一步优选,所述预训练的BERT模型采用谷歌开源的768维中文词向量。
进一步优选,所述预训练的BERT模型,训练批处理大小设置为16,学习率设置为0.001,BERT微调学习率为0.00005,利用Adam作为优化器。
进一步优选,在步骤S1前还包括问句数据收集,收集相关领域内一定数量的问句,进行标注分类,每个问句对应一个类别。
进一步优选,采集医疗领域问句,分为16个类别,分别是:疾病常用药物、疾病宜吃食物、疾病所需检查项目、疾病忌吃食物、疾病推荐药物、疾病症状、疾病并发疾病、疾病治疗科室、疾病治疗方法、疾病治疗时间、疾病治愈概率、疾病治疗花费、疾病预防措施、疾病病因、疾病描述和疾病传染性。
上述的一种问句分类方法的应用,用于医疗领域问答***,进行中文问句分类。
本发明具有如下的优点和有益效果:
本发明通过预训练的BERT模型,利用了大规模语料下训练得到问句的词向量表示,每个词在不同的问句下都会有不用的向量表示;利用两层双向GRU网络结构处理文本序列,结合残差网络的思想,将原始的词向量与GRU网络第一层输出相结合后作为GRU第二层输入,可以加快模型的收敛速度,并利用注意力机制来关注问句的重要特征,提升问句分类精度。
与以往的word2vec、Glove等词向量生成方法相比,本方案采用BERT模型预训练得到问句的词向量表示,能够解决不同语境下词向量的歧义性问题;与原始BERT模型相比,本方案利用GRU模型能够进一步捕获问句文本的依赖性问题,同时利用注意力机制对问句分类影响更大的特征赋予较高的权值,使得医疗问答***中问句分类精度有进一步提升。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明一种中文医疗问答***问句分类方法的总体流程;
图2为本发明总体框架的模型架构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
本实施例提供了一种中文医疗问答***问句分类方法,具体采用以下步骤:
S1.医疗问句数据收集:
从网站(http://jib.xywy.com/)上开放的医患对话数据中获取1250条医疗领域问句,并进行人工标注,每个问句对应一个类别。问句分为16个类别,分别是疾病常用药物、疾病宜吃食物、疾病所需检查项目、疾病忌吃食物、疾病推荐药物、疾病症状、疾病并发疾病、疾病治疗科室、疾病治疗方法、疾病治疗时间、疾病治愈概率、疾病治疗花费、疾病预防措施、疾病病因、疾病描述和疾病传染性。
S2.问句预处理:通过词表映射的方法将问句中的繁体字化为简体字,利用常见停用词表对问句进行匹配,去除问句中的停用词,经过预处理的每个问句可表示为q={q1,q2,...,qk,...,qn},其中qk表示问句中第k个词语,n是问句的词语总数。
S3.问句的向量表示:利用预训练的BERT模型,将问句q映射表示为向量vq={x1,x2,...,xk,...,xn},其中xk表示词语qk对应的词向量。本实施例BERT模型词向量采用谷歌开源的768维中文词向量,训练批处理大小设置为16,学习率设置为0.001,BERT微调学习率为0.00005,利用Adam作为优化器。
S4.建立问句分类模型:采用带注意力机制的两层双向GRU模型提取问句高级特征,前向GRU处理问句的顺序输入,后向GRU处理问句的逆序输入;
S41.问句高级特征提取:利用两层双向GRU网络结构处理文本序列,结合残差网络的思想,将原始的词语向量与GRU网络第一层输出相结合后作为GRU第二层输入;利用注意力机制给GRU第二层各个时刻的输出隐藏状态分配一个权重,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示;
本方案采用带注意力机制的两层双向GRU(Gate Recurrent Unit)模型提取问句高级特征,前向GRU处理问句的顺序输入,后向GRU处理问句的逆序输入,模型结构如图2。
S411.双向GRU模型:
GRU模型的第一层t时刻的计算过程如下:
Figure BDA0002848690100000061
Figure BDA0002848690100000062
Figure BDA0002848690100000063
其中,xt表示GRU模型第一层t时刻输入的词向量,即问句中的第t个词对应的词向量,
Figure BDA0002848690100000064
表示GRU模型第一层t时刻更新门的输出,rt 1表示GRU模型第一层t时刻重置门的输出,
Figure BDA0002848690100000065
表示GRU模型第一层t时刻的隐藏状态,
Figure BDA00028486901000000629
是GRU模型第一层更新门中xt对应的参数矩阵,
Figure BDA0002848690100000066
是GRU模型第一层更新门中上一时刻隐藏状态
Figure BDA0002848690100000067
对应的参数矩阵,Wt 1是GRU第一层重置门中xt对应的参数矩阵,
Figure BDA0002848690100000068
是GRU模型第一层重置门中上一时刻隐藏状态
Figure BDA0002848690100000069
对应的参数矩阵,W1是GRU模型第一层输出门中xt对应的参数矩阵,U1是GRU模型第一层输出门中重置门输出rt 1与上一时刻隐藏状态
Figure BDA00028486901000000610
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure BDA00028486901000000611
表示两个向量的点积运算;
将问句向量vq={x1,x2,...,xk,...,xn}顺序输入到前向GRU网络,得到每个词对应的t时刻的隐藏状态
Figure BDA00028486901000000612
将问句向量逆序表示为
Figure BDA00028486901000000613
输入到后向GRU,得到每个词对应的t时刻的隐藏状态
Figure BDA00028486901000000614
将前
Figure BDA00028486901000000615
Figure BDA00028486901000000616
链接起来作为GRU第一层t时刻的输出
Figure BDA00028486901000000617
利用残差网络的思想,将原始问句的词向量表示xt与GRU第一层的输出
Figure BDA00028486901000000618
连接后的向量作为GRU第二层t时刻的输入,计算如下:
Figure BDA00028486901000000619
Figure BDA00028486901000000620
Figure BDA00028486901000000621
其中,
Figure BDA00028486901000000622
表示GRU模型第二层t时刻更新门的输出,rt 2表示GRU模型第二层t时刻重置门的输出,
Figure BDA00028486901000000623
表示GRU模型第二层t时刻的隐藏状态,Wz 2是GRU模型第二层更新门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA00028486901000000624
链接起来形成的向量对应的参数矩阵,
Figure BDA00028486901000000625
是GRU模型第二层更新门中上一时刻隐藏状态
Figure BDA00028486901000000626
对应的参数矩阵,Wt 2是GRU模型第二层重置门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA00028486901000000627
链接起来形成的向量对应的参数矩阵,
Figure BDA00028486901000000628
是GRU模型第二层重置门中上一时刻隐藏状态
Figure BDA0002848690100000071
对应的参数矩阵,W2是GRU模型第二层输出门中xt与GRU模型第一层t时刻隐藏状态
Figure BDA0002848690100000072
链接起来形成的向量对应的参数矩阵,U2是GRU模型第二层输出门中重置门输出rt 2与上一时刻隐藏状态
Figure BDA0002848690100000073
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure BDA00028486901000000711
表示两个向量的点积运算。同理,将前向和后向GRU t时刻的输出
Figure BDA0002848690100000074
链接起来作为GRU第二层t时刻的输出
Figure BDA0002848690100000075
S412.注意力机制:
利用注意力机制给GRU模型第二层各个时刻的输出隐藏状态分配一个权重αi,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示hq,计算如下:
Figure BDA0002848690100000076
αt=softmax(et) (8)
Figure BDA0002848690100000077
其中,
Figure BDA0002848690100000078
表示GRU第2层t时刻的隐藏向量,WAttention是GRU第二层t时刻的隐藏状态
Figure BDA0002848690100000079
对应的参数矩阵,b是偏执向量。
S42.问句类别概率计算:将步骤S31得到的句子高级特征表示输入到一个线性层进行分类,输出每个类别对应的概率,概率最高的类别作为模型预测的问句类别。
S43.代价函数与迭代训练:将问句数据集划分为训练集和测试集,使用训练样本对模型进行训练,最终获得问句分类模型;训练过程选取交叉熵作为损失函数,计算如下:
Figure BDA00028486901000000710
其中,pi是线性层的输出,代表问句为第i个类别的概率,N表示问句的类别数,yi表示该问句的分类输出是否与问句的真实类别标签相等,yi∈{0,1},若模型输出该问句的类别标签与真实标签相等,yi为1,否则yi为0。
S5.新问句分类:对于一个用户输入的问句,经过步骤S1的预处理,然后经过步骤S2将问句向量化,输入到训练好的问句分类模型,得到分类结果。
实施例2
基于实施例1给出的方案,下面通过具体的实例并结合附图2对本发明作进一步详细地描述。在此具体实施例中,以问句“白血病能不能治好?”为例,我们先对文本做一个预处理,通过BERT模型获取到句子每个词对应的词向量xi,句子可表示为vq,然后将其输入到一个2层的双向GRU网络,GRU网络第一层的输入是BERT模型获取到的词向量,通过第一层我们可以提取到各个词的隐藏状态
Figure BDA0002848690100000081
将原始词向量xi和GRU网络的第一层的隐藏状态向量
Figure BDA0002848690100000082
进行联结,输入到GRU的第二层,提取到各个词的高级隐藏状态
Figure BDA0002848690100000083
其后利用注意力层给GRU网络的第二层的隐藏状态向量
Figure BDA0002848690100000084
学习权重αi,利用学习到的权重对GRU网络的第二层的隐藏状态向量进行相加得到最终的高级特征表示hq,最终将其输入到一个线性层进行分类操作,输出问句的类别为“疾病治愈概率”。
采用相同数据集和参数,分别用双向门控循环单元BiGRU、BERT模型和本方案提出的模型(BERT+BiGRU+Attention)进行实验测试,结果如表1所示。结果表明,本发明方案的问句分类精度和F1分数都好于其他模型。
表1实验结果对比
Figure BDA0002848690100000085
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

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时刻的计算过程如下:
Figure FDA0002848690090000011
Figure FDA0002848690090000012
Figure FDA0002848690090000013
其中,xt表示GRU模型第一层t时刻输入的词向量,
Figure FDA0002848690090000014
表示GRU模型第一层t时刻更新门的输出,rt 1表示GRU模型第一层t时刻重置门的输出,
Figure FDA0002848690090000015
表示GRU模型第一层t时刻的隐藏状态,
Figure FDA0002848690090000016
是GRU模型第一层更新门中xt对应的参数矩阵,
Figure FDA0002848690090000017
是GRU模型第一层更新门中上一时刻隐藏状态
Figure FDA0002848690090000018
对应的参数矩阵,Wt 1是GRU第一层重置门中xt对应的参数矩阵,
Figure FDA0002848690090000019
是GRU模型第一层重置门中上一时刻隐藏状态
Figure FDA00028486900900000110
对应的参数矩阵,W1是GRU模型第一层输出门中xt对应的参数矩阵,U1是GRU模型第一层输出门中重置门输出rt 1与上一时刻隐藏状态
Figure FDA0002848690090000021
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure FDA0002848690090000022
表示两个向量的点积运算;
将问句向量vq={x1,x2,...,xk,...,xn}顺序输入到前向GRU网络,得到每个词对应的t时刻的隐藏状态
Figure FDA0002848690090000023
将问句向量逆序表示为
Figure FDA0002848690090000024
输入到后向GRU,得到每个词对应的t时刻的隐藏状态
Figure FDA0002848690090000025
将前
Figure FDA0002848690090000026
Figure FDA0002848690090000027
链接起来作为GRU第一层t时刻的输出
Figure FDA0002848690090000028
利用残差网络的思想,将原始问句的词向量表示xt与GRU第一层的输出
Figure FDA0002848690090000029
连接后的向量作为GRU第二层t时刻的输入,计算如下:
Figure FDA00028486900900000210
Figure FDA00028486900900000211
Figure FDA00028486900900000212
其中,
Figure FDA00028486900900000213
表示GRU模型第二层t时刻更新门的输出,rt 2表示GRU模型第二层t时刻重置门的输出,
Figure FDA00028486900900000214
表示GRU模型第二层t时刻的隐藏状态,
Figure FDA00028486900900000215
是GRU模型第二层更新门中xt与GRU模型第一层t时刻隐藏状态
Figure FDA00028486900900000216
链接起来形成的向量对应的参数矩阵,
Figure FDA00028486900900000217
是GRU模型第二层更新门中上一时刻隐藏状态
Figure FDA00028486900900000218
对应的参数矩阵,Wt 2是GRU模型第二层重置门中xt与GRU模型第一层t时刻隐藏状态
Figure FDA00028486900900000219
链接起来形成的向量对应的参数矩阵,
Figure FDA00028486900900000220
是GRU模型第二层重置门中上一时刻隐藏状态
Figure FDA00028486900900000221
对应的参数矩阵,W2是GRU模型第二层输出门中xt与GRU模型第一层t时刻隐藏状态
Figure FDA00028486900900000222
链接起来形成的向量对应的参数矩阵,U2是GRU模型第二层输出门中重置门输出rt 2与上一时刻隐藏状态
Figure FDA00028486900900000223
点积运算结果对应的参数矩阵,σ(.)表示sigmoid激活函数,tanh(.)表示双曲正切函数,
Figure FDA00028486900900000224
表示两个向量的点积运算。同理,将前向和后向GRU t时刻的输出
Figure FDA00028486900900000225
链接起来作为GRU第二层t时刻的输出
Figure FDA00028486900900000226
S312.注意力机制:
利用注意力机制给GRU模型第二层各个时刻的输出隐藏状态分配一个权重αi,最终将各个时刻的隐藏状态累加起来得到最终的句子高级特征表示hq,计算如下:
Figure FDA00028486900900000227
αt=softmax(et) (8)
Figure FDA0002848690090000031
其中,
Figure FDA0002848690090000032
表示GRU第2层t时刻的隐藏向量,WAttention是GRU第二层t时刻的隐藏状态
Figure FDA0002848690090000033
对应的参数矩阵,b是偏执向量。
3.根据权利要求1所述的一种问句分类方法,其特征在于,步骤S32中,训练过程选取交叉熵作为损失函数,计算如下:
Figure FDA0002848690090000034
其中,pi是线性层的输出,代表问句为第i个类别的概率,N表示问句的类别数,yi表示该问句的分类输出是否与问句的真实类别标签相等,yi∈{0,1},若模型输出该问句的类别标签与真实标签相等,yi为1,否则yi为0。
4.根据权利要求1所述的一种问句分类方法,其特征在于,所述预训练的BERT模型采用谷歌开源的768维中文词向量。
5.根据权利要求4所述的一种问句分类方法,其特征在于,所述预训练的BERT模型,训练批处理大小设置为16,学习率设置为0.001,BERT微调学习率为0.00005,利用Adam作为优化器。
6.根据权利要求1至5任一项所述的一种问句分类方法,其特征在于,在步骤S1前还包括问句数据收集,收集相关领域内一定数量的问句,进行标注分类,每个问句对应一个类别。
7.根据权利要求6所述的一种问句分类方法,其特征在于,采集医疗领域问句,分为16个类别,分别是:疾病常用药物、疾病宜吃食物、疾病所需检查项目、疾病忌吃食物、疾病推荐药物、疾病症状、疾病并发疾病、疾病治疗科室、疾病治疗方法、疾病治疗时间、疾病治愈概率、疾病治疗花费、疾病预防措施、疾病病因、疾病描述和疾病传染性。
8.权利要求1至7任一项所述的一种问句分类方法的应用,其特征在于,用于医疗领域问答***,进行中文问句分类。
CN202011520183.1A 2020-12-21 2020-12-21 一种问句分类方法及其应用 Pending CN112597304A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011520183.1A CN112597304A (zh) 2020-12-21 2020-12-21 一种问句分类方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011520183.1A CN112597304A (zh) 2020-12-21 2020-12-21 一种问句分类方法及其应用

Publications (1)

Publication Number Publication Date
CN112597304A true CN112597304A (zh) 2021-04-02

Family

ID=75199778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011520183.1A Pending CN112597304A (zh) 2020-12-21 2020-12-21 一种问句分类方法及其应用

Country Status (1)

Country Link
CN (1) CN112597304A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239162A (zh) * 2021-05-11 2021-08-10 山东新一代信息产业技术研究院有限公司 一种用于智能问答的文本嵌入式表达方法
CN116796197A (zh) * 2022-12-22 2023-09-22 华信咨询设计研究院有限公司 一种医疗短文本相似度匹配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113239162A (zh) * 2021-05-11 2021-08-10 山东新一代信息产业技术研究院有限公司 一种用于智能问答的文本嵌入式表达方法
CN116796197A (zh) * 2022-12-22 2023-09-22 华信咨询设计研究院有限公司 一种医疗短文本相似度匹配方法

Similar Documents

Publication Publication Date Title
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
CN110210037B (zh) 面向循证医学领域的类别检测方法
CN109472024B (zh) 一种基于双向循环注意力神经网络的文本分类方法
CN108363743B (zh) 一种智能问题生成方法、装置和计算机可读存储介质
CN107943784B (zh) 基于生成对抗网络的关系抽取方法
CN108460089A (zh) 基于Attention神经网络的多元特征融合中文文本分类方法
CN111738003B (zh) 命名实体识别模型训练方法、命名实体识别方法和介质
CN108846017A (zh) 基于Bi-GRU和字向量的大规模新闻文本的端到端分类方法
CN107025284A (zh) 网络评论文本情感倾向的识别方法及卷积神经网络模型
CN110502753A (zh) 一种基于语义增强的深度学习情感分析模型及其分析方法
CN110287323B (zh) 一种面向目标的情感分类方法
CN112232087B (zh) 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法
CN110083710A (zh) 一种基于循环神经网络与潜变量结构的词语定义生成方法
CN111310474A (zh) 基于激活-池化增强bert模型的在线课程评论情感分析方法
CN112732916A (zh) 一种基于bert的多特征融合模糊文本分类模型
CN111400455A (zh) 基于知识图谱的问答***的关系检测方法
CN110717330A (zh) 基于深度学习的词句级短文本分类方法
CN113948217B (zh) 一种基于局部特征整合的医学嵌套命名实体识别方法
CN112347766A (zh) 一种处理微博文本认知歪曲的多标签分类方法
CN111753088A (zh) 一种自然语言信息的处理方法
CN112597304A (zh) 一种问句分类方法及其应用
CN114254645A (zh) 一种人工智能辅助写作***
CN114417851A (zh) 一种基于关键词加权信息的情感分析方法
Ruwa et al. Affective visual question answering network
CN111581364A (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