电子商务应用课程知识整理 第四章-搜索引擎

文章目录

  • 一、搜索引擎
    • 定义
    • 分类
      • 1.全文搜索引擎
      • 2.目录索引
      • 3.元搜索引擎
      • 4.垂直搜索引擎
    • 工作原理
      • 1.抓取网页
      • 2.处理网页
      • 3.提供检索服务
    • 核心算法
    • 组成部分
    • 发展趋势
  • 二、网络蜘蛛
  • 三、中文分词
    • 基于词典的分词方法
    • 基于统计的分词方法
    • 基于理解的分词方法
    • 分词难点
      • 1.歧义识别
      • 2.新词识别
  • 四、链接分析
    • 1. Web图
    • 2. 锚文字
    • 3. 随机游走模型
    • 4. 子集传播模型
    • 5. PageRank算法

一、搜索引擎

因特网包括成百上千的网站,设计数以亿计的资源。因此需要通过搜索引擎了快速定位到所需资源,搜索引擎技术对网站的运营具有非常重要的意义

定义

搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序收集互联网上的信息,在对信息进行组织和处理后,将处理后的信息显示给用户,是为用户提供检索服务的系统。

分类

1.全文搜索引擎

是名副其实的搜索引擎,代表有谷歌、百度。他们从互联网提取各个网站的信息(以文字为主),建立起数据库,并能检索与用户查询条件相匹配的记录,按一定顺序行会结果

根据搜索结果的来源不同,全文搜索引擎可分为两类,一类拥有自己的网页抓取、索引、检索系统,有独立的蜘蛛程序(Spider)(或称爬虫Crawler、机器人Rovot),能自建网页数据库,搜索结果直接从自身的数据库中调用;另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果。

特点是搜全率比较高。

搜索引擎的自动信息搜索功能分为两种:一种是定期搜索,即内阁一段时间,搜索引擎自动派出蜘蛛程序,对一定IP地址范围类的互联网进行检索。另一是提交网站搜索,即网站的拥有者主动向搜索引擎提交网址。

2.目录索引

将网站分门别类地存放在相应的目录中,用户在查询信息时,可以选择关键词搜索,也可按分类目录逐层查找。严格意义上,不算真正的搜索引擎,只是按目录分类的网站链接列表,代表有雅虎、新浪分类目录搜索。

3.元搜索引擎

元搜索引擎(Meta Search Engine)在接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。在搜索结果方面,有的直接按来源排列搜索结果,有的则按自定规则将结果重新排列。

4.垂直搜索引擎

垂直引擎专注于特定的领域和搜索需求,在其特定的领域有更好的用户体验。

特点是所需的硬件成本低、用户有需求特定、查询方式多样。

工作原理

1.抓取网页

网页抓取程序顺着网页中的链接,连续地抓取网页,被抓取的网页被称之为网页快照

2.处理网页

搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中最重要的是提取关键词,建立索引文件。其他预处理工作包括去除重复网页、分词、判断网页类型、分析超链接、计算网页重要度/丰富度等。

3.提供检索服务

用户输入关键词进行检索,搜索引擎从索引数据中找到匹配该关键词的网页。为用户提供网页标题和URL,同时提供一段摘要和其他信息。

核心算法

  • 网页抓取程序
  • 关键词提取
  • 索引文件创建方式
  • 重复网页合并
  • 结果排序算法
  • 中文分词算法
  • 网页类型判断
  • 超链接分析(语言判断:meta标签、字符编码、内容分析)
  • 网页重要性与丰富度计算

