Transcript 基于时间序列的文本分类
基于时间序列的文本分类
陈伟程
简介
基于时间序列的文本分类
传统文本分类方法
时间序列分类方法
结合方法尝试
文本分类一般过程
预处理
特征表示与选择、降维
将文档集表示成易于计算机处理的形式
根据适宜的权重计算方法表示文档中各项的重要性
学习建模
构建分类器
文本分类预处理
去标点、多余空格、数字(可选)
大小写统一
去停用词(stop words)
统一词根
没有实际含义的词,比如and,you,have等等
PorterStemmer
分词
英文?中文
特征表示
向量空间模型
以词项为特征组成高维特征向量
TF/IDF得到权值
TF/IDF
TF(Term Frequency)
表示词项频率
TFij fij / max fi
IDF(Inverse Document Frequency)
逆文档频率
IDFi log 2 N / ni
TF*IDF值
降维方法
特征选择
文档频率
信息增益
互信息
文本证据权
PCA
词项聚类
建模过程
分类器选择
朴素贝叶斯
K近邻
SVM--Liblinear
分类任务
数据集
特征
TF/IDF、向量空间模型
分类器
Reuters21578-Apte-90Cat,选取10类(训练集、测试集)
Liblinear
传统方法效果
88.5%
基于时间序列的文本分类
传统方法缺点
利用了词义信息,但忽略了单词的位置信息
时间序列
不同时间上的各个数值,按时间先后顺序排列而形成的序列
能否利用单词位置信息来
提高分类效果?
基于时间序列的文本分类
文档一
输入文档
文档二
We are datamining group
Xiamen university
计算TF/IDF
1.1
1.5
2
0.8
3
2.5
1.1
1.5
2
0.8
3
2.5
保留词项位置
特征向量
疑问:不同文档特征数不一样怎么办???
DTW——动态时间归整
基于动态规划思想,解决了特征长短不一
的模板匹配问题
计算样本之间的相似度
KNN方法确定类别
实验效果:十类52%
思考一
统一特征维数
十维、三十维、五十维。。。。。。
使用各种分类器
Libsvm、Liblinear、KNN。。。。。。
最佳:六十段 libsvm 60%
思考二
语料不对?微博?短文本?
选取新闻标题为语料
83% VS 51%
CDMC2010、CDMC2011
语料
时间
传统
CDMC2010
46%
99%
CDMC2011
14%
82%
思考三
特征不对?
词义信息丢失
TF fall / max f
不同文本相同词项权值相同
全局TF/IDF
You are…
Are you…
You are…
Are you…
1 2…
1.5 2.5…
1 2…
2 1…
准确率:48%
时间序列结合传统方法
时间序列特征加在传统特征之后
分类器
时间序列加在末尾
准确率
liblinear
TF-IDF>0.5 + 50维时间序列
0.872
liblinear
TF-IDF>0.5 + 100维时间序列
0.871
思考四
传统特征维数太高?(一万多维VS几十维)
PCA降维之后再加时间特征
分类器
方法
准确率
liblinear
PCA降维至4020
0.7953
liblinear
PCA降维至4020
+10维
0.8356
liblinear
PCA降维至4020
+20维
0.8382
liblinear
PCA降维至4020
+30维
0.8357
liblinear
PCA降维至4020
+50维
0.8389
liblinear
PCA降维至4020
+80维
0.8389
liblinear
PCA降维至4020
+100维
0.8399
思考五
时间序列特征有什么含义?
代表不同位置词的重要性曲线
1.7
1.6
1.5
1.4
1.3
1.2
1.1
三段
五段
八段
传统特征按位置分段加权
在传统特征上权值按位置进行加权
传统特征按位置三份加权
TF/IDF>1.0 权值3,2,1
准确率
0.873
TF/IDF>1.0 权值1.5,1.2,1
0.8812
TF/IDF>1.0 权值1.2,1.1,1
0.8837
TF/IDF>1.0 权值1.1,1.05,1
0.8845
TF/IDF>1.0 权值1.1,1,1
0.8845
TF/IDF>1.0 权值1.19,1.04,1
0.8845
TF/IDF>1.0 权值1,1,1
0.8859
TF/IDF>1.0 权值0.9,0.95,1
0.8852
TF/IDF>1.0 权值0.84,0.96,1
0.8845
TF/IDF>1.0 权值0.8,0.9,1
0.8837
传统特征按位置五份加权
准确率
TF/IDF>1.0 权值1.29,1.075,1.047,1.03,1
0.8834
TF/IDF>1.0 权值1.5,1.3,1.2,1.1,1
0.8812
传统特征按位置八份加权
TF/IDF>1.0 权值1.4,1.13,1.09,1.08,1.06,1.04,1.03,1
准确率
0.8787
传统特征后加各段时间序列均值
传统特征后加几维各段时间序列均值特征
准确率
TF/IDF>1.0
三段
0.8791
TF/IDF>1.0
五段
0.878
TF/IDF>1.0
50段
0.8787
TF/IDF>1.0
80段
0.8776
TF/IDF>1.0
100段
0.8794
思考六
时间序列能不能补充?
思路:传统方法置信度低时用时间序列的结果
置信阈值
传统方法正确率
0.1-0.2
TF/IDF>0.5
个数
比例
0
0.00%
时间序列正确率
0.2-0.3
40.00%
5
0.18%
0.00%
0.3-0.4
32.65%
49
1.76%
16.33%
0.4-0.5
44.44%
72
2.58%
12.50%
0.5-0.6
55.25%
181
6.49%
13.80%
0.6-0.7
63.16%
133
4.77%
22.56%
0.7-0.8
71.93%
171
6.13%
26.90%
0.8-0.9
86.73%
294
10.54%
40.47%
0.9-1.0
97.98%
1882
67.52%
68.38%
问题总结
时间序列的有效性
文本的时间性
特征表示
收获
不断思考、不断实践
想法来源于实践