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)的更多相关文章

  1. Information retrieval (IR class1)

    1. 什么是IR? IR与数据库的区别? 答:数据库是检索结构化的数据,例如关系数据库:而信息检索是检索非结构化/半结构化的数据,例如:一系列的文本.信息检索是属于NLP(自然语言处理)里面最实用的一 ...

  2. Information retrieval信息检索

    https://en.wikipedia.org/wiki/Information_retrieval 信息检索 (一种信息技术) 信息检索(Information Retrieval)是指信息按一定 ...

  3. Deep Learning for Information Retrieval

    最近关注了一些Deep Learning在Information Retrieval领域的应用,得益于Deep Model在对文本的表达上展现的优势(比如RNN和CNN),我相信在IR的领域引入Dee ...

  4. Information Retrieval 倒排索引 学习笔记

    一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia&quo ...

  5. Information Retrieval

    [Information Retrieval] 1.信息检索/获取(Information Retrieval,简称IR) 是从大规模非结构化数据(通常是文本)的集合(通常保存在计算机上)中找出满足用 ...

  6. Music information retrieval

    Music information retrieval - Wikipedia https://en.wikipedia.org/wiki/Music_information_retrieval Mu ...

  7. Information Retrieval II

    [Information Retrieval II] 搜索引擎分类: 1.目录式搜索引擎. 2.全文搜索引擎. 3.元搜索引擎(Meta-Search Engine). 搜索引擎的4个阶段:下载(cr ...

  8. 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 ...

  9. information retrieval (CMU 11642)

    1. Heap's law. predict the number of new vocabulary. 参考:https://www.youtube.com/watch?v=JDp12gU-vEQ ...

随机推荐

  1. Java学习日记基础篇(七) —— 数组、排序

    数组 为什么要有数组? 案例:一个养鸡场有六只鸡,他们的体重分别为3kg,5kg,1kg,3.4kg,2kg,50kg.请问这六只鸡的总体重和平均体重是多少? public class test5 { ...

  2. Cubic-bezier 曲线

    cubic-bezier又称三次贝塞尔,主要是为animation生成速度曲线函数. cubic-bezier(x1,y1,x2,y2) 此图中: P0:(0,0) P1:(x1,y1) P2:(x2 ...

  3. 在开发iOS程序时对日期处理的总结

    小贴士(Tips)-iOS 由于iOS的设备对应多国语言,用户也可以选择不同的日历模式.比如日本的和历,泰国日历等等. 用户也可以自行设定24小时制或者12小时制来显示时间.这些设置会直接影响应用程序 ...

  4. Struts框架----进度1

    一.Struts的理解 1.struts是一个按MVC模式设计的web层框架,其实它就是一个大的Servlet:ActionServlet,或者是ActionServlet的子类.在web.xml文件 ...

  5. 按比例吃CPU

    前几天测试软件在多核上的性能,需要按照比例吃各个CPU,查了查资料,撸了下面一小段代码: #include <unistd.h> #include <stdlib.h> #in ...

  6. mkfs格式化分区(为分区写入文件系统)

    mkfs 命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是 4096 Bytes),这些默认参数除非特殊清况,否则不需要调整.如果想要调整,就需要使用 mke2fs 命令重新格式化.命令 ...

  7. win10 Ubuntu16 双系统

    https://www.cnblogs.com/coxiseed/p/9945202.html UEFI分区顺序 1 根目录 / 主分区 2 交换空间 逻辑分区 3 引导 /boot 逻辑分区 4 / ...

  8. js回车键事件

    js回车键事件 一.总结 一句话总结: $("#focus").keypress(function(event){if(event.which === 13) { /*点击回车要执 ...

  9. MSP与PSP

    摘抄自Triton.zhang——eeworld 1. MSP和PSP 的含义是Main_Stack_Pointer 和Process_Stack_Pointer,在逻辑地址上他们都是R13 2. 权 ...

  10. Java并发包异步执行器CompletableFuture

    前言 CompletableFuture是对Future的一种强有力的扩展,Future只能通过轮询isDone()方法或者调用get()阻塞等待获取一个异步任务的结果,才能继续执行下一步,当我们执行 ...