互联网搜索引擎

说明:文章内容来源于课程视频和课程ppt。我只学习了课程没有做习题。文章不是翻译,是我对课程的理解。

1 挑战

 互联网搜索引擎与一般搜索引擎的区别主要在以下问题。
 第一是数据量(scalability)。互联网搜索需要处理的数据量大,如何保证能有效地处理这些数据,保证搜索的完整性,同时搜索速度也要在可接受范围内。解决策略:索引时候并行处理,搜索时候分布式处理。
 第二个是如何衡量数据质量,过滤垃圾数据?解决策略是垃圾检测。 
 第三个是互联网的动态性。要处理的数据会有新增和更新,怎么处理?解决策略是链接分析。
 VSM是一种普适算法,可以用在一般或者互联网搜索引擎中。这是它的优点。但它的问题是不能有效的利用网页或者文档的一些特性(例如:网页链接、发布日期、超链接文本等)

2 组成部分

 这里写图片描述
 
 web searchEngine = Crawler+Indexer+(Inverted) Index + Retriever
 爬虫、索引操作、倒排索引、搜索操作

2.1 爬虫

 实验室级别爬虫:
  

  1. 种子页面放入优先队列;
  2. 页面抓取;
  3. 解析页面,提取链接,再添加到优先队列;
  4. 从优先队列获得地址,回到2。

    真正在生产环境下的爬虫需要处理:
     

  5. 健壮性。当服务器不响应时候怎么处理;碰到爬虫陷阱(网站动态生成了一堆没用的地址)怎么处理;不能对被抓取的网站造成伤害(宕机),遵守Robot协议;处理不同类型的数据,例如网页、文件、图片等;还有ajax生成的页面怎么处理,用户登陆的页面怎么处理;冗余页面识别;隐藏链接发现。
  6. 抓取策略。一般来说是广度优先(breadth-first)。
  7. 分布式爬虫。
  8. 特定主题的爬虫。只抓取某一类页面的爬虫。
  9. 新页面/新站点发现,特别是与旧的页面没有链接的新页面怎么发现。
  10. 新增页面抓取和更新页面抓取。这些需要处理怎么使用最少的资源实现目的。对新页面要抓取,旧的页面如果更新了,也要抓取更新到搜索引擎。对于旧页面的更新可以考虑一下因素:a、在抓取过程中总结、发现页面的更新频率,有些页面网址更新频率低,那抓取频率也降低。如果是体育新闻类页面,更新频率高,抓取频率也应提高。b、用户访问频率。用户访问频率高的页面,一般是最有用的页面,需要保证这些页面是尽可能最新。

2.2 索引操作、倒排索引

 创建互联网级别的索引,挑战在两方面:存储和效率。
 这些多数据怎么存储:分布式文件系统GFS、HDFS。
 这么多数据怎么有效地检索:MapReduce—-Hadoop

2.3.1 链接分析-1

 分析链接关系,提高搜索引擎搜索结果(怎么评估搜索结果,请参考文本搜索系统的评估)。
 标准的信息检索模型(IR)可以应用在互联网搜索(WR)中,但不够高效。原因如下。
 1 IR中人们主要查找图书资源,查找文献资源(literature Information)。WR人们需要查找一个页面,WR是具有导航性质的,一般称为导航搜索。所以分析链接关系可能有所帮助。
 2 网页一般还有其他信息可以作为搜索的线索。例如:布局、标题、链接信息。
 3 网页搜索可能还有其他因素,影响搜索结果。
 综上所述,我们可以通过链接分析、点击次数提高搜索结果。一般来讲会使用机器学习算法,把各个因素综合考虑。

