搜索引擎是什么?
所谓搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术。搜索引擎依托于多种技术,如网络爬虫技术、检索排序技术、网页处理技术、大数据处理技术、自然语言处理技术等,为信息检索用户提供快速、高相关性的信息服务。搜索引擎技术的核心模块一般包括爬虫、索引、检索和排序等,同时可添加其他一系列辅助模块,以为用户创造更好的网络使用环境--百度百科。
分词和倒排索引:
分词可以说是搜索引起的基石,如果一个搜索引擎没有好的分词器那么这个搜索引擎必然是失败的。
搜索是以词作为最小单元,依靠分词器进行构建,最后会生成一个倒排索引。
分词器就负责拆分我们的语句。比如“my name is nijunyang”。分词的时候会处理掉一些区分度不高的词,英文中“is,are”,中文“的,是”这些之类。
通过分词之后结果再次指向原来的文档,通过value反向生成key(多个),这就是倒排索引。而我们以前的那些正向索引是先key-value,一般来说是一一对应,而且key也不是通过value去生成。
为什么百度搜索很多时候搜出来的东西不如意,这应该就和分词器有关系,因为中文分词和英文分词是有很大区别的,中文断句不同,分出来的key就不一样。
而且很多语句断句不同是有歧义的,比如“武汉市长江大桥”——>“武汉市/长江大桥”,“武汉/市长/江大桥”,如果本意是第二种,但是分词按照第一种,那么搜索“江大桥”,就搜不到这一条数据。
TF-IDF(term frequency–inverse document frequency): 决定搜索结果的匹配度,当前也可以花钱--比如“莆田系”医院。
TF: 词频,一篇文档中出现了多少次,这个词,出现越多说明关联度越高。
DF:文档频率,包含这个词的文档总数。如果大家都有这个词,说明这个词的区分度并不高,比如:是,的
IDF:逆文档。1/DF,包含该词的文档越少,也就是DF越小,IDF越大,则说明该词对这篇文档重要性就越大。
TFIDF: TF*IDF,如果某个词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为该词具有很好的类别区分能力