2009年6月24日星期三

中文分词和TF-IDF

  中文分词(Chinese Word Segmentation)指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。

  TF-IDF(term frequency–inverse document frequency)是一种用于信息搜索和信息挖掘的常用加权技术。在搜索、文献分类和其他相关领域有广泛的应用。

  TF-IDF的主要思想是,如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TF词频(Term Frequency)指的是某一个给定的词语在该文件中出现的次数。IDF反文档频率(Inverse Document Frequency)的主要思想是:如果包含词条的文档越少,IDF越大,则说明词条具有很好的类别区分能力。

  使用TF*IDF可以计算某个关键字在某篇文章里面的重要性,因而识别这篇文章的主要含义,实现计算机读懂文章的功能。

  常见中文分词开源项目:

  SCWS

  Hightman开发的一套基于词频词典的机械中文分词引擎,它能将一整段的汉字基本正确的切分成词。采用的是采集的词频词典,并辅以一定的专有名称,人名,地名,数字年代等规则识别来达到基本分词,经小范围测试大概准确率在 90% ~ 95% 之间,已能基本满足一些小型搜索引擎、关键字提取等场合运用。45Kb左右的文本切词时间是0.026秒,大概是1.5MB文本/秒,支持PHP4和PHP 5。

  ICTCLAS:  

  这可是最早的中文开源分词项目之一,ICTCLAS在国内973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构SigHan组织的评测中都获得了多项第一名。ICTCLAS3.0分词速度单机996KB/s,分词精度98.45%,API不超过200KB,各种词典数据压缩后不到3M.ICTCLAS全部采用C/C++编写,支持Linux、FreeBSD及Windows系列操作系统,支持C/C++、C#、Delphi、Java等主流的开发语言。

  HTTPCWS

  HTTPCWS 是一款基于HTTP协议的开源中文分词系统,目前仅支持Linux系统。HTTPCWS 使用“ICTCLAS 3.0 2009共享版中文分词算法”的API进行分词处理,得出分词结果。HTTPCWS 将取代之前的 PHPCWS 中文分词扩展

  庖丁解牛分词

  Java 提供lucence 接口,仅支持Java语言。

  CC-CEDICT

  一个中文词典开源项目,提供一份以汉语拼音为中文辅助的汉英辞典,截至2009年2月8日,已收录82712个单词。其词典可以用于中文分词使用,而且不存在版权问题。Chrome中文版就是使用的这个词典进行中文分词的。

  基于VB/ASP的中文分词

  上面的开源项目没有给予VB和ASP的,这里提供一个简单的VB/ASP类,加上词典之后就可以进行分词了,注意这个类只供演示,其分词速度极慢不适合实际应用。

  类名为:WordSplit

Private rootTable As String

Private Function GetCount(ByVal s As String) As Long
    GetCount = InStr(1, rootTable, s)
End Function

Public Function WordCount(ByVal strString As String, ByVal strGetWord As String) As Long
    Dim k
    k = Split(strString, strGetWord)
    WordCount = UBound(k)
End Function


' 分析输入的字符串,将其切割成一个个的词语。
' <param name="s">待切割的字符串</param>
' <returns>所切割得到的中文词语数组</returns>

Public Function ParseChinese(ByVal s As String, ByVal separator As String) As String
    Dim lngLength As Long
    Dim strTemp As String
    Dim ArrayList As String
    Dim i, j

    ArrayList = ""
    lngLength = Len(s)
    i = 1
    While i < lngLength
        strTemp = Mid(s, i, 1)
        If GetCount(strTemp) > 1 Then
            j = 2
            While i + j < lngLength + 1 And GetCount(Mid(s, i, j)) > 0
                j = j + 1
            Wend
            strTemp = Mid(s, i, j - 1)
            i = i + j - 2
        End If
        i = i + 1
        'WordAdd (temp)
        ArrayList = ArrayList + strTemp + separator
    Wend
    ParseChinese = ArrayList

End Function

Private Sub Class_Initialize()
    Dim fso, templetfile, txtfile
    templetfile = App.Path + "ChineseDictionary.txt"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set txtfile = fso.OpenTextFile(templetfile, 1)
    rootTable = txtfile.ReadAll
    txtfile.Close
