随笔分类 -  自然语言处理

自然语言处理的相关算法的实现
寻根究底,探讨 chi -square特征词选择方法后面的数学支持
摘要:最近研究特征词选择算法,主要在研究chi方统计量的方法。Christopher D Manning的书《信息检索导论》中(王斌译作191页,英文原版255页)的公式定义如下: 我所迷惑不解的是这个公式为啥长成这个样子?对于我还是略有了解的,比如X~n(0,1),那么X^2就服从chi-square, 独立 独立的chi方分布相加后仍然是chi squared 变量,并且自由度为各个加数自由度的和。... 阅读全文
posted @ 2010-09-06 22:12 finallyly 阅读(3022) 评论(6) 推荐(0) 编辑
利用LibSVM进行二类文本分类系列
摘要:源代码下载作者:finallyliuyu 转载使用等请注明出处笔者按:此系列博文仅对于Libsvm二分类做入门性的介绍,并非研究libsvm的专业水准文章。至于如何用libsvm进行回归,多分类,笔者目前还没有涉及,请您查阅libsvm的相关文档说明。这里给出文本预处理模块(Python语言编写);调用libsvm进行文本分类模块采用C语言编写;实验结果处理模块(Matlab)用此份代码做的实验:... 阅读全文
posted @ 2010-09-04 14:30 finallyly 阅读(5273) 评论(6) 推荐(1) 编辑
LibSVM文本分类之结果统计
摘要:画图和计算结果准确率的matlab代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--%matrix横坐标featureDimension,纵坐标N_corpusfeatureDimension=[10,20,30,40,50,60,70,80,90,... 阅读全文
posted @ 2010-09-04 10:47 finallyly 阅读(2046) 评论(0) 推荐(0) 编辑
LibSVM分类之文本预处理模块
摘要:作者:finallyliuyu 转载使用等请注明出处功能:根据:档集合大小,特征词数目,交叉验证折数的不同需求,快速生成Libsvm格式数据数据Demo请见:新闻文本分类libsvm格式数据预处理部分的框架图此模块的各个子模块的功能我就不详细介绍了,与此系列博客K-means文本聚类系列(已经完成) 一曲同工。下面开始给出各个子模块的代码:文档集分割:多少篇文章归为训练集,多少篇文章归为测试集:注... 阅读全文
posted @ 2010-09-04 10:19 finallyly 阅读(6933) 评论(4) 推荐(2) 编辑
Kmeans文本聚类系列之如何调用Preprocess类
摘要:注意: 本代码中没有实现“C++工程调用weka”的功能,如果您要找这类的资料,那么您来错地方了。重申一下这份代码的目的:方便广大自然语言处理爱好者,研究者,不必过分究竟于编程的技术细节,而是能在一开始就将注意力集中在文本分类/聚类这个主题上。 拿我自己做个比方吧,我一直怀疑课本上所讲的各种特征词选择方法是否有效,比如课本上说DF法与IG法,CHI squire法效果差不多... 阅读全文
posted @ 2010-09-03 21:29 finallyly 阅读(3134) 评论(10) 推荐(2) 编辑
Kmeans文本聚类:获取weka计算的聚类中心,完成文本聚类
摘要:作者:finallyliuyu 转载使用等请注明出处上一讲:Kmeans文本聚类之VSM模型 中,给出了如何建立文档向量模型,以及写weka软件所要求的数据格式arff的代码。这里我们将介绍从weka中获取聚类中心,完成聚类的代码。至于如何用weka聚类,该软件使用说明等之类问题,本系列博客不做介绍,请大家自行google之。我们找到我们已经写好的arff文件: 点击start,出现结果后,单击鼠... 阅读全文
posted @ 2010-09-03 20:27 finallyly 阅读(9927) 评论(5) 推荐(3) 编辑
Kmeans文本聚类系列之全部代码
摘要:语料数据库实验结果以及中间数据文本预处理开源框架源代码头文件: 阅读全文
posted @ 2010-09-03 19:58 finallyly 阅读(12242) 评论(18) 推荐(2) 编辑
Kmeans 聚类之建立文档向量模型(VSM)
摘要:作者:finallyliuyu 转载使用等请注明出处在上一篇博文《Kmeans聚类之特征词选择DF》中我们已经给出了特征词选择的代码,这里我们将给出建立文档向量模型的代码,以及将文档向量模型写成Weka数据格式的代码。关于Weka数据格式等相关内容,请见:教程。首先我们给出写Arff头文件的代码下面重点介绍采用TF-IDF权重建立文档向量模型:在给出代码之前先简要介绍下什么是TF,DF对于一个特定... 阅读全文
posted @ 2010-09-03 19:18 finallyly 阅读(9632) 评论(24) 推荐(3) 编辑
K-means文本聚类系列(已经完成)
摘要:(注意: 大家下载我的程序源码以后,可能需要从网络上下载一个新的ictclas3.0包,然后覆盖原工程文件中的ictclas3.0组件,可能是因为ictclas3.0的license许可,一份ictclas3.0包只可以在一台电脑中使用,目前已经有网友遇到了类似的问题。)作者:finallyliuyu 转载使用等请注明出处1。如何建立词袋子模型2。DF特征词选择法3。VSM模型4。从Weka获取聚... 阅读全文
posted @ 2010-09-02 19:36 finallyly 阅读(36173) 评论(51) 推荐(8) 编辑
贝叶斯分类专题
摘要:作者:finallyliuyu(转载,资料以及代码使用请您注明出处)也谈贝叶斯分类(一)也谈贝叶斯分类(二) 阅读全文
posted @ 2010-08-31 11:01 finallyly 阅读(911) 评论(2) 推荐(0) 编辑
利用Viterbi算法,二元词图分词系列
摘要:作者:finallyliuyu转载请注明出处。中文分词:采用二元词图以及viterbi算法(一) 中文分词:采用二元词图以及viterbi算法(二) 中文分词:采用二元词图以及viterbi算法(三) 中文分词:采用二元词图以及viterbi算法(四) 本系列博文的相关资源下载:http://files.cnblogs.com/finallyliuyu/fenci.rarhttp://files.cnblogs.com/finallyliuyu/evaluation-tool.rarhttp://files.cnblogs.com/finallyliuyu/data.rar 阅读全文
posted @ 2010-08-30 20:42 finallyly 阅读(993) 评论(0) 推荐(2) 编辑
从KL相对熵(relative entropy或 Kullback-Leibler divergence,KL距离)看文本语义距离系列
摘要:作者:finallyliuyu转载请注明出处相对熵(relative entropy或 Kullback-Leibler divergence,KL距离)的java实现(一) 相对熵(relative entropy或 Kullback-Leibler divergence,KL距离)的java实现(二) 相对熵(relative entropy或 Kullback-Leibler diverge... 阅读全文
posted @ 2010-08-30 20:33 finallyly 阅读(1172) 评论(0) 推荐(0) 编辑
特征词选择算法对文本分类准确率的影响(五)
摘要:上一节(也就是在四中)我们谈了在经典概率框架下,采用两种方法估算p(t|ci),得出的结论是这两种方法对最后准确率没有显著影响。下面我们在给出一个菜鸟的naiva概率框架。该框架用概率归一化词袋子中所有词在训练文档集中出现的情况。即p(t)由词袋子模型中的统计信息直接归一化计算,并假设P(C1)=P(c2)=1/2 P(C|t)也直接计算。比如词袋子中有三个词 {[家务: class1:(1,3)... 阅读全文
posted @ 2010-08-30 20:07 finallyly 阅读(2634) 评论(0) 推荐(0) 编辑
特征词选择算法对文本分类准确率的影响(四)
摘要:本小节,我们仅考虑一种特征词选择框架IG(infomation Gain)。采用两种概率建模第一种我们称之为经典的概率建模。也就是被公认采纳的那一种。也就是说该种方法认为 每个类别的概率可以根据训练语料中两个类别的文章数目来估计,由于我的实验中两类数目相等所以各为二分之一。文章是连接词语与类别的桥梁。因此在计算 TF(t,C)的时候,有可以根据文档是由多变量伯努利分布生成(一),还是多项式分布生成... 阅读全文
posted @ 2010-08-30 20:02 finallyly 阅读(2230) 评论(0) 推荐(0) 编辑
特征词选择算法对文本分类准确率的影响(三)
摘要:08-17 19:26 特征词选择算法对文本分类准确率的影响(二)特征词选择算法对文本分类准确率的影响(一)本节的题目是:是不是特征词的数目越高?VSM模型的特征维数越高,分类的准确率越高呢?很多人会想当然地认为应该是VSM模型的维数越高,也即所选的特征词数目越多,分类准确率越高。但答案是否定的。我们看下面的这张图就知道了。从上面的图片我们可以看到当文档集规模》2000时(red line,gre... 阅读全文
posted @ 2010-08-30 19:50 finallyly 阅读(2343) 评论(0) 推荐(0) 编辑
特征词选择算法对文本分类准确率的影响(二)
摘要:特征词选择算法对文本分类准确率的影响(一)本文主要介绍下本实验的前提准备,已经筹划工作。1。文档向量空间模型(VSM)的建立:采用TF模式2。分类工具采用Chih-Jen Lin'sLibsvm3。语料库来源于搜狗开源语料库中的C00024(军事),C00013(健康)4。目前特征词选择算法为InfomationGain.5.词袋子模型格式(部分截图):(文章标号,出现次数)6。 IG表(部分截图... 阅读全文
posted @ 2010-08-30 19:48 finallyly 阅读(2068) 评论(0) 推荐(0) 编辑
Kmeans聚类之特征词选择(DF法)
摘要:写个菜鸟的入门级读物:如何利用weka进行文本聚类(一)(老鸟勿进,因为你会失望的。。。)作者:finallyliuyu(转载请注明作者和出处)哦,(一)忘记附上了去掉字符串首尾空格的小函数了,现在补上。[代码]在(一)中,我们已经建立了稳定词袋子模型,这个词袋子模型可是个宝贝家伙,我们一定要小心维护。为什么呢?因为 特征词选择模块,VSM(文档向量模型)的建立模块,我们都要用到它。另外我们也说了... 阅读全文
posted @ 2010-08-30 18:52 finallyly 阅读(11726) 评论(15) 推荐(1) 编辑
Kmeans聚类之建立词袋子模型
摘要:作者:finallyliuyu (转载请注明出处)最近打算将自己的工作平台由C#,python等迁移到C++。这是我的第一个C++工作程序吧。IDE:VS2008language: C++library:boost(安装boost库,先要安装python安装方法见《boost库安装方法》)tools:wekaC++程序完成的功能:从数据库中读出文章-》分词(调用ICTCLAS)-》特征词选择(DF... 阅读全文
posted @ 2010-08-29 21:50 finallyly 阅读(18738) 评论(54) 推荐(3) 编辑
我的第一个C++程序,还像个C++c程序的样子吧
摘要:目的:从数据库中抽取文章关键词,并统计这些关键词在哪些文章中出现,出现多少次。(算是词袋子模型吧),然后对每篇文章形成形成VSM模型,写成weka的数据格式,然后调用weka对文章聚类。目前“形成此代码模型一块已经完毕”其中词袋子的数据结构如下:map<string,vector<pair<int,int>>>&mymap),目前... 阅读全文
posted @ 2010-08-25 16:47 finallyly 阅读(1057) 评论(7) 推荐(0) 编辑
特征词选择算法对文本分类准确率的影响(前言)
摘要:作者:finallyliuyu 注:数据使用请注明来源试验数据下载资源中包括 数据集规模为200,1000,2000,3000,情况下,特征维数分别为10,20,30-150的情况下5这交叉验证的全部正确率。其中文件命名为TextCategorization_0_100_10表示这是在文档集规模为200(一个类别中有100篇文章)下进行的第一折试验,当前特征维数为10。每个这样的文件夹下面包含文件... 阅读全文
posted @ 2010-08-17 22:23 finallyly 阅读(2968) 评论(6) 推荐(2) 编辑