Member-only story
如何用 Python 和深度迁移学习做文本分类?
本文为你展示,如何用 10 几行 Python 语句,把 Yelp 评论数据情感分类效果做到一流水平。
Photo by nadi borodina on Unsplash
疑问
在《如何用 Python 和 fast.ai 做图像深度迁移学习?》一文中,我为你详细介绍了迁移学习给图像分类带来的优势,包括:
- 用时少
- 成本低
- 需要的数据量小
- 不容易过拟合
有的同学,立刻就把迁移学习的这种优势,联系到了自己正在做的研究中,问我:
老师,迁移学习能不能用在文本分类中呢?正在为数据量太小发愁呢!
好问题!
答案是可以。
回顾《如何用机器学习处理二元分类任务?》一文,我们介绍过文本分类的一些常见方法。
首先,要把握语义信息。方法是使用词嵌入预训练模型。代表词语的向量,不再只是一个独特序号,而能够在一定程度上,刻画词语的意义(具体内容,请参见《如何用 Python 处理自然语言?(Spacy 与 Word Embedding)》和《如何用 Python 和 gensim 调用中文词嵌入预训练模型?》)。
其次,上述方法只能表征单个词语含义,因此需要通过神经网络来刻画词语的顺序信息。
例如可以使用一维卷积神经网络(One Dimensional Convolutional Neural Network, 1DCNN):
或者使用循环神经网络(Recurrent Neural Network, RNN):