24 | 文本分类:如何使用BERT构建文本分类模型?
方远
你好,我是方远。
在第 22 节课我们一起学习了不少文本处理方面的理论,其实文本分类在机器学习领域的应用也非常广泛。
比如说你现在是一个 NLP 研发工程师,老板啪地一下甩给你一大堆新闻文本数据,它们可能来源于不同的领域,比如体育、政治、经济、社会等类型。这时我们就需要对文本分类处理,方便用户快速查询自己感兴趣的内容,甚至按用户的需要定向推荐某类内容。
这样的需求就非常适合用 PyTorch + BERT 处理。为什么会选择 BERT 呢?因为 BERT 是比较典型的深度学习 NLP 算法模型,也是业界使用最广泛的模型之一。接下来,我们就一起来搭建这个文本分类模型,相信我,它的效果表现非常强悍。
问题背景与分析
正式动手之前,我们不妨回顾一下历史。文本分类问题有很多经典解决办法。
开始时就是最简单粗暴的关键词统计方法。之后又有了基于贝叶斯概率的分类方法,通过某些条件发生的概率推断某个类别的概率大小,并作为最终分类的决策依据。尽管这个思想很简单,但是意义重大,时至今日,贝叶斯方法仍旧是非常多应用场景下的好选择。
之后还有支持向量机(SVM),很长一段时间,其变体和应用都在 NLP 算法应用的问题场景下占据统治地位。
随着计算设备性能的提升、新的算法理论的产生等进步,一大批的诸如随机森林、LDA 主题模型、神经网络等方法纷纷涌现,可谓百家争鸣。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
BERT模型是一种在自然语言处理领域广泛应用的深度学习算法模型。本文详细介绍了使用PyTorch快速构建基本文本分类模型的过程,包括获取和转化BERT的预训练模型、分类网络的设计方法以及训练过程的编写。文章强调了对Transformer中的模型代码的学习对技术提升的重要性,并提出了对NLP应用中的业务方面考虑的建议。此外,文章还提出了思考题,即当BERT处理长文本时的应对方法。整体而言,本文通过实际案例和技术指导,帮助读者快速了解了如何利用PyTorch构建文本分类模型,同时强调了对数据预处理和传统机器学习算法的重要性。文章内容丰富,适合对BERT模型和NLP技术感兴趣的读者阅读学习。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《PyTorch 深度学习实战》,新⼈⾸单¥59
《PyTorch 深度学习实战》,新⼈⾸单¥59
立即购买
登录 后留言
全部留言(12)
- 最新
- 精选
- vcjmhg1.截断法 截断法是非常常用办法,大致分为三种,head截断,tail截断,head+tail 截断。 head截断即从文本开头直到限制的字数。 tail截断是从结尾开始往前截断。 head+tail 截断,开头和结尾各保留一部分,比例参数是一个可以调节超参数。 缺点:处理方法较为暴力,不是太长的文本 2.Pooling法,缺点性能较差 3.压缩法,提取文本中有限segment,但压缩效果可能会很有限。
作者回复: 👍🏻👍🏻👍🏻👍🏻^^
2021-12-093 - Qwen才入行新人,文章读了好几遍,还有很多问题点不能理解。 希望大佬能否考虑整理一份完整的训练代码,在参照您的文档去理解,应该能帮助到很多像我这样的新人。
作者回复: 你好,感谢你的留言。图像的课程有整理好的代码。链接在文章里。
2022-09-08归属地:北京2 - (●—●)请问怎么转换模型?
作者回复: 你好,不好意思,没太看明白。 转什么模型?从哪里转?
2022-03-2631 - xiaolan请问bert模型的用处是不是跟word2vec一样?
作者回复: hello,感谢留言。 他们不一样。可以一样用,但是bert更强大,还有别的功能。
2022-01-241 - Geek_1e9742你文章里的多语言bert模型的链接已经失效不能使用了
编辑回复: 链接已更新,刷新可见
2023-04-04归属地:江苏 - 亚林预训练模型地址失效了: https://github.com/google-research/bert/blob/master/multilingual.md
作者回复: hi,没有失效,可能是你的网络问题
2022-06-07 - 亚林上一节提到的pipelines能否解决长文本的办法
作者回复: hello pipelines不是解决长文本问题的。
2022-06-02 - Geek_709f77“转换完模型之后,你会发现你的本地多了三个文件”这个转换完成模型是怎么做的?另外,老师给的链接有的打开后跟文章中内容不一样,代码下载也不对,能不能把所有代码放在一个地方,让我们下载运行?
作者回复: 你好,感谢你的留言。 模型的转换需要transformers中提供的convert_tf_checkpoint_to_pytorch.py 文件的帮忙,具体的使用方法会随着版本的更新而有所不同,但是好在用法都在该文件的main函数中进行了介绍。你可以看一下。 链接与文章中内容不一样的问题,我刚才看了一下git中的代码,他三天前更新了。 按照文章中的流程,代码基本都是可以实现的^^。
2022-04-15 - 向坤请问有完整的训练代码链接吗
作者回复: 你好,向坤,感谢你的留言。 按照文章里的一步步来就是可以运行的。
2022-04-13 - 亚林我觉得这篇的主角是huggingface2022-06-071
收起评论