随笔 - 404
文章 - 0
评论 - 1037
阅读 -
136万
08 2010 档案
公告:关于博客管理
摘要:经过试用,发现cnblogs的博客比百度空间博客要好用的多(首先篇幅大,其次,方便贴代码)。所以以后我的主创作园地为cnblogs博客。但是这里的博客会显得杂乱无章,于是百度博客空间会提供索引页链接,链接到我最精华的博文部分。
阅读全文
利用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
阅读全文
从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...
阅读全文
新闻类网页正文提取系列
摘要:作者finallyliuyu转载请注明出处驴子的新闻提取系统一驴子的新闻提取系统二新闻采阅系统效果图使用该Demo程序抓取新闻 有网友站内我询问此类问题,遂特意写了篇博文简要介绍了该Demo程序的使用方案。
阅读全文
特征词选择算法对文本分类准确率的影响(五)
摘要:上一节(也就是在四中)我们谈了在经典概率框架下,采用两种方法估算p(t|ci),得出的结论是这两种方法对最后准确率没有显著影响。下面我们在给出一个菜鸟的naiva概率框架。该框架用概率归一化词袋子中所有词在训练文档集中出现的情况。即p(t)由词袋子模型中的统计信息直接归一化计算,并假设P(C1)=P(c2)=1/2 P(C|t)也直接计算。比如词袋子中有三个词 {[家务: class1:(1,3)...
阅读全文
特征词选择算法对文本分类准确率的影响(四)
摘要:本小节,我们仅考虑一种特征词选择框架IG(infomation Gain)。采用两种概率建模第一种我们称之为经典的概率建模。也就是被公认采纳的那一种。也就是说该种方法认为 每个类别的概率可以根据训练语料中两个类别的文章数目来估计,由于我的实验中两类数目相等所以各为二分之一。文章是连接词语与类别的桥梁。因此在计算 TF(t,C)的时候,有可以根据文档是由多变量伯努利分布生成(一),还是多项式分布生成...
阅读全文
特征词选择算法对文本分类准确率的影响(三)
摘要:08-17 19:26 特征词选择算法对文本分类准确率的影响(二)特征词选择算法对文本分类准确率的影响(一)本节的题目是:是不是特征词的数目越高?VSM模型的特征维数越高,分类的准确率越高呢?很多人会想当然地认为应该是VSM模型的维数越高,也即所选的特征词数目越多,分类准确率越高。但答案是否定的。我们看下面的这张图就知道了。从上面的图片我们可以看到当文档集规模》2000时(red line,gre...
阅读全文
特征词选择算法对文本分类准确率的影响(二)
摘要:特征词选择算法对文本分类准确率的影响(一)本文主要介绍下本实验的前提准备,已经筹划工作。1。文档向量空间模型(VSM)的建立:采用TF模式2。分类工具采用Chih-Jen Lin'sLibsvm3。语料库来源于搜狗开源语料库中的C00024(军事),C00013(健康)4。目前特征词选择算法为InfomationGain.5.词袋子模型格式(部分截图):(文章标号,出现次数)6。 IG表(部分截图...
阅读全文
文本分类特征词选择算法科普(前言and一)
摘要:转载请注明出处,作者:finallyliuyu) 前言:经了解,园子里有很多已经工作,但是对信息检索和自然语言处理感兴趣的同仁,也有很多相关领域的从业者。目前本人正在从事文本特征选择方面的研究。所以打算写一系列有关此方向的科普型博客,和大家分享见解。也希望在算法的理解方面和业内人士多多交流。此系列的计划是介绍各种特征词选择方法,参考自Yiming Yang 1997年的论文"A comparati...
阅读全文
写一点应用关于 Lucene.Net,snowball的重新组装(四)
摘要:作者:finallyliuyu在这个项目中,由于进行聚类的是论文摘要,而论文摘要中最重要的是名词,名词词组,已经形容词和形容词词组。所以特征词选择方法采用词性过滤加上其他策略。下面给出个图片,图片中是一个“评价论文推荐满意度”的程序截图。作为上面组合组件的一个应用来展示给大家。其中左边是原论文,右面是系统推荐的论文。原论文与推荐论文中相同的功能词(名词或形容词及其词组)用同...
阅读全文
写一点应用关于 Lucene.Net,snowball的重新组装(三)
摘要:者:finallyliuyu 具体实现如下:1。首先在SnowballAnalyzer.cs里面建立类myEwordEntity,这个类可以看做是snowball.cs的接口:主程序调用Snowball.cs最终目的是为了获得关于词的这样一个“实体”//词汇的实体类public class myEwordEntity { public string txtWord;//词的...
阅读全文
写一点应用关于 Lucene.Net,snowball的重新组装(二)
摘要:作者:finallyliuyu(一)中我们已经说明了任务需求。(二)中我们将驶入重点,如何用Lucene.Net,以及其他的一些开源工具实现上述功能。 里要首先感谢一个人智慧掩盖真相。此人写了一个系列对于Lucene.net内部机制的入门性质的文章,令我在短时间内掌握了Lucene.net的一些要领。 这里插一句我自己的对科研人员,与专业程序员的工作侧重点区别:专业程序员应该对某个编程产品熟谙其道...
阅读全文
Kmeans聚类之特征词选择(DF法)
摘要:写个菜鸟的入门级读物:如何利用weka进行文本聚类(一)(老鸟勿进,因为你会失望的。。。)作者:finallyliuyu(转载请注明作者和出处)哦,(一)忘记附上了去掉字符串首尾空格的小函数了,现在补上。[代码]在(一)中,我们已经建立了稳定词袋子模型,这个词袋子模型可是个宝贝家伙,我们一定要小心维护。为什么呢?因为 特征词选择模块,VSM(文档向量模型)的建立模块,我们都要用到它。另外我们也说了...
阅读全文
C++ stirng,int 互转(转载)
摘要:近做项目用到c++,才发现c++中的数据类型不是一般的BT。尤其是我和婷还是分开操作的。我写底层,用的是WIN32控制台;而婷写MFC。由于没有经验,所以没有写中间的转换程序。当集成时,类型转换特别麻烦。以下都是我收集的类型转换的方法和一些经验,供大家参考。欢迎补充~~1. char* to stringstring s(char *); 注:在不是初始化的地方最好用assign().!!!!!!...
阅读全文
boost regex的使用
摘要:要使用Boost.Regex, 你需要包含头文件"boost/regex.hpp". Regex是本书中两个需要独立编译的库之一(另一个是Boost.Signals)。你会很高兴获知如果你已经构建了Boost— —那只需在命令提示符下打一行命令——就可以自动链接了(对于Windows下的编译器),所以你不需要为指出那些库文件要用而费心。你要做的第一件...
阅读全文
weka聚类结果
摘要:=== Run information ===Scheme: weka.clusterers.SimpleKMeans -N 3 -S 10Relation: aticleInstances: 372Attributes: 451 [list of attributes omitted]Test mode: evaluate on training data=== Model and evalua...
阅读全文
Kmeans聚类之建立词袋子模型
摘要:作者:finallyliuyu (转载请注明出处)最近打算将自己的工作平台由C#,python等迁移到C++。这是我的第一个C++工作程序吧。IDE:VS2008language: C++library:boost(安装boost库,先要安装python安装方法见《boost库安装方法》)tools:wekaC++程序完成的功能:从数据库中读出文章-》分词(调用ICTCLAS)-》特征词选择(DF...
阅读全文
【转载】:Boost正则表达式汉字匹配 收藏
摘要:【转载】:Boost正则表达式汉字匹配 收藏 来源http://blog.csdn.net/sptoor/archive/2009/12/03/4930069.aspx思路:把字符都转换成宽字符,然后再匹配。需要用到以下和宽字符有关的类:1、wstring:作为STL中和string相对应的类,专门用于处理宽字符串。方法和string都一样,区别是value_type是wchar_t。wstrin...
阅读全文
c++中double转换成string型(浮点数的格式化)(转)
摘要:在日常编程中--包括对话框、关系数据库、金融程序、SMS程序及一切处理数据文件的程序,需要控制小数点后的小数位的情况非常普遍,本文中将要讲 解如何用简单的方法来控制小数位,另外,还要揭开字符串及数据精度的一点点小秘密。问题的引出如有一个函数,其可接受一个long double参数,并将参数转换为字符串,结果字符串应保留两位小数,例如,浮点值123.45678应该生成“123.45...
阅读全文
感悟
摘要:一。首先要有一个好身体,身体健康才是革命的本钱。所以要保护好眼睛,不要久坐在电脑前面;要保护好颈椎和腰椎,仅仅做了一年的办公室,各方面就已经出现问题了;每天都要花时间锻炼身体。二。工作技能要过硬,不能做软柿子,拼搏了这么多年,一定要找个很好很好的工作,不能学上的多了,人到贬值了。生活技能过硬,不能为了工作而工作,工作的乐趣是为了享受更高质量的生活。三。不要依靠任何人,只有自己才是自己的坚强后盾。这...
阅读全文
C++备忘 STL释放内存 ,weka使用备忘
摘要:http://topic.csdn.net/u/20100624/11/81e22a62-af5f-4990-9e1f-c0a0c2ba3a15.html weka资料http://forum.wekacn.org/viewtopic.php?f=6&t=279以及我的百度转帖关于std::fstream以及std::ifstream打开中文路径名失败的问题和解决方法//设置代码页为简体中...
阅读全文
我的第一个C++程序,还像个C++c程序的样子吧
摘要:目的:从数据库中抽取文章关键词,并统计这些关键词在哪些文章中出现,出现多少次。(算是词袋子模型吧),然后对每篇文章形成形成VSM模型,写成weka的数据格式,然后调用weka对文章聚类。目前“形成此代码模型一块已经完毕”其中词袋子的数据结构如下:map<string,vector<pair<int,int>>>&mymap),目前...
阅读全文
VS2008安装boost(手记)
摘要:1。转自http://blog.csdn.net/benjiamen/archive/2008/07/12/2643705.aspxboost库2008年3月底发布了1.35.0版本,包括了12个新的库和若干对于新库的修正。请参见http://www.boost.org/users/news/version_1_35_0来获取详细的更新信息。 最大的喜讯就是提供了对于Visual Studio 2008编译器的支持(1.34也可以,但是需要手工修改)。 下载地址:http://www.boost.org/users/download/boost JAM可以不用下载,源代码已经包括在boost库
阅读全文
VS2008C++利用ADO访问数据库
摘要:stdafx.h中#pragma once#include "targetver.h"#include <stdio.h>#include <tchar.h>#import"C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")// TODO: refe...
阅读全文
全力移植到C++
摘要:最近老师让我完成项目中的某个统计模块。借此机会用C++,实战一下。不能总用C#,毕竟我只读硕士,毕业后找工作,做算法研究的机会很少,所以C++一定要掌握,目前很多大公司主流还是C++和MFC的。
阅读全文
weka及其数据格式(转)
摘要:http://hi.baidu.com/stockfans/blog/item/489c4b1010584304213f2e98.html文件结构识别ARFF文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。以“%”开始的行是注释,WEKA将忽略这些行。如果你看到的“weather.arff”文件多了或少了些...
阅读全文
答火星人.NET。如何使用我的本科毕业程序 正文提取DEMO
摘要:(更新9.8日,有网友反馈说我的这个程序适用网站范围有限,我不得不说的确如此。它仅能完成对腾讯,凤凰,网易,新浪,东方,南都,等的部分版面做解析,所能解析的版面,都有我程序中提供的URL中所共有的特点。目录页面要包括新闻发布时间,要求具体到小时和分钟(如下图)另外如果你要是想通过该软件抓几个新闻做为语料资源的化,足够用了,我已经以此程序为原型,做了个新闻爬虫爬下新闻4W多篇)网友火星人.NET,关...
阅读全文
C++字符串处理:批量去重,以及大写变小写
摘要:最近在读洞庭散人的程序《基于K-means文本聚类》,作为C++学习的起航船。发现他的代码无法运行。而且代码中有错误。于是就在此开博更正。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#include<iostream>#includ...
阅读全文
写一点应用关于 Lucene.Net,snowball的重新组装(一)在Lucene.Net中加入词性标注与词根还原功能
摘要:作者:finallyliuyu (资料使用,博文引用请您表面出处)本专题是有关借助于Lucene.Net工具如何对英文文章进行分词,词性标注,词根还原的。如果是借助于Lucene.net框架对中文进行分词,词性标注,那么原理上更简单。我在《也谈贝叶斯分类C#版》中给出了如何在Lucene中嵌入河北理工大学吕震宇老师(根据张华平老师的ICTCLAS分词开源版本改写成)的sharpICT.需要指出但是...
阅读全文
特征词选择算法对文本分类准确率的影响(前言)
摘要:作者:finallyliuyu 注:数据使用请注明来源试验数据下载资源中包括 数据集规模为200,1000,2000,3000,情况下,特征维数分别为10,20,30-150的情况下5这交叉验证的全部正确率。其中文件命名为TextCategorization_0_100_10表示这是在文档集规模为200(一个类别中有100篇文章)下进行的第一折试验,当前特征维数为10。每个这样的文件夹下面包含文件...
阅读全文
c++杂项备忘
摘要:<摘自C++Primer>const 修饰变量,则该变量初始化的时候被赋值,在程序运行过程中不能被修改非const变量默认为extern,要使const变量能够在其他的文件中访问,必须显式地指定它为extern.const 引用是指向const对象的引用,并且只能引用该对象的值,而不能改变它的值<摘自孙鑫VC++深入详解>const char * 和char * const...
阅读全文
博客园和百度空间,我的两个家
摘要:欢迎大家访问我的百度空间finallyliuyu的百度空间。从今天起,我将以百度作为原创博客的主田地。博客园用来做备份。博客园里的园友主要是做APP的,更加关注各种新技术。百度空间相对来讲,学生群体比较庞大,可以方便形成圈子,互相交流。当然,有好的文章我还会转到这里来的,因为这里是我入门的起点。蛙蛙池塘的《蛙蛙牌正文提取算法》对我的本科毕业设计大有启示。智慧掩盖真相的Lucene.net系列,让我...
阅读全文
文本分类中的特征词选择算法系列科普(前言AND 一)
摘要:(转载请注明出处,作者:finallyliuyu) 前言:经了解,园子里有很多已经工作,但是对信息检索和自然语言处理感兴趣的同仁,也有很多相关领域的从业者。目前本人正在从事文本特征选择方面的研究。所以打算写一系列有关此方向的科普型博客,和大家分享见解。也希望在算法的理解方面和业内人士多多交流。此系列的计划是介绍各种特征词选择方法,参考自Yiming Yang 1997年的论文"A comparat...
阅读全文
Python打印到文件
摘要:import cPickle as pg=p.load(file(r'D:\0_500_my\VITdata\vocabularystatistics.dat'))f=p.load(file(r'D:\0_500_my\VITdata\infoGain.dat'))fid=file('2.txt','a')for key,val in g.iteritems(): print >>fi...
阅读全文
有关matlab画图格式的部分代码
摘要:%matrix横坐标featureDimension,纵坐标N_corpusfeatureDimension=[100,500,1000,1500,2000,2500,3000];N_corpus=[100,500,1000,1500,2000,2500,3000];matrix0=load('0.txt');matrix1=load('1.txt');matrix2=load('2.txt');...
阅读全文
中文分词:采用二元词图以及viterbi算法(三)
摘要:本博文为介绍如果采用二元词图以及Viterbi算法分词的系列博文之一,为主体算法模块,欢迎有此方面学习需要的朋友按顺序阅读。中文分词:采用二元词图以及viterbi算法(一)中文分词:采用二元词图以及viterbi算法(二) 中文分词:采用二元词图以及viterbi算法(四)下面讲解算法主体实现部分:首先给个定义:未登录词在我的程序设计体系中未登录词分为两种:“单词未登录词”...
阅读全文
中文分词:采用二元词图以及viterbi算法(四)
摘要:主程序:主程序 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#-*-coding:cp936-*-result=[]delimiter=''delimiter2='|'fromBigramwordsegemtation2importBygramVi...
阅读全文
中文分词:采用二元词图以及viterbi算法(二)
摘要:中文分词:采用二元词图以及Viterbi算法(三)中文分词:采用二元词图以及Viterbi算法(一)1。首先建立词典。此处词典要理解为:对训练语料库中的词进行词频等信息的统计后形成的数据结构,和“新华字典”中的字典意义不一样。我的实现中建立了两个词典:“单词”词典统计每个词的出现次数,“双词”词典统计每两个词连续出现的次数(因...
阅读全文
中文分词:采用二元词图以及viterbi算法(一)
摘要:说明: 本程序为中科院研究生院刘群老师的课程《计算语言学》的一个课程作业。所以,语料库来源于刘群老师,格式是1998年1月人民日报语料库经过编码后的格式。 语料库格式见正向最大匹配。关于二元词图以及Viterbi算法的入门性质介绍见二元词图,Viterbi算法入门简介 下面简单说一下:二元分词的思路。1. 建立词图:词图上的节点为单字(如果此单字在字典中出现,它的初始概率就由语料库计算,否则赋极小...
阅读全文
libsvm分类小记(三)
摘要:设计如上图所示的文本分类预处理模块。考虑到要研究特征维数的不同选择对分类准确率的影响。也就是在同一个文档集合上面,同一种特征选择方法上面,要多次建立VSM模型。如特征维数为1000的情况下的VSM模型,特征维数为2000情况下的VSM模型。在这种情况下,只需要多次调用VSMFormation模块就行了,因为文档集没有变,所有词袋子模型没有变,因为特征词选择方面没有变,所以词的优先序没有变。这是一个...
阅读全文
读 李晓明等的《搜索引擎—原理、技术与系统》
摘要:本科毕业设计时买的这本书,然后从作者指定的网站获得了TSE(Tiny Search Engine)的C++源代码。无奈那时看不懂代码。打算从最近开始着手阅读这些代码,并把作者Linux平台下的TSE,移植到Windows系统平台上。正好也是借此机会练习下C++,给自己下定的目标是半年之内,熟暗C++。C++是进入名企,主流的必要敲门砖。
阅读全文
libsvm 数据预处理 模块化程序
摘要:实验框架图见libsvm文本分类:二分类(二) 实验框架图 下面是主模块代码,暂不公布全部代码代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--#-*-coding:cp936-*-#codinggb2312fromSVMimportFolders...
阅读全文
Python 通过ctypes调用 ICTCLAS3.0.DLL
摘要:调用,封装 ICTCLAS的部分尽量是写成模块的形式,不要封装成函数,否则容易出 access volation 0xx000,或者是 bSuccess = dll.ICTCLAS_ParagraphProcess(ctypes.c_char_p(s),0)segmented=ctypes.c_char_p(bSuccess).value segmented 为None类型的问题。 改成模块调用怎...
阅读全文
python os 命令
摘要:Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep 可以取代操作系统特定的路径分割符。 os.name字符串指示你正在使用的平台。比如对于Windows...
阅读全文
libsvm文本分类:二分类(二) 实验框架图
摘要:问题总结:系统开发应该通用一种编程语言,像我的这次实验,由于Invertedtableconstruction 模块用C#语言编写,其他模块用python编写,所以很难一体化。也就是说如果进行N-fold 交叉验证,我只能手工循环实现以上流程图,而不能交给程序自己进行个N次循环实现
阅读全文
libsvm 文本分类(分两类)(实验结果)直接调用Libsvm工具
摘要:作者 finallyliuyu,转载请注明出处前言:研究生时期的最后一门作业是《统计机器学习》的阅读报告。为了让作业熠熠生辉,也同时是加深对某些混淆知识的理解,预计报告中包括以下几部分内容1. 统计机器学习机的基本框架图2.线性SVM的基本原理(主体部分) 包括如何转化成数学上的凸优化问题,转化成对偶问题。(此部分已经完成,数学推导没有看懂,只知道个流程。如果要想看懂此部分的数学推导,需要有泛函...
阅读全文
Python list 按元素属性排序, key 的用法
摘要:>>> a.append(('a',1))>>> a.append(('b',20))>>>a.append(('c',-200))>>> a.sort(key=lambda d:d[1],reverse=True)>>> a[('b', 20), ('a', 1), ('c', -200)]
阅读全文