基于字符“从0开始学习”的文本分类
链接: 数据集 提取码: 6cgu
基于CNN的字符级文本分类
《Character-level Convolutional Networks for Text Classification》
作者:Xiang Zhang ,Junbo Zhao,Yann LeCun
单位:New York University
发表会议及时间:NIPS 2015
一 论文导读
1.文本分类简介
2.文本分类的相关方法
1.文本分类简介
文本分类:文本分类就是根据将文本内容将其分到合适的类别
意义:文本分类是自然语言的基础问题,可以用于信息检索、信息过滤、邮件分类等任务。
文本分类的发展:
基于机器学习的文本分类:
大致流程:
输入文本–》设计特征–》特征选择和降维–》分类器
一 人工特征工程:
设计特征:
- 统计词表内所有词在文本内出现的频率
- 计算词表内每个词在文本中的TF-IDF
- 统计N-grams词组信息
特征选择和特征降维:
- 信息增益、互信息等
- PCA、SVD等
二 浅层分类模型:
SVM、KNN、决策树
基于深度学习的文本分类:
另一种基于卷积神经网络的文本分类模型
《A Sensitivity Analysis of Convolutional Nerual Networks for Sentence Classification》
推荐搜文章的网站:arxiv 、 bing
二 论文精读
1.论文整体框架 2.传统经典算法 3.模型 4.实验和结果 5.讨论和总结
1.论文整体框架
0.摘要
1.介绍
2.字符级别的卷积模型
3.对比模型&实验
4.讨论
5.总结和展望
2.传统经典算法
一 词袋模型
算法:
- 构建一个50000个词的词袋
- 对于一篇文档D,统计此表中每个词在D中出现的次数
- 根据词表中每个词在D中出现的次数
(还有TFIDF版本)
二 基于词向量的k-means
算法:
- 首先将每个词映射成一个词向量(使用训练好的词向量)
- 在所有的词上使用k-means进行聚类,类别数为5000
- 对于每个词,都划分其属于哪个k-means类
- 对于一篇文档d中的每个词,查看它属于哪个类别,然后一篇文档就可以表示成一个5000维的向量,每个位置代表这篇文档中有多少属于这个类别的词
- 后面接多分类的logistic回归
三 长短时记忆网络模型
算法:
- 将训练好的word2vec词向量输入到LSTM
- LSTM每个时间步的输出取平均作为文档的表示
- 后面接一个多分类的logistic回归
3.模型
文本分类模型:
输入的是字符的one-hot表示而不是word embedding ,然后后面接卷积神经网络分类器。
4.实验和结果
数据集(8个)
本文提出的字符级别的文本分类模型在文本分类数据集上都能取得最好或者有竞争力的结果(现在是打击对象,是个模型就比这个高)
根据错误率直观地和本文提出的模型进行比较,如果大于0就是比本文的模型差,如果大于0就是比文本的模型好
5.讨论和总结
- 本文的模型非常简单,为什么要将这篇文章?
本文的模型简单,非常容易复现,并且测试的数据集非常多,所以是很多模型的对比实验
- 文本提出的模型缺点是什么?
在比较小的数据集上表现一般,并且模型比较深,参数很多
- 其他的基于字符的模型?
使用char embedding 的方法
- 论文主要创新点
A 提出一种基于字符的文本分类模型
B 证明了字符可以像单词一样用于文本分类,让网络去学习,而不是词向量去学习,学习一个很好的网络而不是一个词向量表示
C 在多个数据集上表现良好
- 总结
对比模型:本文提出了多种对比模型,包括传统的词袋模型和深度学习模型
模型:本文提出了一种基于字符的用于文本分类的卷积神经网络模型
实验:在多个数据集上表现良好