自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (1)
  • 收藏
  • 关注

原创 基于python的分词算法的实现(3) - 建立字典

单词词典里面基本只要保存词的词性的频率,另外考虑到一次性把词典读入内存的消耗太大,必须把词典分块,当有需求的时候才将特定的块装载进内存中。在这样的需求下,设计采用如下结构的词典:+-------------+| Header      | -----> 包括词数量,总频率,索引开头位置,索引大小等+-------------+| Index       | -----> 每个索引项对应于一个词表块。索引项指示了词表块的位置大小等信息。+-------------+

2011-04-16 22:26:00 1736

原创 基于python的分词算法的实现(2) - 字典的选择

<br />弄清楚了算法的问题,下面就着手解决第一个困难:字典。根据前面的算法描述,我们主要需要的是包含连续出现的两个词概率的词连接字典,或者称为短语字典。同时,其实还需要一个包含所有词的单词字典。单词字典有两个作用,首先我们要知道一个句子里面有哪些字可以组成词,其次对于一些没有包含在词连接字典里的短语,我们需要估计短语的大致概率。<br /><br />ictclas的实现里就包含这两类字典,分别被称为coredict(单词字典)和bigramdict(短语字典)。我统计了一下,ictclas的字典里

2011-04-07 16:29:00 1684

原创 基于python的分词算法的实现(1) - 算法

从网络上搜索分词算法,可以找到一个很有名的开源项目ictclas(http://ictclas.org/)。这个算法是基于概率的。概率的确是个好玩意,很多语言层面难以简单概括的东西,用一个概率就可以描绘其很多的特征。最简单的,假设我们知道每一个词在汉语言里出现的概率,并且假设这个概率和其它的词不相关,我们就可以设计这样的一个分词算法,使得分词结果中的词出现的概率最大。也就是优化P(Words)=P(Word1)*P(Word2)...这样足够好了么?有一个笑话:用“天真”造句,小朋友答“今天

2011-04-07 12:01:00 1810 1

原创 ruby中的gc

从哪里看起呢?首先应该看看空间在哪里分配,内存占用是如何吧那哪些语句可能导致内存的分配呢?Class.new这肯定是一个来源,不过似乎new不是一个关键词。从试验中可以看出new和类的其他方法一样,并没有独立出来。特殊的是new应该是解释器在读入class定义时自动加入的。那么首要任务是找到new方法加入的代码。一番搜索,没有发现Class.new的有关代码,倒是不经意发现了gc.c中的rb_ne

2008-04-05 21:04:00 585

原创 ruby中使用yacc定义的语法规则

摘自1.8.6,parse.y stmt        : kALIAS fitem {lex_state = EXPR_FNAME;} fitem               | kALIAS tGVAR tGVAR               | kALIAS tGVAR tBACK_REF               | kALIAS tGVAR tNTH_REF              

2008-04-04 21:09:00 881

原创 ruby解释器中的节点分类

上次提到读rb_eval里面用到宏nd_type来解析节点的类型应该补补编译原理的知识:)在 此之前,可以明了语法使用树来存储,节点类型是struct RNode(NODE) (这里我曾有一个错误的判断,以为解释器将所有语法制成树的结构然后再一次性调用某个函数将其进行解释。其实应该是树的性态是随着新读入的节点的信息不断变化的,或者说是边构建树边进行解释的。)(后来又看,似乎还是第一次的想法比较对头

2008-04-03 22:29:00 634

原创 开个博客写些编程技术

之前搞过一个与linux有关的博客,把学习源码中的一些想法记录下来后来源码读的少了,也没维护下去在这开个blog吧,好好学习,哈哈先是ruby今天是第一天,看了一小会ruby的源码源码大多是些tricky的东西,很容易弄得晕头转向读ruby源码的目的首要是搞清ruby的类型机制,语法规则在解释器中的实现,还有gc机制的原理从main.c开始,看到一堆一堆的HEAP,STACK有关的宏,暂时无视然后

2008-04-03 22:07:00 339

bootsect.exe for win7 32bit

win7安装盘自带的小工具,可以用来恢复/创建启动分区。 这个是32位的,必须在32位的系统上运行

2011-09-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除