Information retrieval (IR class2)
1. 解析文档一般要分析哪些方面?
- 首先分析文档的格式,是docx,html,xml,pdf...
- 其次分析文档的语言,是英语,汉语,日语,德语...
- 使用的什么字符集,ASCII编码,或者是UFT-8,或者....
2. 什么是Tokenization Process?
对于汉字,需要“分词”,比如把:“我们” -> “我” “们”
而英文中,这个操作很简单,仅仅是空格而已:we are student -> "we" "are" "student". 然而,有时也会出现问题,比如“don't" 该如何分词??
3. 什么是stopword?
英文里,常出现的词语,类似 you, I, and, a, 之类的
4. 什么是Normalization ?
把所有词还原成一种形式。 包括 stemming 和 lemmatization 。
stemming(词干):去掉后缀(suffix),例如,police , policy , police 可以变成同一个 stem : polic
lemmatization(此行还原) 例如,复数 -> 单数,动词过去式/单三式 -> 原形之类的。
5. Porter's algorithm ?
用来还原词干的一个算法,一个经典的规则:
- sses -> ss
- ies -> i
- ational -> ate
- tional -> tion
其实,正规化有很多方法,也有很多标准,stemming和 lemmatization也有很多不同的实现方法与规则。
6. 如何加速posting list的查找?
skip pointer ,工作机制不太明白,继续学习中
8. 遇到词组的情况怎么解决?
答:目前主要有三种解决方法: 1⃣️二词法:就是把两个字组合作为一个词,例如,stanford university作为一个词,进行inverted index。 如果是多个词的词组,就用AND连接biword。问题:列出所有的两分词,不太可能,耗费的存储空间太大。空间复杂度太高
2⃣️位置索引法:在inverted index的基础上,不仅记录文档,还另外记录该词出现在文档中的哪个位置。然后将starnford和university进行AND操作后,对比出现在同一个文档中的位置,是否相邻,如果是,则判断1,反之为0。 缺点是匹配耗费的时间太多,时间复杂度太高
3⃣️ 二分-位置索引法:将两种方法结合起来。没有细究。
9. 遇到通配符(wild-card queries)的情况怎么解决?
比如:用户想要输入 rotate, 但是不知道怎么拼写,就输入了 rote* 或者 *tate
三种方法:1⃣️。 使用树的方法: 对于后面省略的,使用B+树的查找,匹配后缀。 对于前面省略的,使用树的翻顺序,匹配前缀
2⃣️。 使用permuterm index(我称之为排列索引): 例子详见参考:https://people.eng.unimelb.edu.au/tcohn/comp90042/l3.pdf
例如 ro*te -> te $ ro : $ 意思是 以ro为开头,以te为结尾
3⃣️。 使用n-gram index .
10. 什么是 POST (part of speech tage)
翻译成中文,简单来说就是, 词性/词类标注。
例如, I played basketball in the park.
noun : basketball, park.
verb : play
在nlp处理时, I , in, the 都可以直接归类于 “stop word”里面。
以及,为了方便大家记住常用的英文缩写,我把参考链接粘贴到这里(参考: https://zhidao.baidu.com/question/170228690)。
Abbr (abbreviation) : 省略语
ie (which is to say) : 即
etc
prep 介词
conj 连接词
11. 另外, 对于POST,有很多专业术语,可以参考https://cs.nyu.edu/grishman/jet/guide/PennPOS.html
CC(coordinating conjunction ): 衔接连词
CD(cardinal number): 基数词
PRP (personal pronoun):代词
VBZ(Verb,3drperson singular present):动词单三式
NNS (noun,plural):名词复数
IN (prepostion or subordinating conjunction):介词或从属连词
DT(determiner):限定词
NN(noun,singular or mass):名词单数
Information retrieval (IR class2)的更多相关文章
- Information retrieval (IR class1)
1. 什么是IR? IR与数据库的区别? 答:数据库是检索结构化的数据,例如关系数据库:而信息检索是检索非结构化/半结构化的数据,例如:一系列的文本.信息检索是属于NLP(自然语言处理)里面最实用的一 ...
- 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 ...
随机推荐
- AS400 printer setting
(1) CRTOUTQ OUTQ(TESTLIB/PRINTER2) (2) CRTDEVPRT ===> CRTDEVPRT DEVD(PRINTER2) DEVCLS(*LAN) TYPE( ...
- GridView修改含有DropDownList控件列的宽度
GridView进入Edit模式,编辑列动态绑定DropDown List方便客户选择,但当里面的Item过长,不免令界面不美观 正确做法: <asp:TemplateField HeaderT ...
- zabbix的日志监控
前提条件是该日志文件对于启动zabbix agent进程的用户开启了可读权限,而且该日志的路径对该用户开方x权限,让能取到这个日志文件 第一个参数可以不用引号,前提是zabbix用户可以进入文件路径, ...
- Java学习日记基础篇(七) —— 数组、排序
数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { ...
- Java基础系列 - 抽象类,子类继承
package com.company; /** * 抽象类继承 * 用abstract修饰类就是抽象类 * 用abstract修饰方法就是抽象方法(一般使用比较少) * 抽象类不能被实例化 */ p ...
- hive tez调优(3)
根据.方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的 ...
- (转)服务端监控工具:nmon的使用
在性能测试过程中,对服务端的各项资源使用情况进行监控是很重要的一环.这篇博客,介绍下服务端监控工具:nmon的使用方法.. 一.认识nmon 1.简介 nmon是一种在AIX与各种Linux操作系统上 ...
- python3删除mysql上月分区数据(脚本)
import datetime import pymysql import pymysql.cursors tables_schdule=["talbe1","table ...
- zsh: no matches found
具体原因: 因为zsh缺省情况下始终自己解释这个 *.h,而不会传递给 find 来解释. 解决办法: 在~/.zshrc中加入: setopt no_nomatch, 然后进行source .zsh ...
- 三种Timer使用
System.Windows.Forms.Timer, System.Threading.Timer, System.Timer,三种Timer使用如下 第一种:System.Windows.Fo ...