- 博客(67)
- 资源 (11)
- 收藏
- 关注
原创 lucene 进行去除停用词和词干提取
简单的示例代码如下,从文件中读取内容进行去除停用词和词干提取,结果保存在result中。Version matchVersion = Version.LUCENE_43;BufferedReader stopwordsReader = new BufferedReader( new FileReader("a.txt"));Analyzer analyzer = new Standar
2013-05-16 16:11:10
9260
转载 词干提取(stemming)和词形还原(lemmatization)
今天想完成词干提取的功能,发现提出来的结果并不是有意义的单词,原来还有词形还原这个技术。以下内容均摘自论文《词形还原方法及实现工具比较分析》词形还原(lemmatization),是把一个任何形式的语言词汇还原为一般形式(能表达完整语义),而词干提取(stemming)是抽取词的词干或词根形式(不一定能够表达完整语义)。词形还原和词干提取是词形规范化的两类重要方式,都能够达
2013-05-16 15:35:47
46556
原创 java 根据值获得键(map get key by value)
要处理一个文档集合,需要统计出corpus包含的所有单词,即统计出一个词汇表,词汇表中需要保存单词和相应的索引。当然,统计之前需要对文档进行stopword removal和text stemming。得到词汇表后,很自然地,我们有两种需求,一是根据单词得到它的索引,另外一个就是根据索引得到相应的单词。但是jdk中的map类只支持根据key来获取value,如果要根据value获取key就需要使用
2013-05-15 17:32:12
18986
原创 plsa 公式推导
plsa中完全数据(complete data)的似然函数:其中,表示文档i中的第j个单词的主题是否为k,如果为k则为1,否则为0相应地,对数似然函数如下然后Q function就是又有两个约束条件:下面利用拉格朗日乘法求参数拉格朗日函数:然后分别对参数求导:求解过程:以(1)为例,将(1)变换成如下形
2013-05-13 16:41:09
2571
原创 plsa matlab实现
google上可以搜到很多实现,貌似用的比较多的是下面这几个1.http://www.robots.ox.ac.uk/~vgg/software/2.http://lear.inrialpes.fr/~verbeek/software.php3.http://people.kyb.tuebingen.mpg.de/pgehler/code/index.html4.http://sh
2013-05-12 16:49:57
4098
原创 late fusion vs early fusion
在信息检索中,late fusion是指把多个检索系统的结果fusion在一起,early fusion是指把不同modality的特征fusion成一个统一的表示然后用于检索。二者的区别在于fusion的时机和fusion的对象不同。具体参见:http://staff.science.uva.nl/~cgmsnoek/pub/snoek-earlylate-acm2005.pdf
2013-05-09 09:07:51
5667
翻译 cross-modal retrieval and multi-modal retrieval的区别
与unimodal 检索不同,在cross-modal 检索中,检索结果的模态和查询的模态是不同的。比如,用户使用图像检索文本,视频和音频。cross-modal检索的关键在于对不同模态的关系进行建模,难点就是bridging the semantic gap。 然而,当要检索的文档包含多模态的时候,一般的cross-modal方法就无法直接应用到multi-modal retrieval。m
2013-05-06 14:47:22
3235
原创 java 需要注意的几个地方
1.比较对象是否相等==和!=比较的是对象的引用,而不是对象的内容。在比较对象内容时可以用equals函数2.文件IO操作文件IO操作后必须要close
2013-04-23 21:07:20
774
原创 matlab startup.m文件
在matlab 默认启动路径下(就是你的matlab.exe所在的目录)下新建一个startup.m文件, 加入一些命令,比如切换路径的命令,那么在重启的时候默认就切换到那个目录了
2013-03-26 20:47:43
8920
1
原创 win7卸载ubuntu
1. 下载MBRFix工具,放在c盘,利用命令提示符,进入软件所在目录,cd c:\mbrfix (cd后面一个空格)2.输入 MBRFix /drive 0 fixmbr /yes3.重启,发现直接进入Win 7,现在可以用Win 7的磁盘管理(打不开的话,可以用Win 7优化大师里带的)格式化Ubuntu所在分区(就是没有盘符的,选定删除卷时会提示是其他系统的数据)了~~~
2013-03-15 09:09:56
916
原创 ubuntu12.04 飞鸽传书安装
对于局域网内的文件传输需求很少,偶尔想用的时候又忘了该用什么软件了。其实之前装过飞鸽传输,只不过很少用就卸掉了。为了防止以后再用,在这里记录一下。其实,很简单,先从官网下载linux下的安装包,然后解压缩tar xzvf QIpmsg_32_121019.tar.gz 然后,在当前目录下输入./QIpmsg就启动飞鸽传输了,还是很好用
2013-03-13 18:58:36
4796
原创 ubuntu12.04 远程软件remmia
ubuntu12.04 下貌似自带了远程桌面软件remmina,用起来挺好用的。首先在dash中搜索remmina,找到后打开。然后在remmina主界面上点击带有+号的那个图标。此时会弹出远程桌面设定对话框,在这个对话框里面可以指定远程连接使用的协议和服务器地址、用户名和密码。指定后也可以点击下面的保存按钮,这样以后在打开remmina时就不用重新输入了。具体的图文教程可以参考这里
2013-03-08 16:07:38
3104
原创 vim 批量注释及删除注释
1.ctrl+v进入可视化选择模式按住j或k键选择需要注释的部分2.按I进入插入模式,输入该语言的注释符号,比如c/c++需要输入“//”3.按ESC键进入命令模式此时,选中部分已经全部注释掉了删除注释1.ctrl+v进入可视化选择模式按住j或k或l等键选择需要删除的注释2.按d此时,选中的注释已经被删除了
2013-01-17 22:33:24
7075
原创 office 2010 中使用 mathtype6.8
在这里下载mathtype6.8下载后解压,选择MathType6.8简体中文版(加载&对象型),直接安装。安装过程中如果打开了office,程序会提示你关掉程序。安装后再次打开office,就可以看到mathtype已经加载了
2013-01-16 20:31:49
4570
原创 python print 自动换行
突然想用python写个乘法表练练手,发现python中print原来是自动换行的,不用再添加一个'\n',所以输出来的乘法表每个项占一行,解决的办法就是在print语句后面加一个逗号print "%d * %d = %d \t" %(j,i,i*j),ok,这样输出来就是我们看到的乘法表了
2013-01-11 23:27:02
27562
原创 回溯 图着色问题
图着色问题(Graph Coloring Problem, GCP),又称着色问题,是最著名的NP-完全问题之一。给定一个无向图G=(V, E),其中V为顶点集合,E为边集合,图着色问题即为将V分为K个颜色组,每个组形成一个独立集,即其中没有相邻的顶点。其优化版本是希望获得最小的K值。先考虑三着色问题。思路:1.对图中的每个顶点,选择三种颜色之一对其进行着色。2.如果该着色合法
2011-11-30 20:09:43
2434
原创 回溯 八皇后问题(递归和非递归)
8皇后问题:如何在8 x 8的国际象棋棋盘上安排8个皇后,使得没有两个皇后能互相攻击?( 如果两个皇后处在同一行、同一列或同一条对角线上,则她们能互相攻击。)解向量为长度为8的数组,记为solution。因为共有8个皇后,而棋盘刚好为8*8,所以每一行肯定会有一个皇后,那么我们约定solution[i]表示第i+1个皇后放在第i+1行的第几列。solution中的列从1开始记。回溯算法的思
2011-11-30 16:35:41
7052
原创 scanf小结
用c写一个双向链表,结果在scanf上总是出现问题:明明得输入3次结果每次都是2次就结束了。调试也没有个所以然来,上网查了一下是输入缓冲区的问题。貌似不是第一次遇到这个问题,所以在这里小结一下。我是在ubuntu下进行的。 考虑下面的程序:#include int main( void ){ char i,j; scanf("%c",&i); scanf("%
2011-11-21 12:44:17
816
原创 ubuntu11.10使用局域网中的xp下的共享打印机
先说方法:1.先安装samba ,终端输入:sudo apt-get install samba2.左侧unity面板上的系统设置-打印-添加-网络打印机-使用SAMBA的Windows打印机3.在smb://后面的文本框里面输入共享打印机的ip地址和共享名。实验室的打印机使用windows xp系统,所以说一下在xp下查看共享打印机的ip地址和共享名的步骤ip地址
2011-11-09 20:58:52
291
原创 Win7下硬盘安装ubuntu11.10
<!--@page {margin:2cm}p {margin-bottom:0.21cm}a:link {}-->参考文章:http://forum.ubuntu.org.cn/viewtopic.php?f=77&t=3484521.下载11.10镜像文件,地址:http://releases.ubuntu.com/11.10/,下载de
2011-11-08 11:26:54
1314
原创 单源最短路径(bellman-ford 、dijkstra)
对一个带权有向图G=(V,E),给定一个源顶点S,找出S到图中其他顶点v的最短路径即单源最短路径问题。该问题还有很多变体,像单终点最短路径、单对顶点最短路径、每对顶点间的最短路径等等。最短路径问题是具有最优子结构的:一对顶点间的最短路径包含了该路径上的顶点间的最短路径。直观上理解,如果该路径上的两个顶点间的路径pij不是最短路径,那么用这两个顶点间的最短路径代替pij,那么就会出现一条更短的路
2011-11-01 20:16:35
1474
原创 最小生成树算法(prim&kruskal)
无向连通图 G = (V, E)的生成树是它的极小连通子图:连接了图中所有的顶点,有保持图连通的最少的边,且不包含回路(最少的边这一条件已经隐含了不含回路的性质,同时,生成树是一种树,也是不允许有回路的)。在所有的生成树中,权值最小的树就是最小生成树(minimum spanning tree)。由最小生成树的性质可知,它的边数比顶点数小一,而且一个图的最小生成树往往是不唯一的。求解无向连通图
2011-11-01 20:08:01
2555
原创 深度优先搜索和广度优先搜索
将图记为G(V,E)。图的表示一般有两种方法:邻接矩阵和邻接表。邻接矩阵是一个为|V|*|V|的二维矩阵,记为array,array[i][j]表示节点i和节点j之间是否存在边,对于带权图(又称为网),array[i][j]还可以表示节点i和节点j之间边的权。因为邻接矩阵大小和图中的边数|E|无关,所以邻接矩阵更适合于稠密图(|E|接近|V|²)。邻接矩阵同样适合程序需要经常判断两个顶点之间是否存
2011-10-24 17:01:53
4188
原创 堆、堆排序、优先级队列(c++实现)
到目前为止,我所知道的堆有两种,一是内存的一种,常见的用途就是动态内存分配了(在c/c++中就是这样),另一种是这里所要论述的一种数据结构。一、堆数据结构中的堆又叫二叉堆,顾名思义,我们可以把它看成一颗完全二叉树,每个元素最多有2个孩子,分别看做左孩子和右孩子。根据元素和它的孩子的关系,堆又可以分为最大堆和最小堆。最大堆的性质是父母的值不小于左右(如果都有)的值,相应地,最小堆就是
2011-10-19 17:39:56
3580
原创 最长单调递增子序列
题目:给定一个序列X[0···n],找出它的最长的单调递增子序列(Longest Increasing Subsequence)分析:思路一: 将序列X按非递减顺序排列,形成新序列Y,问题就转变成求解X和Y的LCS。假设使用快速排序,则排序过程的时间复杂度为O(nlgn),而求两个序列的LCS的时间复杂度为O(n2)(因为X、Y长度相等),综合可知该解法的时间复杂度为
2011-09-11 22:23:54
12499
原创 动态规划—最长公共子序列LCS
最长公共子序列问题可以描述如下:给定两个序列X[0,····m]和Y[0,····n],找出X和Y的最大长度的公共子序列S,即最长公共子序列问题(longest common sequence )。分析: 假设Z[0,····k]是X和Y的一个LCS,
2011-09-11 16:03:02
1355
原创 快速排序的递归实现
快速排序通常是排序的最佳选择,因为其平均的运行时间为O(nlgn )。最坏情况下每次划分都产生两个分别包含n-1个元素和一个元素的区域,此时时间复杂度为o(n²)。最佳情况下每次划分都将数组分成两个长度差不多的区域,此时时间复杂度与平均性能差不多。 快速排序的递归
2011-09-10 16:37:20
1098
堆排序、优先级队列(c++模板实现)
2011-10-19
活动选择问题代码(c++)
2011-09-22
图算法(c++模板)
2011-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人