组成部分

  • 搜索器:其功能是在互联网中漫游,发现和收集信息
    常使用分布式、并行计算技术,以提高信息发现和更新速度。
    要求尽可能多、尽可能快地搜索各种类型的新信息,定期更新搜索过的旧信息。目前有两种搜索策略:
    • 从一个起始URL集合(通常为一些非常主流、包含很多链接的站点)开始,循着这些URL中的超链接,以宽度优先、深度优先或启发式循环地在互联网中发现信息。
    • 将Web空间按照域名、IP地址或国家域名划分,每个搜索器负责一个子空间的穷尽搜索。
  • 索引器:其功能是理解搜索器所搜索到的信息,从中抽取出索引项,用于表示文档以及生成文档库的索引表
    索引表一般使用倒排表,即由索引项查找相应的文档。索引表也可能要记录索引项在文档中出现的位置,以便检索器计算索引项之间的相邻或接近关系。
    索引器可以使用集中式索引算法分布式索引算法。当数据量很大时,必须使用即时索引
    一个搜索引擎的有效性很大程度上取决于索引的质量
    索引项有客观索引项和内容索引项两种。
    • 客观索引项与文档的语音内容无关,如作者名、URL、更新时间、编码、长度、链接流行度;
    • 内容索引项是用来反映文档内容的,如关键词及其权重、短语、单词等。
      可以分为单项索引和多项索引(短语索引项)。
      • 单项索引对于英文来讲是取单词,比较容易提取。对于中文,必须进行词语的切分(分词技术)
        一般要给单项索引项赋予一个权值,以表示该索引项对文档的区分度,同时用来计算查询结果的相关度,使用方法一般有统计法、信息论法和概率法。
      • 短语索引项提取方式有统计法、概率法和语言学法,
  • 检索器:其功能是根据用户的查询在索引库中快速检索文档,进行相关度评价,对将要的输出结果排序,并能按用户的查询需求合理反馈信息。
  • 用户接口(HTML页面):接纳用户查询、显示查询结果、提供个性化查询项。
    主要目的是方便用户使用搜索引擎,高效率、多方式地从搜索引擎中得到有效、及时的信息。
    用户接口可以分为简单接口和复杂接口两种。
    • 简单接口只提供用户输入查询串的文本框;
    • 复杂接口可以让用户对查询进行限制,如逻辑运算、相近关系、出现位置(标题、内容)、域名范围、信息时间、长度。

发展趋势

  • 提高搜索引擎对用户检索提问的理解
  • 对检索结果进行处理
  • 确定搜索引擎信息收集范围,提高搜索引擎的针对性。
  • 将搜索引擎的技术开发重点放在对检索结果的处理上,提供更优化的检索结果。
  • 搜索引擎的分类
  • 专家系统。

二、网络蜘蛛

三、中文分词

分词时将连续的字序列按照一定的规范重新组合成词序列的过程。

基于词典的分词方法

按照一定策略将待分析的汉字串与一个词典中的词条进行匹配,若再词典中找到该字符串,则匹配成功。
正向最大匹配算法(FMM):设m=5,根据正向最大匹配原则,先对句子取前5个字符,在词典中进行查找:若匹配,则切下该词,对剩余句子继续迭代;若不匹配,则m=m-1,进行匹配。

中文中90%的文本,FMM和RMM(逆向最大匹配)结果完全重合且正确;
9%的句子FMM和RMM结果不同,但其中必有一个正确(歧义检测成功);
1%的句子FMM和RMM结果都不正确(无论是否相同)
故,双向最大匹配算法(BMM)在中文信息系统应用广泛。

基于统计的分词方法

在给定大量的已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律(训练),从而实现对未知文本的切分。

基于理解的分词方法

让计算机模拟人对句子的理解。基本思想是在分词的同时进行句法、语义分析。

分词难点

1.歧义识别

  • 交叉型歧义:词语ABC可分为AB/C和A/BC
  • 组合型歧义:词语AB可分为AB和A/B
  • 混合型歧义:同时包含交叉性和组合型歧义

中文文本中,交际型歧义和组合型歧义出现的比例约为1:22。

全切分方法:依据词表,给出输入文本的所有可能切分结果,然后根据一定的原则(切分次数最少或概率最大),选择一种结果作为最终切分结果。

2.新词识别

指已有的词表中没有收录的词,或者已有的训练语料中没有出现的词(集外词)。
对于大规模真实文本来说,未登录词对于分词精度的影响远远大于歧义切分。

四、链接分析

1. Web图

如果将一个网页抽象成一个个节点,而将网页之间的链接理解成一条有向边,则可以把整个互联网抽象为一个一个包含页面节点和节点之间联系边的有向图,称之为web图。

2. 锚文字

页面内某个出链附近的一些描述性文字。

