弱序列关系文本分类的有效算法
立即解锁
发布时间: 2025-08-23 00:43:54 阅读量: 6 订阅数: 18 


数据库与专家系统应用进展
### 弱序列关系文本分类的有效算法
#### 1. 引言
文本分类(TC)是自然语言处理(NLP)各子领域广泛涉及的基础任务。然而,存在一种特殊场景下的文本分类问题,样本有序组织在半结构化文档中,如简历。简历块分类(RBC)本质上就是这样的文本分类任务,目标是根据文本内容正确分类简历中的每个信息块。不同简历块之间存在一定的顺序关系,例如“基本信息”块通常在首位,接着是“教育背景”,“自我评价”可能在最后等。但由于简历写作风格随意和模板多样,这种顺序关系较弱且不稳定。
对于这种特殊的文本分类任务(TC - WSR),一般的分类算法未能充分考虑不同分类实体间的上下文顺序关系,分类准确率有待提高。此前提出的块级双向循环神经网络模型(B - BRNN)虽能利用块间顺序特征,使F1分数提高近6%,但它基于简历块顺序关系有强规律性的理想化假设。实际上,简历块顺序只是部分有序,不同人的随意写作风格导致顺序关系不稳定。当预测与训练集顺序特征分布差异大的异常简历时,模型性能会严重受影响,弱且不稳定的顺序关系会使模型方差增大。
为进一步提高简历块分类在处理弱顺序特征时的性能,本文聚焦于研究一种新的混合模型,它能对异常简历有更好的泛化能力,同时尽可能保持对正常简历的良好性能。具体做法是:首先使用特征融合策略改进B - BRNN;其次设计一个全连接神经网络模型(FNN),用于单独分类每个简历块,因为FNN不受简历块顺序特征影响;最后使用集成学习中的混合模型策略融合这两个模型。该混合模型的新颖之处在于能根据输入样本自动调整每个子模型在当前分类决策中的权重,互补各子模型在不同样本下的分类优缺点,优化分类性能。
主要贡献如下:
1. 提出带特征融合的改进B - BRNN,设计结合FNN和改进B - BRNN的动态决策混合模型,提高模型处理新简历样本的适应性和泛化能力。
2. 提出创新的动态加权策略,与现有集成学习混合策略不同,能根据输入样本动态调整各子模型权重,提高混合模型分类准确率。
#### 2. 相关工作
过去,一般文本分类任务使用的算法经历了传统机器学习算法(如支持向量机SVM、随机森林RF、梯度提升树GBT)和深度学习算法(如CNN、RNN、Transformer、Bert等)。深度学习模型在一般文本分类任务中取得了最先进的性能。但除本文外,此前没有专门针对TC - WSR任务的工作,过去研究者将RBC视为一般文本分类任务。之前提出的B - BRNN模型虽能获取顺序特征,使F1分数比现有模型高6%,但夸大了顺序特征的作用。实际上,不同块间只有弱顺序特征,面对异常简历时,B - BRNN分类性能会急剧下降。而本文提出的混合模型不仅能在正常简历下保持高F1分数,在异常简历下也能如此。
此外,研究了集成学习中的现有混合模型策略,包括Bagging(如随机森林)、Boosting、Blending和Stacking等。但这些混合模型中每个基本子模型的重要性在训练阶段就已固定,预测阶段对任何测试样本都分配相同的静态权重。本文的新颖之处在于动态决策,给定特定测试样本,混合模型会判断每个子模型对当前分类任务的重要性,并动态分配新权重以产生最终分类结果。
#### 3. 模型介绍
为充分利用简历块间的额外顺序特征,提高RBC性能并增强模型对异常数据的适应性,本文提出结合特征融合改进的B - BRNN模型和FNN模型的动态决策混合模型。该混合模型输入是代表简历中所有块按原始顺序排列的序列,每个块通过word2vec嵌入,输出是简历样本中所有块的标签。改进的B - BRNN和FNN模型可分别预训练,通过多线程并行训练节省时间。
##### 3.1 特征融合改进的B - BRNN
输入是块序列`Input = {block0, ..., blocki, ..., blockn−1}`,其中`n`是最大块数,`blocki`由`{word0, ..., wordi, ..., wordm−1}`组成,`m`是一个块中最大的单词数。使用word2vec对单词进行嵌入(word2vec技术更成熟、更便携,对计算机性能要求较低,便于实验,尽管BERT在大量语料预训练后能实现更好的表示效果,但会大幅增加计算和内存成本),嵌入后特定的`xi`可表示为:$\frac{1}{m}\sum_{j = 0}^{m - 1} embedding(word_j)$,表示`blocki`的特征向量。模型输入为`X = {x0, ..., xi, ..., xn−1}`。
经过Bi - GRU循环单元后,得到隐藏输出`H = {h0, ..., hi, ..., hn−1}`。然后使用特征融合策略将输入`X`和Bi - GRU的隐藏输出`H`拼接,目的是让模型不仅关注每个简历块的上下文顺序特征,也给简历块本身的文本内容特征分配一定权重,从而降低B - BRNN对上下文顺序特征不同的异常简历数据的敏感性。
具体来说,当得到`X = {x0, · · · , xi, · · · , xn−1}`和`H = {h0, · · · , hi, · · · , hn−1}`时,设计两个具有relu激活函数的密集层`dense1`和`dense2`。经过`dense1`得到`F1 = {f_1^0, · · · , f_1^i, · · · , f_1^{n - 1}}`,经过`dense2`得到`F2 = {f_2^0, · · · , f_2^i, · · · , f_2^{n - 1}}`,然后将`F1`和`F2`拼接:
$F = \{f^0, · · · , f^i, · · · , f^{n - 1}\} = \{C(f_1^0, f_2^0), · · · , C(f_1^i, f_2^i), · · · , C(f_1^{n - 1}, f_2^{n - 1})\}$
其中`C(f_1^i, f_2^i)`表示将两个向量首尾相连形成新向量。对于`F`中的特定`fi`,密集层输出标记为$o_i = dense(f_i) = (o_i^0, o_i^1, ..., o_i^{k - 1})^T$,其中`k`是类别数。最终输出$y_i$在`Y = {y0, ..., yi, ..., yn−1}`中可描述为:
$y_i = softmax(o_i) = (p_i^{(0)}, · · · , p_i^{(j)}, · · · , p_i^{(k - 1)})^T = (\frac{e^{o_i^0}}{\sum_{j = 0}^{k - 1} e^{o_i^j}}, \frac{e^{o_i^1}}{\sum_{j = 0}^{k - 1} e^{o_i^j}}, · · · , \frac{e^{o_i^{k - 1}}}{\sum_{j = 0}^{k - 1} e^{o_i^j}})^T$
0
0
复制全文
相关推荐










