1,TF-IDF (Term Frequence - Inverse Document Frequency)web
这个算法用来评价一个词(Term)对整个文档的重要程度,它只考虑了两个因素:(1) 这个词条在本文档中出现的次数是否高 (2) 这个词在全部文档中出现的次数是否高。算法的思想很容易搞懂:在本文档中出现次数多的词儿天然是重要的,可是得惩罚那些经常使用词汇,也就是全部文档中出现的次数都很高词。TF-IDF常常用在搜索引擎,用来计算query与document的相关度。算法
公式去看维基百科:http://en.wikipedia.org/wiki/Tf%E2%80%93idf数据库
2,VSM 空间向量模型dom
是一个用来表示文本文件的代数模型。搜索引擎
维基百科:http://zh.wikipedia.org/wiki/%E5%90%91%E9%87%8F%E7%A9%BA%E9%96%93%E6%A8%A1%E5%9E%8Bgoogle
3,PageRank Algorithmspa
PageRank是用来衡量一个网页质量的算法。下面这句话归纳的很是精辟:.net
“PageRank works by counting the number and quality of links to a page to determine a rough estimate of how important the website is. The underlying assumption is that more important websites are likely to receive more links from other websites.”blog
PageRank算法的输出是一个几率分布,这个几率分布描述了任意一次点击到达互联网上的某一个网页的几率(represent the likelihood that a person randomly clicking on links will arrive at any particular page)。索引
维基百科:http://en.wikipedia.org/wiki/PageRank
4,BM25
http://www.luokr.com/p/7
5,suggestion
在搜索框中输入一个词的时候,会出现提示词,这一技术是如何实现的呢?
最基本的一种方法是trie树+topK。当用户输入一个词的时候,利用trie树找到以这个词为前缀的全部词,而后利用TopK算法找到热度排名前K的几个词。固然,数据库里面会存每一个搜索过关键词的频度数据。
具体参考:http://blog.csdn.net/v_july_v/article/details/11288807
6,如何实现拼写检查
http://blog.afterthedeadline.com/2010/01/29/how-i-trie-to-make-spelling-suggestions/ (还未读,有时间读一读~)
7,倒排索引 (reverse index)
(1)倒排索引是用来作什么的?
索引都是用来寻找数据的。倒排索引就是用来根据内容查找文档的。(在文档中查找内容,叫正排索引)。经常使用在文档检索中。
(2)倒排索引的工做原理?
以下图,给定一个单词,就能够知道全部出现过该词的文档。
能够用这个词在文档出现的次数做为权重
8,图解google搜索过程