Introduce to Inforamtion Retrieval读书笔记(2)

The term vocabulary and postings lists

Inverted index construction step:

1. Collect the documents to be indexed.
2. Tokenize the text.
3. Do linguistic preprocessing of tokens.
4. Index the documents that each term occurs in.

 

2.1 Document delineation and character sequence decoding

Encoding Problems: how to auto-dectect encoding:

Text Format Problems: docs pdf xml html and so on.

Sequence Problems : Arabic(阿拉伯语), where text takes on some two dimensional and mixed order characteristics.

 

Choosing a document unit : A precision/recall tradeoff,large document units can be alleviated by use of explicit or implicit proximity search

 

2.2 Determining the vocabulary of terms

token :tokenization is the task of chopping it up into pieces, called tokens, perhaps at the same time
throwing away certain characters, such as punctuation。

Difference between token and type:

token not exactly the same word sequence,is a instance

type is exactly the same work sequence,is a class

like the difference of OOP's class and instance.

Tokenization are language-specific : Language identification based on clas-
IDENTIFICATION sifiers that use short character subsequences as features is highly effective;

most languages have distinctive signature patterns

中文分词:最大正向/反向匹配。

专有名词识别,ip url,邮箱、电话号码识别。

2.2.2 Dropping common terms: stop words

Stop words: extremely common words has little value in helping select documents matching a user need.

How to Collect:

The general COLLECTION strategy for determining a stop list is to sort the terms by collection frequency and then to take the most frequent terms, often hand-filtered for their semantic
content relative to the domain of the documents being indexed, as a stop list.

2.2.3 Normalization (equivalence classing of terms)

Token normalization is the process of canonicalizing TOKEN tokens so that matches
 occur despite superficial differences in the character sequences of the tokens.

不同写法:anti-discriminatory and antidiscriminatory

同义词:car and automobile

Accents and diacritics

Capitalization/case-folding

2.2.4 Stemming and lemmatization

The goal of both stemming and lemmatization is to reduce inflectional
forms and sometimes derivationally related forms of a word to a common
base form。

eg.:

am, are, is ⇒be
car, cars, car’s, cars’⇒car

Some common algorithm for stemming English:

Porter stemmer、Lovins stemmer、Paice stemmer

 

2.3 Faster postings list intersection via skip pointers

Postings lists intersection with skip pointers:

INTERSECTWITHSKIPS(p1, p2)
1 answer ← ()
2 while p1 != NIL and p2 != NIL
3 do if docID(p1) = docID(p2)
4 then ADD(answer, docID(p1))
5 p1 ← next(p1)
6 p2 ← next(p2)
7 else if docID(p1) < docID(p2)
8 then if hasSkip(p1) and (docID(skip(p1) ≤ docID(p2)))
9 then while hasSkip(p1) and (docID(skip(p1) ≤ docID(p2)))
10 do p1 ← skip(p1)
11 else p1 ← next(p1)
12 else if hasSkip(p2) and (docID(skip(p2) ≤ docID(p1)))
13 then while hasSkip(p2) and (docID(skip(p2) ≤ docID(p1)))
14 do p2 ← skip(p2)
15 else p2 ← next(p2)
16 return answer

 2.4 Positional postings and phrase queries

Biword indexes : One approach to handling phrases is to consider every pair of consecutive
terms in a document as a phrase.(Not a standard solution)

Biword Extension:

The concept of a biword index can be extended to longer sequences of
words, and if the index includes variable length word sequences, it is generally
referred to as a phrase index

 

Positional indexes :(most commonly employed)

store postings of the form docID: <position1, position2, . . . >

 

An algorithm for proximity intersection of postings lists p1 and p2:

 

POSITIONALINTERSECT(p1, p2, k)
1 answer ← ()
2 while p1 != NIL and p2 != NIL
3 do if docID(p1) = docID(p2)
4 then l ← ()
5 pp1 ← positions(p1)
6 pp2 ← positions(p2)
7 while pp1 != NIL
8 do while pp2 != NIL
9 do if |pos(pp1) − pos(pp2)| > k
10 then break
11 else ADD(l, pos(pp2))
12 pp2 ← next(pp2)
13 while l != () and |l[0] − pos(pp1)| > k
14 do DELETE(l[0])
15 for each ps ∈ l
16 do ADD(answer, hdocID(p1), pos(pp1), psi)
17 pp1 ← next(pp1)
18 p1 ← next(p1)
19 p2 ← next(p2)
20 else if docID(p1) < docID(p2)
21 then p1 ← next(p1)
22 else p2 ← next(p2)
23 return answer
 