这里写图片描述
 页面间引用关系,首先注意到的是锚点(anchor text)。锚点一般来说描述了所指向页面的主要内容或者特点。例如上面提交的“文本搜索系统的评估”,所指向的页面就是关系文本检索系统评估方面的内容。
 链接关系的第二个就是入链和出链。出链就像是一个路由器(hub)指向不同页面。入链是一个authority的页面:别人都在证明这个页面可能更有用。这有点像文献中的引用和被引用关系。成熟的解决方案是PageRank,考虑入链的个数以及质量。要注意处理没有入链的页面。
 

2.3.2 PageRank

 简要描述PageRank算法。
 PageRank 是一个随机访问模型。参数α= 跳出本页面到其他页面(在浏览器中输入一个地址)的概率;1α= 在页面上随机选择一个连接进行下去。
 如果一个页面有很多的入链(inlinke),也就是说入链数量高,那这个页面就更可能被访问到。因为有更多的可能从一个页面链接到这个页面。
 如果某个页面L1的某个入链L4有很多的入链,这些链接和L1形成一个间接链接关系。因为L4有很多的入链,L4的访问概率增加,那从L4到L1的概率也会增加。从这个角度看,算法也捕捉到了间接链接的关系。
 PageRank计算:转移矩阵、访问到某个页面的概率。
 这里写图片描述
 
 这里写图片描述

 这里写图片描述

 PageRank的计算可以从线性代数的角度理解,也可以理解为是图的传播。
 PageRank可以用于计算某个主题相关页面的PageRank,也可以用于社交网络或者图的情形。

2.3.3 HITS

 直觉假设:被广泛引用的页面是一个好的Authority页面;引用了很多连接的页面是一个好的Hub页面。
 这是一个相互增强的思想。
 

2.4 搜索-2 排序 Ranking

 这是web搜索的最后一部分了。这里主要用机器学习的方法考虑各个因素,提高排序质量。
 现在我们有检索模型(BM25)可以计算查询语句与文档的相似度,我们也知道锚点、链接分值(PageRank)可以影响排序。问题是如何把这些因素结合起来,获得一个好的排序函数?用机器学习模型。
 假设:p(R=1|Q,D)=s(X1(Q,D),...Xn(Q,D),λ)λ是参数,是一个向量。
 训练数据:为了获得参数,我们首先要获得训练数据。训练数据要包含每个文档对每个查询的相关度,形成一个(文档、查询、相关度)的数据。这些信息可以是很准确的用户处理的数据,也可以是基于点击量估计的(假设被点击的文档比跳过的文档更相关)。
 举例:逻辑回归模型(logistic regression)。最简单的模型。假设影响因素之间的关系是线性的。Xi(Q,D)是一个特征,β是参数,模型如下:
 logP(R=1|Q,D)1P(R=1|Q,D)=β0+ni=1βiXi
 P(R=1|Q,D)=11+exp(β0ni=1βiXi)
 β0+ni=1βiXi值越大,P(R=1|Q,D)值也就越大,越相关(这与视频中讲的矛盾了,之后求证一下)。
 举例子。图中选择的是最大似然求解,此外还有最小二乘法。当然这里就涉及到乘法和加法的区别了。β参数学习到之后就可以用于文档排序了。
 
 这里写图片描述

 还有更多选择的算法用来直接提高搜索结果(MAP,nDCG)。可以阅读参考文献
 •Tie-Yan Liu. Learning to Rank for Information Retrieval. Foundations and Trends in Information Retrieval 3, 3 (2009): 225-331.
 •Hang Li. A Short Introduction to Learning to Rank, IEICE Trans. Inf. & Syst. E94-D, 10 (Oct. 2011): n.p.
 

3 互联网搜索引擎的未来发展

3.1 趋势

 说的是趋势,其实很多已经实现了。
 下一代搜索引擎被认为更定制化,形成垂直搜索引擎。垂直搜索引擎被认为更好的原因是 1 针对特定的一个群体,他们拥有共同的基本概念。2 可以更个性化(personalization)。
 搜索引擎将会不断自动学习。
 搜索、推荐、导航集一体的搜索引擎。
 不再只是搜索,而是完成特定任务。例如购物。

