多标签文本分类
多标签文本分类简介
NLP(自然语言处理),即让计算机去理解人类的自然语言(文本、语音等),进而完成各种各样的任务(NER、文本分类、机器翻译、阅读理解、问答系统、智能对话、搜索推荐系统等等),被誉为人工智能皇冠上的明珠。自然语言处理任务总结可以分为:自然语言生成和自然语言理解。
文本分类是NLP的一项基础任务,属于自然语言理解,旨在对于给定文本文档,自动地分配正确的标签。文本分类在许多方面的应用很多,例如:信息检索、自然语言推理、情感分析、问答等。文本分类任务从分类目的上可以划分为三类:二元分类、多类别分类以及多标签分类。
二元分类,应用最多的是情感分析,即对于特定文本,分析出文本的情感导向(喜欢/厌恶)。对于该情况,通常来说,分类器只需输出正类/负类的标签即可。另外,垃圾邮件分类,也是二元分类的一种。
多类别分类,相比较于二元分类,该情况通常需要在多种类别(>2)的标签集中选出正确的标签分配给特定文本。另外,该情况下,每个文本也是只有一个标签。
多标签分类,不同于多类别分类,多标签分类的总标签集合大,而且每个文本都包含多种标签,即将多个标签分配给特定文本。由于不同文本分配的标签集不同,给分类任务带来一定程度的困难。另外,当总的标签集合数目特别大的时候,这种情况可以算作为一种新的多标签分类任务,即极端多标签文本分类(Extreme multi-label text classification (XMTC))。
文本分类任务可以用传统机器学习的方法来做,也可以用深度学习的方法来做。
基于机器学习:文本分类算法综述(多种传统机器学习算法)
基于深度学习:基于深度学习的文本分类综述(多种深度学习算法模型)
三种神经网络结构
本人的主要研究方向为基于深度学习的多标签文本分类,在此给出用于文本分类的三种神经网络结构:CNN、RNN、Transformer,也可以说是四种(算上NN)。
NN,传统的神经网络模型,例如fasttext。
CNN,卷积神经网络模型。将图像界流行的网络结构用于文本处理,鼻祖为TextCNN。之后基于CNN,又出现了CharCNN、VDCNN等等。
RNN,循环神经网络模型。RNN用于文本处理,有天然的优势,但普通RNN会有梯度爆炸/梯度消失的问题,所以有了改进的RNN模型:LSTM、GRU。LSTM/GRU是基于门的概念来解决RNN网络的梯度问题。基于上下文的概念,又有Bi-LSTM/Bi-GRU等。