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的更多相关文章
随机推荐
- 【转】精选30个优秀的CSS技术和实例
今天,我为大家收集精选了30个使用纯CSS完成的强大实践的优秀CSS技术和实例,您将在这里发现很多与众不同的技术,比如:图片集.阴影效果.可扩展按钮.菜单等-这些实例都是使用纯CSS和HTML实现的. ...
- 数据存储_SQLite常用的函数
一.简单说明 1.打开数据库 int sqlite3_open( const char *filename, // 数据库的文件路径 sqlite3 **ppDb // 数据 ...
- thinkphp一句话疑难解决笔记
URL_PATHINFO_DEPR, depr表示 网页路径"分隔符",用"-", 有利于seo,注意是从 sername/index.php(开始的)/hom ...
- Linux下ffmpeg的完整安装
最近在做一个企业项目, 期间需要将用户上传的视频转成flv格式或mp4格式并用flash插件在前端播放, 我决定采用ffmpeg (http://www.ffmpeg.org/ )实现. 当然以前也用 ...
- thwen 缓动框架
描述 目前提供一个方法 ele 元素对象 obj 操作 duration 时间 effect 缓动选择 thwenMove(option) 框架支持以下缓动策略 -指数衰减的正弦曲线缓动 -圆形曲线的 ...
- eclipse android工程没有错却出现红叉
[转]eclipse android工程没有错却出现红叉 问题描述: 这是一个很变态的问题,花了我N多时间才解决掉,而且弄得心情非常郁闷,这明显是ADT的bug嘛,为什么最新的版本还没有解决? 将Li ...
- 【荐】PHP采集工具curl快速入门教程
为什么要用CURL? CURL(Client URL Library Functions)是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTT ...
- JDK source 之 ArrayList 需要注意事项
线程安全 ArrayList内部没有实现原子性操作,所以是非线程安全的.如果需要在线程安全的环境下使用List的话,需要使用Vector 或者CopyOnWriteArrayList,具体场景,自行深 ...
- Python自动化之django URL
URL url(r'^detail-(?P<nid>\d+)-(?P<uid>\d+).html', views.detail) 会把(?P\d+)和(?P\d+)传到后台 需 ...
- getpass模块和random模块
getpass模块 用于对密码的隐藏输入案例: import getpass passwd = getpass.getpass("please input your password&quo ...