Information retrieval (IR class1)
1. 什么是IR? IR与数据库的区别?
答:数据库是检索结构化的数据,例如关系数据库;而信息检索是检索非结构化/半结构化的数据,例如:一系列的文本。信息检索是属于NLP(自然语言处理)里面最实用的一个场景,应用之一。
2. 什么是term-document incidence matrix?
答:文档中,出现了某个词记做1,未出现记做0的矩阵。 e.g, 单词集合 W={w1, w2, w3, w4},文章集合 D={d1, d2, d3, d4, d5}。 term-document incidence matrix 如下所示:
| d1 | d2 | d3 | d4 | d5 | |
| w1 | 0 | 1 | 1 | 1 | 1 |
| w2 | 1 | 1 | 0 | 1 | 1 |
| w3 | 1 | 0 | 1 | 1 | 1 |
| w4 | 0 | 0 | 0 | 0 | 1 |
查询语句:w1 ∩ w2 ∩ w3 ∩ w4 (意思是:查找一篇文档,要求文档中出现了单词w1, w2, w3, w4)
答: 做字节与运算:
01111
+ 11011
+ 101111
+ 00001
--------
00001
结果表示, 只有文档d5符合条件。 也就是只有d5中同时出现了w1~w4这四个单词。
3. 什么是 “inverted index” ?
由2可知,我们得到了term与documents的相关矩阵。但是存在的问题是 : 1. 费空间 2. 稀疏矩阵 sparse matrix。
所以,我们需要用到inverted index。也就是以链表的形式,表示文档。
例如:
仍然用2中的例子:可以表示如下:
w1 : 2 -〉3 -〉4 -〉5
w2: 1-〉2-〉4-〉5
w3: 1-〉3-〉4-〉5
w4: 5
可以使用链表linked list, 也可以使用连续的list,continuous list. 前者访问快,后者省空间。 具体权衡视情况而定。
此时,w_1 - w_n 称为“字典部分”(dictionary),而 后面的索引的数字称为“posting”。每一个word都有一个“posting list”
4. 如何使用“inverted index”求 AND OR NOT运算
答: w1 的inverted index 是:w1_postingList={ 1,2,3,4,10}
同理, w2_postingList={1,2,5,6,8}
w3_postingList={7,8}
w1 AND w2 OR w3 = w1_PL ∩ w2_PL ∪ w3_PL = {1,2,7,8}
5. inverted index 的构造流程


6. query optimization
1⃣️ 对于一个包含n的term的query, query q : A AND B AND C
最优的策略是 : 按照升序的顺序
2⃣️ 同理,对于query q : A OR B OR C
最有的策略是 : 按照升序的顺序
(参考:1. youtube的一个information retrieval course:https://www.youtube.com/watch?v=Hy78R3yuutg&list=PL0ZVw5-GryEkGAQT7lX7oIHqyDPeUyOMQ&index=4)
Information retrieval (IR class1)的更多相关文章
- Information retrieval (IR class2)
1. 解析文档一般要分析哪些方面? - 首先分析文档的格式,是docx,html,xml,pdf... - 其次分析文档的语言,是英语,汉语,日语,德语... - 使用的什么字符集,ASCII编码, ...
- Information retrieval信息检索
https://en.wikipedia.org/wiki/Information_retrieval 信息检索 (一种信息技术) 信息检索(Information Retrieval)是指信息按一定 ...
- Deep Learning for Information Retrieval
最近关注了一些Deep Learning在Information Retrieval领域的应用,得益于Deep Model在对文本的表达上展现的优势(比如RNN和CNN),我相信在IR的领域引入Dee ...
- Information Retrieval 倒排索引 学习笔记
一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia&quo ...
- Information Retrieval
[Information Retrieval] 1.信息检索/获取(Information Retrieval,简称IR) 是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用 ...
- Music information retrieval
Music information retrieval - Wikipedia https://en.wikipedia.org/wiki/Music_information_retrieval Mu ...
- Information Retrieval II
[Information Retrieval II] 搜索引擎分类: 1.目录式搜索引擎. 2.全文搜索引擎. 3.元搜索引擎(Meta-Search Engine). 搜索引擎的4个阶段:下载(cr ...
- IRGAN:A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models
https://arxiv.org/pdf/1705.10513.pdf 论文阅读笔记: https://www.cnblogs.com/liaohuiqiang/p/9694277.html htt ...
- information retrieval (CMU 11642)
1. Heap's law. predict the number of new vocabulary. 参考:https://www.youtube.com/watch?v=JDp12gU-vEQ ...
随机推荐
- 001_Python安装
1. 判断电脑是否已经安装python,电脑->运行->输入:python 2. 如果没有安装,去官网下载:https://www.python.org/downloads/ 3. 安装过 ...
- 【概率论】3-4:二维分布(Bivariate Distribution)
title: [概率论]3-4:二维分布(Bivariate Distribution) categories: Mathematic Probability keywords: Discrete J ...
- HTML学习日记 入门教程 知识点 ing
初学html,如有错误,欢迎指正谢谢. 这只是一些基础的知识点,是学习后自己想到总结的,不适合资深者. 1.href是Hypertext Reference的缩写.意思是指定超链接目标的URL.是cs ...
- hive安装运行hive报错通解
参考博文:https://blog.csdn.net/lsxy117/article/details/47703155 大部分问题还是hadoop的配置文件的问题: 修改配置文件hadoop/conf ...
- puppeteer爬虫服务
爬虫文件 baidu.js const puppeteer = require("puppeteer"); const path = require('path'); const ...
- vuejs是如何编译checkbox数组的v-model的
随便用官方的例子编译了一下, 发现如下 _c("input", { directives: [ { name: "model", rawName: " ...
- Qt数据库编程_基本
QtSql模块提供了一个平台无关且数据库无关的访问SQL数据库的接口. Qt中的每个数据库连接用一个QSqlDatabase对象来表示:Qt使用不同driver来和各种不同数据库的API进行通讯. Q ...
- 前端知识点回顾——Reactjs
React.js 编写react需要安装的三个开发环境下的模块 babel 解析JSX react 实现ui用户界面 react-dom 处理dom JSX:在JavaScript里面写html代码( ...
- python笔记6 模块与包 程序开发规范 包 re sys time os模块
模块与包 python 模块首引用加载到内存,如果再次引用此模块,直接从内存中读取. python文件分为:执行文件(解释器运行的文件),被引用文件(import) 模块引用一共发生了3件事: 1.他 ...
- SQL-W3School-高级:SQL ALTER TABLE 语句
ylbtech-SQL-W3School-高级:SQL ALTER TABLE 语句 1.返回顶部 1. ALTER TABLE 语句 ALTER TABLE 语句用于在已有的表中添加.修改或删除列. ...