Advertisement

句子分类_Bert做新闻标题文本分类

阅读量:
b02ceecdc22664afb3e2e76050d2d377.png

本文旨在介绍一种简便的方法来使用BERT-seq2seq框架来进行文本分类任务。

https://github.com/920232796/bert_seq2seq​github.com

上面还有很多好玩的小例子,可以去自己尝试!

先来看下效果

这次是14分类

复制代码
    target = ["财经", "彩票", "房产", "股票", "家居", "教育", "科技", "社会", "时尚", "时政", "体育", "星座", "游戏", "娱乐"]

即输入一个句子,输出14类中概率最大的那一类~

输入:

41973559b2e741d6b5ee23c2ba86914d.png

两个句子,让模型去预测分别属于哪一类。

输出:

eb6e0456d43d2cc219d4314a8bc8f1be.png

可以看到输出结果就是体育和房产!

其实完成文本分类任务所需的时间并不长,在一个完整的训练周期内就显示出良好的效果。经过一个完整的训练周期大约用了两小时左右的时间就能达到预期目标。

流程

具体流程也很简单

准备数据时首先要对输入和输出的数据进行处理。输入是一系列独立的文本句子;输出则是每个句子对应的类别,并将这些类别编码为数字ID的形式。具体来说,在分类任务中使用时,则需要将每一类(文本)转化为唯一的一个编号(如14个类别,则对应的目标ID为0至13)。
在下载好预训练模型与词典之后, 我们就可以方便地完成模型的加载过程了。

复制代码
 self.bert_model = load_bert(word2idx, model_name=model_name, model_class="cls", target_size=len(target))

    
 load_model_params(self.bert_model, model_path)

这是来自文本分类示例中的代码片段,在第一行即可加载BERT模型;其中model.class=cls参数设置表明我们正在进行文本分类任务;而target.size则表示各类别数量的总和。

在代码块的第二行,我们使用预训练好的参数来进行模型微调。完成这一操作后,模型就能够顺利地应用于我们的任务了。

具体详细代码可以去github上面找下这个文本分类的例子,非常简单!

另外欢迎来自己的博客逛逛~blog另外欢迎来自己的博客逛逛~

blog​www.blog.zhxing.online

全部评论 (0)

还没有任何评论哟~