wenbenfenlei
ICTCLAS:
该分词系统的主要思想是先通过CHMM(层叠形马尔可夫模型)进行分词,通过分层,既增加了分词的准确性,又保证了分词的效率。基本思路是:先进行原子切分,然后在此基础上进行N-最短路径粗切分,找到前N个最符合的切分结果,生成二元分词表,然后生成分词结果,接着进行词性标注并完成主要分词步骤。
CHI算法:
初始情况下,该特征项集合包含所有该类中出现的词。对个每个词,计算词和类别的统计
其中,N为文档总数,C为某一特定的类别,t表示特定的词条,A表示属于t的文档频数,B表示不属于c类的但是包含t的文档频数,C表示属于c但是不属于t的文档频数,D是既不包含t也不属于c类的文档频数。
分别计算次词条对各个类别的CHI值,取最大值。
选取高于某阈值的词条作为特征值,精简向量表示。
libSVM:
LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,包括基于一对一算法的多类模式识别问题。
【1】数据预处理:对训练集的预处理包括分词,取名词,去停用词等步骤;
【2】特征提取与表达:对文本进行如上所示的预处理之后,留下的词语仍然不能较典型的代表每个具体的类,然后对其进行CHI处理并建立数据词典。CHI 的中心思想是通过分析特征词与类别之间的关系,一个对某类有分类价值的特征词,应该在该类各个文档中均匀分布出现的次数较多,并且只在该类中出现的次数较多。
【3】将训练集住转化为libSVM所支持的格式:
[label] [idex1]:[value1] [index2]:[value2] ...
即 [l类别标号] [特征1]:[特征值] [特征2]:[特征值] ...
【4】同样,对测试集也进行分词,取名词,去停用词,CHI处理,并最终表达为所需要的向量的形式
【5】对训练集和数据集进行归一化是必要的,因为适当的scale有利于参数的选取和建svm模型的速度,生成文件trainscale和testscale,
【6】测试过程:第一次用默认的参数,进行svm预测,得到结果只有如图所示的49.76%。
【7】实验结果与性能评估:在本次试验中,共使用训练集10000篇,测试集10000篇,。通过多次实验得到最好的参数c=780时,得到整个试验中最高的准确率82.11%。
【8】其中,准确率最高的是第七类99.11308%,最低的是第八类57.3590%,召回率最高的是第四类93.1%,最低的是第九类66.1%。
【注】svm-scale有两点好处,第一点是加快训练速度,第二点是比没归一化前同样的条件训练出来的模型准确率更高。
wenbenfenlei的更多相关文章
随机推荐
- Linux下C高手成长过程
建议学习路径: 首先先学学编辑器,vim, emacs什么的都行. 然后学make file文件,只要知道一点就行,这样就可以准备编程序了. 然后看看<C程序设计语言>K&R, ...
- rails
http://ruby-toolbox.com/ ~/.gemrc --- :backtrace: false :benchmark: false :bulk_threshold: 1000 :sou ...
- Formal Definitions Using ASN.1 - SNMP Tutorial
30.7 Formal Definitions Using ASN.1 The SMI standard specifies that all MIB variables must be define ...
- js日期格式转换
var mydate=new Date(); var year=mydate.getFullYear(); //获取四位数getYear() 获取两位 var month=mydate.getMont ...
- java中的equals()方法重写
如何java中默认的equals方法跟实际不符的话,需要重写equals方法.例如: public class TestEquals { public static void main(String[ ...
- 百度编辑器 ueditor 内容编辑自动套P标签,及p标签 替换
如图,红框为回车键和shift+回车 : ===>> ueditor.all.js中: 1: 搜索修改成false:allowDivTransToP: false 再搜索并修改以下 ...
- [NHibernate]多对多关系(关联查询)
目录 写在前面 文档与系列文章 多对多关系关联查询 总结 写在前面 上篇文章介绍了nhibernate中对一对多关系进行关联查询的几种方式,以及在使用过程需要注意的问题.这篇文章对多对多关系的查询处理 ...
- [Python] Python中的一些特殊函数
1. 过滤函数filter 定义:filter 函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个列表中的元素:返回一个使bool_func返回值为true的元素的序列. a=[ ...
- Apple Watch版微信来了 收发微信刷朋友圈不在话下
昨晚果粉守了一夜的Apple Watch发布会,意料中的惊喜不少,最让人兴奋的是微信成为首批支持的应用.是的,在全球拥有4.68亿月活跃用户的微信怎么可能不第一时间入驻呢?之前我们就有聊过Apple ...
- Linux学习之二--搭建FTP服务器
一.查看是否安装有FTP rpm -qa|grep vsftpd 二.如果没有安装,就安装FTP yum install -y vsftpd 三.加入开机启动 systemctl enable vsf ...