2007-02-28

HTML DOM

DOM 是 Document Object Model 的简称。DOM将文档组织成树状模型。从而将不同的文档表示成统一格式,便于文档的解析。DOM在XML解析中应用很多,其实HTML也是可以转变为DOM的。如下图所示:



把HTML直接去除标记,转化为ASCII文档,丢失了这种层次结构,损失了部分信息。而DOM是一个无损的HTML文档表示方法。可以方便的解决HTML在内存中的表示问题。

2007-02-07

设计模式 -- 单件 Singleton

目前C++中的一个主要问题就是数据的传递。传统的 C++有3种数据传递的方式:传值,传引用,传指针。对于小的对象,不如int,double,传值是很快的。但是对于大的对象,比如字符串,含有数据的类等等,传值时要拷贝对象,但是拷贝大的对象是很慢的。

对于这个问题,可以传指针,但这是C中的方法,而且指针容易造成内存泄露。C++中的解决方案是引用。但是引用也有问题,会造成类的设计比较复杂,函数的参数过多。

于是就有单件的设计模式。单件可以实现传值的语义。他其实封装了传指针,最简单的单件实现很简单( 可见 Modern C++ Design ),他只创建一个对象,如果对象没有创建,则创建,否则就返回创建好的对象( 这就是单的意思吧,在内存中只保留一个对象 )

在设计时,凡是含有大量数据的类,都可以设计成一个单件。这样可以最大的减少拷贝的代价。

Modern C++ Design是C++设计模式中比较著名的一本书,Loki是C++设计模式的一个库。

2007-02-05

Grpah and PageRank

自从PageRank算法产生以来,它已经被用到越来越多的地方。一般来说,有Graph的地方就有PageRank。

PageRank是一个基于图的排名算法,这一算法很像选举政治,一切实体的地位由投票决定。

有了图的rank算法,现在的主要问题就是如何把我们需要rank的东西转化为Graph,现在这个是很多人研究的领域。
  1. WebPage通过url形成page之间的关系,从而构成图,最早的pagerank就是基于WebPage的排名提出的
  2. 实体Entity之间通过在一张网页或者一篇文章中co-occurence产生联系,这方面比较著名的研究是 polyphonet an advanced social network extraction system from the web 一文。
  3. 文本的图表示,我前面也说过,可以建立句子的图,或者词的图
  4. 还有语义网络...
总之,Graph-based表示比以前的向量表示前进了一步,他更多的保留了物体的信息。和向量模型一样,Graph模型也需要解决以下问题。
  1. 模型的建立,特征提取。
  2. 模型的匹配,也就是模型的相似度计算,这涉及到分类器的设计。

2007-01-29

互联网创业什么要注意什么?

转载自 http://www.douban.com/group/topic/1410869

2006年是youtube被收购,结果中国出来200多个tube。现在一些还在做吧,出来了一个flickr,结果中国也出来一堆xlickr。相信其中一些能够做好,但不是每一家公司。
  
互联网创业的诱惑在于:是个人就可以开始做,危险在于:竞争太强,因为谁都可以做,残酷在于:市场上只有第一,也许有第二,基本上没有第三第四。所以,在互联网上创业,需要注意几点:
  1. 注意大个子,如果微软或Google想做这件事情,那你要认真考虑还做不做;
  2. 注意自己的局部优势,要是在自己的一亩三分地还没有优势,那就要考虑自己对准的市场是不是太大?
  3. 注意自己的市场,是不是没有成长潜力,要是是一个萎缩中的市场,你当然要考虑了;
  4. 注意自己产品的可用性和价值,没有这个,什么都不用说了;
  5. 注意自己的竞争策略,为什么自己能够在竞争中存在下去?什么?没有竞争?那再想想看自己的妙主意真得有市场吗?为什么全世界都没有想到,答案很可能是:那根本不是好主意。

2007-01-28

文档的图表示

在信息检索和搜索中,对文本的处理是至关重要的.在文本处理中,文本的表示是第一步.传统的文本表示方法是将文本表示成关键词集合,也就是一个一维向量.这一表示有很多的优点.但是他在文本处理中,过多的损失的文本的信息,所以目前有一种文本的图表示方法.

这一表示方法不仅考虑图中的关键词,而且考虑关键词之间的关系.也就是将文本表示成一个关键词的图(Graph),在图表示中,主要的就是图的顶点和边。

顶点 :关键词
边 :2个顶点之间有一条边,那么这两个顶点的关键词,在文本中的距离小于N。

也就是说两个关键词之间的联系取决于两个词在图中的距离。这个距离定义为词在分词序列中的距离。

转换到新版了

嘿嘿嘿,终于转换到Blogger的新版了。

2007-01-21

amule

Linux 下的 emule,用了一下,感觉不错。

2007-01-20

在FC6上设置yum的国内镜像更新源

转载自:http://blog.csdn.net/calories/archive/2006/12/08/1435526.aspx

刚装了FC6,由于在教育网,无法使用yum默认的国外更新源,因此需要将其设置为国内镜像站点。在网上找了一圈,发现清华的 ftp://ftp3.tsinghua.edu.cn这个更新源不错。参考网上的一些方法,设置yum更新源步骤如下:

1. /etc/yum.repos.d/下的已有更新源(repo文件)的enable改为0。为了方便起见,可以直接 mv /etc/yum.repos.d /etc/yum.repos.d.bak重命名,这样就让系统找不到原有的repo文件了。

2. 修改/etc/yum.conf文件,添加如下内容:
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

[extras]
name=Fedora Extras $releasever - $basearch
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/extras/6/i386
enabled=1

[updates]
name=Fedora Core $releasever - $basearch - Updates
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/core/updates/6/i386
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora

[core]
name=Fedora Core $releasever - $basearch
baseurl=ftp://ftp3.tsinghua.edu.cn/mirror/download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os
enable=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

3. 经过上述步骤后,就可以使用速度较快的国内镜像站点作为yum更新源了。

2007-01-18

比较著名的web2.0网站

http://www.web2logo.com
上面这个网站记录了现在网上比较著名的web2.0网站。