上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页
摘要: 上一篇介绍了倒排表这种数据结构,接下来将介绍一下词频-逆文档频(tf-idf)这个概念。首先,什么是词频?词频就是一篇文档包含一个词的次数。举个例子,如果一篇文档d中“cat”这个词出现了5词,那么我们就说“cat”的词频为5,记做tf(cat)=5。那么,什么是文档频?这个概念也是对于一个词来说的。通俗来说文档频就是包含一个词的文档数目。举个例子,如果有100篇文档都有“cat”这个词,我们就说“cat”的文档频为100,记做df(cat)=100。那么什么叫做逆文档频呢?idf表示逆文档频,检索库中一共有N篇文档,那么idf=log(N/df),例如上例,“cat”的逆文档频记做idf(c 阅读全文
posted @ 2013-01-07 09:38 haolujun 阅读(2174) 评论(0) 推荐(1)
摘要: 这篇就说一个信息检索里面理解最简单的一个东西吧,它就叫做倒排表或者倒排索引。但是这只是个名字,我想大家都知道它是什么就行了,不必纠结于名称。先说说倒排表张什么样子吧!倒排表以词做索引,内容为包含该词的文档编号。对于上图可知,文档1、3、5、7、9包含词"Cat",文档2、5、8、10包含词"Dog"。你可能问这么简单的东西能干啥?其实他就是搜索引擎中的最关键的核心数据结构。那么搜索引擎如何根据用户的查询来找到相关的文档呢?如果用户查询“Cat”,那么只要顺着Cat链把文档1、3、5、7、9返回给用户就行了。如果用户想得到同时包含“Cat”与“Dog“的文 阅读全文
posted @ 2013-01-06 17:11 haolujun 阅读(3927) 评论(3) 推荐(1)
摘要: 前记:本人是一个初学者,新手其实都算不上。没做过信息检索,所以别人怎么做的也不知道。很想知道Google,百度这样的大公司怎么做搜索引擎的,但是没机会也不会知道。凭着自己的理解就写了这么几篇随笔,这样能督促自己思考,也希望得到大神们的指点。这个系列叫做“新手学信息检索”。这个系列说白了,就是把自己看过的东西总结了一下,加入了自己对信息检索一些概念的理解,没什么理论,也不注重于实现,更没有创新。但是当时让我费劲心思才能想明白的东西我会按照自己的意思把它讲出来。不知道自己将会写多少篇,可能总结完一些就会写一些,自己水平有限,概念如果理解有误的话,还请大家拍砖不要拍太狠,在此先谢过了。我想,大家对信 阅读全文
posted @ 2013-01-06 13:55 haolujun 阅读(1975) 评论(1) 推荐(0)
摘要: 留个脚印,自己才算是在园子里呆了一年,总得回顾一下这一年自己到底干了些什么吧,要不总觉得自己啥也没干一事无成。另一个原因是觉得自己没有方向,像一只无头苍蝇乱闯,也希望得到大神指点。首先说学校的生活吧:9月份之前一直在给实验室打工。必须和老师翻脸才能抽时间准备一下找工作。哎,何必呢?期间做的东西比较杂:众核平台下的系统移植,多模过滤,网络http数据的编码以及解析,gzip算法分析。自己比较有心得的在这篇随笔上写了,观点可能有错,但是我想大家能明白我的意思。由环形队列引发的思考:9月-10月找工作。今年工作特不好找,我想大家都有目共睹。期间组织实验室的同学每人每天做一个技术讲座,我发现实验室的哥 阅读全文
posted @ 2013-01-02 13:10 haolujun 阅读(1635) 评论(14) 推荐(4)
摘要: 摔鸡蛋问题:给你K个鸡蛋,让你测试鸡蛋壳的硬度,测量的方法就是从不同高度的楼层向下扔,如果鸡蛋在第i层摔碎了而在第i-1层没摔碎,那么我们就知道鸡蛋壳的硬度了,即用层数代表鸡蛋壳的硬度。并且假设鸡蛋肯定能用某一层的层数来表示。现在的问题是,用K个鸡蛋,最坏情况下最少需要多少次才能测试出鸡蛋壳的硬度?例如只有一个鸡蛋,那么为了保证在测出鸡蛋壳硬度之前鸡蛋不破裂,只能一层一层的试。如果楼的高度有N层,那么最查情况需要N次实验。如果有两个鸡蛋呢?假设最坏情况最少需要m次实验,那么第一只鸡蛋只能最多在第m层进行实验,如果第m层没有摔碎,那么接下来就必须在第m+m-1层进行实验,如果第m层摔碎了,那么第 阅读全文
posted @ 2012-12-24 11:15 haolujun 阅读(2727) 评论(2) 推荐(3)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 13 下一页