End Sub

  调用示例:

    strInput = "中文分词指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。"
    Dim strWordSplit As New WordSplit
    strSubject = strWordSplit.ParseChinese(strInput, "|")
    arrSubject = Split(strSubject, "|")
 

2009年6月23日星期二

令人“心神不宁”的网络

  小高同学终于“心神不宁”了,因为他触到了一个“霉头”,他没有想到Google在中国有如此广大的粉丝群,以及人们对于“编造新闻”的反感之强烈,最终成为了一个牺牲品。

  小高同学应该也有他自己的难言之隐,一个国有企业的实习生,一旦转正就可以获得较为稳定的收入和待遇,对于一个还没有工作的学生来说的确具有诱惑力,他为了得到一份工作,自愿或者不自愿的做了这项工作。

  或许小高同学自己也的确有这样那样的想法,对于一个受过几十年传统教育,从来没有走出过国门的人来说,思维方式很难有所突破,小高有他自己说话的自由,但仅仅代表了社会中的一小部分,无法代表大众,否则也不会出现网民群起攻击和人肉他的现象了。这也说明一个问题,新闻工作者应该采访那些真正的大众群体,客观地记录事实,让普通大众也表达自己发言的自由,才能做到新闻的客观和公正。如果一开始就设定好调子,按照预先的思路去采访,甚至要求被采访人说些什么话,这是新闻节目的大忌,如果《焦点访谈》这样原本为人们关注和喜爱节目也这么搞,无疑将使得自己的权威性、公信力大打折扣,最终沦落为一个不伦不类的二流节目。

  广大网民对于小高同学的愤怒也是有理由的,人们对于说假话是深恶痛绝的,不愿说谎的人会认为,如果姑息纵容小高这样的投机者,那么未来为了获取利益而说谎的人会越来越多,能够给诚实者留下的生存空间也会越来越少,而通过央视这样的大媒体去编造的谎话则更为恶劣,如果对这样的行为都能容忍和麻木,那么总有一天,没有一个人会说实话了。

  实际上,说句实话真的就那么难吗?

  著名学者钱理群先生曾在一次讲座上说,人说话应该有底线,这些底线依此是:一,力图说真话;二,不能说真话则应保持沉默;三,无权保持沉默而不得不说假话时则不应伤害他人。钱先生补充说,无权保持沉默而不得不说假话,若这种假话并未伤害他人,这种人可成为奴隶,尚有可同情处;但若为伤害他人而说假话,则只能称奴才,不可原谅。

  如果说谷歌中国的不良信息让小高同学心神不宁有点失实的话,那么现在,真正让小高同学心神不宁的东西已经出现了,那就是互联网。

2009年6月22日星期一

碧桂园度假村游记

  周六玩了广州长隆欢乐世界之后,晚上我们就入住顺德碧桂园度假村休息,从番禺到碧桂园度假村很快,一会儿就到了,这个度假村座落于顺德碧桂园别墅区内,环境非常好,到处都可以看到漂亮的别墅和私家泳池。

  顺德碧桂园度假村里有不少游乐设施,包括一个很大的游泳池、保龄球馆、图书室、超市、健身房等,入住客人可以免费使用一次。

碧桂园度假村

  早晨起床之后,可以在游泳池、保龄球馆、健身房等设施中任意选择,度过愉快休闲的一天。

碧桂园度假村

  度假村的设施玩够了之后,还可以去园区深处还有碧桂园农庄游玩,从度假村到农庄每十分钟有免费巴士接送,大概一刻钟时间就能达到目的地。

碧桂园度假村

  农庄的景色非常优美,湖水碧绿,杨柳青青,风景迷人。

碧桂园度假村

  一群小鸭子在湖水里游泳。

碧桂园度假村

  农场里还饲养了很多动物,这只可爱的小山羊叫“灰姑娘”。

碧桂园度假村

  农场里还有专业骑师指导,游客在骑师指导下一展骑马英姿,不过骑马是要另付费的。

  碧桂园度假村的芒果非常多,满树的芒果一堆一堆的,却没有人摘,在城市里很难看到这样的情景。

  碧桂园度假村住的这一天,感觉田园生活的确充满了乐趣,环境也非常优美,难怪很多人选择在这里养老。

