- 浏览: 164640 次
- 性别:
- 来自: 珠海
最新评论
-
rockone:
start_response()中的status和header ...
初试Python3.0 wsgiref遇到好些问题.. -
zhangdp_neu:
1.文本比较如何处理多关键字搜索?难道也文本比较。如果文本过多 ...
基于文本比较的搜索是否可行? -
sdh5724:
分词是很大的目的是为了减少内存使用。 如果按字符倒排, 也能出 ...
基于文本比较的搜索是否可行? -
Heart.X.Raid:
对于海量数据而言,可行性不大。查询关键字需要对每篇文档进行比较 ...
基于文本比较的搜索是否可行? -
marcolu.1987:
那个,能不能传一份标准切分结果给我,我在学习中文分词,希望得到 ...
分词器源码……M1
文章列表
一个用数组表示的二叉树int[] tree=new int[]{7,5,46,1,8,9,36...};,根节点为7,下面俩子节点分别是5和46,以此类推产生其他子节点。现在需要找出该二叉树所有节点之和最大的路径。
首先想到的是将该数组变成一个树形结构的数 ...
1. What is γ code?
γ编码并不是我随便乱取的名字,其原理在信息检索导论第5章第3节有介绍,用于压缩一连串有序的数字类型的数据非常有用。在MG中将γ编码归类为全局模型(MG更推崇局部模型)。其原理是将所有的数据分成两部分连起来,第一部分为数据长度,第二部分为数据内容。这样做的好处是对于很小的数字γ编码可以只用bit就可以表示了,如对于8这样的数字,只需要表示数据长度的1110四位字节加上表示数据的000三位字节就可以表示了。而如果当做int保存,则需要4字节即32bit保存,而实际上前面的数据都是0,这样做很浪费空间。但γ编码需要保存后面的数据的长度,在保存很大的数字时会 ...
曾经,有人在这片神圣的土地建立了火星,名曰:火星常驻JE办事处.当时的我们,年轻,朝气,套用一句话,我们是有灵魂的人. 可如今火星已经烟消云散了.尽管豆瓣有我们的办事处:http://www.douban.com/group/137197/,可是被看作是火星的传承……可毕竟.这是不同地.我们一生都为火星效力,而火星的倒塌,却使得我仿佛丢掉了自己的灵魂,一生的效忠,片刻就成了……空! 是的,就是这样, 我们将在平庸之中,慢慢老去. 我已经失去了目标.现在的我,连自己都不知道自己在干什么 一切的一切,所有的荣耀,所有地凝聚,所有的热爱,都来源于一个名字: ...
事实上要自己写的代码很少。我写了四个类。都在org,phyeas包内,其他代码没有改过。目前测试的结果是:
速度:104k/s
f-score:0.938
----------------------
测试平台:
系统:Ubuntu9.10
CPU:P43.06
内存:1G+512M
Eclipse:3.4
在Windows下可能会有错误原因可能是字符集不一样,我Ubuntu下默认字符集是UTF-8,所以我在读取文件时有些是指定了字符集,在windows下应该不用,发现有这个问题的朋友可以与我联系。
用法:先构建预处理语料,使用我的ConvertToMEDi ...
连续几天的努力终于把f-score从0.856一直提升到0.939。特征也从原来的5中增加到了8种,分类从原来的4种加到了6种,170多W的事件,训练出50多M的模型文件。想起原本只有区区0.856的f-score也觉得真不容易,呵呵。越到后面越觉得再提升就很困难了,基本上特征都提取完了……目前没有想到新的特征。
在这里也简要说下我的特征系列(当前字用C表示,C-1既是前一个字):C pC-1 nC+1 pcC-1C cnCC+1 pnC-1C+1 ppC-2C-1 nnC+1C+2 (num | pnum | nnum) (symbol | nSymbol)
再加上读取11个字 ...
1、利用windows api对文件系统进行监听
尝试1:利用FindFirstChangeNotificationA、WaitForMultipleObjects、FindNextChangeNotification组合
这一组合缺点是就api而言无法获取变更的文件名,还要自己遍历文件夹比对。放弃。
尝试2:CreateFileA、ReadDirectoryChangesW组合,完美的组合,可以获取到变更的文件名,唯一不足的是还要用一个函数来转换获取到的文件名(WideCharToMultiByte)。
2、关于python调用c语言。使
用distutils可以将c ...
今天风月群的燕大师突然说谁有空去研究一下play,于是就去研究了一下,在play的官网中发现这个页面:Five cool things you can do with Play
其中,令我好奇的是play竟能自动填充action方法的参数。并且经过试验,是根据参数名进行填充的。觉得甚是神奇。便决定研究之。结论是:“play通过自定义ClassLoader和enhancers在运行时生成class,并在class中添加了各个方法的参数名。然后使用反射进行获取。”
首先,server.ServletWrapper接到请求。初始化一些参数后调用Invoker的invokeInThread方法。再 ...
- 2009-11-12 13:13
- 浏览 1592
- 评论(0)
背景:
话说上次上头让我研究编辑器,后来又得知说客户方要求使用GWT,无奈之下转而又开始研究起gwt,以前没有接触过,说得不对的地方各位砸砖。。
正文:
GWT主要分为两部分:翻译和RPC。翻译即是将java代码翻译为js代码,由于多数java语法都于js雷同,此过程也相当简单,这个过程要注意的是:java是静态类型的,java的数组声明方式与js不同,要完全翻译java语句就要把期间调用的方法也翻译出来,但这个过程中如果遇到RemoteService的对象,则不翻译其内部代码,而仅给出RPC实现。所以就要求翻译器具备语义及语言结构分析能力(当然了,gwt的翻译器应该具备优化代码的 ...
- 2009-10-06 23:15
- 浏览 3302
- 评论(0)
在被js狠狠地折磨了8个小时后,页面终究还是运行起来了。不过还没被折磨够,明天还要继续接受摧残。。
背景:昨天下午,老板一个电话过来,让我作个demo。说是为做一个可视化编辑器作准备。
研究:
我记得je的js板块似 ...
- 2009-09-30 23:27
- 浏览 1776
- 评论(1)
1、Python源码剖析对应的版本为2.5。在py3k中第0章中所说的Objects/intobject.c文件实际上是不存在的,因为在py3k中没有int类型,对应的为long,由于long没有专门的long_print方法,所以例程可跳过
2、编译Python:第一次编译安装时需要执行make install,但以后每次修改之后不用每次install了,在生成了文件名为python的可执行文件后直接复制过去即可。
3、根据书中记载,python每次对象的引用减为0时调用“析构方法”,并把对象归还对象池,相对于jvm规范中的对象回收方法不一样,jvm中只有当对象真正在内存中析构时调用fin ...
- 2009-09-23 23:08
- 浏览 1396
- 评论(0)
经过 rednaxelafx
的指点和本人的努力,新一版版的文法终于出来了,呵呵
这次终于让文法可以识别function。并且将上次的有递归语法改为左递归(rednaxelafx
的功劳)
又自己重写了一遍,熟悉一下思路。文法这东西确实不好写。
以下是文法文件的内容:
%{
#include "stdio.h"
%}
/*KeyWord*/
%token TYPEOF VAR FUNCTION RETURN FOR WHILE DO IF ELSE BREAK DELETE TRY CATCH IN SWITCH FINALLY NEW CASE CONT ...
- 2009-09-20 16:16
- 浏览 1161
- 评论(0)
经过几个小时的努力,文法文件貌似终于工作正常了。文法定义的是一个js变量声明语句的文法,以此来学习文法的定义和使用。
测试输入:
var s=123;
var s="sadasd";
var s=(1);
var s=1+3*5;
var s=1+3+5;
var s=s.p;
var s=s[1];
var s=s==s;
var s=!s;
var p=p.point();
var p=p.point()-1;
var a=new Array();
var a=ss=s=d;
var regex=/avc/;
var a=ss=s;
va ...
- 2009-09-19 01:58
- 浏览 2180
- 评论(7)
试析从LR(0)生成DFA及移动-规约过程分析
- 博客分类:
- 算法
参考《编译原理及实践》
有如下文法:A→(A)|a
先给出该文法的DFA:
根据规定,将A'→A作为开始。
得到文法:
A'→A
A→(A)|a
-----------------
根据从左到右扫描,虚拟一个游标。当前游标在-1处,即:
A'→A
↑(在A前面 ...
- 2009-09-16 23:16
- 浏览 2294
- 评论(0)
GNU/Linux编程指南中第二部分中读取文件信息的程序中包含代码:
if((fd=open(args[1], O_RDONLY))<0){
perror("open");
exit(EXIT_FAILURE);
}
但事实上,如果输入文件为管道文件,程序会被阻塞。要添加O_NONBLOCK参数。即:
if((fd=open(args[1], O_RDONLY|O_NONBLOCK))<0){
perror("open");
exit(EXIT_FAILURE);
}
- 2009-09-13 12:57
- 浏览 2032
- 评论(0)
周末在家把思路理了一边,先是用python实现了一下,但性能不太理想(100k/s),考虑到可能是由于动态语言的效率本身比较慢的原因,于是将算法改成c语言实现,最终的结果是:1.8M/s(硬件环境:Intel Core Duo 1.73G, 内存2G)。对于这个结果来说,我还是不太满意,比较现在动辄都是上G的数据。这样的效率太慢了,下面放上代码,各位讨论下是否还有优化的余地或者这个算法本身比较慢,或者这个方案是不可行的?
以下代码在Ubuntu9.04下编译并运行通过,测试数据是从je上随便搞了几篇文章。 gcc版本:4.3.3
#include <stdio.h>
...