Searching the Web   (Arvind Arasu etc.)

1. 概述

2000年,23%网页每天更新,.com域内网页40%每天更新。网页生存半衰期是10天。描述方法可用Poisson过程。

28%的网页构成强连通核心,22%处于核心的上游,22%处于核心的下游,其他的部分无法互联。

2. 抓取

优先抓高质量网页。综合三者:按需要(和query匹配度),按热度(链入度),按区域(比如.com优先)

做法:先抓K个网页,后续使用队列缓存待抓取url和质量分。

在stanford内网所有网页上试验,目标是快速获取高质量网页,质量策略PageRank>backlink>breadth>random。

循环抓取同时度量网页新鲜度(age),优先抓取较快更新的网页,过慢或过快更新优先级都不高。更新越快越频繁抓取。

3. 存储

分布式存储,增删改查功能,支持随机读(在线查询)和顺序读(离线索引)。

分布式存储:hash分桶

批量跟新(一月一批量写),部分更新(部分site)

主副本设计:利于读写分离

url规范化,生成id和签名(checksum/crc)

4. 索引

多个索引库:链接库(决定网页质量),文本库(决定查询匹配度),定制库(site包含关系)

倒排索引:标题和加粗的term权重更高

词典:所有term

增量构建

索引格式需谨慎设计

分布式索引:doc划分(单机失败易恢复,负载分摊均匀,较理想),term划分

doc划分方法下:分发器把网页分发给索引器,排序后生成临时索引,然后合并临时索引写硬盘并生成词典

实际经验:对正排表选择适中的buffer,使用并行流水线(loading, processing, flushing)

适时全局计算统计量(比如idf)并写入索引:本地聚合,能适合放入内存时发给统计器

总结:扩展性很重要

5. 排序和链接分析

现代搜索引擎的必要性:

大量的网页,大量低质量、低相关性网页

网页缺少正式编辑和属性描述

网页链接结构对评估网页质量很有利:PageRank和HITS算法

PageRank:随机冲浪模型,缓解非连通情况引入随机访问。收敛性在实际中不是瓶颈(约100次迭代足够@Google)

HITS:Hub节点和Authority节点

其他:聚合社区;通过结构(比如cocitation)发现相似网页;利用相邻网页类别做网页分类

未来:结合用户点击数据;语义分析(LSI:Latent Semantic Indexing)

6. 总结

多媒体信息带来的挑战

Searching the Web论文阅读的更多相关文章

  1. 论文阅读:《Bag of Tricks for Efficient Text Classification》

    论文阅读:<Bag of Tricks for Efficient Text Classification> 2018-04-25 11:22:29 卓寿杰_SoulJoy 阅读数 954 ...

  2. [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding

    [论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...

  3. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  4. 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)

    白翔的CRNN论文阅读 1.  论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...

  5. BITED数学建模七日谈之三:怎样进行论文阅读

    前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...

  6. 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  7. 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center

    作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...

  8. [刷题]算法竞赛入门经典(第2版) 5-10/UVa1597 - Searching the Web

    题意:不难理解,照搬题意的解法. 代码:(Accepted,0.190s) //UVa1597 - Searching the Web //#define _XIENAOBAN_ #include&l ...

  9. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

随机推荐

  1. 第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介

    PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云.存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的 ...

  2. java8的十大新特性

    推荐学习的博客: http://blog.csdn.net/renfufei/article/details/24600507/-------讲解的非常通俗易懂 http://blog.csdn.ne ...

  3. 《Effective Java》第3章 对于所有对象都通用的方法

    第8条:覆盖equals时请遵守通用约定 覆盖equals方法看起来似乎很简单,但是有许多覆盖方式会导致错误,并且后果非常严重.最容易避免这类问题的办法就是不覆盖equals方法,在这种情况下,类的每 ...

  4. linux手动安装配置 mysql5.7

    本文原出处地址  https://www.cnblogs.com/mujingyu/p/7689116.html 一.安装前的检查 1.1 检查 linux 系统版本 [root@localhost ...

  5. w2008 R2 401 - 未授权: 由于凭据无效,访问被拒绝。

    1.打开服务器的"IIS信息服务管理器"-->选择你发布的网站-->选择功能视图中的"身份验证"-->右键匿名身份验证,选择"编辑& ...

  6. B - Pie (二分)

    My birthday is coming up and traditionally I'm serving pie. Not just one pie, no, I have a number N ...

  7. Linux的重要子目录

    1:  网卡的配置文件 [ :0C::::BD #MAC地址 TYPE=Ethernet #以太网 UUID=e982e20a-e7ef--8e44-a7c0c474c708 #Linux系统内部的标 ...

  8. P2253 好一个一中腰鼓!

    题意:给你一个序列,初始是0,每次一个操作,把一个数^=1 每次求出最长01串的长度 正解:线段树(虽然暴力能过) 对于每个区间,记录三个值 lmax,以l为首的01串长度 rmax,以r为尾的01串 ...

  9. 关于Intel芯片架构的发展史

    ---恢复内容开始---  当你真正的深入去行走在底层的道路上,你就会接触大量的一些貌似懂的概念性名词,比如Intel公司的x86架构,x64等等,又或者是当年的386,486等等,唉,有的时候真的是 ...

  10. Leetcode 283. Move Zeroes 移动数组中的零 (数组,模拟)

    题目描述 已知数组nums,写一个函数将nums中的0移动到数组后面,同时保持非零元素的相对位置不变.比如已知nums=[0,1,0,3,12],调用你写的函数后nums应该是[1,3,12,0,0] ...