Loading...

Tag Archive for '%e6%95%b0%e5%ad%a6'

    AD: 猛买网,精彩团购 | Jobsdigg | 很棒的男装店 | 网站地图

用向量判断文本相似

在枫之羽的推荐下看了这本《Lucene In Action》,感觉很不错。首先是翻译得比较好(从这个角度看,原版一定很好看);另一方面,虽然原版作者是老外,书中还是讲到了不少中文切词方面的东西。再者,还写到了Lucene在其他语言平台上的移植,比如CLucene,dotLucene,PLucene,Lupy等等。其中一些知识已经陈旧了——在一个迅速发展的领域,写到书上的知识往往在出版时已经变得陈旧了。针对这个问题,一些作者也在书里给出一个互联网上可访问的地址,分享最新的资源——比如我一直在看的《电子商务》。
其实我已经看了很多Lucene方面的东西,对于Lucene的通常使用也有了概念,只是没有时间来实践。所以看这本书只花了两节课,看完印象最深的是其中一个判断内容相似的算法。其实就是Google黑板报说的那个“余弦定理”——文本包含的各个词及其出现的频率可以构成一个表示该段文本的特征向量,而通过余弦定理可以计算任何两个向量的夹角,夹角越小就说明二者越接近。
貌似没有比这个更好更体现数学之美的算法了,可是,判断两断内容的相似程度是简单的,如果是20万段内容,判断其两两之间的相似程度,又该怎么做呢?进行简单的两两选择,一共会有将近400万条数据,而可以确定的是,其中大部分都是没用的。
很想知道Google当年还有“补充材料”时是怎么判两个网页有重复的,人家服务器里搁的网页可不是十万计的。隐隐觉得这个时候该结合贝叶斯算法——当然肯定不止这些。数学还是不够好,不能马上想到一个可行的解法。
记得今年在北京,某人说,豆瓣里那些相关图书都是用select从数据库里拿出来的 。可爱的回忆。

纸牌

从扑克牌里拿出A到K共13张牌,然后排成一个序列M。每一次从下面抽出一张放到上面,然后把第二张拿出来翻开放在桌上。要求最后桌上的13张牌能以A到K的顺序排列。求这样的序列M。
记得四年级的时候,一个同学给我出了这样一道题,我在第二天的早自习上用了一个很孩子气的办法做了出来,当时弄得那个同学很惊讶。前天在紧张地复习着高等数学,我突然想到了这个小东西,于是就拿出来让大家换换脑筋。
后来我忍不住和大家说起自己是多么地聪明,在那么小的时候,那么快把题目做了出来。童年真是美妙呵,我小时候每年都能捧回一大堆的奖状和奖品,虽然现在我几乎找不到他们了。小学时候觉得自己是数学天才,也是县里第一个在数学奥林匹克竞赛中获奖的人。想想恐怕数学学的最好也就是在小学了。就像现在读以前的程序,虽然觉得幼稚,却不乏灵气。如今的我写程序往往循规蹈矩,越来越老练,越来越觉得一点创造力都没有了。
同学们也很快把这样的序列找了出来。但我没有告诉他们我那时的可爱方法。老了老了,可是我还记得那个序列是
7 A Q 2 8 3 J 4 9 5 K 6 10