【技术实现步骤摘要】
一种基于BERT和独立循环神经网络的问句分类方法
[0001]本专利技术属于自然语言处理领域,具体涉及一种基于BERT和独立循环神经网络(IndRNN)的问句分类方法。
技术介绍
[0002]自然语言处理(NaturalLanguageProcessing,NLP)也称自然语言理解(NaturalLanguageUnderstanding,NLU),是利用计算机为工具对人类特有的书面形式和口头形式的自然语言的信息进行各种类型处理和加工的技术,问答系统是自然语言处理的一个研究方向,即通过计算机系统对用户提出的问题的理解,利用自动推理等手段,在有关知识资源中自动求解答案并作出相应的回答,主要包含文本理解、信息检索和答案抽取三部分。对于社区问答来说,用户使用自然语言的表达方式提出问题,而其他用户通过用户的问题贡献自己的答案。用户通过社区问答搜索到自己想要的问题和答案。问句理解是对问题的类别进行确认,从而为社区问答系统的信息检索过程缩小问题和答案的搜索范围,提高准确性,所以提高社区问答问句分类准确性,是提高社区问答系统整体可用性可靠性的必要条件。
[0003]在问句分类之前需要对问句类别进行确定。目前对于中文问句的分类并没有一个统一的标准,在国际中比较的权威的分类体系是UIUC问句分类体系,这是一个基于答案类型的层次分类体系。但是UIUC分类体系是针对英文类别的,在中文问句分类体系方面,哈工大在UIUC的分类系统的基础上根据汉语固有的特点定义了一套中文分类体系,主要包含七个大类:人物、地点、数字、时间、实体、描述、未
【技术保护点】
【技术特征摘要】
1.一种基于BERT和独立循环神经网络的问句分类方法,其特征在于,包括:实时获取待分类的问句数据,将待分类的问句数据输入到训练好的问句分类模型中,得到分类后的数据;问句分类模型包括BERT模型和基于注意力机制的独立循环神经网络IndRNN模型;对问句分类模型进行训练的过程包括:S1:获取社区问答问句原始数据集,对社区问答问句原始数据集进行预处理,得到训练集、验证集和测试集;S2:将训练集中的数据输入到BERT模型中提取特征,得到含有语义特征的序列向量;S3:将含有语义特征的序列向量输入到基于注意力机制的IndRNN模型中,得到独立循环神经网络隐藏状态;S4:将独立循环神经网络的隐藏状态进行叠加,在进行叠加过程中采用注意力机制捕获上下文的相关信息,得到神经网络输出结果;S5:将神经网络的输出结果输入到softmax层,得到分类结果;S6:根据分类结果计算基于注意力机制的IndRNN模型的损失函数;S7:采用Adam算法对损失函数进行优化,对基于注意力机制的IndRNN模型反向传播训练,不断修改、更新各层神经元的参数值以及连接权重;S8:将验证集中的数据输入到问句分类模型中,确定模型参数的最佳值,使误差值达到最小,完成问句分类模型的训练;S9:将测试集中的数据输入到训练好的问句分类模型中,得到预测结果。2.根据权利要求1所述的一种基于BERT和独立循环神经网络的问句分类方法,其特征在于,对社区问答问句原始数据集进行预处理的过程包括:对数据集进行清洗,去除数据集中重复和残缺的问句语句;将清洗后的数据集按70%:15%:15%的比例划分为训练集、验证集和测试集。3.根据权利要求1所述的一种基于BERT和独立循环神经网络的问句分类方法,其特征在于,得到含有语义特征的序列向量的过程包括:S21:将训练集中的数据划分为标签和内容,再将划分后的内容数据进行分词处理,得到分词文本序列;S22:对分词文本序列进行全词掩码处理,对处理好后序列的头部添加一个特殊标记[CLS],每个句子采用标记[SEP]分隔;S23:将标记后的序列向量输入到双向Transformer编码器中提取特征向量;S24:采用多头注意力机制对提取的特征向量进行拼接,得到含有语义特征的序列向量。4.根据权利要求3所述的一种基于BERT和独立循环神经网络的问句分类方法,其特征在于,采用多头注意力机制对提取的特征向量进行拼接的公式为:MultiHead(Q,K,V)=Concat(head1,...,head
n
)W
O
head
i
=Attention(QW
iQ
,KW
iK
,VW
iV
)其中,MultiHead(.)表示多头注意力head数;Q表示查询向量,K表示键向量、V表示值向
量;Concat(.)表示拼接不同的注意力;head
i
表示不同的注意力;W
O
表示MultiHead线性变换的参数。5.根据权利要求1所述的一种基于BERT和独立循环神经网络的问句分类方法,其特征在于,得到独立循环神经网络隐藏状态的过程为:S31:神经元cell获取语义特征的序列向量x
t
和上一个神经元输出的循环神经网络隐藏状态h
t-1
;S32:将参数矩阵u和上一个神经元的输出h
t-1
进行点乘运算,将参数矩阵w与语义特征的序列向量x
t
相乘,将上述点乘运算结果与乘法运算结果相加,并加上偏置项b,得到待激活序列向量;S33:将待激活序列向量传给激活函数σ得到循环神经网络隐藏状态h
t
;S34:输出独立循环神经网络的隐藏状态h
t
并将其传给下一个神经元cell;计算独立循环神经网络隐藏状态的公式为:h
it...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。