对信息检索的评价——准确率和召回率。
相关文档:能够较好匹配用户搜索关键字的文档。
准确率,precision。检索出来的文档中,相关文档所占比例。
召回率,recall。全部相关文档中,被检索出来的文档的比例。
垂直搜索,vertical search。针对某一主题(行业、应用)的特殊搜索。
站内搜索:搜索被限定在一个给定网站内。
评价:用户与操作引擎交互的日志是很有价值的信息源。
搜索引擎工作流
文本采集
网络爬虫:通过追踪网页上的超链接,找到并下载新的页面。
.doc 、excel、.pdf等二进制文件也有专门的函数可以读。
索引创建
分词:找出文档中的关键字,去除一些停用词。
停用词:无单独意义又经常出现的词,英文如: as 、for、 the、 this;中文如 的、是、这个、啊。
倒排索引,inverted index。正排:文档->单词的集合;倒排:单词->文档的集合。posting(记录)中可包含文档编号、出现位置、出现频率等。
对不同的文档扫描得到不同的倒排索引,然后进行合并。
为了更好的合并,通常先字典排序,再进行二路归并。此时会有大量前缀相同的词排在一起。可采用公共前缀思想进行压缩。
打分;对文档的质量、重要性进行打分。
索引检索
分词。
检索。根据倒排索引取文档的交集。
打分:按照一定的公式,索引创建阶段的文档分数与关键字分数共同影响最终得分。
优先队列:搜索到的相关文档可能太多,用户一般只需要前若干个。故检索过程中根据打分分值维护一个规模为n的优先队列即可。
用户交互
用户输入与得到输出。
每条结果通常包括文档标题、简要描述、超链接 三部分。