2009年6月21日星期日

广州长隆欢乐世界游记

  周六和同事一起去广州番禺的长隆欢乐世界玩了一圈,感觉还不错,和深圳欢乐谷相比,广州长隆的过山车令人印象深刻,而且排队的人很少,周末人也很少,几乎半天时间就可以将大部分好玩的项目玩完,而深圳欢乐谷的项目则太多,排队动辄就是一个多小时,任何时间人都很多。

广州长隆欢乐世界

  广州长隆欢乐世界的门票和深圳欢乐谷一样,是170元,我们团体票可以打折,大概能降到100元左右。

广州长隆欢乐世界

  入口处就是十环过山车,这个过山车据说创造了游乐设备环数最多的吉尼斯世界记录,全世界只有两台(仅在英国还有一台)。

十环过山车

  这个过山车的确很刺激,转的圈数很多,感觉其刺激程度仅次于垂直过山车。

十环过山车

  十环过山车的旁边是摩托过山车,游客骑在一个类似摩托的小车上,这个过山车的加速度非常快,可惜时间太短了,惊险程度也一般。

摩托过山车

  垂直过山车非常高,有两段几乎是直上直下的,非常刺激,速度快的惊人,坐在上面如同坐在一架高速战斗机上飞行一样,令人大呼过瘾,这个过山车的另一个好处是,排队几分钟就能玩上,我就连玩了两次,感觉很爽。

垂直过山车

  激流勇进这个项目和深圳欢乐谷的同名项目几乎一模一样,但高度还不到欢乐谷的一半,小艇会载着游客慢慢爬上一个斜坡,然后急速冲下来,虽然我穿了雨衣,但冲下来的时候还是把裤子全打湿了。

激流勇进

  超级大摆锤号称“全球最大大摆锤”,塔高26米,看起来似乎不太惊险,但上去之后才会感觉到,摆的可真高啊。

超级大摆锤

  U型滑板虽然看上去也不怎么样,但的确也挺刺激的,感觉比欢乐谷的UFO要好玩。

U型滑板

  除了惊险的栏目外,还可以看到特技表演《惊爆危机岛》,里面的故事情节和打斗虽然看上去比较老套,但里面的老外表演起来还真像那么回事,挺敬业的。

惊爆危机岛

  最后节目都玩遍了,还会看到每日的巡游表演,园区的演员们纷纷赤膊上阵,这东东被“绿坝”看到一定会被全过滤掉的。

  总的来说,广州长隆欢乐世界还挺好玩的,就是设施少了点,除了上面我介绍的几个栏目外,其他的栏目比深圳欢乐谷要少的多,不想排队的话去这里玩也挺不错的。

2009年6月20日星期六

谷歌中国被停止境外网页搜索和搜索建议功能

  据新华网报道,中央电视台在昨晚的《新闻联播》及《焦点访谈》节目中指责“谷歌中国”网站存在大量淫秽色情和低俗信息内容,同时互联网举报中心对谷歌中国网站进行强烈谴责,要求其彻底清理色情信息,并建议相关执法部门依法处罚。之后,国家有关部门召见“谷歌中国”网站负责人,对“谷歌中国”网站大量传播淫秽色情内容进行执法谈话,宣布对“谷歌中国”网站的处罚措施,暂停该网站境外网页搜索业务和联想词搜索业务,并责令其立即进行整改,彻底清理淫秽色情和低俗内容。

  现在登录Google.cn,其“搜索建议”功能果然已经无法使用了,对于境外网站的搜索是否关闭目前尚不得而知,据我所知,很多国内的网站主为了避免备案,都购买和使用了国外的虚拟主机,如果Google.cn关闭境外网页搜索功能,则大量国外中文网站将失去来自Google的流量,可谓损失重大。对于Google自身来说,这也将极大冲击Google的用户搜索体验,使得原本使用Google.cn的用户转而使用Google.com或其他搜索引擎,但愿现在Google.com不会自动转向Google.cn了。