3. 随机游走模型

用户随机选择一个网页作为上网的起始网页,从该网页类所含的超链接随机选择一个页面继续浏览,重复进行,直到对某个主题感到厌倦而重新随机选择另一个网页浏览。

4. 子集传播模型

将互联网网页按照一定的规则划分为两个甚至多个子集,从某个具有特殊性质的子集出发,给与子集类网页初始权值,再根据这个特殊子集类网页和其他网页之间的连接关系,按照一定的方式将权值传递给其他网页。
思想:重要的网址,其连接的网页重要性也高。

5. PageRank算法

基本思想

  • 认可度高度网页越重要,即反向链接(入链)越多的网页越重要。
  • 反向链接的原网页质量越高,被这些高质量网页的链接指向的网页越重要。
  • 出链越少的网页越重要。

在这里插入图片描述
在这里插入图片描述
转移矩阵每一列代表一个节点,该节点所有出链平分权值。如,A对B、D均有链接,则矩阵第一列为[0, 0.5, 0, 0.5]
在这里插入图片描述

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

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

相关文章

《Network Warrior中文版(第2版)——思科网络工程师必备手册》一3.3 自动协商故障...

本节书摘来自异步社区《Network Warrior中文版(第2版)——思科网络工程师必备手册》一书中的第3章,第3.3节,作者【美】Gary A. Donahue,更多章节内容可以访问云栖社区“异步社区”公众号查看 3.3 自动协商故障 Network…

Linux 命令(三)--用户管理

2019独角兽企业重金招聘Python工程师标准>>> 查看用户: cat /etc/passwd --------------------- 添加用户: useradd 选项 用户名 -d 目录 指定用户主目录,如果不存在使用-m 创建 -g 指定用户所属的用户组 -G 用户组 ,用户组指定用户所属的附加组 -e <有效期> …

1.单机部署hadoop测试环境

之前看了很多理论上的知识&#xff0c;感觉云里雾里的&#xff0c;所以赶紧着手搭建个单机版的hadoop跑一跑&#xff0c;开启自学大数据技术的第一步~~ 1.在开源的世界里&#xff0c;我就是个土豪&#xff0c;要啥有啥&#xff0c;所以首先你得有个jdk&#xff0c;有钱所以用最…

《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...

第1章 “互联网&#xff0b;”的新时代 回顾过去20多年&#xff0c;互联网在中国不断发展壮大&#xff0c;从根本上重构了中国人的生活方式。伴随“互联网”在2015年正式被写入国家战略&#xff0c;“互联网”将助推国民经济三驾马车的再造新生&#xff0c;以创新驱动中国经济的…

Oracle数据库体系结构

文章目录Oracle系统体系结构由三个部分组成&#xff1a;**实例、物理结构和逻辑结构**实例和物理结构&#xff08;数据库&#xff09;组成了Oracle服务器。一、实例1.1 内存结构1.1.1 系统全局区&#xff08;SGA&#xff09;1.1.1.1 共享池&#xff08;共享储存区&#xff09;1…

Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos

2019独角兽企业重金招聘Python工程师标准>>> A couple of weeks ago I was evaluating the possibility to use Spring Boot, Spring Data JPA and Atomikos for distributed transactions involving multiple databases. After looking at the Spring blog articl…

Avalonia跨平台入门第十四篇之ListBox折叠列表

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件;今天趁着空闲时间接着去摸索基于ListBox的折叠列表的效果,最终实现的效果如下图:先来看看布局吧:…

iptables配置详解

-A参数是将规则写到现有链规则的最后面-I 参数默认是将一条规则添加到现有规则链的最前面&#xff0c;当然也可以指定插入到第几行 行数可以用数字来指定 比如说将一条规则添加到某一条链的第三行 那么原来在第三行的规则就会降到下一行第四行。例如&#xff1a; iptables -I …

C语言之strstr函数类似Java字符串的contain函数

1、strstr函数介绍 找出haystack字符串在needle字符串中第一次出现的位置&#xff08;不包括needle的串结束符&#xff09;。返回该位置的指针&#xff0c;如找不到&#xff0c;返回空指针。 2、举例 3、运行结果

