爬行器 - 中国科学院国家科学图书馆
Download
Report
Transcript 爬行器 - 中国科学院国家科学图书馆
Web 搜索
1.
2.
3.
4.
5.
Web搜索概述
Web搜索系统结构
Web搜索相关技术
基于主题的Web搜索
搜索引擎实例分析
互连网的发展
据2011年1
月公布的第
27次中国互
连网络发展
状况调查报
告统计,中
国大陆网民
数和IPv4数
已分别达到
4.57亿和
2.78亿。
网络资源的发展
静态网页(浅层网络资源)
Google
2005年底80亿张
2008年4月5日用”the”
搜 索 Google , 相 关 记
录录:112亿。
2009年4月8日用“the”
搜Google有124.5亿页。
2010年4月8日用”the”
搜索有190亿网页。
2011年3月26日用”the”
搜索有252亿网页。
网络资源的发展
数据库资源(深层网络资源)
数量大,根据BrightPlanet的
研究报告,网络数据库资源
约是静态网页资源的500倍。
增长速度快,同期增长速度
是浅层资源9倍。
资源稳定,质量高,不但包
括大量经对等评审的学术论
文,而且一般资源也都经过
专业人士的筛选、著录、标
引,内容可参考性更强,格
式更规范
搜索引擎被广泛利用
OCLC 2005年调研大学
生信息获取方式:
72%用户选择搜索引擎
24%用户选择图书馆
4%用户选择书店
Hitwise 3月19日统计
Top 10 Websites
Hitwise 3月19日统计
Top 10 Search Engines
1.1 Web搜索分类
根据技术原理分
依据搜索范围分
依据爬行器特征分
根据功能特点分
1.1.1 Web搜索分类
根据技术原理不同,搜索引擎可以分为:
爬行器式搜索引擎
目录式搜索引擎
元搜索引擎
爬行器式搜索引擎
爬行器(Crawler)
爬行器是一种可以在Web上漫游并发现、下载页面的计
算机程序,也称为蜘蛛(Spider)、机器人(Robot)。
爬行器自动在网上爬行,将搜索到的页面自动下载加
入到本地数据库中,经索引后提供用户检索服务。
特点
信息覆盖范围广、自动化程度高、维护费用少;
返回信息过多,包括大量无关信息。
具有代表性的爬行器式搜索引擎
国外:Google、Lycos等
国内:百度、天网等。
目录式搜索引擎
目录式搜索引擎
特点
采用人工或半自动方式搜索、采集以及编辑、组
织信息,支持分类浏览、关键词检索;
因为加入了人的智力劳动,所以信息准确、导航
质量高;
缺点是需要人工介入、维护量大、信息更新不及
时。
代表性引擎
Yahoo、Opendirectory、Looksmart等。
爬行器式搜索也提供目录式服务,如Google的网
页目录
元搜索引擎
元搜索引擎(Meta Search Engine)
自己没有网页数据库,当用户提交一个查询请求时,
它把用户查询转发给多个其他搜索引擎,返回多个
结果,进行归并后返回给用户。
多数元搜索引擎只提取出每个搜索引擎的结果中前
面10~50条信息。
优点同时覆盖多个搜索引擎,缺点是无法使用特定
搜索引擎的特殊功能,用户需要做更多的筛选。
主要代表
ixQuick、SurfWax、Dogpile、Vivisimo等。
1.1.2 Web搜索分类
依据搜索范围不同,Web搜索分两类:
普通搜索引擎(general-purpose search engines)
普通搜索引擎的目标是覆盖所有领域的信息资源
最負盛名的是Google等。
专业搜索引擎(domain-specific search engines)
专业搜索引擎为满足特定需求而开发的,它是一种基于特定条件的
信息搜索引擎,可以针对某一主題(如纳米技术)、某一地区(如
台湾)、某一类型的信息(如个人简历、主页、电影、音乐、FAQ
等)或某一特定群体(如小学生)等。
CiteSeer
它是一个专门收集有关计算机科学方面的PDF、PS格式的学术期
刊和会议论文资料的搜索引擎。
GoogleScholar、GoogleBook
1.1.3 搜索引擎分类
依据爬行器特征,搜索引擎可分:
基于通用爬行器(Scalable Web Crawler)的搜索引擎
基于主题爬行器(Focused Web Crawler)的搜索引擎
基于个性化爬行器(Customized Web Crawler)的搜索引擎
基于智能代理(Agent based Web Crawler)的搜索引擎
基于可迁移爬行器(Relocatable Web Crawler)的搜索引擎
面向深层Web信息(Deep Web Crawler)的搜索引擎
主题爬行器
主题爬行器(Focused Crawler)
主题爬行器爬行有限的网络空间,有选择性地搜寻与指定主
题相关的页面。
基本原则
尽可能多地下载与指定主题相关的网页
尽可能少地下载与指定主题无关的网页
主题描述方式
关键词
样本文档
Ontology
特点
因为不采集与主题无关的页面,所以极大地节省了硬件和网络资
源,保存的页面也少,更新快。
问题
如何有效定义、描述主题?
如何判定主题相关性?
如何控制查全率、查准率等?
IBM Focused crawler
IBM Focused crawler
核心部件
分类器(Classifier)
采集系统首先保存一个经典的主题分类体系,并且为每一
个主题类目都保存若干个内容样本,用于评价采集文本是
否与主题相关
精化器(Distiller)
用于从网页中抽取、识别主题相关链接,并将其增加到待
爬行队列中。
IBM Focused crawler
应用实例 InfoMine
一个网络学术资源服务
引擎,它利用IBM主题爬
行器采集相关主题的信息。
构建了一个的Web信息
采集器。
个性化爬行器
个性化爬行器(Customized web Crawler)
不同的用户对一个搜索引擎提交同一个检索词,
他们期望的返回结果是不同的。
根据用户兴趣、个性需求制定采集策略、采集
个性化信息。
采集结果可以直接提供给用户,也可以先存储
起来经个性化处理后再提供。
个性偏好信息一般有两个来源:
用户手工设置
系统学习
–通过跟踪用户的浏览习惯和兴趣等自动获得
应用实例 - SPHINX
一个基于Java工具开发的交互式个性化信息采集器,用户的个性化
设置嵌在工作台里,并且针对指定的站点进行个性化采集。在
Sphinx基础上,产生了Websphinx,它增强了个性化定制能力。
SPHINX爬行器
个性化定制界面
SPHINX爬行器
可视化呈现界面
基于智能代理的爬行器
Agent
是一种计算机系统,为了实现设计目的而灵活地自
主地活动。智能代理主要应用于主题信息采集和个
性化信息采集。
Agent特点
自治性:Agent运行时不直接由人或其它东西控制,
它对自己的行为和内部状态有一定的控制权
社会能力:多个Agent体之间信息交换和协作
反应能力:对环境的感知和影响
知识学习能力
例如:在基于用户个性化的采集中,它能像人一样感知用
户的兴趣变化,并根据实际情况自主地迅速地灵活地智能
地调整采集策略。
基于Agent的爬行器
应用实例一: InfoSpiders
美国爱荷华大学设计的一个模拟生态系统发展和演
变的Web信息采集器。
它以一个能表明用户兴趣的文件作为采集起点,通
过分析这些起点周围区域和链接关系来发现新的相
关页面。
通过判断采集到页面是否真跟相关性预期相符,来增加和
减少能量.
当能量很高时,还可以生出新的孩子(新的子树),而当能
量过低时,它就死亡。
用户兴趣通过机器学习和相关反馈的方法进行调整。
基于Agent的爬行器
应用实例二: Amalthaea
MIT设计的基于用户个性化需求的元信息采集器。
Information Filtering Agent
Information Discovery Agent
系统分为五层
用户及其反馈
个性化Web浏览界面
信息过滤
信息搜索
分布式信息源
可迁移爬行器
可迁移爬行器
可迁移爬行器(Relocatable Web Crawler)
将爬行器上载到它所要采集的服务器中,在当地进
行采集,并将采集结果压缩后,回传到本地。
特点
爬行及分析操作在远程主机上,节省了网络资源。
爬行器可能不被采集对象所信任,解决办法:
建立一种信任机制,采集器由权威的信任机构评估并授权
将采集器迁移到离被采集站点比较近的地方实施采集。
深层Web爬行器
深层Web爬行器(Deep Web Crawler)
Web上80%的内容是存储在数据库中的动态信息,
它因为没有固定的URL,所以对普通搜索引擎是不
可见的(invisible Web, hidden web),对这类信
息的采集用深层Web爬行器。
与静态网页资源相比,数据库资源不但质量高,而
且,用户访问量也比静态资源高,且大多数数据支
持开放访问。
对数据库资源揭示成为当前研究热点。
将深层网络资源开放给搜索引擎
DP9
弗吉尼亚大学DP9项目为每个OAI数据库定义一个爬
行器入口网页(entry page),爬行器通过该网页中
的链接就可以爬行到OAI数据库中的所有数据。
厦门大学有相似作法。
深层Web爬行器
DQM (Deep Query Manager)
BrightPlanet公司开发的“深层网络资源查询
管理器”,实现对7万多个数据库的搜索、
全文索引。
支持深层网络资源的自动发现、自动配置查
询表单、制动抽取查询结果,自动配置查询
表单的成功率达85%以上 。
DQM数据库自动查询过程
深层Web爬行器
HiWE (Hidden Web Exposer)
斯坦福大学提出一面向特定主题的深层Web爬行器HiWE。
HiWE通过模仿人的操作实现查询表单自动填写、提交以及
结果页面URL的解析。
深层Web爬行器
BASE (Bielefeld Academic Search Engine )
http://www.base-search.net/
德国比勒费尔德大学图书馆开发的深层数据库资源的全
文搜索引擎,目前覆盖1555个数据库近2300多万篇文献,
提供集成检索、原文链接服务。
1.1.4 搜索引擎分类
根据功能特点分类 :
多语种与跨语种搜索引擎
多媒体搜索引擎
自然语言搜索引擎
语义搜索引擎
多语种与跨语种搜索引擎
多语种搜索引擎
采用语种辨别技术识别用户提问语种,检索对应语
种数据库,返回相应语种结果。
Google等支持多语种检索。
关键技术是语言识别。
跨语种搜索引擎
用一种语言提交查询,搜索引擎将其转换成多种语
言查询式,实现对多种语言数据库的检索,返回与
用户问题相关的多语言相关文献。
核心技术机器翻译。
基于字典的机器翻译
多媒体搜索引擎
两种类型
基于文本属性描述的多媒体搜索引擎
基于内容的多媒体搜索引擎
关键技术
自动排除:过滤指定多媒体特征的信息
自动标引:包括属性标引与内容标引
应用实例:Photo2Search
这是个什么
建筑物?
应用实例:Photo2Search
应用实例:Photo2Search
Church in Bellevue
Open hours: 9-5pm
Built: 1950
…….
数据库
自然语言搜索引擎
自然语言搜索引擎
用户以自然语言方式提问,系统返回以自然
语言方式组织的检索结果
主要技术:机器翻译、语义理解及人机会话
等
相关搜索引擎
Ask Jeeves(www.aj.com)
AnswerBus (www.answerbus.com)
……
Powerset
语义搜索引擎
语义搜索引擎(Semantic Search Engine)
面向语义网络空间,发现用户指定主题及其
语义相关信息。
W3C Linked Data Cloud
实例一:Marbles (http://marbles.sourceforge.net/ )
实例二:Swoogle http://swoogle.umbc.edu/
实例三:Sindice http://sindice.com/
1.2 搜索引擎评价标准
检全率
指搜索引擎提供的检索结果中相关信息文档数与网
络信息中存在的相关信息文档数之比。
搜索引擎对互联网信息的有效覆盖率
搜索引擎索引数据库的库容量
搜索引擎索引数据库的信息更新频率
检准率
检索结果中有效信息的文档数与搜索引擎提供的全
部文档数之比。
检索速度
取决于网络带宽及搜索引擎本身的速度。
1.2 搜索引擎评价标准
数据库更新周期
搜索引擎的更新速度取决于其所收录网页的更新速
度及索引更新技术。有增量、完全索引
信息的权威性
以网络机器人采集、加工数据的搜索引擎对
信息有效性的判断能力不及人工参与建库的
搜索引擎。
有效性成为考察搜索引擎服务质量重要指标。
1.3 Web搜索发展趋势
(1)提高对用户提问的理解
用户模型研究
于搜索引擎及用户中间建立用户需求模型,
搜索用户需求,过滤结果信息。
自然语言理解研究
IBM的WebFountain通过利用自然语言理解技
术,实现对非结构化文本的语义抽取以及元
数据标引
(2)改进检索结果处理方式
分类与聚类、可视化
http://clusty.com/
1.3 Web搜索发展趋势
(3)专业化搜索引擎将有大发展
(4)深层Web搜索受到重视
1.4 Web搜索相关资源
Search Engine Watch
(http://www.searchenginewatch.com)
Internet Search Tools
(http://www.sou.edu/library/searchtools/)
2 Web搜索系统组成
种子站点
2.1 爬行器
爬行器
是一种软件,也被称为“Spider“,
功能是在互联网中漫游,发现和搜集
信息,它常常是一个计算机程序,日
夜不停地运行,它要尽可能多、尽可
能快地搜集各种类型的新信息。
2.1 爬行器
信息搜集策略
第一,从一个起始URL集合开始,以宽度优先或深度优先方法
在互联网中发现信息。这些起始URL可以是任意的URL,但常
常是一些非常流行、包含很多链接站点(如Yahoo等)。
第二,将Web空间按照域名、IP地址或国家域名划分,每个搜
索器负责一个子空间的穷尽搜索。
特点
信息类型多样,如:html、xml、word、pdf、jpg、ppt等
信息分布式保存,需要并行计算技术支持。
爬行器工作流程
DNS 解析器
I
N
T
E
R
N
E
T
③
②
HTTP
FTP
多线程
抓取模块
内容是
否下载?
④
URL 抽取
URL 过滤
内容分析
URL 查重
统计模块
①
待爬行
URL 队
列管理
URL 处理
URL 集合
压缩存储
协议处理模
块
⑤
页面处理模块
主题资源库
2.2 存储器
两个基本功能
为爬行器提供存储接口
为索引器和检索引擎提供有效的访问API
主要问题
内容存储具有可扩展性;
支持随机访问;
支持流访问,供索引器和文档分析模块批处理页面;
支持大规模数据更新;
支持陈旧无用链接管理。
2.3 索引器
三种类型的索引
文本(或内容)索引
基于文本的检索始终是确定网页与查询式是否相关的主要
方法,它可以充分利用传统的信息检索访问方法
结构(或超链)索引
将Web抽象成有向图(Directed Graph)
–页面看成是顶点,超链看成是有向边。
实用索引
实用索引的数量和种类依赖于查询引擎的特征和排序模块
所使用的信息类型。
索引更新方式:完全、增量
2.4 检索器
功能
接收用户提问,查询网页数据库,经相关度匹配计
算,显示查询结果,提供用户相关性反馈机制等。
主要评价要素
用户界面友好性,简单易用;
相关度匹配算法,结果排序能反应用户真实需求;
是否支持复杂检索及特殊功能检索
如逻辑运算(与、或、非)、相近关系(相邻、NEAR)、
域名范围(如.edu、.com)、类型范围(如doc、pdf、ppt)、
出现位置(如标题、内容)、信息时间、长度以及个性化
定制信息等
是否支持个性化定制
3 Web搜索相关技术
3.1结构分析技术
PageRank
HITS
3.2内容分析技术
分类
聚类
3.3Web信息组织技术
网页净化
语种识别
页面查重
自动摘要
中文切词
3.4Web信息存储与索引技术
3.5Web搜索实现过程
3.1.1超链分析技术
PageRank算法
目标
区分网页质量
主要思想
一个网页被多次引用,则它可能是很重要的;
一个网页被重要的网页引用,则它可能是很重要的;
一个网页的重要性被平均的传递给它所引用的网页。
例如
网页A有一个指向网页B的链接,则意味着网页A认为网页
B是重要的;
假如有10个网页指向网页A,而指向网页B的链接却只有2
个,则说明网页A比网页B更加重要。
PR(i) (1 - d) d
PR(j)
jB(i) N(j)
B(i)代表指向页面i的页面集合
N(j)表示页面j中指向其它页面的超链数目
PR(j)表示页面j的权威度
PR(I)表示为页面i的权威度
d(0<d<1)是一个衰减因子,最佳值为0.85
由于计算PageRank值的时间复杂度很大,一
般采用递归方式逐渐逼近最优解。
Google给出的中科院
文献情报中心网站
的PageRank(7/10)
Google给出的北京
大学网站的
PageRank(8/10)
3.1.2超链分析技术
HITS(Hypertext Induced Topic Search)
衡量网页重要性级别,有两个参数:
权威度( Authoritive )
中心度(Hub)
基本思想
好的Hub网页指向许多好的权威网页;
好的权威网页是有许多好的Hub网页指向的Web
网页。
3.1.2超链分析技术
HITS算法
①用基于文本的搜索引擎得到某一查寻的结
果集合R;
②将R所指向的页面集合以及其他指向R的页
面集合包含进来形成集合S;
③将所有页面的权威级别(Authority)、中
心级别(Hub)全部置初始值为1;
④采用如下算法进行递归计算 :
3.2.1内容分析技术
文本分类
指按照预先定义的主题类别,为文档集合中的每个文档确
定一个类别。通常采集基于词统计的分类方法。概念分类
将提高分类精度。
两步操作
第一阶段-学习训练
根据已经掌握的每类若干样本数据信息,总结出分类的规律
性,建立判别公式和判别规则,包括预处理、特征提取、参
数训练、生成分类知识库等过程。
训练数据集:Text REtrieval Conference (TREC) Data
第二步阶段 - 类别判定
用第一阶段生成的规则判别新文档所属的类别:
Weka分类器 – LCSH2LCC
分类实例
输入主题词:computer network protocol
输出:分类号
操作过程
1.1run.bat:生成训练数据集(all.arff -> train.10000.arff)
2.2run.bat: 执行训练并建立分类规则
3.3run.bat: 生成测试数据:test.arff
4.4run.bat: 对测试数据test.arff进行分类
输出结果
1. 实际类别: TK5105.55
2. 可选类别:TK5101-6720
3. 推荐类别:TK5101-6720
3.2.2内容分析技术
聚类
没有预先定义主题类别,而是通过分析文档内容动
态生成类别。要求同一类别文档相似度尽可能大,
而不同类间的相似度尽可能地小。
“聚类假设”
内容相关文档通常会聚类的比较靠近,远离不相关文档。
主题表示方法
通过识别在文本组中常用的一系列术语或单词来描述主题,
找到其中隐含的相似关系,实现基于内容的文档聚类。
文本聚类算法
层次凝聚法
平面划分法
内容分析技术 –聚类
Grokker
每个分类目录被显示为一个
彩色的球体;
球体的大小代表该类目下相
关文献的数量
子类目以包含在大球中的小
球来表示
当你点击相应的球体时,该
区域就会被放大,里面就会
显示更多的子类目(小球),
这种“非线性”的搜索方式
会让你迅速“逼近”所需要
信息。
3.3.1网页净化
页面净化
根据网页结构,识别网页中不同类型的内容块,舍弃噪音信
息,如导航信息、广告信息、版权信息等,剥离出正文信息。
它是主题相关度计算、资源查重、自动摘要、自动分类以及
元数据抽取的前提.
相关研究
如何剔除网页中噪音信息?
利用DOM树发现、提取与主题相关度较高的子树;
网页信息抽取:抽取题名、文摘、正文文本等。
3.3.1网页净化
3.3.1网页净化
页面净化过程
预处理
包括发现、修补网页结构语法错误,裁剪无关数据项等;
建立DOM树
将HTML网页表示成树状结构,借助相关工具标识出HTML布
局块结点;
分析块结点
标识出块结点的特征信息,包括块类型、属性集合、超链
集合、特殊标签信息等;
识别块结点内容
利用向量空间模型并辅助启发式规则;
页面类型划分
如主题型页面、目录型页面、图形页面、导航网页等。
以上网页净化结果:
中国科学院文献情报中心 首页 您现在的位置是: 服务 ->
文化传播服务
中科院文献情报中心科学文化传播中心充分利用有利科技资源以普及科技知识,倡导科学方法,
传播科学思想,提高公众科学文化素养,弘扬科学知识做积极的探索与实践。推出不同类型的
讲座、报告及科学文化产品,积极深化文献情报阵地服务功能,逐步形成有影响力的科学文化
传播系列活动品牌。
科学文化传播中心位于中国科学院文献情报中心大楼一层西北部,居中关村科学城中心地段;
紧邻北四环主路,交通便利畅达,为满足举办展览、论坛、科技报告、学术交流、青少年科技
活动和培训活动的需要,科学文化传播中心目前已开放的功能区有:报告厅、多功能厅、院士
厅、贵宾室、会客室、停车场等。智能化水平高、周边辐射能力强、文化积淀深厚,是不可多
得的高层次会议和展览场所。
3.3.2语种识别
根据Global Reach的统计:
英文网页占35.2%
中文占13.7%
学术信息的多语种化发展丰
富了网络资源,同时也给信
息的采集与利用带来障碍;
识别信息语种成为信息组织
与利用的前提条件。
3.3.2语种识别
HTML文档语种标识方式
<META http-equiv=Content-Type
content="text/html; charset=gb2312">
---有以上标识的HTML肯定是简体中文
<META http-equiv=Content-Type
content="text/html; charset= UTF-8">
---有以上标识的HTML可能是英文、法文、德文等,
需要做进一步识别
无结构文档,如纯文本文档等,没有语言标
识,需要识别。
3.3.2语种识别
所谓语种识别
就是利用文本内容的一些特征线索自动识
别出其语种类别。
语种识别通常采取分类技术,主要有方法:
词模型法
“N元”模型法。
3.3.2语种识别
词模型法识别过程
首先,建立一个对应某一语种的特征词表,特征
词最好是唯一标识一种语言
然后,依据词频统计方法用从待识别文本中抽取
特征词,用特征词查询特征词表,通过匹配率计
算,生成文本的语种。
词模型法特点
词表的大小根据语言的特点而定,如果语言形态
较多,则需要较长的词表支持
不支持无空格分隔的语言,如中文,需要先分词
拼写错误将影响识别精度
3.3.2语种识别
“N元”模型法
用一定长度的字符串表示语种特征。如英文词“TEXT”包括以
下N元组(“_”表示空格),每个字符串再分配一个权值。
“N元”模型识别过程
从每种语言样本文本中抽取语言特征,构成该种语言特征信息;
从待识别文本中抽取语言特征项;
计算待识别文本特征项与所有语言类别特征项之间的相似度,判
断语种。
特点
支持没有空格标记的语言识别
能容忍文本拼写错误及语法错误
3.3.2语种识别
应用实例
英文“N元”模型
测试1
测试文本:“这是测试文字如果输出为中文则证
明程序判断正确”
测试2
测 试 文 本 : “ It is often assumed that a
Search System is just a must-have!”
测试3
测试文本:“搜索引擎(search engine)技术在
飞速发展,分类、聚类、多媒体、自然语言理解
等”
3.3.3 文档查重
造成URL重复的原因
第一种,由相对路径、页内书签“#”、URL别名等造
成的重复
第二种,动态生成的URL,如包括SESSION的URL
第三种,资源重复收藏,如镜像、引用等
查重方法
• 分类法
• 副本检测查重算法
由D.M. Campbell 等人提出,它将一篇文档分解为
一个个句子,计算每个句子的HASH值,根据HASH空
间中的重复值频率,确定两篇文档是否相同。
3.3.3自动文摘
自动文摘法
(1)文首自动截取法
美国学者Baxendale进行过统计,仅从文
章开头抽取给定长度的一段文字作为摘
要,就达到87%~96%的可接受率,目前很
多搜索引擎都采用该方法。
(2)抽取检索词上下文法
Google自动摘要
(3)论题句提取法
利用词频统计与句子加权法,从文档中抽
取重要的短语、句子构成摘要
文档标题、子标题能集中反应文挡主题;
每个段落的主题句通常位于段首或段尾;
3.3.4自动文摘
(4)仿人法
上海交通大学教授王永成教授将该技术应用在纳讯
新闻查询系统(http://naxun.sjtu.edu.cn/ search.htm)
3.3.5中文切词
• 切词是文本分类、文本挖掘以及全文词索引的
基础。
• ICTCLAS
• 中国科学院计算技术研究所在多年研究基础上,研
制出了基于多层隐码模型的汉语词法分析系统
ICTCLAS( Institute of Computing Technology, Chinese Lexical Analysis System,
http://www.nlp.org.cn/project/project.php?proj_id=6)
• 该系统的功能有:中文分词、词性标注、未登录词
识别,其分词正确率高达97.58%,基于角色标注的
未登录词识别的召回率高于90%,中国人名的识别
召回率接近98%。
3.3.5中文切词
• 应用实例
• 将in.txt切分,输出out.txt
• 执行切分操作
• 查看结果
3.4.1文件系统存储策略
• 关系数据库存储元数据信息
• 文件系统存储全文信息(文件名自动生成、目录体系自
动生成等)
Fedora文件存储系统
3.4.2全文索引技术
Lucene
一个基于Java的开放源码全文索引引擎工具包,它可以方便
地嵌入到各种应用中,实现针对应用全文索引和检索功能
Lucene的检索方法是基于向量空间模型。
Lucene支持汉语的全文检索
算法简单,响应时间短。GB级索引文件,检索响应时间不足
0.5秒
应用广泛
Jive:WEB论坛系统
Eyebrows:APACHE项目主要邮件列表归档系统
Cocoon: 基于XML的web发布框架,全文检索使用Lucene
Eclipse: 帮助部分全文索引使用Lucene
Lucene索引示例
……
//1. 构建索引器
IndexWriter writer=new IndexWriter(indexPath, //指定索引文件路径
new StandardAnalyzer(), //指定分析器
bIncrease);
//完全索引或增量索引
//2. 构建索引记录文档
Document doc = new Document(); //定义一个新的索引记录文档
doc.add(new Field("rcdid", docrcdid,Field.Store.YES,Field.Index.NO));
//为字段rcdid添加内容,该字段不索引为对应关系数据库记录ID
doc.add(new Field(“body", pagecontent, Field.Store.NO, Field.Index.TOKENIZED));
//将网页信息添加到索引文档指定字段中该字段做索引
//3. 将新建的索引记录写入索引文件
writer.addDocument(doc);
//4. 关闭索引器
writer.close();
……
Lucene检索示例
……
//1. 构建查询器
Searcher searcher = new IndexSearcher(indexPath);//indexPath为索引文件所在目录
//2. 构建查询式
Query query=QueryParser.parse(queryString, field, new StandardAnalyzer());
// queryString:检索字串
// field:检索字段
// new StandardAnalyzer(): //使用和索引同样的语言分析器
//3. 执行查询操作,生成结果集Hits
Hits hits = searcher.search(query);
//4. 读取结果记录信息
……
Apache Solr
Lucene
应用系统
一个可以被集成的搜索引擎库,不
是独立的应用程序。
功能
模块
Lucene
模块
Solr
是一个独立的搜索引擎应用
提供分布式全文搜索功能
基于开放接口调用(XML/HTTP、
JSON API)
综合的HTML管理界面
使用XML配置达到灵活性和适配性
可扩展的插件体系
应用系统
功能
模块
Solr服务器
3.4 Web搜索实现过程
(1)下载网页
(2)页面净化,包括页面类型分类、自动文摘生成等
(3)抽取文本,要在计算相关度前进行
(4)网页语种判断
(5)内容过滤,包括URL、语种、数据格式(如HTML、PDF等)
(6)中文处理,包括中文切词、BIG5->GBK、繁体->简体。
(7)相关度计算
(8)网页内容分类
(9)计算从网页中抽取链接的潜在主题相关度并进入队列
(10) 页面信息存储到数据库
(11) 索引
(12) 检索
实例代码:Crawler.java
Web 搜索
1.
2.
3.
4.
Web搜索概述
Web搜索系统结构
Web搜索相关技术
主题搜索技术
4 主题搜索相关技术
4.1
4.2
4.3
4.4
主题表示技术
种子页面生成技术
相关度计算技术
主题爬行策略
4.1
主题表示技术
常用方式有:关键词表示法、Ontology表示法
关键词表示法
用特征关键词向量空间中的向量来表示主题,一个关键词可
以是单个的词、短语,早期的向量空间模型只是简单地用一
个关键词集合表示主题,如:有关梅西的主题可以表示为:
{足球,世界杯,梅西 }
后来增加权重、语种等属性。
关键词集
正例集,即用户感兴趣的关键词集
反例集,用户不感兴趣的关键词集
关键词生成
从种子文档抽取,种子文档包括用户指定的样板文档、种子页面
对应的相关文档以及对种子页面进行邻链扩展后产生的文档。
用户指定。
4.1
主题表示技术
Ontology表示法
采用概念集来描述主题,它不但能很好地描述主题
内容,而且可以揭示概念间的语义关系,使主题相
关度计算以及主题爬行策略计算更准确。
实现过程
首先,分析用户需求主题内容、学科范围以及相关条件,
确定相关概念、属性;
然后,依据学科Ontology体系,建立主题概念、属性间的
关联与功能,生成一个具体的主题Ontology;
最后,利用主题Ontology指导主题信息采集中的主题判断,
并在采集过程中利用用户反馈信息不断优化主题Ontology,
使其能更好地表达信息采集的主题。
概念模型的技术难点是相关性匹配计算,有三种方式:
图形
文本
中间格式
4.2 种子页面生成技术
人工指定
由专家给出相关的种子页面,也称为样板页面(Sample URL)
自动生成
用户指定部分关键词(如:“digital library”、 “focused
crawler”),并将这些关键词提交给通用搜索引擎(如
Google),从检索结果中抽取前N个页面作为种子页面
混合模式
即自动生成与人工指定相结合
4.3 相关度计算技术(1)
L链接
P网页
C网页
网页P指向网页C
网页C潜在的主题相关度估算策略
网页P与Q(需求主题)的相关度sim(P);
链接L的锚文字与Q的相关度 anchor(L);
链接L的周围文字与Q的相关度neighborhood(L);
链接L的URL超链字串与Q的相关度uri(L);
链接L的兄弟链接与Q的相关度siblings(L)。
4.3相关度计算技术(2)
三种常用相关度算法
改进的PageRank算法
将与主题相关的文档集合作为计算域,这样计算出的结果
对于指导后续主题资源采集更加有效。Teoma即采用该方法。
ARC
权威网页是指包含更多的与爬行主题相关的网页
中心网页是指包含大量指向权威网页链接的网页
ARC在估算待爬页面的相关性时开始考虑锚点文字
CLEVER
对HITS算法进行了改进,在计算一个网页的权威度与中心
度时,保留相关节点,裁剪无关节点;
对来自一个网站的多个超链只保留权威度最高的一个,删
除其它超链;
中心度值选取所有超链中中心度值最高的那个。
4.4
主题爬行策略
限定搜索算法(Limited memory search)
只保留待爬队列中相关度最高的前N个链,将第N+1及其以
后的链接作为低相关或不相关页面丢弃。
BFSK 搜索算法(beam search)
保留整个待爬行队列,但一次从队列中取出前K个URL并批
下载全部K个页面,保证相同区域内的页面集中下载,避免
受其他区域页面主题漂移的影响。
Fish搜索算法(Fish-search)
根据用户的种子站点和查询关键词动态维护待爬行URL的
优先级队列。
Shark算法
引入相关度度量法,取值在0到1之间,并将父亲节点的相
关度按比例传递给孩子节点,在计算孩子节点潜在相关度
时,综合考虑指向孩子节点链接的锚点文字、锚点周围文
字以及父亲节点整个文本信息内容的相关度。
•隧道技术(Tunneling)
遗传学
主题词泛化
细胞遗传学
染色体
表达式泛化
调整权值
生化遗传学
发生遗传学
基因
原始的表达式:F=A and B
泛化后表达式:F=A 或者 F= B
泛化:增加子主题权重
恢复:子主题初始权重