Combination schemes :

Combination of biword indexes and positional indexes。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《线性代数导论》是一门数学分支,研究了线性方程组、向量空间、线性变换、特征值与特征向量等概念。线性代数主要通过线性方程组的求解来研究线性空间的性质和变换特征。在线性代数中,我们学习如何求解线性方程组,以及如何理解向量在空间中的性质和变换。线性代数是计算机科学、物理学、经济学、统计学等领域中的基础课程,它为这些领域的深入研究提供了重要的工具和方法。 线性代数的核心概念之一是向量空间。向量空间是由一组向量组成的集合,它具有特定的运算规则和性质。我们通过研究向量空间的性质,可以帮助我们理解向量在空间中的几何特征和变换规律。线性代数也涉及到线性变换和矩阵运算,它们可以描述向量的旋转、缩放、投影等操作。线性代数的另一个重要概念是特征值和特征向量,它们对于理解线性变换的特性和模式起到了重要的作用。 通过学习线性代数,我们可以更好地理解和解决实际问题。线性代数的方法可以应用于求解问题的最优解、拟合曲线、图像处理、数据压缩等领域。线性代数也为更高级的数学领域如线性空间、泛函分析和矩阵论等提供了基础。总之,《线性代数导论》是一门重要的数学课程,它不仅在数学领域中扮演着重要的角色,也在其他领域中具有广泛的应用。 ### 回答2: 线性代数是数学的一个分支,研究向量空间和线性映射的性质和操作方法。它是应用广泛的数学工具,在科学、工程和经济学等领域都有重要的应用。线性代数的核心是研究线性方程组的解的性质。 在线性代数中,我们研究向量,向量空间和矩阵以及它们之间的关系。线性方程组可以用向量和矩阵的形式进行描述,通过解线性方程组,我们可以得到向量空间的基本性质,例如维数、子空间等。线性映射是一种可以保持向量加法和数乘的函数,通过研究线性映射,我们可以得到矩阵的特征值和特征向量等重要概念。 线性代数的基本概念包括线性方程组、判断向量线性相关性的条件、矩阵的行列式、逆矩阵和转置矩阵等。其中,矩阵的行列式可以判断矩阵是否可逆,逆矩阵可以帮助我们解线性方程组。转置矩阵是将矩阵的行和列进行互换。此外,还有特征值和特征向量、正定矩阵、对称矩阵等概念也是线性代数的重要内容。 线性代数不仅是一门重要的数学学科,也是许多其他学科的基础。在计算机图形学、机器学习、信号处理等领域,线性代数的知识都扮演着重要的角色。因此,学好线性代数对于理解和应用这些学科都至关重要。 ### 回答3: 线性代数是数学的一个分支,研究向量空间和线性映射的性质。它主要涉及解决线性方程组、求解向量空间的基、研究线性变换等问题。线性代数的核心概念是向量和矩阵。 向量是有大小和方向的量,可以用箭头表示。它可以进行加法、乘法和线性组合等运算。向量空间就是由向量构成的集合,具有加法和数量乘法运算,并且满足一些特定的公理。 矩阵是一个矩形的数表,其中的元素通常为实数或复数。矩阵可以进行加法、乘法和求逆等运算。矩阵可以表示线性映射,通过变换矩阵可以将一个向量映射到另一个向量空间中。 线性代数的应用非常广泛。在工程、物理、计算机科学等领域,线性代数被用于解决问题、建立模型和优化算法。例如,在计算机图形学中,线性代数可以用来描述和操作三维物体的位置和方向。在机器学习中,线性代数可以用来处理高维数据和构建模型。在密码学中,线性代数的概念被用来设计和分析加密算法。 总之,线性代数是一门重要的数学学科,它提供了丰富的工具和方法来解决各种实际问题。通过学习线性代数,我们可以更好地理解和描述现实世界中的现象,并运用它们来解决实际问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值