Category Archives: [IR] Lucene && Sphinx && Xapian

Python计算N维向量的余弦夹角。

又名余弦相似度,代码如下:

Search Engines: Information Retrieval in Practice – 第7章

这章想看很久了,信息检索最核心的东西:检索模型(Retrieval Models)!

1、信息检索发展45年来的核心问题:让人们找到所需要的信息。

2、理想很丰满,但现实很骨感,我们现在只能做好一件事情:对文档进行排序,让最相关的排在前面—-这就是信息检索模型。

3、检索模型的成功应用,让1990s间,检索效果提升了100%以上。

4、说到“文档相关”,有两组需要区分的概念:
(1)话题相关 or 用户相关。用户相关显然是最理想的情况,但一般很难实现,多数情况,还是[……]

继续阅读

Python相对完美的URL拼接函数

参考文章:Normalize URL path python

首先说下什么叫URL拼接,我们有这么一个HTML片段:

做为一只辛苦的爬虫,我们要跟踪到这个click me指向的页面,假设这个片段来自:http://www.xxxdu.com,那么目标页面是什么呢?

显然不是

而是

[……]

继续阅读

Search Engines: Information Retrieval in Practice – 第5章

Ranking with Indexes

本章内容:索引结构

1、每个系统都需要对应的数据结构(data structures)。信息检索中最常用的数据结构是:倒排索引(inverted index)。

2、本章的另外一个主题是:查询处理(Query processing),即如何让查询使用索引的数据。

3、抽象检索模型:
(1)一篇文档被转化为对应的词项(index terms),形成不同的特征(features)
(2)主题特征(topical features)[……]

继续阅读

Search Engines: Information Retrieval in Practice – 第4章

Topic:Processing Text…

本章主题:文本处理

1、本章的主题:文本变换(Text Transformation)和文本处理(Text Processing)

2、将单词(Words)转化为可建索引的词项(Terms)的形式。

3、最懒的方法是:什么都不处理,这样,所有词都可以且只能被精确匹配。这样,诸如大小写、词形变换等导致的单词,就无法被检索出来。

4、分词(Tokenization):将段落转化为Words的过程。

5、归一化(St[……]

继续阅读