3.2 新功能设想

  这里写图片描述
  
  这里写图片描述
  
  从用户、数据、服务三个角度组合形成不同的产品。

3.3 更智能化的途径

 

 这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/424877.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第五十四期:Libra盟友纷纷“跳船”,联盟链还有戏吗?

曾经被诺贝尔奖得主斯蒂格利茨评价为“傻子才信”的Facebook数字加密货币项目Libra,自从出世开始就负面不断。最近在其首届理事会议前夕,PayPal、Visa、万事达、Stripe和eBay等全球型金融巨头“盟友”的相继退出,更使其遭遇了不少“看空”。 …

python time模块

时间戳、结构化时间、字符串时间 import time#时间戳 ,大多时候用于计算 #从1970年0点0分0秒开始计算的秒数 print(time.time())#结构化时间------当地时间(东8区) #返回一个时间对象 print(time.localtime())#time.localtime()中默认参数为…

第五十五期:区块链将在2020年实现的重大改变

科技界的每家公司都已经拥有区块链战略。如果他们现在没有,他们就有可能错过了这个时代的一个机会。在过去几年中,许多企业已经对整体采用区块链技术的好处和相关风险进行了估算,分析和讨论。 科技界的每家公司都已经拥有区块链战略。如果他们…

为什么机器学习算法要与人类水平比较

原因 1 近年来机器学习的效果越来越好,能够和人类的相应能力做比较。 2 设计和构建机器学习系统,这个工作流程很高效。 因为种种原因,ML或者人都不可能超过Bayes Optimal Error 贝叶斯最优误差,ML随着时间推移会越来越接近贝…

第二十九期:运维之三大监控对比

Zabbix核心组件主要是Agent和Server,其中Agent主要负责采集数据并通过主动或者被动的方式采集数据发送到Server/Proxy,除此之外,为了扩展监控项,Agent还支持执行自定义脚本。 作者:艺术生的运维路来源:今日…

[Leetcode][第459题][JAVA][重复的字符串][子串][匹配]