谷歌中国

  昨天的“焦点访谈”栏目也“火”了另一个人,就是那个被采访的“大学生”高也,此人在节目中声色俱厉地对谷歌中国进行了谴责,还举个他同学的例子做为证据,可惜经过网友的人肉搜索,原来此人不仅不是大学生,而且还是焦点访谈栏目组的实习人员。小高同学目前正在承受网民暴风骤雨般的攻击,已经被迫关闭自己的新浪博客和校内等网络地址,打算隐居了,这对他的人生经历也算是一个教训,早知今日,何必当初呢。

  “谨言慎行”是一种做人的美德,就像那个曾经说过“很黄很暴力”的小女孩一样,睁着眼睛说瞎话并不是一件困难的事情,重要的是,说话要负责任,特别是一个人在国家电视台这样的垄断媒体上说话,说话者的权力会被无限放大,这时候,说话人不仅仅是表达自己的声音,而且是影响电视机前的大众,这就是权力。如果你不珍惜自己的话语权,用幼稚的谎话去愚弄和欺骗大众,那么最终会被这个社会无情地惩罚。

2009年6月19日星期五

央视抨击谷歌中国存在淫秽色情信息

  今天晚上,中央电视台《新闻联播》和后面的《焦点访谈》两个栏目都重点抨击谷歌中国,声称谷歌中国存在大量淫秽色情和低俗信息,违反国家有关法律规定,严重侵害青少年身心健康。同时互联网违法和不良信息举报中心也“强烈谴责”谷歌中国传播淫秽色情和低俗信息,要求其对淫秽色情和低俗内容进行彻底清理,并建议相关执法部门依法处罚。

  这次央视和举报中心的措辞非常严厉,令人感到比较意外,做为一个经常上Google的用户,我印象中很少看到色情信息,对于色情信息过滤技术,Google有SafeSearch功能,可以从搜索结果中过滤掉大部分色情内容,但如果要求过滤掉搜索引擎上所有的色情信息,在技术上目前国内所有的搜索引擎都做不到,包括百度也做不到。

谷歌中国

  说到保护青少年,现实中的危害恐怕比网络上的要更凶猛一些,前有“习水嫖宿幼女案”,后有“邓玉娇防卫过当案”,如果从制度上能够保证再没有幼女被“嫖宿”,再没有服务生被迫“防卫过当”,这比起谴责搜索引擎过滤技术有漏洞要更为重要和紧迫一些。

  另外,如何保护自己的小孩,本来是每个家长的责任,相信大多数家长都有能力和办法管理自己的小孩,不必“保姆”们如此费心了。

  去年11月,央视新闻30分也连续两天曝光百度竞价排名中的虚假医药广告,为此,百度曾经在2009年春晚“赞助”了央视4000万元,如果央视真的那么有“社会责任感”,为啥百度交了钱就能在春晚亮相呢。这次央视吃完原告吃被告,里外通吃,又瞄上了谷歌,看来谷歌也不得不交些保护费了,在中国做企业实在不易啊。

2009年6月18日星期四

安全迁移网站的技巧

  在不同的主机上迁移同一个网站,需要一定的技巧,今天我就介绍一些同一域名下将网站从一个主机迁移到另一个主机的技巧,以避免网站因为迁移而造成不必要的损失。

  1、迁移准备

  先将原始网站的评论等更新功能关闭,接着把原始网站的文件、数据库等信息进行备份,然后下载到本地,然后将网站内容完全上传部署到另一个主机上,通过修改hosts的方法,将网站的域名指向新的IP地址,手动验证网站可以正常访问。

  2、迁移操作

  接着,选择一个访问量少的时段,例如凌晨时刻,通过修改域名DNS(Domain Name Server)的A记录实现网站的迁移,注意不要通过删除A记录然后增加一个新的A记录来实现,那样会造成短时间的网站无法访问。

  3、迁移过程

  将原有网站内容保存至少半个月的时间(但不一定需要更新),保证搜索引擎使用原来的IP地址仍然可以访问到内容,如果无法做到这一点,那也要将原始网站的完全关闭,使原有IP无法访问,切不可保持原始网站开放,访问时候却得到404错误的情况发生。

  4、迁移结束

  半个月后,可以彻底关闭原有网站的WEB服务,此时,搜索引擎大多已经可以正常访问新的网站地址了,网站迁移结束。