搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
Cpp五条
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
347.前K个高频元素(Leecode刷题)_派遣员工总是派遣前k个员工
2
EI会议论文的级别及其影响!
3
数学建模——农村公交与异构无人机协同配送优化_无人机与农场公交
4
PTA 6-7-1 地下迷宫探索_输入第一行给出三个正整数,分别表示地下迷宫的节点数n(1
5
最近很火的夏日便捷小空调源码(小程序版)_手机空调小程序代码
6
基于单片机的智能拐杖软件设计_智能拐杖国内外研究现状
7
huaggingface模型国内网络下载_huggfaceing
8
mysql: [Warning] Using a password on the command line interface can be insecure.ERROR 1045 (28000):
9
win10修改用户名||user中文名改英文名_如何更改users里的中文用户名
10
计算机网络网络层之IPV4协议_ipv4 mtu
当前位置:
article
> 正文
搜索引擎技术简介_g00gie搜索引擎描术描术
作者:Cpp五条 | 2024-06-10 12:17:48
赞
踩
g00gie搜索引擎描术描术
1.系统结构: 抓取网页 建立索引库 在索引库中搜索 结果排序 主要的数据结构 倒排索引(inverted indexing list)这种数据结构广泛地应用在今天包括Web搜索引擎在内的各种信息检索系统中。其典型的总体结构,如下图所示 : Page Rank算法基于下面2个前提: 前提1:一个网页被多次引用,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的;一个网页的重要性被平均的传递到它所引用的网页。这种重要的网页称为权威(Authoritative)网页。 前提2:假定用户一开始随机的访问网页集合中的一个网页,以后跟随网页的向外链接向前浏览网页,不回退浏览,浏览下一个网页的概率就是被浏览网页的Page Rank值。 首先,PageRank并不是将整个网站排等级,而是以单个页面计算的。其次,页面A的PageRank值取决于那些连接到A的页面的PageRank的递归值。 PR(Ti)值并不是均等影响页面PR(A)的。在PageRank的计算公式里,T对于A的影响还受T的出站链接数C(T)的影响。这就是说,T的出站链接越多,A受T的这个连接的影响就越少。 PR(A)是所有PR(Ti)之和。所以,对于A来说,每多增加一个入站链接都会增加PR(A)。 最后,所有PR(Ti)之和乘以一个阻尼系数d,它的值在0到1之间。因此,阻尼系数的使用,减少了其它页面对当前页面A的排序贡献。 PageRank算法2(对算法1的修订) PR(A) = (1-d) / N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)) 其中N是互联网上所有网页的数量 由此,所有页面的网页级别形成的一个概率分布,所有页面的网页级别之和是1。在算法1中,随机冲浪访问某个页面的概率由互联网的总页数决定,在算法2中,网页级别是一个页面被随机访问的期望值。 所有页面的网页级别之和等于互联网的总页数。在网页数比较少的情况下,网页级别方程可以解出,而面对互联网上成亿的网页,再解方程是不可能的。此处设阻尼系数为0.5,虽然Lawrence Page 和 Sergey Brin在实际将其设为0.85. PR(A) = 0.5 + 0.5 PR(C)PR(B) = 0.5 + 0.5 (PR(A) / 2)PR(C) = 0.5 + 0.5 (PR(A) / 2 + PR(B))解得:PR(A) = 14/13 = 1.07692308PR(B) = 10/13 = 0.76923077PR(C) = 15/13 = 1.15384615有:PR(A)+PR(B)+PR(C)=3 迭代计算pagerank Google采用一种近似的迭代的方法计算网页的网页级别的,也就是先给每个网页一个初始值,然后利用上面的公式,循环进行有限次运算得到近似的网页级别。根据Lawrence Page 和 Sergey Brin公开发表的文章,他们实际需要进行100次迭代才能得到整个互联网的满意的网页级别值,这儿的例子只用了10多次就可以了。在迭代的过程中,每个网页的网页级别的和是收敛于整个网络的页面数的。所以,每个页面的平均网页级别是1,实际上的值在(1-d)和(dN+(1-d))之间。 迭代次数 PR(A) PR(B) PR(C) 0 1 1 1 1 1 0.75 1.125 2 1.0625 0.765625 1.1484375 3 1.07421875 0.76855469 1.15283203 4 1.07641602 0.76910400 1.15365601 5 1.07682800 0.76920700 1.15381050 6 1.07690525 0.76922631 1.15383947 7 1.07691973 0.76922993 1.15384490 8 1.07692245 0.76923061 1.15384592 9 1.07692296 0.76923074 1.15384611 10 1.07692305 0.76923076 1.15384615 11 1.07692307 0.76923077 1.15384615 12 1.07692308 0.76923077 1.15384615 PageRank算法中对于向外链接的权值贡献是平均的,也就是不考虑不同链接的重要性。而WEB的链接具有以下特征: 1.有些链接具有注释性,也有些链接是起导航或广告作用。有注释性的链接才用于权威判断。 2.基于商业或竞争因素考虑,很少有WEB网页指向其竞争领域的权威网页。 3.权威网页很少具有显式的描述,比如Google主页不会明确给出WEB搜索引擎之类的描述信息。 可见平均的分布权值不符合链接的实际情况。J. Kleinberg提出的HITS算法中引入了另外一种网页,称为Hub网页,Hub网页是提供指向权威网页链接集合的WEB网页,它本身可能并不重要,或者说没有几个网页指向它,但是Hub网页确提供了指向就某个主题而言最为重要的站点的链接集合,比一个课程主页上的推荐参考文献列表。一般来说,好的Hub网页指向许多好的权威网页;好的权威网页是有许多好的Hub网页指向的WEB网页。这种Hub与Authoritive网页之间的相互加强关系,可用于权威网页的发现和WEB结构和资源的自动发现,这就是Hub/Authority方法的基本思想。 HITS(Hyperlink-Induced Topic Search)算法是利用Hub/Authority方法的搜索方法,算法如下:将查询q提交给传统的基于关键字匹配的搜索引擎.搜索引擎返回很多网页,从中取前n个网页作为根集(root set),用S表示。S满足如下3个条件: 1.S中网页数量相对较小 2.S中网页大多数是与查询q相关的网页 3.S中网页包含较多的权威网页。 通过向S中加入被S引用的网页和引用S的网页将S扩展成一个更大的集合T. 以T中的Hub网页为顶点集Vl,以权威网页为顶点集V2,Vl中的网页到V2中的网页的超链接为边集E,形成一个二分有向图SG=(V1,V2,E)。对V1中的任一个顶点v,用h(v)表示网页v的Hub值,对V2中的顶点u,用a(u)表示网页的Authority值。开始时h(v)=a(u)=1,对u执行I操作修改它的a(u),对v执行O操作修改它的h(v),然后规范化a(u),h(v),如此不断的重复计算下面的操作I,O,直到a(u),h(v)收敛。 式(1)反映了若一个网页由很多好的Hub指向,则其权威值会相应增加(即权威值增加为所有指向它的网页的现有Hub值之和)。 式(2)反映了若一个网页指向许多好的权威页,则Hub值也会相应增加(即Hub值增加为该网页链接的所有网页的权威值之和)。 上面介绍的PageRank和HITS是目前使用最广泛的链接分析算法。 这两个算法都基于两个假设: 链接传递作者的认可。如果存在从页面A到页面B的链接,A和B的作者不同,则说明A的作者发现B有用。所以页面的重要性能够被传播到其链接到的页面。 在某个页面中同时被引用的页面很有可能讲述相同的话题。 然而这两个假设在很多情况下都是不成立的 一个典型的例子见下图的页面(http://news.yahoo.com) 页面中包含了多种不同的语义(由不同颜色的矩形框出) 还包含了很多用于广告和导航的链接(左边矩形) 这种情况下很多页面的重要性很有可能被Pagerank计算错误也可能引起HITS算法的主题漂移。 引起这两个问题的原因是每一个单一的页面经常包含了很多的语义,而且页面中的不同部分一般都有不同的重要性级别。 从语义分割的角度看,页面也不应该是最小单位。不同语义块中的包含的链接通常指向不同话题的页面。自然的,应该将这些语义块作为信息的最小单位。 下面介绍一个新颖的基于视觉的页面分割方法VIPS(Vision-based Page segmentation) 人们浏览网页都是通过浏览器获取一个2D的图像呈现。其中包括了很多可见的提示来帮助人们区分页面的各个部分(比如lines,blanks,images,colors…)为了浏览的简单性和可理解性,一般来说每个封闭的block都是说明一个单一的语义。 说到语义分析,这里请了解一下,传统的语义分析是基于内容的分析,速度是非常慢的,同时也很难而且不准确。 VIPS抛弃了语义分析,而在页面的视觉提示基础上将页面分成块。这个过程类似于人对于页面分布的视觉理解。 由此引入了两种新的链接分析算法: Block Level PageRank (BLPR) Block Level HITS(BLHITS) 首先:把页面分解成语义块。树形结构,每个节点代表一个块,并被分配了一个值Doc(一致度)来表示在视觉理解上这个块中内容的一致度。 分割方法:先建立html DOM树,在DOM树分成的块中寻找每个分隔符(比如横线,垂直线)再次分隔成语义块。 具体细节参考D. Cai, S. Yu, J.-R. Wen, and W.-Y. Ma, VIPS: a visionbased page segmentation algorithm, Microsoft Technical Report,MSR-TR-2003-79, 2003. 基于上述的两个矩阵,我们可以建立两个图模型: 页面图 GP (VP,EP, WP) 和 块图 GB (VB, EB, WB). 每个图中,V 是顶点集合(page, block, respectively), E 是连接两个顶点的边集合,W 是定义这些边的权值矩阵 Block-level PageRank 取A为图G的权值矩阵,先将A中每行的和正则化为1,得到一个跳转可能性矩阵M。 然后可以定义模型: 每个浏览者任意时刻都在浏览某个页面,以(1-ε)的概率从当前页面中随机挑选出一个链接并点击访问,以ε的概率从收藏夹中随机等概率的挑选出另一个网址访问。 测试结果(.gov中PR前15 ) 1 G00-05-4074066 http://www.usgs.gov/ 2 G00-08-3906771 http://www.nasa.gov/ 3 G00-06-0690672 http://www.usda.gov/ 4 G00-54-0168623 http://www.usgs.gov/privacy.html 5 G00-09-2318516 http://www.doi.gov/ 6 G01-90-0139455 http://www.bnl.gov/bnlweb/security_notice.html 7 G01-08-1822984 http://naca.larc.nasa.gov/readme.html 8 G00-10-2171731 http://www.nws.noaa.gov/ 9 G07-50-3922430 http://ar.inel.gov/home.html 10 G01-43-2031819 http://www.usgs.gov/accessibility.html 11 G00-01-3584374 http://firstgov.gov/ 12 G00-06-3965004 http://ds.usda.gov/ 13 G01-61-3538562 http://www.usgs.gov/mail.html 14 G00-13-0831825 http://ds.usda.gov/h 15 G00-48-1523058 http://www.usgs.gov/disclaimer.html 测试结果(.gov中BLPR前15 ) 1 G00-05-4074066 http://www.usgs.gov/ 2 G00-08-3906771 http://www.nasa.gov/ 3 G00-06-0690672 http://www.usda.gov/ 4 G00-54-0168623 http://www.usgs.gov/privacy.html 5 G00-10-2171731 http://www.nws.noaa.gov/ 6 G00-02-1372443 http://www.nara.gov/ 7 G00-02-3781964 http://www.cdc.gov/ 8 G00-04-1013476 http://www.ca.gov/ 9 G00-04-0880016 http://www.abag.ca.gov/ 10 G01-92-0844584 http://www.ca.gov/state/portal/myca_homepage.jsp 11 G00-01-0423383 http://access.wa.gov/ 12 G00-09-2318516 http://www.doi.gov/ 13 G01-74-0536144 http://my.ca.gov/state/portal/myca_homepage.jsp 14 G00-01-3584374 http://firstgov.gov/ 15 G00-00-1711483 http://www.lib.noaa.gov/
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/Cpp五条/article/detail/698722
推荐阅读
article
一百六十七、
MySQL
——
MySQL
8.0连接
jdbc
报错(持续更新中)_
failed
to par...
MySQL
8.0连接
jdbc
报错_
failed
to
parse
the
connection
string
near
...
赞
踩
article
基于
FPGA
的
数字
信号处理
(4)--
浮点数
的
定点
化
_
浮点数
定点
化
...
基于
FPGA
的
数字
信号处理
(4)
浮点数
的
定点
化
_
浮点数
定点
化
浮点数
定点
化
...
赞
踩
article
C++
函数
进阶
(
各种
函数
的运用)_
c++
中有多少
函数
要
学习
...
本文章讲解了
C++
中我们在竞赛
(
如蓝桥杯、ACM)、做项目等时候,常会用到的
各种
函数
方法,适合收藏和
学习
_
c++
中有多少...
赞
踩
article
Git
push
的时候需要输入
用户名
和
密码
解决方案
_
git
push
携带账户
和
密码
...
在使用 `
git
push
-u origin main` 命令推送远程分支时要求输入
用户名
和
密码
_
git
push
携...
赞
踩
article
精进:
如何
成为
一个
很厉害的人--作者:采铜_采铜职场人的
学习
精进
技术
...
精进:
如何
成为
一个
很厉害的人作者:采铜文章目录精进:
如何
成为
一个
很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应...
赞
踩
article
使用
TensorFlow
训练
dnn
_
tensorflow
dnn
...
教程目的如何利用
TensorFlow
使用(经典)MNIST数据集训练并评估一个用于识别手写数字的简易前馈神经网络(fee...
赞
踩
article
Git
安装和
使用
教程(
Windows
)_
windows
git
下载
进不去...
安装
git
官方
下载
地址: https://
git
-scm.com/download/win 不过
下载
很慢,而且容易...
赞
踩
article
Android
四大
组件
之
activity
(活动)_
android
activity
...
本文主要是整理
Android
四大
组件
之一的
activity
的相关知识;其他相关内容可以跳转至
Android
学习与巩固查...
赞
踩
article
Chatbox
使用
DeepSeek
-V2_
deepseek
api
...
Chatbox
使用
DeepSeek
-V2_
deepseek
api
deepseek
api
...
赞
踩
article
软件
设计师
---
UML
_软件
设计师
uml
...
UML
_软件
设计师
uml
软件
设计师
uml
UML
UML
...
赞
踩
article
pymysql
.
err
.
OperationalError
: (1142, ‘
Unknown
err
o...
pymysql
.
err
.InternalError 是 PyMySQL 库在尝试执行数据库操作时遇到的一个内部错误。这个...
赞
踩
article
【
微信
小
程序
】基础篇 -- 注册
小
程序
账号&安装
开发
者
工具
(一)_
微信
小
程序
开发
者
工具
...
大家好,又见面了,我是夜阑的狗
微信
小
程序
开发
者
工具
...
赞
踩
article
【
xinference
】(7):在
autodl
上,使用
xinference
一次部署
embedding
...
Xorbits Inference (Xinference) 是一个开源平台,用于简化各种 AI
模型
的运行和集成。借助...
赞
踩
article
算法
学习——
LeetCode
力扣
动态
规划
篇7(188.
买卖
股票
的
最佳时机
IV、309.
买卖
股票
...
算法
学习——
LeetCode
力扣
动态
规划
篇7(188.
买卖
股票
的
最佳时机
IV、309.
买卖
股票
的
最佳时机
含冷冻期、...
赞
踩
article
如何
使用
微信
开发者
工具
进行
小
程序开发
_
微信
小
程序开发
者
工具
使用
教程...
微信
开发者
工具
是一个功能强大的小
程序开发
工具
,它提供了一些必要的
工具
和功能,方便
开发者
进行
代码编写、调试和发布等工作。微...
赞
踩
article
Redis
is
running
in
protect
ed
mode
_redis is runnin...
这是redis在安装后,如果非本机访问的话,会报的一个错误,这个错误还是比较长的:
Redis
is
running
in...
赞
踩
article
git
添加
密匙_
git
添加
密钥...
git
ssh密匙
添加
_
git
添加
密钥
git
添加
密钥 在c盘的用...
赞
踩
article
Ollama
本地
大
模型
框架_
ollama
如何
删除
已
下载
大
模型
...
部署和使用其实还是很方便的,没有遇到什么问题,小白也可以轻松上手。本地部署
大
模型
的好处就是不需要联网,数据相当比较安全。...
赞
踩
article
中国
黑客
的
隐秘江湖:攻守对立
顶尖高手
...
世界上能称之为顶级
黑客
的
,只有几百人。他们是上帝
的
宠儿,获得了一把开启网络世界大门
的
钥匙,得以窥见网络世界
的
终极秘密。他...
赞
踩
article
信息技术
会考
操作题
python
,
中考
信息技术
python
题目_初中
中考
信息技术
题
操作题
输入
输出
...
其中键()和值()通过冒号连接,组成一个键值对(冒号前为键,冒号后为值),键值对通过逗号隔开,字典是键值对的集合。功能:...
赞
踩
相关标签
mysql
fpga开发
Verilog入门
Xilinx
数字IC
定点数
定点化
浮点数
c++
c语言
字符串
git
大数据
android
android studio
人工智能
DeepSeek
Chatbox
uml
软件工程
java
服务器
开发语言
小程序