【问题描述】[中等] 【解答思路】 1. 枚举 找出能整除的子串长度,再用substring遍历匹配即可 时间复杂度:O(N^2) 空间复杂度:O(1) class Solution {public boolean repeatedSubstringPattern(String s) {int len s.length();for(int i 1…

第五十六期:百度CTO王海峰CNCC2019演讲:深度学习平台支撑产业智能化

百度CTO王海峰在会上发表题为《深度学习平台支撑产业智能化》的演讲,分享了百度关于深度学习技术推动人工智能发展及产业化应用的思考,并深度解读百度飞桨深度学习平台的优势,以及与百度智能云结合助力产业智能化的成果。 作者:佚…

【STM32】IIC的基本原理(实例:普通IO口模拟IIC时序读取24C02)(转载)

版权声明:本文为博主原创文章,允许转载,但希望标注转载来源。 https://blog.csdn.net/qq_38410730/article/details/80312357IIC的基本介绍 IIC的简介 IIC(Inter-Integrated Circuit)总线是一种由PHILIPS公…

【数据结构与算法】广度优先遍历(BFS) 深度优先遍历(DFS)

一、 搜索算法 深度优先搜索和广度优先搜索是最暴力的图的搜索算法。算法的目标是,给定一张图,一对初始和终止节点,找到两节点之间的节点路径。(代码均是找到两个节点之间的路径) 广度优先搜索是一层一层搜索&#xf…

stack专题

20 Valid Parentheses 问题:没有意识到字符串中只包含字符:’(‘, ‘)’, ‘{‘, ‘}’, ‘[’ and ‘]’ 代码:git代码 682 Baseball Game 问题:错误在操作:top1 先弹出,top2 再弹出,还原到…

第三十期:简单好用的9个电脑必备工具!让你轻松10倍

下面 9 款工具都是精心挑选的电脑必备神器,涵盖你需要的各个方面,无论是安全防护、文件查找、解压加密还是娱乐都在其中;最最最重要的是,它们不但各个功能强大,而且非常轻便,没有弹窗广告、没有捆绑安装、也…

【数据结构与算法】字符串匹配 BF算法 RK算法

单模式串匹配 BF 算法和 RK 算法 BM 算法和 KMP 算法多模式串匹配算法 Trie 树和 AC 自动机 一、BF 算法 1,BF算法是Brute Force的缩写,中文译作暴力匹配算法,也叫朴素匹配算法。 2,两个概念:主串和模式串 如在字符串…

第三十一期:大数据分析师学习入门,10个数据可视化技巧

在这篇文章,我想和大家分享 10 个基本的中级和高级的绘图工具。我发现在现实生活中,当涉及到绘图解释你的数据时,这些工具非常有用。 作者:加米谷大数据来源:今日头条 我必须对你说实话:当我学习数据科学时…

[Leetcode][第491题][JAVA][递增子序列][回溯][RK算法]

【问题描述】[中等] 【解答思路】 1. 二进制枚举 哈希 复杂度 class Solution {List<Integer> temp new ArrayList<Integer>();List<List<Integer>> ans new ArrayList<List<Integer>>();Set<Integer> set new HashSet<In…

第五十七期:小型企业将如何从5G中受益

在足够多的新设备进入主流市场之前&#xff0c;5G已经在许多领域引起了越来越多的关注。从IT、零售、交通和制造业到医疗、娱乐、教育和农业&#xff0c;几乎每个行业都将在某种程度上受到5G的影响。 作者&#xff1a;李雪薇来源&#xff1a;IT168网站 在足够多的新设备进入主…

第三十二期:MySQL常见的图形化工具

MySQL作为一款非常流行的、开源的关系型数据库&#xff0c;应用非常广泛。因为MySQL开源的缘故&#xff0c;图形化管理维护工众多&#xff0c;除了系统自带的命令行管理工具之外&#xff0c;还有许多其他的图形化管理工具&#xff0c;这里介绍几个经常使用的MySQL图形化管理工具…

centos7 源码安装goaccess

1. 使用yum安装在不同服务器上可能失败, 推荐使用源码安装goaccess # 安装依赖 yum install -y ncurses-devel GeoIP-devel.x86_64 tokyocabinet-devel openssl-devel# 下载源码包并安装 cd /usr/local/software wget http://tar.goaccess.io/goaccess-1.3.tar.gz tar -xvf goa…

【数据结构与算法】字符串匹配 BM算法

单模式串匹配 BF 算法和 RK 算法 BM 算法和 KMP 算法多模式串匹配算法 Trie 树和 AC 自动机 BM算法 BM算法的核心思想是通过将模式串沿着主串大踏步的向后滑动&#xff0c;从而大大减少比较次数&#xff0c;降低时间复杂度。而算法的关键在于如何兼顾步子迈得足够大与无遗漏&…

第五十八期:AI艺术日渐繁荣,未来何去何从?

本文的配图都是AI艺术领域领导者、德国艺术家马里奥克林格曼(Mario Klingemann)利用人工智能创作的作品。 利用人工智能创作而成的画作近年来越来越受瞩目&#xff0c;有的作品甚至能在知名拍卖行拍得高价。但这类作品仍有不少问题需要解答&#xff0c;比如它的作者是开发出算…

【数据结构与算法】字符串匹配 KMP 算法

单模式串匹配 BF 算法和 RK 算法 BM 算法和 KMP 算法多模式串匹配算法 Trie 树和 AC 自动机 KMP 算法 KMP 算法是根据三位作者&#xff08;D.E.Knuth&#xff0c;J.H.Morris 和 V.R.Pratt&#xff09;的名字来命名的&#xff0c;算法的全称是 Knuth Morris Pratt 算法&#x…