精华内容
下载资源
问答
  • 信息检索复习笔记

    万次阅读 2020-12-17 17:14:46
    信息检索复习 第一讲 搜索 IR(信息检索是什么样的学科): 实质上是融合了文本及多媒体检索、数据挖掘、机器学习和自然语言处理的综合学科 为什么要进行信息检索?信息过载 搜索 搜索的过程 从大规模非结构化数据...

    第一讲 搜索

    IR(信息检索是什么样的学科)

    实质上是融合了文本及多媒体检索、数据挖掘、机器学习和自然语言处理的综合学科

    为什么要进行信息检索?信息过载

    搜索

    搜索的过程

    从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用户信息需求的资料(通常是文档)的过程

    信息检索的本质

    确定文档和查询之间的相关度是IR的核心问题

    IR作为一门学科,是研究信息的获取(acquisition)、表示(representation)、存储(storage)、组织(organization)和访问(access)的一门学问

    信息检索本质:给定一个查询Q,从文档集合C中,计算每篇文档DQ相关度,并排序(Ranking)

    什么是相关度

    相关度是一个查询和文档相关的程度,形式上说,信息检索中的相关度是一个**函数*f*,**输入是查询Q、文档D和文档集合C,返回的是一个实数值 R, R = f(Q,D,C)

    相关度(relevance)不同于相似度(Similarity):

    ​ 相关度通常只有相对意义

    ​ (1)相关取决于用户的判断,是一个主观概念

    ​ (2)不同用户做出的判断很难保证一致

    ​ (3)即使是同一用户在不同时期、不同环境下做出的判断也不尽相同

    定义“相关性”的两个角度:(了解)

    系统角度:系统输出结果,用户是信息的接受者。

    用户角度:观察用户对检索结果的反应,是系统输出向用户需求的投射

    现代信息检索研究中仍然主要采用系统角度定义的主题相关性概念,当然也强调考虑用户的认知因素

    信息检索模型

    描述信息检索中的文档、查询和它们之间关系(匹配函数)的数学模型

    信息检索主要技术

    (1)文本分析(NLP)

    (2)建立索引

    (3)查询,包括查询分析(NLP),相关度计算(和信息检索模型相关)

    (4)排序(实验室评价)

    搜索引擎

    工作原理

    (1) 爬行和抓取

    (2) 文本分析

    (3)建立索引(可能会考的知识点:蜘蛛抓取的页面文件分解、分析,并以巨大表格的形式存入数据库,这个过程即是索引(index).搜索引擎的核心数据结构为倒排文件(也称倒排索引))

    (4)搜索词处理 (5)排序 (6)用户反馈

    搜索引擎评价

    (1) 覆盖面 (2)更新周期 (3)响应速度 (4)排序结果是否满足用户的查询要求

    第二讲 网络爬虫技术

    爬虫定义

    一种自动获取网页内容的程序,从一个或若干初始网页的**URL开始,获取并解析它们,提取它们指向的URL,将提取的url放在队列中,获取队列中的每个URL并重复此过程,直到满足系统的一定停止条件**

    通俗的讲,也就是通过HTML源码解析来获得想要的内容

    爬虫必须具有的功能

    4.1 礼貌性: Web服务器有显式或隐式的策略控制爬虫的访问

    只爬允许爬的内容、尊重 robots.txt

    4.2 鲁棒性: 能从采集器陷阱中跳出,能处理Web服务器的其他恶意行为

    4.3 性能和效率: 充分利用不同的系统资源,包括处理器、存储器和网络带宽

    优先抓取“有用的网页”

    4.4 分布式: 可以在多台机器上分布式运行

    ​ •分布式带来的问题

    ​ –哈希表判重

    ​ •解决方法:

    ​ –A、明确每台下载服务器的分工,即一看到某个URL就知道交给哪台服务器去执行

    ​ –B、批量处理,减少通信的次数

    可扩展性: 添加更多机器后采集率应该提高

    4.5 新鲜度: 对原来抓取的网页进行更新

    4.6功能可扩展性:支持多方面的功能扩展,例如处理新的数据格式、新的抓取协议等

    爬取框架

    3、搜索策略:深度优先, 广度优先

    ​ 实际应用的网络爬虫不是对网页次序的简单BFS或者BFS,而是一个相对复杂的下载优先级排序的方法,管理这个系统的叫做“调度系统”(Scheduler),会有一个Priority Queue。BFS成分更加多一些。

    4、URL 判重

    建立一个散列,其中存放访问过每一个网址

    在其中存放网址经过散列函数计算出的对应的固定长度的散列值

    在平均情况下**O(1)**的时间内查找和更新占用O(n)空间的网址列表

    利用哈希法,URL经过哈希函数得到哈希码,判断是否已经在散列中来判断是否爬取过

    爬虫分类

    •5.1基于整个Web的信息采集(Universal Web Crawling)

    ​ •传统的采集方式

    ​ –作为门户搜索引擎和大型的Web服务提供商的数据收集部分

    ​ –是指从一些种子URL扩充到整个Web的信息采集

    •5.2 增量式Web信息采集 (Incremental Web Crawling )

    •5.3 基于主题的Web信息采集(Focused Web Crawling )

    •5.4 基于用户个性化的Web信息采集(Customized Web Crawling )

    •基于元搜索的信息采集(Metasearch Web Crawling)

    常见的开源爬虫

    Nutch Heritrix

    •包括全文搜索和Web爬虫

    ​ –包括爬虫crawler和查询searcher。

    ​ •Crawler主要用于从网络上抓取网页并为这些网页建立索引。

    Pandas模块

    lxml模块

    lxml是一个HTML/XML的解析库

    •主要功能是如何解析和提取HTML/XML数据

    第三讲 网页分析技术

    网页解析方法

    –一种是将文档看作字符流;

    •正则表达式

    –一种是将文档看作树结构

    •基于DOM

    正则表达式

    1、正则表达式的定义

    正则表达式是对**字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。**

    2、基于正则表达式的信息提取的步骤

    (1)在获取数据前应尽量去除无用部分(2)提取网页内的链接 (3)提取网页标题(4)提取网页内的文本

    3、正则表达式的工具有哪些

    Java java.util.regex包 Python的 re模块

    4、正则表达式匹配特点是什么

    (1)正则表达式匹配速度快

    (2)但表达能力较弱,只具有正规文法的表示能力。

    (3)在对网页内容的信噪比要求不高的情况下可以使用基于正则表达式匹配的爬取程序

    (4)受网页噪音影响较大

    DOM

    5、什么叫做DOM

    文档对象模型(document object model,DOM),DOM将一个XML文档转换成一个对象集合,然后可以任意处理该对象模型。

    DOM将HTML视为树状结构的元素,所有元素以及他们的文字和属性可通过DOM树来操作与访问。

    6、开源HTML解析器(能够列出一两种即可)

    (1)JAVA:HTMLParser,jsoup

    (2)C/C++:htmlcxx

    (3)Python:Beautiful Soup

    bs 解析器

    –使用自带的html.parser解析,

    ​ •速度慢但通用

    ​ •soup = BeautifulSoup(html, “html.parser”)

    –Html5lib

    ​ •不规范的html文本转为规范的文本再进行解析

    ​ 用浏览器的方式解析文档

    –lxml

    ​ •python的一个解析库,

    ​ •支持HTML和XML的解析,

    ​ •支持XPath解析方式

    ​ •而且解析效率非常高

    ​ •lxml只会局部遍历

    两种方法比较

    正则表达式匹配

    (1)正则表达式匹配速度快,但表达能力较弱,只具有正规文法的表示能力。

    (2)在对网页内容的信噪比要求不高的情况下可以使用基于正则表达式匹配的爬取程序

    HTML DOM树

    (1)提取HTML DOM树提取在解析HTML时速度较慢,但其表达能力相当于上下文无关文法

    (2)在网页自动分类等需要进行网页去噪处理的情况时使用基HTMLDOM树的爬取程序

    Python爬虫

    工作过程

    –把URL地址中指定的网络资源从网络流中读取出来,保存到本地

    过滤

    Re

    bs4

    Scrapy shell

    交互终端,不启动爬虫的情况下调试代码

    直接用来测试XPath或者CSS表达式,不用import响应模块

    查看运行的结果方便分析网页,测试表达式是否获取到了数据

    python爬虫框架 Scrapy

    •快速、高层次的屏幕抓取和web抓取框架,

    •用于抓取web站点并从页面中提取结构化的数据。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2rmF6m42-1608430839949)(C:\Users\yandalao\AppData\Roaming\Typora\typora-user-images\image-20201216162520302.png)]

    •爬虫文件novel_spider.py

    分析需要提取的数据

    ​ •在parse方法中做数据的提取

    ​ •使用Xpath,从页面的HTML Source里面选取要要抽取的数据

    Xpath

    XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言

    •XPath基于XML的树状结构,提供在数据结构找寻节点的能力。

    xpath为scrapy中的解析方式

    xpath函数返回的为列表

    ​ –列表中存放的数据为Selector类型数据。

    ​ –解析到的内容被封装在Selector对象中,需要调用extract()函数将解析的内容从Selector中取出

    Scrapy项目

    •制作 Scrapy 爬虫 一共需要四步:

    –新建项目 :新建一个新的爬虫项目

    –明确目标 (编写items.py):明确你想要抓取的目标

    ​ •items.py: 需要提取的数据结构定义文件

    ​ –Item 定义结构化数据字段,用来保存爬取到的数据,

    ​ •修改novel_spider.py : 分析需要提取的数据

    –制作爬虫 (spiders/xxspider.py):制作爬虫开始爬取网页

    –存储内容 (pipelines.py):设计管道存储爬取内容

    yield

    •只要是数据持久化存储,parse方法必须有返回值(也就是return后的内容)

    ​ –return items

    yield将函数转换成生成器。我们可以理解成一种特殊的return方法。

    •yield返回的是一个生成器,也是可迭代对象,有利于减小服务器资源

    •生成器相当于一种方法而不是具体的信息,占用内存小。

    爬取多个网页

    •start_urls

    •起始爬取列表,可以是多个url

    start_urls = (‘http://example.com/page1’, ‘http://example.com/page2’,)

    爬取多层网页

    •解析函数的末尾,通过Request方法对下一个页面手动发起请求

    •**先提取二级页面url,**再对二级页面发送请求

    比较

    •request和bs4

    页面级爬虫,功能

    –并行性考虑不足,性能较

    –重点在于页面下载

    •Scrapy

    网站级爬虫,框架

    并行性好,性能较

    –重点在于爬虫结构

    元搜索引擎

    •元搜索引擎又称多搜索引擎

    •通过一个统一的用户界面帮助用户在多个搜索引擎中选择和利用合适的(甚至是同时利用若干个)搜索引擎来实现检索操作,是对分布于网络的多种检索工具的全局控制机制

    第四讲 爬虫与网站的博弈

    本章知道每个方面的思路和所用工具就可

    Robot 协议

    •网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

    User-agent

    •向访问网站提供访问者信息

    •UA字符串在每次浏览器 HTTP 请求时发送到服务器

    –反爬虫

    IP屏蔽

    爬虫:对策

    连接代理服务器

    –写了个IP代理池

    •多个IP并行

    增大爬取时间间隔

    用户登陆

    分析登陆过程的方法

    4.1 发送post请求

    4.2 分析post过程中隐藏的变量名

    4.3 分析 Cookie

    ​ –http 请求带着Cookie

    ​ •它记录了你的用户ID,密码、浏览过的网页、停留的时间等信息,用于用户身份的辨别

    •流程

    ​ –**第一个网页通过GET(****POST)参数提交参数

    ​ •参数序列化成字符串

    ​ •和基础****url 拼接

    ​ •Urllib.request.urlopen**()**

    ​ –后台接受请求,生成cookie,发给用户

    ​ –用户带着Cookie继续访问其他网页

    4.4 携带Cookie访问已登陆网站

    •保存cookie到文件

    •从文件中读取cookie并访问

    •利用cookie模拟登录

    模拟浏览器进行交互

    selenium

    •反爬虫: 用户登陆

    1. –输入用户名
    2. –输入口令

    –点击登陆按钮

    •Selenium用程序模拟整个操作过程

    1. –忽略post或者get方式差异
    2. –不需要知道参数名字

    处理Cookie:

    selenium 获取登录****cookies,

    ​ –selenium有一个 get_cookies() 函数可以帮我们获取当前网页的cookie值

    保存cookies到文件

    并添加cookies自动登录

    AJAX 动态加载

    •通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新

    在不重新加载整个网页的情况下,对网页的某部分进行更新

    验证码

    图像识别

    6.1 获取图片

    分析网页下载图片

    屏幕截图

    6.2 图片处理 Pillow与PIL模块

    6.3 获取图片中文字内容 ocr

    -6.4 图片滑动验证码

    第五讲 词项词典

    如何建立词项词典?

    一、文档解析(Parsing a document)

    ~~二、词条化 (Tokenization)~~这俩不考

    三、词项归一化 (Normalization)

    四、词干还原 (Stemming)

    五、词形归并 (Lemmatization)

    六、去掉停用词 (Stop Words)

    词项归一化

    将文档和查询中的词条“归一化”成一致的形式(希望USA和U.S.A.之间也能形成匹配 )

    归一化的结果: 在IR系统的词项词典中,形成多个近似词项的一个等价类

    策略:建立同义词扩展表

    a) 为每个查询维护一张包含多个词的查询扩展词表

    b) 在建立索引建构时就对词进行扩展

    词干还原

    a) 通常指去除单词两端词缀的启发式过程

    b) 词干还原能够提高召回率,但是会降低准确率

    词形归并

    a) 利用词汇表和词形分析来减少屈折变化的形式,将其转变为基本形式。

    b) 词形归并可以减少词项词典中的词项数量

    词干还原和词形归并的区别

    a) 代表意义不同。

    ​ i. Stemming通常指很粗略的去除单词两端词缀的启发式过程。

    ​ ii. Lemmatization通常指利用词汇表和词形分析来去除屈折词缀,从而返回词的原形或词典中的词的过程。

    b) 两个过程的区别还在于:

    ​ i. 词干还原在一般情况下会将多个派生相关词合并在一起,

    ​ ii. 而词形归并通常只将同一词元不同屈折形式进行合并。

    c) 词干还原和词形归并,都体现了不同语言之间的差异性

    d) 词干还原过程可能仅返回 s,

    e) 而词形归并过程将返回see或者saw,

    停用词

    a) 应用太广泛,区分度太低

    b) 对这样的词搜索引擎无法保证能够给出真正相关的搜索结果,难以帮助缩小搜索范围,同时还会降低搜索的效率

    消除停用词的优缺点

    a) 优点:

    ​ i. 停用词消除可以减少term的个数

    ​ ii. 缩小搜索范围,

    ​ iii. 提高搜索的效率

    ​ iv. 机器学习文本分类算法的文档的预处理

    b) 缺点:

    ​ i. 有时消除的停用词对检索是有意义的

    如何确定停用词

    a) 查表法

    b) 基于文档频率

    第六讲 中文分词

    分词方法

    a) 基于理解的分词方法

    NLP、语义分析、句法分析

    b) 基于字符串匹配的分词方法

    查字典。

    按照扫描方向:正向匹配和逆向匹配

    按照扫描长度:最大匹配和最小匹配

    a) 优点:简单,占用资源少,可自定义词库

    ​ i. 程序简单易行,开发周期短;

    ​ ii. 仅需很少的语言资源(词表),

    ​ iii. 不需要任何词法、句法、语义资源。

    ​ iv. 可以自定义词库,增加新词

    b) 缺点 : 效果差

    ​ i. Out of Vocabulary

    ​ ii. 歧义消解能力差;

    ​ iii. 切分正确率不高,一般在95%左右。

    c) 基于统计的分词方法

    字与字相邻出现的频率来反应成词的可靠度,统计语料中相邻出现的各个字的组合的频度,当组合频度高于某一个临界值时,我们便可认为此字组可能构成一个词语

    基于统计的分词方法的优缺点:

    a) 优点:

    ​ i. 分词准确度高;

    ​ ii. 能够平衡地看待词表词和未登录词的识别问题。

    b) 缺点:

    ​ i. 局限性,会经常抽出一些共现频度高、但并不是词的常用字组

    ​ ii. 对常用词的识别精度差,时空开销大

    ​ iii. 学习算法的复杂度往往较高,计算代价较大,依赖手工定义的特征工程

    基于HMM的中文分词方法

    HMM作用

    用来描述一个含有隐含未知参数马尔可夫过程。

    隐含状态之间存在转换概率;隐含状态和可见状态之间存在发射概率

    HMM模型是一个五元组:

    StatusSet: 状态值集合

    ObservedSet: 观察值集合

    TransProbMatrix: 转移概率矩阵 A

    EmitProbMatrix: 发射概率矩阵 B

    • –在某一状态下对应到某字的概率
    • –P(Observed[i]|Status[j])
      • •基于观察值只取决于当前状态值这一假设
      • •其实也是一个条件概率

    InitStatus: 初始状态分布

    ​ –句子的第一个字属于{B,E,M,S}这四种状态的概率

    •HMM三要素[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlhDCqDG-1608430839951)(image\image-20201216190517905.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BROKijaw-1608430839953)(image\image-20201216190525015.png)]

    HMM模型可以用来解决三种问题

    a) 模型参数学习问题

    b) 预测问题

    c) 评估观察序列概率

    HMM分词

    预测问题,也叫解码问题

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NGSEDXN9-1608430839955)(image\image-20201216190642734.png)]

    Viterbi 算法

    如何分词:将句子中的词看成有可能四个状态BMES,最后求出最有可能的状态序列(根据路径)。就分词成功

    一种动态规划算法,它用于寻找最有可能产生 观测事件 序列的维特比路径——隐含状态序列

    •二维数组 weight[4] [7]

    ​ –4是状态数(0:B,1:E,2:M,3:S),

    ​ –7是输入句子的字数。

    ​ –P(Observed[i]|Status[j])

    ​ »比如 weight[0] [2] 代表 状态B的条件下,出现‘市’这个字的可能性。

    •二维数组 path[4] [15]

    –path[0] [2] 代表 weight[0] [2]取到最大时,前一个字的状态,

    •比如 path[0] [2] = 1, 则代表 weight[0] [2]取到最大时,前一个字(也就是明)的状态是E。

    第七讲 布尔模型与倒排索引

    在这里插入图片描述

    1、什么是信息检索模型

    信息检索模型(IR model),依照用户查询,对文档集合进行相关排序的一组前提假设和算法。IR模型可形式地表示为一个四元组< D, Q, F, R(qi,dj) >

    D是一个文档集合,Q是一个查询集合,R(qi,dj) 是一个排序函数,它给查询qi和文档 dj 之间的相关度赋予一个排序值,F是一个框架,用以构建文档,查询以及它们之间关系的模型

    2、基于内容的信息检索模型有哪些?

    • 集合论模型:布尔模型、模糊集合模型、扩展布尔模型

    • 代数模型: 向量空间模型、广义向量空间模型、潜在语义标引模型、神经网络模型

    • 概率模型: 经典概率论模型、推理网络模型、置信(信念)网络模型

    • 深度学习模型

    3、布尔模型是什么

    一种简单的检索模型,建立在经典的集合论和布尔代数的基础上

    遵循两条基本规则:

    (1)每个索引词在一篇文档中只有两种状态:出现或不出现,对应权值为 0或1。

    (2)每篇文档:索引词(0或1)的集合

    进行查询的时候,用布尔表达式进行匹配,计算二值的相关度。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Py4ldaW5-1608430839958)(image\image-20201217120733627.png)]

    4、什么是bag of words 模型

    在信息检索中,Bag of words model假定

    (1)对于一个文本,忽略其词序和语法,句法,将其仅仅看做是一个词集合,或者说是词的一个组合,

    (2)文本中每个词的出现都是独立的,不依赖于其他词是否出现,在任意一个位置选择一个词汇都不受前面句子的影响而独立选择的。

    5、搜索引擎核心数据结构倒排文件(Inverted Files)(也叫倒排索引)

    6、什么是倒排索引

    有词项和倒排记录组成,**词项词典:**对于每一个词项,存储所有包含这个词项的文档的一个列表。**倒排记录表:**一个文档用一个序列号docID来表示。

    •建立索引的步骤:

    –词条序列Token Sequence

    ​ •(修改过的词条,文档ID)对 序列

    –排序

    ​ •先按照词条排序,

    ​ •再按照docID排序

    –构建词典和倒排表

    ​ •同一篇文档中多次出现的词被合并

    ​ •分割成词典和倒排表

    9、布尔检索模型的特点是什么

    优点:(1)查询简单,因此容易理解(下面的具体说明理解即可)

    • 布尔模型也许是IR系统中的最简单的模型

    • 是近30年来最主要的商业搜索工具

    • 当前使用的很多系统依然是使用的布尔模型

    • 电子邮件,图书馆分类系统,mac osx的spotlight

    (2)通过使用复杂的布尔表达式,可方便地控制查询结果

    • 同义关系 电脑 OR 计算机

    • 词组 数据 AND 挖掘

    缺点 (1)准确匹配,信息需求的能力表达不足。不能输出部分匹配的情况

    (2)无权重设计 无法排序

    (3)用户必须会用布尔表达式提问,一般而言,检出的文档或者太多或者太少。

    (4) 很难进行自动的相关反馈

    第八讲 向量空间模型

    排序检索

    系统根据文档与query的相关性排序返回文档集合中的文档;有布尔查询自由文本查询两种方式

    Jaccard 系数

    • 一种常用的衡量两个集合A,B重叠度的方法

    • Jaccard(A,B) = |A ∩ B| / |A ∪ B|(回答这个公式即可)

    • Jaccard(A,A) = 1

    • Jaccard(A,B) = 0 if A ∩ B = 0

    • 集合A和B不需要具有同样的规模

    –没有考虑

    ​ •文档长短

    ​ •词项频率(词项在文档中出现的次数)

    ​ •罕见词比高频词的信息量更大,更加具有区分度

    词项频率

    1. 词项t在文档d中出现的次数,记为tft,d)

      一种替代原始tf的方法: 对数词频 原始的词频tf以10为底取对数再加一

    2. 什么是idf:是逆文档频率,idft = log10(N/dft),df是文档频率,指出现词项的文档数目

      文档频率 (Document frequency,df)

      文档频率:出现词项的文档数目

      dft 文档集合中包含t的文档数目

      – 与词项t包含的信息量成反比

      dft <= N (N是文档的总数)

      idf (inverse document frequency)逆文档频率

      idft = log10(N/dft)

      idft 是反映词项t的信息量的一个指标

      – 用log (N/dft) 代替N/dft 来抑制idf的作用

    3. tf-idf是什么

      是信息检索中最著名的权重计算方法,表示t对于文档d的重要程度,词项t的tf-idf 由它的tf和idf组合而成 wt,d=(1+log tft,d) × log10(N/dft)

      (理解一下和重要程度是否符合:tf-idf值随着词项在单个文档中出现次数(tf)增加而增大,tf-idf值随着词项在文档集中数目(df)增加而减小)

    4. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s9lj0KLn-1608430839959)(image\image-20201217145033660.png)]

    向量空间模型

    是一个**|V|维实向量空间**(V是词项集合,|V|表示词项个数),空间的每一维都对应一个词项,每篇文档表示成一个基于tf-idf权重的实值向量,向量的维度是词项的个数,文档是空间中的点或者向量,这就是向量空间模型

    向量相似度计算

    余玄相似度:(认为cos(di,q) > cos(dj,q),夹角更小,所以di比dj与q更相关)

    R(d,q) = cos(d,q) = d·q/|d|×|q|

    文档长度归一化

    •一个文档向量除以它的L2 范数(Xi的平方和取根号)就是给这个文档进行了长度归一化

    向量空间模型特点

    优点:

    (1)帮助改善了检索结果。

    (2)部分匹配的文档也可以被检索到。

    (3)可以基于向量cosine 的值进行排序,提供给用户。

    缺点:

    (1)这种方法假设标记词是相互独立的,但实际可能不是这样,如同义词、近义词等往往被认为是不相关的词

    (2)维度非常高:特别是互联网搜索引擎,空间可能达到千万维或更高

    (3)向量空间非常稀疏:对每个向量来说大部分都是0

    第九讲 检索排序

    精确top K 检索及其加速办法

    (一般)步骤:对每个文档评分(余弦相似度),按照评分高低排序,选出前K个结果

    如何加速:

    方法一:快速计算余弦

    方法二:堆排序法N中选K(不对所有文档的评分结果排序而直接选出Top K篇文档)只是缩减了排序这一步骤

    方法三:提前终止计算 (不需要计算所有篇文档的得分

    非精确top K检索

    简答题不用细答,看看了解

    基本思想:找一个文档集合AK < |A |<< N,利用A中的top K结果代替整个文档集的top K结果

    下面的策略就是为了缩减文档的数量

    • 策略一:索引去除(Index elimination)

    ​ 只考虑那些词项的idf 值超过一定阈值的文档

    ​ 只考虑包含多个查询词项

    • 策略二:胜者表(Champion list) 每个词项t对应tf值高的表

    • 策略三:静态得分 不仅相关,还权威,根据相关和权威度加权,对doc进行排序

    • 策略四:影响度(Impact)排序 以词项为单位,串行遍历词项的倒排索引表

    • 策略五:簇剪枝方法—预处理

    Pagerank算法

    •随机游走模型 是个一阶马尔可夫链

    ​ –用来描述不稳定的移动。

    ​ –移动节点随机选择一个方向和速度来从当前位置移动到新的位置

    PageRank的思路:在随机游走过程中访问越频繁的网页越重要

    PageRank的一般定义

    •PageRank一般定义的想法是在基本定义的基础上导入平滑项

    一个一定平稳分布的马尔可夫链:

    ​ M是转移矩阵,–R 是n维向量,表示的就是有向图的一般PageRank

    R=dMR+1dn1R=d M R+\frac{1-d}{n} 1

    ​ •第一项表示(状态分布是平稳分布时)依照转移矩阵M访问各个结点的概率,

    ​ •第二项表示完全随机访问各个结点的概率

    • 第一项表示:•在任意一个网页上,浏览者或者以概率d决定按照超链接随机跳转,这时以等概率从连接出去的超链接跳转到下一个网页
    • 第二项表示:•或者以概率(1-d)决定完全随机跳转,这时以等概率1/n跳转到任意一个网页
    • •第二个机制保证从没有连接出去的超链接的网页也可以跳转出。这样可以保证平稳分布,即一般PageRank的存在,因而一般PageRank适用于任何结构的网络。

    对于一个节点A

    PR(A)=(PR(B)L(B)+PR(C)L(C)+PR(D)L(D)+)d+1dNP R(A)=\left(\frac{P R(B)}{L(B)}+\frac{P R(C)}{L(C)}+\frac{P R(D)}{L(D)}+\cdots \cdot \cdot\right) d+\frac{1-d}{N}

    其中,PR(A)表示页面A的级别,页面Ti链向页面A,L(Ti) 是页面Ti 链出的链接数量

    迭代算法

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CgRIEJHX-1608430839960)(image\image-20201217155401700.png)]

    HITS算法

    了解思想就行

    • 在HITS算法中,对每个网页都要计算两个值**:权威值(authority)与中心值(hub)**

    HITS和PageRank的区别

    a.HITS算法将重要性分为两个值权威值(authority)与中心值(hub),PageRank只计算一个值

    b.HITS和查询有关系,PageRank算法和查询无关

    机器学习排序

    步骤:

    –人工标注训练数据,给出文档和查询相关度

    –文档特征抽取、确定特征数量,文档转化为特征向量

    –学习分类函数、

    -在实际搜索系统中采用机器学习模型

    它有以下3种方法:

    (计算损失函数的方法,也是构造训练集的方法)

    单文档方法

    PointWise Approach

    • 损失函数评估单个 doc 的预测得分和真实得分之间差异

    文档对方法

    PairWise Approach

    • 是判断任意两个文档组成的文档对<D0C1,D0C2>是否满足顺序关系

    文档列表方法

    ListWise Approach

    • 搜索结果列表整体作为一个训练实例

    第10讲 信息检索的评价

    检索评测基础

    、•信息检索系统的目标是较少消耗情况下尽快、全面返回准确的结果。

    测试集由一个文档集、一组信息查询实例、对应于每个信息查询实例的**一组相关文档(由专家提供)**所组成

    无序评测

    查全率和查准率

    无序检索结果的评价

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ri4IinkS-1608430839961)(image\image-20201217161456944.png)]

    查准率(Precision):返回的结果中真正相关结果的比率,也称为查准率, P∈ [0,1]

    召回率(Recall): 返回的相关结果数占实际相关结果总数的比率,也称为查全率,R∈ [0,1]
    P=RRRR+RNR=RRRR+NR P=\frac{R R}{R R+R N} \quad R=\frac{R R}{R R+N R}
    关于召回率的计算:增加一个缓冲池: •对多个检索系统的Top N个结果组成的集合进行人工标注,标注出的相关文档集合作为整个相关文档集合。查准率不变,召回率增大

    精确率,不用它

    平均

    –宏平均(Macro Average): 对每个查询求出某个指标,然后对这些指标进行算术平均

    –微平均(Micro Average): 将所有查询视为一个查询,将各种情况的文档总数求和,然后进行指标的计算

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pBY2WnOS-1608430839962)(image\image-20201217162720957.png)]

    F值(F-measure)

    F值(F-measure):召回率R和查准率P加权调和平均值

    • F1 标准则综合了精度和查全率,将两者赋予同样的重要性来考虑。F1的计算由下面的公式决定(调和平均数)
    F(i,j)=2×recall(i,j)× precision(i,j)recall(i,j)+precision(i,j) F(i, j)=\frac{2 \times \operatorname{recall}(i, j) \times \text { precision}(i, j)}{\operatorname{recall}(i, j)+\operatorname{precision}(i, j)}

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8TG2e0UG-1608430839963)(image\image-20201217162932501.png)]

    调和平均值
    F=21r+1p F=\frac{2}{\frac{1}{r}+\frac{1}{p}}

    排序评测

    R-查准率是什么

    • 计算序列中第R个位置文献的查准率。在公式里指分母

    • R是指与当前查询相关的文档总数.

    • R=10, R-查准率=4/10;

    • R=3, R-查准率=2/3

    查准率/查全率曲线

    横轴查全率,纵轴查准率

    曲线下的面积被称为AP分数(Average precision score)

    去掉锯齿,对一x取最大y

    Mean Average Precision (MAP)是什么

    • 平均查准率均值

    • MAP是多个查询/排名的平均精度

    • 在每个相关文档位置上查准率的平均值,被称为平均查准率 Average Precision (AP)

    也就是对每个查询相关的R-查准率(在R位置上的那个文档是相关的)累计求和取均值

    NDCG是什么

    一种总体观察检索排序效果的方法,利用检索序列加和(每个搜索结果都要有个评价分,越高越好)的思路来衡量。

    第11讲 概率检索模型

    不考推导,只看思想,只有填空

    看不懂,这点分,不要也罢

    Probability ranking principle PRP概率排名原则

    令x代表集合中的文档。令R代表文件w.r.t.的相关性。给定(固定)查询,令R = 1表示相关,而R = 0不相关。

    • 概率检索模型作为一个分类问题

    • 对于某个文档d来说,如果其属于相关文档子集的概率大于属于不相关文档子集的概率,我们就可以认为这个文档与用户查询q
    是相关的。

    • P(R=1|q,d)代表给定一个文档D对应的相关性概率
    • P(R=0| q,d)则代表该文档的不相关概率

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZfmzRkaD-1608430839964)(image\image-20201216194643050.png)]

    概率检索策略

    1. 估计每个词项对相关性的贡献
    2. 合并以查找文档相关性概率
    3. 通过概率降低顺序对文档进行排序

    BIM Binary Independence Model 二元独立模型

    Binary” =布尔值:文档表示为词项的二进制关联向量

    Independence:term在文档中独立出现

    词包模型

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lpCcQel0-1608430839965)(image\image-20201216195435537.png)]

    BM25

    BM25是信息索引领域用来计算query与文档相似度得分的经典算法

    • 不同于TF-IDF,BM25的公式主要由三个部分组成:
      • query中每个单词t与文档d之间的相关性
      • 单词t与query之间的相似性
      • 每个单词的权重

    目标:对术语频率和文档长度敏感,同时不添加太多参数

    文件生成模型

    ​ 使用多项式分布从词典中独立绘制单词

    ​ 词项频率(tf)的分布遵循二项式分布-由泊**松(Poisson)**近似

    泊松模型

    ​ 假设文档中的词频(tfi)遵循泊松分布

    ​ •“固定间隔”表示文档长度固定…认为大小恒定的文档摘要•…稍后将修复

    第12讲 隐语义空间

    奇异值分解需要了解,但是不考了

    •用前r大的奇异值来近似描述矩阵

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WX65Uzzn-1608430839966)(C:\Users\yandalao\AppData\Roaming\Typora\typora-user-images\image-20201220095654805.png)]

    PCA主成分分析(回忆计算机视觉)

    隐语义分析 LSA

    在这里插入图片描述

    什么是LSA

    1. –使用统计计算的方法对大量的文本集进行分析,
    2. –从而提取出词与词之间潜在的语义结构,并用这种潜在的语义结构,来表示词和文本
    3. 达到消除词之间的相关性和简化文本向量实现降维的目的

    高维的向量空间模型(VSM)表示中的文档映射低维的潜在语义空间

    基本步骤

    (1)建立词频矩阵

    (2)计算矩阵的奇异值分解

    (3)对于每一个文档d,用排除了SVD中消除后的词的新的向量替换原有的向量

    (4)用转换后的矩阵进行文档索引和相似度计算

    LSA优点

    (1)文档和单词都映射到同一个语义空间,所以可以计算文档和文档的相似度,词项和词项的相似度,词项和文档的相似度

    (2)语义空间的维度明显明显少于源单词-文章矩阵

    最关键的性质:每个奇异值对应的是每个“语义”维度的权重

    •将不太重要的权重置为0,可以保留重要的信息,去掉一些信息“枝节”。。枝节信息可能会使本来应该相似的对象不相似

    LSA缺点

    a) 无法解决多义词的问题

    b) 特征向量的方向没有对应的物理解释

    c) SVD的计算复杂度很高,而且当有新的文档来到时,若要更新模型需重新训练

    d) 维数的选择是ad-hoc的

    e) LSA具有词袋模型的缺点,即在一篇文章,或者一个句子中忽略词语的先后顺序

    f) LSA的概率模型假设文档和词的分布是服从联合正态分布的,但从观测数据来看是服从泊松分布的

    概率潜在语义分析 pLSA

    什么是pLSA

    a) PLSA是以统计学的角度来看待LSA,是基于双模式和共现的数据分析方法延伸的经典的统计学方法

    生成模型

    •在概率统计理论中,

    • –生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。
    • 它给观测值和标注数据序列指定一个联合概率分布

    什么是主题模型?

    1. 一篇文档(Document) 可以由多个主题(Topic) 混合而成
    2. 每个Topic 都是词汇上的概率分布
    3. 每个词都是由一个固定的 Topic 生成的

    “文档-词项”的生成模型的训练?

    a) 按照概率选择一篇文档d

    b) 选定文档后,从主题分布中按照概率选择一个隐含的主题类别p(z|d)

    c) 选定后,从词分布中按照概率p(w|z)选择一个词

    PLSA生成文档的过程?

    a) pLSA中生成文档的整个过程便是选定文档生成主题,确定主题生成词

    b) 自动地发现文档集中的主题(分布)

    ​ i. 根据大量已知的文档-词项信息p(w|d) ,

    ​ ii. 训练出文档-主题p(z|d)和主题-词项p(w|z)

    EM算法

    PLSA有哪些应用?

    根据p(z|d)来的

    a) 文本聚类

    b) 文本分类

    PLSA的优势?

    a) 定义了概率模型,而且每个变量以及相应的概率分布和条件概率分布都有明确的物理解释

    b) 相比于LSA隐含了高斯分布假设,pLSA隐含的Multi-nomial分布假设更符合文本特性

    c) pLSA的优化目标是是KL-divergence最小,而不是依赖于最小均方误差等准则

    d) 可以利用各种model selection和complexity control准则来确定topic

    pLSA不足

    •随着document和term 个数的增加,pLSA模型也线性增加,变得越来越庞大;

    •PLSA可以生成其所在数据集的的文档的模型,但却不能生成新文档的模型。

    •EM算法需要反复的迭代,需要很大计算量;

    •概率模型不够完备

    ​ –不是完整的贝叶斯模型

    –文档-主题p(z|d)和主题-词项p(w|z)是直接根据数据估计出来的,没有进一步引入先验

    这两点在LDA模型做了优化

    LDA模型

    什么是LDA模型?

    a) 一个隐含狄利克雷分布的主题模型

    和pLSA主题模型有什么区别

    增加了狄利克雷的先验知识,所有的参数都不是设定的,而是进行了全贝叶斯化,更符合实际的情况

    GENSIM

    Gensim是一个用于从文档中自动提取语义主题的Python库

    第一步、准备训练语料

    第二步、预处理

    ​ –分词(tokenize the documents)、去除停用词和在语料中只出现一次的词

    第三步、文本向量化

    第13讲 词嵌入

    重点:统计语言,表征学习

    统计语言模型

    什么是语言模型和统计语言模型?

    a) 语言模型根据语言客观事实而进行的语言抽象数学建模

    b) 统计语言模型为上下文相关的特性建立数学模型

    语言模型的公式

    –S :一连串特定顺序排列的词ω1,ω2,…,ωn

    a) S 的概率 P(S)等于每一个词出现的概率相乘

    b) P(S) =*P*(ω1)•*P*(ω2|ω1)•*P*(ω3|ω1,ω2)•••*P*(ωn|ω1,ω2,…,ωn-1)

    什么是n-gram语言模型?

    N-1阶马尔可夫假设:

    ​ 假定文本中的每个词ωi和前面的N-1个词有关,而与更前面的词无关

    对应的语言模型称为N元模型(N-Gram Model)

    统计语言模型、n-gram语言模型有什么应用

    • 文本生成、机器翻译

    • 拼写纠错

    • 语音识别

    • 音字转换

    • 分词

    n-gram语言模型的缺点

    a) 简单有效

    b) 只考虑了词的位置关系,

    c) 没有考虑词之间的相似度,词语法和词语义,

    d) 还存在数据稀疏的问题

    文档重复检测

    判断重复的思路:

    –为每一个web文档通过hash的方式生成一个指纹(fingerprint)。

    –将高维的特征向量映射成一个f-bit的指纹(fingerprint),

    通过比较两篇文章的f-bit指纹的Hamming Distance来确定文章是否重复或者高度近似

    shingl算法

    •核心思想是将文件相似性问题转换为集合的相似性问题

    –给定正整数k及文档d的一个词项序列,可以定义文档dk-shingled中所有k个连续词项构成的序列。

    –a rose is a rose is a rose → 4-Grams

    a_rose_is_a

    ​ rose_is_a_rose

    ​ is a rose is

    ​ a_rose_is_a …

    直观上看,如果两个文档的shingle集合几乎一样,那么它们就满足近似重复

    局部敏感哈希 LSH

    局部敏感哈希可以用来降维

    MinHash的用处

    a) 可以用来快速估算两个集合的相似度。

    b) 用于在搜索引擎中检测重复网页。

    c) 它也可以应用于大规模聚类问题

    SimHash的步骤

    a) 分词、hash、加权、合并、降维

    w指的是每个term的权重

    加权:遇到1则hash值和权值正相乘,遇到0则hash值和权值负相乘 例如W(CSDN) = 100101 4 = 4 -4 -4 4 -4 4

    降维:对于n-bit签名的累加结果,如果大于0则置1,否则置0

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfucazqJ-1608430839967)(image\image-20201216220909219.png)]

    相似度判断:每篇文档得到SimHash签名值后,接着计算两个签名的海明距离即可

    表征学习和词嵌入

    •表征学习:

    –在机器学习中,表征学习是学习一个特征的技术的集合

    –将原始数据转换成为能够被机器学习来有效开发的一种形式。

    ​ •向量

    •嵌入(embedding)

    ​ –是一种可用于将离散变量表示成连续向量的方法。

    神经网络语言模型

    NNLM

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7JBzTbHC-1608430839968)(image\image-20201217085938669.png)]

    知道这个图各部分意思,下面的word2vec就是改进了一下上面

    word2vec

    •对原始的NNLM模型做如下改造:

    1. –移除前向反馈神经网络中非线性的hidden layer( tanh 隐藏层),直接将中间层的embedding layer与输出层的softmax layer连接;
    2. –忽略上下文环境的序列信息:输入的所有词向量均汇总到同一个embedding layer;
    3. –将future words纳入上下文环境

    •连续词袋模型 CBOW

    根据某个词前面的C个词或者前后C个连续的词,来计算某个词出现的概率

    步骤,PPT非常清晰了

    V是词项数量,N是中间向量那个O的维度

    具体步骤:

    1. 模型输入:上下文的one hot表示方式

      ​ –1xV的向量

      ​ –V 词汇表大小

    2. 输入分别跟同一个VxN的大小的系数矩阵W1相乘得到C个1xN的隐藏层hidden layer,

    3. 然后C个取平均所以只算一个隐藏层

    4. •隐藏层跟另一个NxV大小的系数矩阵W2相乘得到1xV的输出层,

      ​ –这个输出层每个元素代表的就是词库里每个词的事后概率。

    5. •输出层需要跟ground truth也就是“coffee”的one hot形式做比较计算loss

    6. •通过大量的数据迭代,使用梯度下降更新W和W’,来最小化loss函数,

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yf0THKo1-1608430839969)(image\image-20201217090553751.png)]

    •Skip-Gram Model

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8BKqtI1Y-1608430839970)(file:///D:\360MoveData\Users\yandalao\Documents\Tencent Files\2922610627\Image\C2C\AB502D3E6C82F00132C9127A669EA5E0.jpg)]

    Skip-Gram Model相反,是根据某个词,然后分别计算它前后出现某几个词的各个概率

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dR2lyz5a-1608430839970)(image\image-20201217091825010.png)]

    Skip-gram–名称源于该模型在训练时会对上下文环境里的word进行采样

    •基于成对的单词来对神经网络进行训练,

    ​ –训练样本是 ( input word, output word ) 这样的单词对

    ​ –input word和output word都是one-hot编码的向量。

    ​ –最终模型的输出是一个概率分布

    ​ •输出层使用了sotfmax。

    •模型的本质:

    ​ 计算输入word和输出word的余弦相似度,并进行softmax归一化(想象一下softmax图像,所有的值都被分配到[0,1]之间的数)

    •直接对词典里的 V 个词计算相似度并归一化,显然是一件极其耗时的impossible mission。为了加快速度优化:

    1. 负采样:
    2. –层次Softmax(Hierarchical Softmax)

    word2vec 应用

    列出所有相似词语列表 和程序猿相似词语,比如攻城狮,比如猝死

    词汇的语义的类比 皇帝-皇后=男-女

    寻找对应关系: 男人——男孩 女人——女孩

    第14讲 图片检索

    图像检索

    跨媒体检索Cross-Media Retrieval

    不同媒体映射到同一低维度空间

    •基于文本的[图像检索技术]TBIR

    ​ –查询词:文本

    ​ –搜索引擎

    ​ •爬虫 图片

    ​ •索引 图片对应的文字,锚文本,URL

    ​ •基于图像周围文本的检索

    ​ •基于链接锚文本的检索

    基于内容的图像检索CBIR

    –用户输入一张图片,以查找具有相同或相似内容的其他图片

    ​ CBIR 的关键技术:图像特征提取和特征匹配

    图像特征

    •图像的特征主要包括低层特征(Primitive Features)和语义特征(Semantic Features)

    –低层视觉

    1. •与图像的具体类型或内容无关,

      –颜色、形状、纹理等

    2. •某些先验知识(或假设)

      –人的面部特征

      –指纹特征

    图片的特征有颜色特征、形状特征、纹理特征

    颜色特征

    底层、直观,鲁棒性强

    颜色特征的表示有几种

    1、颜色直方图(Color Histogram) 直方图,就是CV教的那个,但是是对颜色来的,不是灰度

    ​ 没有体现空间信息,平移尺度旋转不变性

    • **2、颜色相关图(Color Correlogram)**不考

    3、颜色矩(Color Moment)

    –在颜色直方图的基础上计算出每个颜色的矩估计

    4、颜色一致性矢量(Color Coherence Vectors, CCV)

    纹理特征

    一般说纹理就是指在图像中反复出现的局部模式和它们的排列规则

    基于统计特征的纹理特征提取

    1.灰度差分统计法

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DJPGNRYU-1608430839972)(image\image-20201217105234873.png)]

    2.基于灰度共现矩阵的纹理特征 –常用统计量:对比度、相关度、方差、熵

    3.Tamura纹理特征

    •Tamura纹理特征中所有纹理特征都在视觉上有意义。

    对比度(contrast)、粗糙度(coarseness)、方向性(directionality)对于图像检索尤为重要。

    –线像度(1ine likeness)、规整度(regularity)和粗略度(roughness)。

    基于信号处理方法描述纹理特征

    –利用某种线性变换、滤波器或者滤波器组将纹理转换到变换域,

    –然后应用某种能量准则提取纹理特征。

    形状特征

    有一定的语义信息

    •基于轮廓的形状描述符

    1. 链码–差分结果第一位是原链码最后一位和第一位相减的结果。–例如,对于4向链码10030321的一阶差分的结果为03031333

    2. 基于网格的方法

    3. 傅里叶描述子

      –物体轮廓线表示成一个一维的轮廓线函数

      –傅立叶级数中的一系列系数z(k)是直接与边界曲线的形状有关的,称为傅立叶描述子.

      •基于物体轮廓坐标序列的傅立叶描述子具有最佳的形状识别性能.

    4. 感知哈希算法

      •全局特征降维

      (1)对每张图片生成一个**“指纹”(fingerprint)字符串,也就是图片的特征**

      (2)然后比较不同图片的指纹,结果越接近,就说明图片越相似(用海明距离来计算)

      (之前计算文档相似度的局部敏感哈希也是用hash法,比较哈希码的相似度来判断文档相似程度,都是用海明距离)

      那么怎么将图片变为哈希码呢?

      (1)均值Hash算法

      缩小尺寸,收缩色彩度(比如300-64),计算所有像素的灰度平均值,阈值二值化,二值化结果为哈希值

      (2)pHash算法

      (3)颜色分布法–红绿蓝分别有4个区(颜色分段)

      –总共可以构成64种组 4^3。

      •任何一种颜色必然属于这64种组合中的一种——特征为64维向量,计算余弦相相似度

      ​ (4)•内容特征法

      (图片二值化)–原图转成一张较小的灰度图片,确定一个阈值,将灰度图片转成黑白图片

      –两张图片很相似,它们的黑白轮廓应该是相近的

    •基于区域的形状描述符

    大津法Otsu’s method

    a) 证明了 "类内差异最小"与"类间差异最大"是同一件事

    b) 计算方法:

    ​ i. 灰度值小于阈值的像素为 n1 个,

    ​ ii. 大于等于阈值的像素为 n2 个

    ​ iii. w1 和 w2 表示这两种像素各自的比重

    ​ iv. w1 = n1 / n

    ​ v. 类内差异 = w1(σ1的平方) + w2(σ2的平方)

    ​ vi. 类间差异 = w1w2(μ1-μ2)^2

    图像局部特征

    LBP特征

    局部二值模式 Local Binary Patterns,结合了纹理图像结构像素统计关系纹理特征描述方法

    LBP怎么构造

    • LBP算子定义为在3*3的窗口内,

    • 以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素 点的位置被标记为1,否则为0。

    • 3*3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像 素点的LBP值,并用这个值来反映该区域的纹理信息。

    LBP的应用中,如纹理分类、人脸分析等,采用LBP特征谱的统计直方图作为特征向量用于分类识别。可将一幅图片化为多个子区域,分别求每个子区域的统计直方图。

    HOG特征

    关键词:cell,梯度直方图,行人检测

    HOG是什么?

    a) 方向梯度直方图,Histogram of Oriented Gradient, HOG

    b) 一种在计算机视觉和图像处理中用来进行物体检测的特征描述子

    c) 通过计算和统计图像局部区域的梯度方向直方图来构成特征

    Hog特征结合 SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功

    HOG特征如何提取?

    a) 灰度化

    b) 采用Gamma校正法对输入图像进行颜色空间的标准化(归一化)

    c) 计算图像每个像素的梯度

    d) 将图像划分成小cells

    e) 统计每个cell的梯度直方图

    梯度直方图,横轴是梯度方向,y轴是在该梯度方向的梯度值的和

    f) 将每几个cell组成一个block

    g) 将图像image内的所有block的HOG特征descriptor串联起来就可以得到该image的HOG特征descriptor了

    HOG算法的优缺点?

    a) 优点

    ​ i. 由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不 变性,这两种形变只会出现在更大的空间领域上。

    ​ ii. 其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿 势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。

    ​ iii. 因此HOG特征是特别适合于做图像中的人体检测的

    SIFT

    SIFT特征是什么

    尺度不变特征转换,Scale-invariant feature transform或SIFT,在空间尺度中寻找极值点,并提取出其位置、尺度、旋转不变量。

    SIFT特征和HOG特征好处

    SIFT特征不只具有尺度不变性,即使改变旋转角度,图像亮度或拍摄视角,仍然能够得到好的检测效果,Hog没有旋转和尺度不变性

    SIFT有哪几个步骤

    – 步骤一:建立尺度空间

    • 即建立高斯差分(DoG)金字塔

    – 步骤二:在尺度空间中检测极值点,并进行精确定位和筛选

    – 步骤三:特征点方向赋值,

    • 完成此步骤后,每个特征点有三个信息:位置、尺度、方向

    – 步骤四:计算特征描述子

    SIFT特征的匹配是暴力匹配

    图像检索算法

    图像检索算法

    a) 图像检索领域:将局部特征表示成全局特征的编码

    b) 通常继承了局部特征的部分不变性,如对平移、旋转、缩放、光照和遮挡等与语义相关不大的因素保持不变

    三种经典的编码

    a) [BoW](http://yongyuan.name/blog/Bag of visual words model: recognizing object categories)

    b) VLAD局部聚合向量

    c) FV

    BOF

    图像视为文档,局部特征经过聚类后看作一个视觉词汇(也就是词)

    BOF算法先求出特征点,再聚类生成类心,得到视觉词汇,生成直方图(横轴视觉词汇,纵轴频数),再根据TF-IDF调整权重

    查询时,求夹角余弦

    BOF算法流程

    – 1.用surf算法生成图像库中每幅图的特征点及描述符。

    • surf算法是关键点计算和描述算法,作用和SIFT相似。

    – 2.再用k-means算法对图像库中的特征点进行训练,生成类心。

    – 3.生成每幅图像的BOF,

    • 判断图像的每个特征点与哪个类心最近,最近则放入该类心,最后将生成一列频数表,即初步的无权BOF(直方图向量)。

    – 4.通过tf-idf对频数表加上权重,生成最终的bof。

    • 因为每个类心对图像的影响不同。比如超市里条形码中的第一位总是6,它对辨别产品毫无作用,因此权重要减小。

    • TF/IDF

    – 5.对查询图像也进行3.4步操作,生成该图的直方图向量BOF。

    – 6.将查询图像的Bof向量与图像库中每幅图的Bof向量计算相似度

    • 求夹角余弦。

    Fisher vector

    FV考虑了特征点到每个聚类中心的距离,也就是用所有聚类中心的线性组合去表示该特征点

    ​ –FV描述局部特征和GMM中心之间的平均一阶和二阶差异

    VLAD特征

    •可以认为VLAD是FV的简化版本

    •如同BOF先建立出含有k个visual word的codebook,只考虑离特征点最近的聚类中心

    ​ -采用的是计算出local descriptor和每个visual word(ci)在每个分量上的差距,将每个分量的差距形成一个新的向量来代表图片

    展开全文
  • 检索20万颗星星只需10秒!这款AI产品能“擎天”

    万次阅读 多人点赞 2019-09-21 02:45:59
    应用超广 检索20万颗星星只需10秒 Atlas 900的强大算力可广泛应用于科学研究。 以天文探索为例,海量的数据计算和处理往往需要大量人力和时间的投入。面对一张20万颗星星的星空图,如果需要定位某种特征的星体,一个...
        

    来自『央视新闻』 编辑 / 昱良
    9月18日,华为发布全球最快AI训练集群——Atlas 900。这款AI产品,取名自古希腊神话中的擎天巨神。它有什么特别之处?真能“擎天”?两个“10秒”,了解一下。
    640?wx_fmt=gif
    算力超强 比原世界纪录快出10秒
    据了解,Atlas 900由数千颗昇腾处理器组成,是当前全球最快的AI训练集群。
    有多快?在衡量AI计算能力的金标准ResNet-50模型训练中,Atlas 900只用了59.8秒就完成了训练,比原来的世界纪录快了10秒。 
    640?wx_fmt=png
    应用超广 检索20万颗星星只需10秒
    Atlas 900的强大算力可广泛应用于科学研究。
    以天文探索为例,海量的数据计算和处理往往需要大量人力和时间的投入。面对一张20万颗星星的星空图,如果需要定位某种特征的星体,一个天文学家需要耗费169天的工作量才能完成。有了Atlas 900助力后,定位时间缩短为10秒
    640?wx_fmt=jpeg
    △包含20万颗星星的南半球星空图(SKA射电望远镜拍摄)
    此外,据了解,Atlas 900以其超强的算力,在自动驾驶、气象预测以及石油勘探等特定领域,也有望为行业赋能。 
    推荐阅读



    展开全文
  • 学术搜索,Web Of Science 核心合集检索方法,SCI分区情况查看方法 当我们开始研究课题时,我们需要阅读大量文献,这时。我们需要搜索好的文献来扩至自己课题的知识,下面将会介绍怎么在Web Of Science上检索文献,...

    在这里插入图片描述


    当我们开始研究课题时,我们需要阅读大量文献,这时。我们需要搜索好的文献来扩至自己课题的知识,下面将会介绍怎么在Web Of Science上检索文献,并查看文献的SCI分区情况来帮助自己区分论文质量的高低。

    Web Of Science 核心合集是获取全球学术信息的重要数据库,由一下几个重要部分组成:

    (1)1990-至今 Science Citation Index-Expand (SCI-E, 科学引文索引)
    (2)1990-至今 Social Science Citation Index (SSCI, 社会科学引文索引)
    (3)1975-至今 Arts & Humanities Citation Index (A&HCI, 艺术与人文引文索引)
    (4)1990-至今 Conference Proceedings Citation Index (CPCI, 会议论文引文索引)
    (5)2005-至今 Book Citation Index (BkCI, 图书引文索引)
    (6)1985-至今 Current Chemical Reations 收录了1985年以后的最新化学反应
    (7)1993-至今 Index Chemicus 收录了1993年以来的化学物质的事实数据
    (8)2015-至今 Emerging Sources Citation Index (ESCI) 展示了重要的新型研究成果
    Web of Science 核心合集数据库收录了12,000多种世界权威的、高影响力的学术期刊,内容涵盖自然科学、工程技术、生物医学、社会科学、艺术与人文等领域,最早回溯至1900年。Web of Science 核心合集收录了论文中所引用的参考文献,并按照被引作者、出处和出版年代编成独特的引文索引。

    1 SCI 简介

    1955年,原美国情报信息研究所(ISI)的尤金•加菲尔德博士Science 期刊发表论文提出将引文索引(Citation Index)作为一种新的文献检索与分类工具。在进行几次规模试验性研究后,尤金•加菲尔德博士和他的团队与1963年出版引文索引(Science Citation Index ,简称SCI)。随后,ISI分别在1973年和1978年相继出版Social Science Citation Index (SSCI, 社会科学引文索引)和Arts & Humanities Citation Index (A&HCI, 艺术与人文引文索引),从而进一步扩大引文索引的应用范围。此外,Web Of Science 核心合集还收录了Conference Proceedings Citation Index (CPCI, 会议论文引文索引)和Book Citation Index (BkCI, 图书引文索引)等。

    2 检索方法

    1).登录Web Of Science网站(www.webofscience.com) 如下图所示:

    这里写图片描述


    2).在Web Of Science页面点击“所有数据库”右侧的下拉菜单,则可以看到所有可供检索的数据库,点击“Web Of Science 核心合集” 如下图所示:

    这里写图片描述


    3).检索
    当我们开始研究课题时,我们需要阅读大量文献,这是,我们需要一些关键词来检索信息。
    例如: 检索2013年有关卫星立体图像的相关文献,则可以进行一下操作:
    (1)输入检索项: Satellite Stereo Imagery
    (2)出版年:2013-2017

    如下图所示:
    这里写图片描述

    当然还可以添加另一字段 ,对搜索范围进一步缩小。这里只介绍主题和出版年。

    点击检索按钮,结果如下图所示:
    在这里插入图片描述


    可以看出,检索出169篇相关文献,并且是按照出版日期降序一次排列,当然可以更改排序方式 。如下图所示:
    这里写图片描述


    例如按照 被引频次降序 排序,如下图所示:
    这里写图片描述


    这里,我们可以查看文献的SCI分区情况,查看期刊的影像的位置如下图所示:
    这里写图片描述


    点击进入(以第3个为例),如下图所示:

    这里写图片描述


    这里面可以看出这篇出自
    IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING 的文献是SCI Q1,说明,这篇文献的价值挺高,可作为参考,阅读,引用。
    :这里的分区 仅仅作参考。

    当然,文献不仅仅从被引频次,分区来看,只能作为一个参考,并不是绝对的。本文只介绍基本的检索方法,供大家参考,还有更精确检索,可以慢慢去探索。

    3 LetPub网站查询分区

    :有的期刊分大区 小区 论文类别不同,则查到的分区也不同,这里给一个地址 查看 期刊的详细分区:
    http://www.letpub.com.cn/index.php?page=journalapp&view=search&searchsort=relevance&searchname=
    在下图输入期刊名 即可查询,这里查询的期刊分区比较固定。比 Web Of Science 查询出的分析 较为快捷。推荐使用LetPub网站查询。
    在这里插入图片描述

    4 Web Of Science网站期刊最新影响因子查询

    Web Of Science网站定期会更新SCI期刊的影响因子
    SCI期刊影响因子(Impact factor, IF)查询地址:https://jcr.clarivate.com/JCRJournalHomeAction.action
    在这里插入图片描述



    5 关于学术写作其他内容

    [1] SCI期刊名英文缩写查询方法
    [2] LaTex 论文排版(1): Win10 下 LaTex所需软件安装 (Tex live 2018 + Tex studio)
    [3] LaTex 论文排版(2): 插入公式 (从MathType公式编辑器导入到LaTex中)
    [4] LaTex 论文排版(3): 插入参考文献
    [5] LaTex 论文排版(4): 插入图片(Visio图转换成.eps图)
    [5] Word 2016 撰写论文(1): 公式居中、编号右对齐
    [6] Word 2016 撰写论文(2): 交叉引用
    [7] Word 2016 撰写论文(3): 文献中常见的表格(三线表)制作
    [8] Word 2016 撰写论文(4): 批量修改MathType公式字体大小
    [9] Word 2016 撰写论文(6): 取消/撤销 自动编号
    [10] Word 2016 撰写论文(7): 毕业论文中引用多篇参考文献



    如果觉得内容还不错的话,欢迎点赞、转发、收藏,还可以关注微信公众号、CSDN博客、知乎。

    1. 微信公众号:
      在这里插入图片描述

    2. CSDN博客:https://xiongyiming.blog.csdn.net/

    3. 知乎:https://www.zhihu.com/people/xiongyiming



    展开全文
  • 全文检索

    万次阅读 2018-08-14 08:40:24
    本文我将为大家讲解全文检索技术——Lucene,现在这个技术用到的比较多,我觉得大家还是应该掌握一下,不说多精通,但是应该有所了解。在讲解之前,我们先来看一个案例,通过该案例引出全文检索技术——Lucene。 ...

    本文我将为大家讲解全文检索技术——Lucene,现在这个技术用到的比较多,我觉得大家还是应该掌握一下,不说多精通,但是应该有所了解。在讲解之前,我们先来看一个案例,通过该案例引出全文检索技术——Lucene。

    案例

    实现一个文件的搜索功能,通过关键字搜索文件,凡是文件名或文件内容包括关键字的文件都需要找出来。还可以根据中文词语进行查询,并且需要支持多个条件查询。本案例中的原始内容就是磁盘上的文件,如下图: 
    这里写图片描述

    需求分析

    数据库搜索

    数据库中的搜索很容易实现,通常都是使用sql语句进行查询,而且能很快的得到查询结果。为什么数据库搜索很容易呢?因为数据库中的数据存储是有规律的,有行有列而且数据格式、数据长度都是固定的。

    数据分类

    我们生活中的数据总体分为两种:结构化数据和非结构化数据。

    • 结构化数据:指具有固定格式或有限长度的数据,如数据库中的数据,元数据等。
    • 非结构化数据:指不定长或无固定格式的数据,如邮件,word文档等磁盘上的文件。

    非结构化数据查询方法

    1. 顺序扫描法(Serial Scanning) 
      所谓顺序扫描,比如要找内容包含某一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。如利用windows的搜索也可以搜索文件内容,只是相当的慢。
    2. 全文检索(Full-text Search) 
      将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。 
      例如:字典。字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和韵母,分别只有几种可以一一列举,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据——也即对字的解释。 
      这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。 
      虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的。

    如何实现全文检索

    可以使用Lucene实现全文检索。Lucene是apache下的一个开放源代码的全文检索引擎工具包(提供了Jar包,实现全文检索的类库)。它提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的功能。 
    注意:Lucene只是一个引擎,只是一个工具包,如果使用Lucene开发全文检索功能,要记住Lucene是不能单独运行的

    全文检索技术的应用场景

    对于数据量大、数据结构不固定的数据可采用全文检索方式搜索。例如:

    • 使用全文检索技术可以实现搜索引擎(百度、google…),搜索引擎可以搜索互联网上所有的内容(网页、pdf电子书、视频、音乐)。 
      Lucene和搜索引擎的区别:搜索引擎是对外提供全文检索服务,是可以单独运行的。Lucene只是一个工具包不能单独运行,需要在project中加入lucene的jar包,最终project在JVM中运行。
    • 使用全文检索技术可以实现站内搜索,站内搜索只能搜索本网站的信息(网页、pdf电子书、视频、音乐、关系数据库中的信息等等),比如:电商网站搜索商品信息,论坛网站搜索网内帖子。

    Lucene实现全文检索的流程

    索引和搜索流程图

    索引和搜索流程图如下: 
    这里写图片描述
    1. 绿色表示索引过程,对要搜索的原始内容进行索引构建一个索引库,索引过程包括:确定原始内容即要搜索的内容→采集文档→创建文档→分析文档→索引文档。 
    2. 红色表示搜索过程,从索引库中搜索内容,搜索过程包括:用户通过搜索界面→创建查询→执行搜索,从索引库搜索→渲染搜索结果。

    从上面了解到的知识点也可看出,索引和搜索流程图也可表示为: 
    这里写图片描述 
    总结:全文检索过程分为索引、搜索两个过程:

    • 索引 
      1. 从关系数据库中、互联网上、文件系统采集源数据(要搜索的目标信息),源数据的来源是很广泛的。
      2. 将源数据采集到一个统一的地方,要创建索引,将索引创建到一个索引库(文件系统)中,从源数据库中提取关键信息,从关键信息中抽取一个一个,词和源数据是有关联的。也即创建索引时,词和源数据有关联,索引库中记录了这个关联,如果找到了词就说明找到了源数据(http的网页、pdf电子书等……)。
    • 搜索 
      1. 用户执行搜索(全文检索)编写查询关键字。
      2. 从索引库中搜索索引,根据查询关键字搜索索引库中的一个一个词
      3. 展示搜索的结果。

    创建索引

    对文档索引的过程,将用户要搜索的文档内容进行索引,索引存储在索引库(index)中。 
    这里我们要搜索的文档是磁盘上的文本文件,根据案例描述:凡是文件名或文件内容包括关键字的文件都要找出来,这里要对文件名和文件内容创建索引。

    获得原始文档

    原始文档是指要索引和搜索的内容。原始内容包括互联网上的网页、数据库中的数据、磁盘上的文件等。本案例中的原始内容就是磁盘上的文件,如下图: 
    这里写图片描述
    从互联网上、数据库、文件系统中等数据源处获取需要搜索的原始信息,这个过程就是信息采集,信息采集的目的是为了对原始内容进行索引。针对不同的源数据,使用不同的技术进行采集获得原始文档:

    1. 针对互联网上的数据,使用http协议抓取html网页到本地,生成一个html文件。
    2. 针对关系数据库中的数据,连接数据库读取表中的数据。
    3. 针对文件系统中的数据,通过流读取文件系统的文件。

    以上技术中使用第一种较多,因为目前全文检索主要搜索数据的来源是互联网,在Internet上采集信息的软件通常称为爬虫或蜘蛛,也称为网络机器人,爬虫访问互联网上的每一个网页,将获取到的网页内容存储起来,所以搜索引擎使用一种爬虫程序抓取网页( 通过http抓取html网页信息)。 
    Lucene不提供信息采集的类库,需要自己编写一个爬虫程序实现信息采集,也可以通过一些开源软件实现信息采集,以下是一些爬虫项目(了解):

    • Solr(http://lucene.apache.org/solr),solr是apache的一个子项目,支持从关系数据库、xml文档中提取原始数据。
    • Nutch(http://lucene.apache.org/nutch), Nutch是apache的一个子项目,包括大规模爬虫工具,能够抓取和分辨web网站数据。
    • jsoup(http://jsoup.org/ ),jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
    • Heritrix(http://sourceforge.net/projects/archive-crawler/files/),Heritrix是一个由java开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。

    本案例我们要获取磁盘上文件的内容,可以通过文件流来读取文本文件的内容,对于pdf、doc、xls等文件可通过第三方提供的解析工具读取文件内容,比如Apache POI读取doc和xls的文件内容。

    创建文档对象

    获取原始内容的目的是为了索引,在索引前需要将原始内容创建成文档(Document),文档中包括一个一个的域(Field),域中存储内容。 
    这里我们可以将磁盘上的一个文件当成一个Document,Document中包括一些Field(file_name文件名称、file_path文件路径、file_size文件大小、file_content文件内容),如下图: 
    这里写图片描述 
    注意:每个Document可以有多个Field,不同的Document可以有不同的Field,同一个Document可以有相同的Field(域名和域值都相同)。每个文档都有一个唯一的编号,就是文档id

    分析文档

    将原始内容创建为包含域(Field)的文档(Document),需要再对域中的内容进行分析,分析的过程是经过对原始文档提取单词、将字母转为小写、去除标点符号、去除停用词(没有意义的单词)等过程生成最终的语汇单元,可以将语汇单元理解为一个一个的单词。 
    例如,原始文档内容如下:

    Lucene is a Java full-text search engine. Lucene is not a complete 
    application, but rather a code library and API that can easily be used 
    to add search capabilities to applications.

    上边的文档经过分析得出的语汇单元为:

    lucene、java、full、search、engine……

    每个单词叫做一个Term,不同的域中拆分出来的相同的单词是不同的Term(同一个域中拆分出来的相同的单词是同一个Term)。Term中包含两部分内容,一部分是文档的域名,另一部分是单词的内容。 
    例如:文件名中包含的apache和文件内容中包含的apache是不同的Term。

    创建索引

    对所有文档分析得出的语汇单元进行索引,索引的目的是为了搜索,最终要实现只搜索被索引的语汇单元从而找到Document(文档)。 
    这里写图片描述 
    注意:创建索引是对语汇单元索引,通过词语找文档,这种索引的结构叫倒排索引结构。传统方法是根据文件找到该文件的内容,在文件内容中匹配搜索关键字,这种方法是顺序扫描方法,数据量大、搜索慢。 
    倒排索引结构是根据内容(词语)找文档,如下图: 
    这里写图片描述 
    倒排索引结构也叫反向索引结构,包括索引和文档两部分,索引即词汇表,它的规模较小,而文档集合较大

    查询索引

    查询索引也是搜索的过程。搜索就是用户输入关键字,从索引(index)中进行搜索的过程。根据关键字搜索索引,根据索引找到对应的文档,从而找到要搜索的内容(这里指磁盘上的文件)。

    用户查询接口

    全文检索系统提供用户搜索的界面供用户提交搜索的关键字,搜索完成展示搜索结果。比如: 
    这里写图片描述
    Lucene不提供制作用户搜索界面的功能,需要根据自己的需求开发搜索界面。

    创建查询

    用户输入查询关键字执行搜索之前需要先构建一个查询对象,查询对象中可以指定查询要搜索的Field文档域、查询关键字等,查询对象会生成具体的查询语法。例如,语法 “fileName:lucene”表示要搜索Field域的内容为“lucene”的文档。

    执行查询

    搜索索引过程:根据查询语法在倒排索引词典表中分别找出对应搜索词的索引,从而找到索引所链接的文档链表。例如,搜索语法为“fileName:lucene”表示搜索出fileName域中包含Lucene的文档。搜索过程就是在索引上查找域为fileName,并且关键字为Lucene的Term,并根据Term找到文档id列表。 
    这里写图片描述

    这里写图片描述
    索引域:索引域是用于搜索的,搜索程序将从索引域中搜索一个一个词,根据词找到对应的文档。之所以根据词可以找到文档,是因为词是从Document中的Field内容抽取出来的。将Document中的Field的内容进行分词,将分好的词创建索引,索引=Field域名:词(表示从Document中的哪个Field抽取的词)。

    渲染结果

    以一个友好的界面将查询结果展示给用户,用户根据搜索结果找自己想要的信息,为了帮助用户很快找到自己的结果,提供了很多展示的效果,比如搜索结果中将关键字高亮显示,百度提供的快照等。 
    这里写图片描述

    展开全文
  • JAVA 二分法检索

    万次阅读 2020-01-11 19:43:35
    JAVA 二分法检索 二分法检索原理: (1)将无序数列按递增顺序排列成有序数列 (2)比较要检索的元素和该数列中间位置元素的大小,若相等返回该中间值 (3)若比中间值大(或小),则在数列的后半部分(前半部分) ...
  • 信息检索

    千次阅读 2018-08-21 15:16:20
    1、信息检索(information retrieval):就是非结构化的文本数据的检索。 信息检索与数据库侧重点不同:强调基于关键字的查询、文档与查询的相关性,以及文档的分析、分类和索引等问题。Web搜索引擎不局限于文档...
  • 信息检索的基本方法:构造检索

    千次阅读 2020-05-05 17:58:33
    3. 短语检索、精确检索:加双引号 4. 截词检索 Truncation Wildcat 5. 字段限制检索field limiting 6. 区分大小写检索case sensitive 综合: 积木型检索式构造 1. 布尔逻辑检索 优先级: NOT- AND - OR ...
  • 信息检索格式 布尔检索

    千次阅读 2019-04-20 21:16:45
    信息检索格式 布尔检索式 名称 符号 表达式 功能 逻辑与 * 或and AB 同时含 有提问词A和B的文献,为命中文献 逻辑或 + 或or A+B 凡是含有提问词A或B的文献,为命中文献 逻辑非 -或not A(-B) 凡是含有提问词A但不...
  • 全文检索技术

    千次阅读 2019-09-24 21:33:49
    全文检索技术
  • 文本检索

    千次阅读 2018-10-31 14:27:29
    纯文本检索相关资料 https://github.com/NTMC-Community/awaresome-neural-models-for-semantic-match
  • 2.什么是检索模型 IR的核心问题:预测哪些文档是相关的,哪些文档是不相关的。主要工作在于排序这个核心的问题,如何计算这个排序从而处理文档的相关性。 检索模型描述了如下这些细节 文档表示( Docume...
  • 图像检索之纹理检索~~大数据检索

    千次阅读 2014-08-14 14:20:12
    毕设做的手绘检索,一直没有搞到海量图片,真是可惜
  • 线性检索:顺序检索

    千次阅读 2014-08-15 20:32:31
    当我们对所检索序列中元素的分布一无所知或元素本身就是随机分布的时候,顺序检索是常用的方法。 常用的返回值策略是,若用数组array,从下标0开始存储元素,检索成功则返回相应下标,失败则返回-1。另一种返回策略...
  • 概率检索模型

    千次阅读 2018-08-13 21:30:26
    概率检索模型是当前信息检索领域效果最好的模型之一,它基于对已有反馈结果的分析,根据贝叶斯原理为当前查询排序。 我在之前的博客 SVM解释:二、SVM的数学基础 中介绍了如何用朴素贝叶斯算法对数据进行分类,其实...
  • 信息检索的应用 & 如何检索

    千次阅读 2020-05-05 18:26:34
    信息检索在日常生活中的广泛应用 1. 防止上当受骗 2.健康 3. 特价旅游信息 4.免费读书 5. 名校课程、开放教育资源OERs 搜索引擎SE的分类 1. 按内容的组织方式 2. 按收录资源的范围 3.按信息采集的方式 4....
  • 医药信息检索

    2020-04-22 19:47:03
    医药信息检索 5.8.1 主要医药检索工具及其发展 1.医药信息检索概况 2.主要医药信息检索工具简介 5.8.2 美国《医药索引》与PubMed数据库 1.美国《医学索引》(Index Medicus,简称IM) ①美国《医学索引》概况 ...
  • 文献检索实例

    千次阅读 2019-10-19 18:53:46
    文献检索文献检索实例检索词选取文献检索步骤 文献检索实例 检索字段:篇名 检索实例:2010年以来,篇名为汽车尾气监测与治理技术的核心期刊有哪些? 解决方案: 确定检索词 汽车,机动车(上位词) 尾气,废气...
  • 布尔检索

    千次阅读 2015-05-28 16:06:59
    布尔检索是在倒排索引结构下进行的,下面举个例子说明一下什么是布尔检索。 假设有一个倒排文件,如下图所示: 现在要检索的word为 word1 和word3,以布尔 与 运算为例,就是对word1 与word3的检索结果 与 ...
  • 1 Hibernate的检索策略 Hibernate的检索策略分为两个级别: 类级别的检索策略:立即检索、延迟检索。关联级别的检索策略:立即检索、延迟检索还是迫切左外连接检索。 注意:在类级别上,Session的load()方法...
  • 图像检索

    千次阅读 2016-10-14 15:50:53
    BOW 原理及代码解析 Bag of Features (BOF)图像检索算法
  • 图像检索:信息检索评价指标mAP

    千次阅读 2018-01-07 15:15:31
    图像检索:信息检索...每次在和图像检索方面的小伙伴们交流时,总有小伙伴会问一些很基础的问题,举个栗子,信息检索评价指标。为了加深自己对这些指标的理解,及避免再去重复回答这类问题,做些易于理解的笔记。
  • 图像检索概述

    2019-03-13 16:49:08
    图像检索,简单的来说就是,用一个图片去和数据库中的图片一一匹配,然后检索出满足条件的图片,图像检索技术根据描述图像内容方法的不同主要分为两类: 1. 基于文本的图像检索技术,简称(TBIR) 2. 基于内容的图像...
  • 文献检索笔记

    千次阅读 2018-09-02 10:57:26
    检索方法笔记: 1,对检索题目进行分析 a 明确检索目的(全面,最新,片面) b明确主题或主要内容 c明确课题涉及的学科范围 d所需信息的数量、语种、年代范围、类型、作者等。   检索策略与步骤 (1)选择...
  • 跨模态检索:带你领略图文检索的魅力 引子 作为经常“百度一下”的众多网民中的一份子,我们经常使用百度,输入要搜索的关键词,来检索要想的文本信息,此时是使用文本来检索文本;有时我们又会使用百度图片检索的...
  • 信息检索模型

    万次阅读 多人点赞 2017-09-23 10:11:28
    检索模型搜索结果排序是搜索引擎的核心,排序时最重要的两个因素就是:用户查询和网页的内容相关性及网页链接情况。 检索模型就是用来计算内容相关度的理论基础及核心组件。 一个典型的检索模型通常由三部分组成:...
  • 全文检索python

    千次阅读 2018-11-11 11:27:32
    ####全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 #####haystack 全文检索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看...
  • 学术论文检索

    千次阅读 2018-11-12 10:45:42
    学术论文检索 如何查找期刊和相关排名对于学术研究者们而言是一项必备的技能,这篇文章记录了一些可能有帮助的内容,包括EI、SCI、JCR检索的网址、说明和查找方式等。更新于2018.11.12。 文章目录学术论文检索官方...
  • 相似视频检索

    千次阅读 2020-05-31 21:55:47
    在海量视频环境下,检索相似视频、重复视频。
  • EI的检索方法快速检索(Quick Search)

    千次阅读 2020-03-27 13:03:40
    1. EI检索条件设置 1.1选择数据库 在SELECT DATABASE的下拉菜单中选择Compendex,系统默认数据库为Compendex, 其他数据库为: INSPEC(科学文摘)、Patents(专利)、Techstreet(标准)等。 1.2选择检索字段 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 149,588
精华内容 59,835
关键字:

检索