CMU 11642 Search Engine - 文件表示

作者 QIFAN 日期 2017-03-09
CMU 11642 Search Engine - 文件表示

如何表示信息载体:

Controlled vocabulary

已经有规范格式的文本,某些专业领略流行。

优点:每个 term 都意义明确,而且等级的感觉让类似含义的词语放在一起,支持浏览与搜索
缺点:细节少,对文本的覆盖率低,不适合做测试集;建造成本高也不好维护;文件的添加麻烦;搜索比较麻烦

Free-text 或者 full-text

free-text :选择一些 terms 来代表一个文件
full-text :选择文件中的所有 terms

相对于 Controlled 的 uncontrolled
优点:term 与文件较好的对应;成本低
缺点:不适合精确查找可能会有较多的 mismatch

Full-text Indexing 过程

分词 (token)

通常用空格和标点作为词语间划分的依据,但是比如 DVD-writer, x86-64 如何分。

Stopwords

文本中常常有一些无意义的断词如 “the” “to” 。stopwords 的数量很多,如果不砍掉一些会造成 invertedlist 过大浪费空间。

多态 (Morphological)

比如单复数形式,同义词,大小写。

Stemming 算法

  • Porter :直接砍掉部分尾部,虽然简单粗暴,但效果莫名的还不错
  • KSTEM : 有规则的的 Poter ,是的生成的 token 尽量都是一个词。

小文本查询如企业的用户对 stemming 错误的容忍度较高,因为相关的文件不多;而如 Google 搜索则容忍度较低,因为错误产生了另一个词可能会带来很多不相关的结果。

词组

有时候单个词语和组合词语的意义完全不同。两种处理方法:一种把词组作为一个 term 生成 invertedlist ;另一种在查询的时候利用操作符来表示查询词组如 #NEAR/1(interest rate)