因特网包括成百上千的网站,设计数以亿计的资源。因此需要通过搜索引擎了快速定位到所需资源,搜索引擎技术对网站的运营具有非常重要的意义。
搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序收集互联网上的信息,在对信息进行组织和处理后,将处理后的信息显示给用户,是为用户提供检索服务的系统。
是名副其实的搜索引擎,代表有谷歌、百度。他们从互联网提取各个网站的信息(以文字为主),建立起数据库,并能检索与用户查询条件相匹配的记录,按一定顺序行会结果。
根据搜索结果的来源不同,全文搜索引擎可分为两类,一类拥有自己的网页抓取、索引、检索系统,有独立的蜘蛛程序(Spider)(或称爬虫Crawler、机器人Rovot),能自建网页数据库,搜索结果直接从自身的数据库中调用;另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果。
特点是搜全率比较高。
搜索引擎的自动信息搜索功能分为两种:一种是定期搜索,即内阁一段时间,搜索引擎自动派出蜘蛛程序,对一定IP地址范围类的互联网进行检索。另一是提交网站搜索,即网站的拥有者主动向搜索引擎提交网址。
是将网站分门别类地存放在相应的目录中,用户在查询信息时,可以选择关键词搜索,也可按分类目录逐层查找。严格意义上,不算真正的搜索引擎,只是按目录分类的网站链接列表,代表有雅虎、新浪分类目录搜索。
元搜索引擎(Meta Search Engine)在接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。在搜索结果方面,有的直接按来源排列搜索结果,有的则按自定规则将结果重新排列。
垂直引擎专注于特定的领域和搜索需求,在其特定的领域有更好的用户体验。
特点是所需的硬件成本低、用户有需求特定、查询方式多样。
网页抓取程序顺着网页中的链接,连续地抓取网页,被抓取的网页被称之为网页快照。
搜索引擎抓到网页后,还要做大量的预处理工作,才能提供检索服务。其中最重要的是提取关键词,建立索引文件。其他预处理工作包括去除重复网页、分词、判断网页类型、分析超链接、计算网页重要度/丰富度等。
用户输入关键词进行检索,搜索引擎从索引数据中找到匹配该关键词的网页。为用户提供网页标题和URL,同时提供一段摘要和其他信息。
分词时将连续的字序列按照一定的规范重新组合成词序列的过程。
按照一定策略将待分析的汉字串与一个词典中的词条进行匹配,若再词典中找到该字符串,则匹配成功。
正向最大匹配算法(FMM):设m=5,根据正向最大匹配原则,先对句子取前5个字符,在词典中进行查找:若匹配,则切下该词,对剩余句子继续迭代;若不匹配,则m=m-1,进行匹配。
中文中90%的文本,FMM和RMM(逆向最大匹配)结果完全重合且正确;
9%的句子FMM和RMM结果不同,但其中必有一个正确(歧义检测成功);
1%的句子FMM和RMM结果都不正确(无论是否相同)
故,双向最大匹配算法(BMM)在中文信息系统应用广泛。
在给定大量的已经分词的文本的前提下,利用统计机器学习模型学习词语切分的规律(训练),从而实现对未知文本的切分。
让计算机模拟人对句子的理解。基本思想是在分词的同时进行句法、语义分析。
中文文本中,交际型歧义和组合型歧义出现的比例约为1:22。
全切分方法:依据词表,给出输入文本的所有可能切分结果,然后根据一定的原则(切分次数最少或概率最大),选择一种结果作为最终切分结果。
指已有的词表中没有收录的词,或者已有的训练语料中没有出现的词(集外词)。
对于大规模真实文本来说,未登录词对于分词精度的影响远远大于歧义切分。
如果将一个网页抽象成一个个节点,而将网页之间的链接理解成一条有向边,则可以把整个互联网抽象为一个一个包含页面节点和节点之间联系边的有向图,称之为web图。
页面内某个出链附近的一些描述性文字。
用户随机选择一个网页作为上网的起始网页,从该网页类所含的超链接随机选择一个页面继续浏览,重复进行,直到对某个主题感到厌倦而重新随机选择另一个网页浏览。
将互联网网页按照一定的规则划分为两个甚至多个子集,从某个具有特殊性质的子集出发,给与子集类网页初始权值,再根据这个特殊子集类网页和其他网页之间的连接关系,按照一定的方式将权值传递给其他网页。
思想:重要的网址,其连接的网页重要性也高。
基本思想:
转移矩阵每一列代表一个节点,该节点所有出链平分权值。如,A对B、D均有链接,则矩阵第一列为[0, 0.5, 0, 0.5]