简书里基本我所有的文章都是给自己看的,所以文章会有侧重地写肯定不全,不是写给大家看的。
没有看搜索引擎的自然语言处理,pagerank算法,相关度算法,相似度辨别算法,等有时间好好看吧。
仅从测试角度体验了下,分析可能有问题。结果如下:
百度:
总体上:利用自然语言处理的分词+定义相关关键词字典+词频统计+添加bad case
百度是从首页抓起,权重从首页到内页依次降低。
单个网页,搜索先从标题开始遍历,再从内容分析。所以mata,h1,h2要维护好
排名算法:测试发现百度根据的网站内容更新频率,其他因素还没有发现。然后再结合标题和内容出现的相关关键词越多,且该网页点击率越高,则排名越高。
比如我的这篇原创《从社交动机,行为方式,关系链看社交产品》,发现排名最前面的不是我在简书上发的,而是一个营销网站“鸟哥笔记”。。。。。
因为中国大部分草根网民都是用的百度,知识深度不够,所以百度的办法是搜索时不需要考虑相关关键词,百度已经替你考虑好,搜索结果包含相关关键词的数据。但是这样的解决方案,会导致重复内容很多,搜索效率很低。这个百度应该着重考虑的。
谷歌:
利用与英文单次类似的词组分析法+pagerank+内容相关性+网站的PR值+外链
不是从标题开始遍历的,而是从内容分析相关性,具体相关性算法不清楚,可以肯定的是也会利用词频+上下文。
排名算法:网站外链+网站地图等
因为用谷歌的用户基本都是需要翻墙找英文数据,而这些用户基本知识深度相对高,所以搜索时最好用专业术语,学术术语等。
搜索时需要人为添加相关关键词,而且关键词之间相关性要强,如果自己添加的关键词比较偏,搜索结果质量就会很差,但是好处是内容重复性低。
分析最到位的是以下两篇:
二、论坛的文章 :Google 做分词的话就是把问题看成一个概率问题:如果中文网页中哪些字经常一起出现,那麽它们很有可能就是一个词。看哪些词后面会跟的地得,的地得后面有常跟哪些词,语法结构也就出来了。(具体的模型参见吴军《数学之美》)。解题思路就是把所有抓到的中文网页往 MapReduce 裡一丢,参数算出来就好了。评估分词质量的方法也很简单,就拿新模型放到网页检索的模型裡,做个实验看质量有没提升就行。这套方法结果之好,基本把中文分词做成了一个没有多少悬念的简单问题,而且基本不需要中文语言专家的参与(自然也没有谁更懂中文的问题)。同时这也就是 Google 做 Translate 的思路。这裡面基本方法其实非常简单,没什麽祕密可言,但是你得先有这麽多的网页数据,还得有大机群,有分佈计算框架,还有可复用的模型……
等搜索原理看的差不多了,再更新把~~