第四十六章 搜索引擎的研发(2/3)
目前搜索引擎项目最大的困难在于,没有可供参考的对象。
虽然可以参考一些国外的资料和论文,但因为涉及到一些核心技术,是无法通过网络查找到的,都需要自行开发。
隋波点头表示同意。
这个时候google还不存在呢,要到9月份的时候,布林和佩奇才会在加州一个车库里开始创业。
百度更是没影的事儿,老李还在搜信里混呢。
现阶段,无论是国外的lycos、altavista、infoseek(搜信),雅虎搜索引擎;还是国内搜狐推出的所谓全中文搜索引擎,都还是以人工分类目录为主的网站检索服务。
说是搜索引擎,其实更像是目录导航网站……
尽管其中一些搜索引擎已经有了网页关键词检索、用户点击量排序等一些创新,但本质上,还是需要大量的人工编辑的目录式搜索引擎(directorysearchengine)。
而隋波希望王川团队开发的,则是全新的,通过技术程序,自动在互联网上通过超链接网页进行全文检索的机器人搜索引擎(robotsearchengine)。
这样的话,就需要从头做起,开发一整套完整的技术体系。
其中包括网络爬虫(webcrawler)服务、索引服务、缓存服务、日志服务等几大模块,各模块之间互相影响,构成了整个搜索引擎体系。
从开发量上,技术难度是远远大于目录式检索技术的。
首先说网络爬虫,也称网络蜘蛛(webspider),这项技术是基于web的自动化浏览程序,通过网页链接(url),爬虫不断的通过互联网中获得新的网页数据,下载页面数据形成后台数据库。
可以说,网络爬虫抓取数据是搜索引擎工作流程的第一步。
爬虫的体系架构直接关系到搜索引擎每天数据的采集量,而抓取策略则关系到搜索结果的数据质量,数据的更新策略则关系到系统资源的利用率。
这只是第一步,采集了大量数据信息之后,还需要通过自然语言处理(nlp),将文本信息分解为结构化数据和价值性数据。
这里面就又存在一个问题,目前国外的搜索引擎都是英文分词,而中文比较特殊,最小单位是字,但具有语义的最小单位是词。
所以,在中文分词这一部分,就需要技术团队单独进行开发。
通过建立词库、采用条件随机概率分布模型、词性标注、语义相似度、已存句法分析、情感倾向分析等,通过各种模型判断,让程序理解抓取到的关键词中文的语义,才能提高搜索的准确性和查全率。
这还只是其中比较小的开发困难。
比如,搜索引擎的核心就是通过海量数据抓取后的快速检索,而抓取的数据越多,当庞大的数据存储在数据库里,就需要构建快速存取数据的分布式存储架构。
再比如,为了让用户在最短的时间内获得想要的搜索结果,就需要后台系统不断的执行数据抓取和建立索引等操作。
本章未完,点击下一页继续阅读。