1.任务介绍
在文本分类任务中,有时会碰到多标签分类问题,即某个文章属于多个标签,如下表:
| 新闻标题 | 标签 |
|---|---|
| 湖人VS凯尔特人比赛中,最后时刻塔图姆打手詹姆斯裁判未响哨,引得外界不满。 | 体育、竞技 |
| 为什么说狂飙是开年最强爆款 | 娱乐资讯 |
| 2022年汽车出口超300万辆 | 汽车、财经 |
2.建立模型
# 加载预训练模型
bert = build_transformer_model(
config_path=config_path,
checkpoint_path=checkpoint_path,
with_pool=True,
return_keras_model=False,
# hierarchical_position=True
)
output = Dropout(rate=0.1)(bert.model.output)
output = Dense(
units=len(class_id), activation='sigmoid', kernel_initializer=bert.initializer, name="zhx"
)(output)
model = keras.models.Model(bert.model.input, output)
# model.summary()
model.compile(
loss='binary_crossentropy',
optimizer=Adam(2e-5), # 用足够小的学习率
metrics=['accuracy']
)
最后一层使用sigmoid,预测标签为one-hot(所属标签对应值为1)。
3.数据处理
def load_data

本文介绍了一种基于BERT模型的多标签文本分类方法,详细解释了如何加载预训练模型、处理数据并进行自定义评估。通过实例展示了如何针对具体任务调整模型结构及参数。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



