北京邮电大学学期实验报告
- 格式:docx
- 大小:29.64 KB
- 文档页数:18
XXX:
JGibbLDA:使用JAVA 实现了Late nt Dirichlet Allocatio n(LDA),使用了Gibbs 采样来进行参数估计。
4.2 特征提取与表达方法的设计
表
P = True positive / (True positive + False positive)
R = True positive /(True positive + False n egative)
F1-Score = (2 * P * R)/(P + R)
在此实验中,我们分析了每种特征提取方法最终在每类与总体的准确率、召回率和F1-Score的结果。关于结果分析的详细描述见 5.6。
5. 实验过程
基于CHI特征提取的实验流程图:
基于LDA特征提取的实验流程图:
5.1 文本分类语料库的采集
通过网络爬虫在爬取新闻语料。
爬取的类别有:
在语料库的收集中遇到的主要问题为,有的分类的网页会得到404的爬取结果,原因在于访问的对方服务器的文件夹年份过于早,网页已经被删除,也就是过期网页。经过对这些网页爬取结果的分析,大部
分此类网页的爬取结果都为1KB (在windows操作系统下,最小的文件只有1KB,没有更小的文件),为了提高最终分类的效果,对所有爬取的新闻文件小于1KB的都做了删除处理。
另外,也对比较大的文件做了处理。经过对爬取的文件的分析,部分新闻文件都是代码没有新闻内容,对于这样的文件大部分在10、50KB以上,一篇新闻的内容大于150KB的可能性非常小,所以,对于此种异常文件,也做了删除操作。
经过以上处理,对新闻文件的分配如下:
(1)训练集:一共10类,每类的训练集为5000篇新闻。总共50,000篇训练集。
(2)测试集:
C:在该分类下,不包含此单词的文档数量
D:不在该分类下,不包含此单词的文档数量
由于最后,只需要根据CHI的卡方值进行排序,为了简化运算,对公式做了简单的简化处理:
简化后的计算方法为:
2
(????・????
(??+??)(??+??),因为在排序的步骤中,N,(A+C) ,(B+D)不会对最后的排序造成影
响,所以做了简化处理。
(1)因为训练集的数量一共为50000篇,计算CHI值的时间比较长,所以,先分别计算了每一类下每个
单词的A,B,C,D值,并输出到文件。如图所示:
图中的每一个*.abcd文件,代表着每一类新闻的每一个单词的A,B,C,D值的信息。例如,下图所示:
auto.abcd 文件
第一列为汽车类(automatic)中的单词,往后以此为此单词的A,B,C, D值。
(2)在得到上述文件之后,便可以根据简化后的公式,计算每个单词的CHI值,降序排序后,最终
得到如下文件:
比如,在auto.chi文件中,如下图所示:
经过降序排序以后,发现排列靠前的单词几乎全都与汽车相关。
(4)分别取每一类的排序前1000个单词,经过汇总,去重,得到最终的数据字典,一
共是7544个单词,同时对这些词进行唯一的id标识。得到chi.features 文件。
如图所示:
第一列为单词的id,第二列为数据字典中的单词。
(5)根据数据字典,将每篇训练集新闻文档和测试集新闻文档转换成特征矢量
如图中所示:
第一列为文本类型id,其他列分别为word_id:tf -idf
LDA特征提取:
LDA的特征提取使用了JGibbLDA开源工具。
其中
5.5 测试过程
(1)在上一节中,得到了最终的训练模型,打开模型文件可以看到:
__________ ] ------ 十-------- 丄 ------- --------- £-------- 十-------- 0------- 十 ---------7--------- 十 ------- 3 ------- 十-------- tf-------- T -------
1 3vin_type c_sve
_ kernel_type rbf
3gmm岂0. S
4TLT class IQ
total_sv 22021.
■' rho t>70443714 044陀呢石0,12C543 0 .00265564 -0.207SB3 -0.0601327 -0,0
"label 12345678S10
ni_3V 1692 1779 22SS2217 2732 2793 2216 1941 1764 2€02
9 SV~
nr_class:为新闻分类的个数
n r_sv:为每类的支持矢量的个数
(2)使用svm-predict命令,加载model文件,进行测试,并且指定输出文件
(3)完成测试之后,控制台只给出了精确率的结果。并不符合我们实验的结果分析的需求。根据第(2)步的输出文件,可以计算每类的预测和平
均的预测精确率、召回率和F1-Sco©
5.6 实验结果和性能评估
在本节中,详细的描述了不同实验设计的结果和分析。
(1)得到特征矢量文件之后(未经过归一化处理),直接使用lib svm的默认参数,进行模型训练,得到的模型用于测试。
Precision 为:57.1838% ( 79780/139515)
可以看出结果比较差。