主题爬虫
liuxinglanyue
这个作者很懒,什么都没留下…
展开
-
真正属于主题爬虫的圈子
主题爬虫圈子:http://fcrawl.group.iteye.com/ 主题爬虫,也称为聚焦爬虫,专业蜘蛛等,是垂直搜索引擎的核心和基础。网络爬虫是一个能够自动从互联网上抓取网页的程序,是搜索引擎的核心部分。一般情况下,通用网络爬虫从一个或若干个种子网页开始在互联网上爬行,当网络爬虫从互联网上下载一个网页时,它会提取出当前网页的URL并放入待爬行队列中,如此不断地反复操作...原创 2010-12-15 14:46:33 · 1133 阅读 · 0 评论 -
数学之美 系列十七 不要把所有的鸡蛋放在一个篮子里 -- 谈谈最大熵模型 (下)...
我们上次谈到用最大熵模型可以将各种信息综合在一起,我们留下一个问题没有回答,就是如何构造最大熵模型。我们已经所有的最大熵模型都是指数函数的形式,现在只需要确定指数函数的参数就可以了。这个过程称为模型的训练。最原始的最大熵模型的训练方法是一种称为通用迭代算法 GIS(generalized iterativescaling)的迭代算法。GIS 的原理并不复杂,大致可以概括为以下几个步骤:1. 假定第...原创 2010-11-26 22:30:06 · 178 阅读 · 1 评论 -
数学之美 系列十八 - 矩阵运算和文本处理中的分类问题
我在大学学习线性代数时,实在想不出它除了告诉我们如何解线性方程外,还能有什么别的用途。关于矩阵的许多概念,比如特征值等等,更是脱离日常生活。后来在数值分析中又学了很多矩阵的近似算法,还是看不到可以应用的地方。当时选这些课,完全是为了混学分的学位。我想,很多同学都多多少少有过类似的经历。直到后来长期做自然语言处理的研究,我才发现数学家们提出那些矩阵的概念和算法,是有实际应用的意义的。在自然语言处理中...原创 2010-11-26 22:30:36 · 92 阅读 · 0 评论 -
数学之美 系列十九 - 马尔可夫链的扩展 贝叶斯网络 (Bayesian Networks)
我们在前面的系列中多次提到马尔可夫链 (MarkovChain),它描述了一种状态序列,其每个状态值取决于前面有限个状态。这种模型,对很多实际问题来讲是一种很粗略的简化。在现实生活中,很多事物相互的关系并不能用一条链来串起来。它们之间的关系可能是交叉的、错综复杂的。比如在下图中可以看到,心血管疾病和它的成因之间的关系是错综复杂的。显然无法用一个链来表示。我们可以把上述的有向图看成一个网络,它就是贝...原创 2010-11-26 22:31:06 · 159 阅读 · 0 评论 -
数学之美 系列二十 -自然语言处理的教父 马库斯
我们在前面的系列中介绍和提到了一些年轻有为的科学家,迈克尔·柯林斯,艾里克·布莱尔,大卫·雅让斯基,拉纳帕提等等,他们都出自宾夕法尼亚计算机系米奇·马库斯(Mitch Marcus)名下。就像许多武侠小说中描写的,弟子都成了各派的掌门,师傅一定了不得。的确,马库斯虽然作为第一作者发表的论文并不多,但是从很多角度上讲,他可以说是自然语言处理领域的教父。马库斯教授长期当任宾夕法尼亚大学计算机系主任,直...原创 2010-11-26 22:31:36 · 101 阅读 · 0 评论 -
数学之美系列二十一 - 布隆过滤器(Bloom Filter)
在日常生活中,包括在设计计算机软件时,我们经常要判断一个元素是否在一个集合中。比如在字处理软件中,需要检查一个英语单词是否拼写正确(也就是要判断它是否在已知的字典中);在 FBI,一个嫌疑人的名字是否已经在嫌疑名单上;在网络爬虫里,一个网址是否被访问过等等。最直接的方法就是将集合中全部的元素存在计算机中,遇到一个新元素时,将它和集合中的元素直接比较即可。一般来讲,计算机中的集合是用哈希表(hash...原创 2010-11-26 22:32:05 · 101 阅读 · 0 评论 -
数学之美系列二十二 由电视剧《暗算》所想到的 — 谈谈密码学的数学原理
前一阵子看了电视剧《暗算》,蛮喜欢它的构思和里面的表演。其中有一个故事提到了密码学,故事本身不错,但是有点故弄玄虚。不过有一点是对的,就是当今的密码学是以数学为基础的。(没有看过暗算的读者可以看一下介绍,http://ent.sina.com.cn/v/2005-10-17/ba866985.shtml因为我们后面要多次提到这部电视剧。)密码学的历史大致可以推早到两千年前,相传名将凯撒为了防止敌方...原创 2010-11-26 22:32:33 · 211 阅读 · 0 评论 -
数学之美系列 二十三 输入一个汉字需要敲多少个键 — 谈谈香农第一定律
今天各种汉字输入法已经很成熟了,随便挑出一种主要的输入法比十几年前最好的输入法都要快、要准。现在抛开具体的输入法,从理论上分析一下,输入汉字到底能有多快。我们假定常用的汉字在二级国标里面,一共有 6700 个作用的汉字。如果不考虑汉字频率的分布,用键盘上的 26 个字母对汉字编码,两个字母的组合只能对 676 个汉字编码,对 6700 个汉字编码需要用三个字母的组合,即编码长度为三。当然,聪明的读...原创 2010-11-26 22:33:00 · 98 阅读 · 0 评论 -
主题爬虫
昨天刚创建了一个主题爬虫的群,欢迎对主题爬虫感兴趣的朋友加入,群号是:127291904原创 2010-11-29 09:19:35 · 262 阅读 · 0 评论 -
java获取网页主信息之一:html树操作[转]
1.节点操作 package Source; //html树节点类 public class Node { //构造方法 public Node() { content = ""; hasContent = false; ...原创 2010-12-04 21:03:40 · 92 阅读 · 0 评论 -
java获取网页主信息之二:辅助操作(转)
1.栈操作package Source; import java.util.LinkedList; //用List定义一个栈 public class Stack { //构造方法 public Stack() { list = new LinkedList(); ...原创 2010-12-04 21:06:20 · 82 阅读 · 0 评论 -
java获取网页主信息之三:html to tree(转)
1.所需文件 param.txt:存放需要提取信息的网页路径 TestPage:存放需要提取信息的网页 Out.txt:输出的网页内容2.测试程序package test; import java.io.*; import Source.*; //提取页面主要信息测试 public class ETest{ ...原创 2010-12-04 21:07:33 · 118 阅读 · 0 评论 -
java获取网页主信息之四:抽取信息块(转)
从已经建立完成的html树中抽取主信息。package Source; public class ChooseBlock { //构造方法,设置允许错误率 public ChooseBlock(double th) { threshold = th; } //获...原创 2010-12-04 21:08:19 · 127 阅读 · 0 评论 -
java获取网页主信息之五:测试(转)
1.所需文件 param.txt:存放需要提取信息的网页路径 TestPage:存放需要提取信息的网页 Out.txt:输出的网页内容2.测试程序package test; import java.io.*; import Source.*; //提取页面主要信息测试 public class ETest{ ...原创 2010-12-04 21:09:26 · 84 阅读 · 0 评论 -
数学之美 系列十七 闪光的不一定是金子 谈谈搜索引擎作-弊问题(Search Engine Anti-SPAM)...
自从有了搜索引擎,就有了针对搜索引擎网页排名的作-弊(SPAM)。以至于用户发现在搜索引擎中排名靠前的网页不一定就是高质量的,用句俗话说,闪光的不一定是金子。搜索引擎的作-弊,虽然方法很多,目的只有一个,就是采用不正当手段提高自己网页的排名。早期最常见的作-弊方法是重复关键词。比如一个卖数码相机的网站,重复地罗列各种数码相机的品牌,如尼康、佳能和柯达等等。为了不让读者看到众多讨厌的关键词,...原创 2010-11-26 22:29:15 · 125 阅读 · 0 评论 -
数学之美 系列十六 (下)- 不要把所有的鸡蛋放在一个篮子里 最大熵模型...
我们上次谈到用最大熵模型可以将各种信息综合在一起。我们留下一个问题没有回答,就是如何构造最大熵模型。我们已经所有的最大熵模型都是指数函数的形式,现在只需要确定指数函数的参数就可以了,这个过程称为模型的训练。最原始的最大熵模型的训练方法是一种称为通用迭代算法 GIS(generalized iterative scaling) 的迭代 算法。GIS 的原理并不复杂,大致可以概括为以下几个步骤:1. ...原创 2010-11-26 22:27:30 · 74 阅读 · 0 评论 -
数学之美 系列十五 繁与简 自然语言处理的几位精英
我在数学之美系列中一直强调的一个好方法就是简单。但是,事实上,自然语言处理中也有一些特例,比如有些学者将一个问题研究到极致,执著追求完善甚至可以说完美的程度。他们的工作对同行有很大的参考价值,因此我们在科研中很需要这样的学者。在自然语言处理方面新一代的顶级人物麦克尔 · 柯林斯 (Michael Collins) 就是这样的人。柯林斯:追求完美 柯林斯从师于自然语言处理大师马库斯 (Mitch M...原创 2010-11-26 22:26:20 · 142 阅读 · 0 评论 -
Bloom Filter概念和原理
Bloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter...原创 2010-11-26 22:16:04 · 80 阅读 · 0 评论 -
数学之美 系列一 -- 统计语言模型
前言也许大家不相信,数学是解决信息检索和自然语言处理的最好工具。它能非常清晰地描述这些领域的实际问题并且给出漂亮的解决办法。每当人们应用数学工具解决一个语言问题时,总会感叹数学之美。我们希望利用 Google 中文黑板报这块园地,介绍一些数学工具,以及我们是如何利用这些工具来开发 Google 产品的。系列一: 统计语言模型 (Statistical Language Models)Google ...原创 2010-11-26 22:17:24 · 80 阅读 · 0 评论 -
数学之美 系列二 -- 谈谈中文分词
谈谈中文分词----- 统计语言模型在中文处理中的一个应用上回我们谈到利用统计语言模型进行语言处理,由于模型是建立在词的基础上的,对于中日韩等语言,首先需要进行分词。例如把句子 “中国航天官员应邀到美国与太空总署官员开会。” 分成一串词:中国 / 航天 / 官员 / 应邀 / 到 / 美国 / 与 / 太空 / 总署 / 官员 / 开会。最容易想到的,也是最简单的分词办法就是查字典。这种方法最早是...原创 2010-11-26 22:17:58 · 68 阅读 · 0 评论 -
数学之美系列 4 -- 怎样度量信息?
前言: Google 一直以 “整合全球信息,让人人能获取,使人人能受益” 为使命。那么究竟每一条信息应该怎样度量呢?信息是个很抽象的概念。我们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。直到 1948 年,香农提出了“信息熵”(shāng) 的概念,才解决了对信息的量化度量问题。一条信息的信息量大小和它的不确定性有直接的关系。比如说,我们...原创 2010-11-26 22:19:02 · 92 阅读 · 0 评论 -
数学之美系列五 -- 简单之美:布尔代数和搜索引擎的索引
[建立一个搜索引擎大致需要做这样几件事:自动下载尽可能多的网页;建立快速有效的索引;根据相关性对网页进行公平准确的排序。我们在介绍 Google Page Rank (网页排名) 时已经谈到了一些排序的问题,这里我们谈谈索引问题,以后我们还会谈如何度量网页的相关性,和进行网页自动下载。]世界上不可能有比二进制更简单的计数方法了,也不可能有比布尔运算更简单的运算了。尽管今天每个搜索引擎都宣称自己如何...原创 2010-11-26 22:20:55 · 89 阅读 · 0 评论 -
数学之美 系列七 -- 信息论在信息处理中的应用
我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天的语音识别和机器翻译也是这么做的。但这种测试...原创 2010-11-26 22:21:32 · 79 阅读 · 0 评论 -
数学之美 系列八-- 贾里尼克的故事和现代语言处理
读者也许注意到了,我们在前面的系列中多次提到了贾里尼克这个名字。事实上,现代语音识别和自然语言处理确实是和它的名字是紧密联系在一起的。我想在这回的系列里,介绍贾里尼克本人。在这里我不想列举他的贡献,而想讲一讲他作为一个普普通通的人的故事。这些事要么是我亲身经历的,要么是他亲口对我讲的。弗莱德里克.贾里尼克(Fred Jelinek)出生于捷克一个富有的犹太家庭。他的父母原本打算送他去英国的公学(私...原创 2010-11-26 22:22:17 · 69 阅读 · 0 评论 -
数学之美 系列九 -- 如何确定网页和查询的相关性
[我们已经谈过了如何自动下载网页、如何建立索引、如何衡量网页的质量(Page Rank)。我们今天谈谈如何确定一个网页和某个查询的相关性。了解了这四个方面,一个有一定编程基础的读者应该可以写一个简单的搜索引擎了,比如为您所在的学校或院系建立一个小的搜索引擎。]我们还是看上回的例子,查找关于“原子能的应用”的网页。我们第一步是在索引中找到包含这三个词的网页(详见关于布尔运算的系列)。现在任何一个搜索...原创 2010-11-26 22:22:49 · 63 阅读 · 0 评论 -
数学之美 系列十 有限状态机和地址识别
地址的识别和分析是本地搜索必不可少的技术,尽管有许多识别和分析地址的方法,最有效的是有限状态机。一个有限状态机是一个特殊的有向图(参见有关图论的系列),它包括一些状态(节点)和连接这些状态的有向弧。下图是一个识别中国地址的有限状态机的简单的例子。每一个有限状态机都有一个启始状态和一个终止状态和若干中间状态。每一条弧上带有从一个状态进入下一个状态的条件。比如,在上图中,当前的状态是“省”,如果遇到一...原创 2010-11-26 22:23:17 · 95 阅读 · 0 评论 -
数学之美 系列十一 - Google 阿卡 47 的制造者阿米特.辛格博士
枪迷或者看过尼古拉斯.凯奇(Nicolas Cage)主演的电影“战争之王”(Lord ofWar)的人也许还记得影片开头的一段话:(在所有轻武器中,)最有名的是阿卡 47( AK47)冲锋枪(也就是中国的五六式冲锋枪的原型),因为它从不卡壳、从不损坏、可在任何环境下使用、可靠性好、杀伤力大并且操作简单。我认为,在计算机中一个好的算法,应该向阿卡 47 冲锋枪那样简单、有效、可靠性好而且容易读懂(...原创 2010-11-26 22:24:25 · 83 阅读 · 0 评论 -
数学之美 系列 12 - 余弦定理和新闻的分类
余弦定理和新闻的分类似乎是两件八杆子打不着的事,但是它们确有紧密的联系。具体说,新闻的分类很大程度上依靠余弦定理。Google 的新闻是自动分类和整理的。所谓新闻的分类无非是要把相似的新闻放到一类中。计算机其实读不懂新闻,它只能快速计算。这就要求我们设计一个算法来算出任意两篇新闻的相似性。为了做到这一点,我们需要想办法用一组数字来描述一篇新闻。我们来看看怎样找一组数字,或者说一个向量来描述一篇新闻...原创 2010-11-26 22:24:55 · 68 阅读 · 0 评论 -
数学之美 系列十三 信息指纹及其应用
任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint)。只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的指纹一样。信息指纹在加密、信息压缩和处理中有着广泛的应用。我们在图论和网络爬虫一文中提到,为了防止重复下载同一个网页,我们需要在哈希表中纪录已经访问过的网址(URL)。但是在哈希表中以字符串的形式直接存储网址,既费内存空间,又浪费查找时间...原创 2010-11-26 22:25:20 · 88 阅读 · 0 评论 -
数学之美 十四 谈谈数学模型的重要性
[注:一直关注数学之美系列的读者可能已经发现,我们对任何问题总是在找相应的准确的数学模型。为了说明模型的重要性,今年七月份我在 Google 中国内部讲课时用了整整一堂课来讲这个问题,下面的内容是我讲座的摘要。]在包括哥白尼、伽利略和牛顿在内的所有天文学家中,我最佩服的是地心说的提出者托勒密。虽然天文学起源于古埃及,并且在古巴比伦时,人们就观测到了五大行星(金、木、水、火、土)运行的轨迹,以及行星...原创 2010-11-26 22:25:51 · 107 阅读 · 0 评论 -
判断网页的编码(转)
判断网页的编码我们主要是为了在解析网页时出现一些乱码问题。主要用到了两个jar包 chardet.jar和cpdetector_1.0.7.jar。 具体的使用如下: public class BianMa { public static void main(String[] args){ String path=""; CodepageDetectorPro...原创 2010-12-04 21:11:40 · 114 阅读 · 0 评论