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的更多相关文章

随机推荐

  1. <<< ajaxfileupload介绍

    ajaxfileupload,jquery的一个异步上传插件,使用此插件你可以不用建立form,他会自动生成表单,且自动设置好enctype="multipart/form-data&quo ...

  2. RDS MySQL 空间问题的原因和解决

    来源:https://help.aliyun.com/knowledge_detail/41739.html RDS MySQL 空间问题的原因和解决 更新时间:2016-07-22 17:20:14 ...

  3. JS 加载html 在IE7 IE8下 可调试

    实际背景 就是都是HTML 公共头部底部  然后中间部分加载不同的HTML文件 有点跟模板引擎一样 jQuery 有个load函数 加载html文件的路径 获取html内容 到中间部分 正常下是不能用 ...

  4. 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题

    今天在写为一些project 写 一些junit  test  的时候,出现下面的异常: java.lang.UnsupportedClassVersionError: moneytest/Money ...

  5. 【WIN10】绑定x:Bind

    在WP8.WP8中,我们知道有一个绑定{Binding},而在Win10中,新增了一个绑定{x:Bind} x:Bind :为编译时绑定 ,内存.内存相对于传统绑定都有优化 特性: 1.为强类型    ...

  6. UI第十一节——UIActivityIndicatorView

    - (void)viewDidLoad {    [super viewDidLoad];        // 创建一个UIActivityIndicatorView,大小是固定的    UIActi ...

  7. android微信聊天记录导出到电脑【微信安卓版技巧】

    微信,对它又爱又恨!爱的是微信能替代很多手机通话短信,恨的是有些较早前的手机不能友好支持,比如ytkah之前用的i8000,挺上手的,就是没办法装微信,当时工作需要必须用微信,只好忍痛割爱买了个and ...

  8. Shell入门教程:流程控制(5)for 循环

    for循环的运作方式,是将 串行 的元素的元素一一取出,依序放入制定的变量中,然后重复执行含括的命令区域(在 do 与 done 之间),直到所有元素取尽为止. 其中,串行是一些字符串的组合,彼此用 ...

  9. 探讨兼容IE低版本的PC端响应式布局

    http://www.jiangweishan.com/article/lowIeResposive.html 响应式布局,oh my god!!有点醉了,感觉是老生常谈的话题了.虽然已经谈过很多了, ...

  10. C语言中史上最愚蠢的Bug

    C语言中史上最愚蠢的Bug   本文来自“The most stupid C bug ever”,很有意思,分享给大家.我相信这样的bug,就算你是高手你也会犯的.你来看看作者犯的这个Bug吧.. 首 ...