软件测试技术——软件测试概述

文章目录一、软件测试的定义标准定义Bug和缺陷二、软件测试与软件质量保证三、软件测试七大基本原则四、软件测试分类按测试手段按测试执行方式按测试阶段或层次按测试对象五、软件测试过程模型V模型W模型H模型X模型一、软件测试的定义 正向观点逆向观点验证软件是否能正常工作…

Linux-No.04 Linux 设置定时任务发送邮件功能

2019独角兽企业重金招聘Python工程师标准>>> 1、定时任务 crontab -l crontab -e /sbin/service crond start //启动服务/sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 /sbin/…

WPF 基础控件之 DataGrid 样式

此群已满340500857 &#xff0c;请加新群458041663由于微信群人数太多入群请添加小编微信号yanjinhuawechat 或 W_Feng_aiQ 邀请入群需备注WPF开发者 PS&#xff1a;有更好的方式欢迎推荐。支持NugetInstall-Package WPFDevelopers.Minimal -Version 3.2.001—代码如下一、创建…

C#页面抓取信息

//根据Url地址得到网页的html源码private string GetWebContent(string Url){string strResult"";try{HttpWebRequest request (HttpWebRequest)WebRequest.Create(Url);//声明一个HttpWebRequest请求request.Timeout 30000;//设置连接超时时间request.Headers.Set…

在 Linux 下使用 RAID(二):使用 mdadm 工具创建软件 RAID 0 (条带化)

RAID 即廉价磁盘冗余阵列&#xff0c;其高可用性和可靠性适用于大规模环境中&#xff0c;相比正常使用&#xff0c;数据更需要被保护。RAID 是一些磁盘的集合&#xff0c;是包含一个阵列的逻辑卷。驱动器可以组合起来成为一个阵列或称为&#xff08;组的&#xff09;集合。 创建…

struts2批量删除

2019独角兽企业重金招聘Python工程师标准>>> 2012-10-27 12:48 997人阅读 评论(0) 收藏 举报 逻辑代码 [java] view plain copy package com.stu2; import java.util.ArrayList; import java.util.List; import java.sql.*; import com.s…

电子商务应用课程知识整理 第六章-数据挖掘

文章目录一、概述二、关联分析概念&#xff1a;关联分析步骤&#xff1a;用于寻找频繁项集的算法算法一&#xff1a;蛮力法算法二&#xff1a;Apriopri算法&#xff08;先验算法&#xff09;三、分类与预测k近邻算法&#xff08;kNN&#xff09;四、聚类分析k均值算法&#xff…

.NET Core 返回结果统一封装

本文使用.NET Core Webapi演示&#xff01;一:新建.NetCore webapi项目为了方便开发,简化代码,也为了与前端方便对接,需要对接口服务返回结果进行统一处理。二:定义返回结果结构我们需要定义一个统一返回结果泛型类ApiResultpublic class ApiResult<T>{/// <summary&g…

linux之nm命令

1、nm命令介绍 nm命令很好记&#xff0c;当时看到大神在我的电脑面前在open ssl编译的.a文件里面过滤SHA函数&#xff0c;nm你就这样记&#xff0c;nm 尼玛, 哈哈。我们可以通过nm命令查看后缀out文件和后缀a文件里面的函数和部分属性。比如我们过滤SHA函数&#xff0c;命令如下…

.NET的两种部署模式,了解一下

前言以往部署程序一直是习惯性先安装运行时环境&#xff0c;然后再将发布打包好的程序运行起来&#xff1b;但当多个程序依赖不同版本框架平台时&#xff0c;如果部署在同一台机器上&#xff0c;那就需要在同一台机器上安装多个版本的运行时&#xff0c;总感觉有点不太方便&…

CSS3弹性伸缩布局(一)——box布局

CSS3弹性伸缩布局简介 2009年&#xff0c;W3C提出了一种崭新的方案----Flex布局&#xff08;即弹性伸缩布局&#xff09;&#xff0c;它可以简便、完整、响应式地实现各种页面布局&#xff0c;包括一直让人很头疼的垂直水平居中也变得很简单地就迎刃而解了。但是这个布局方式还…