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. Python之yield语法

    生成器与yield 函数使用yield关键字可以定义生成器对象.生成器是一个函数.它生成一个值的序列,以便在迭代中使用,例如: def countdown(n): print('倒计时:%s' % n ...

  2. [转]Linux下的常见信号总结

    转自 https://www.cnblogs.com/gaorong/p/6430905.html 在linux下有很多信号,按可靠性分为可靠信号和非可靠信号,按时间分为实时信号和非实时信号,linu ...

  3. 2019ICPC南京自我反省

    第一场ICPC,跟第一场CCPC一样,可惜真的可惜. 打完比赛就感觉难受,难受不在于又抱了块铜牌,而是那种能出的题没出的可惜感非常浓重. 开场还是可以的,通过一阵讨论,就大胆猜测了A的规律,然后一发过 ...

  4. java 根据年月获取当前年月的最后一天,获取当前年月有多少天

    new Date( "2019-08-" + 1)   获取2019年8月的最后一天   结果为--2019-08-31 new Date(2019, 8, 0).getDate( ...

  5. python中的关键字yield有什么作用?

    保存当前运行状态,然后暂停执行,即将函数挂起.yield关键字后面表达式的值作为返回值返回.当使用next(),send()函数从断点处继续执行.

  6. luogu_P4767 [IOI2000]邮局

    传送门 Description 高速公路旁边有一些村庄.高速公路表示为整数轴,每个村庄的位置用单个整数坐标标识.没有两个在同样地方的村庄.两个位置之间的距离是其整数坐标差的绝对值. 邮局将建在一些,但 ...

  7. Java使用超级工具包Hutool操作数据库

    #=================================================================== # pom.xml中添加引用 # <!-- https: ...

  8. RDD java API使用

    1.RDD介绍:     RDD,弹性分布式数据集,即分布式的元素集合.在spark中,对所有数据的操作不外乎是创建RDD.转化已有的RDD以及调用RDD操作进行求值.在这一切的背后,Spark会自动 ...

  9. <JavaScript>调用apply报错:CreateListFromArrayLike called on non-object;

    Function.apply(obj, args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 args:这个是数组,它将作为参数传给Function(args--> ...

  10. PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)--续

    2.PHP与Mysqli扩展,面向过程.对象 <?php $mysql_conf = array( 'host' => '127.0.0.1:3306', 'db' => 'test ...