RobotDog产品方案建议书
2004-10-26 刘鹏飞
1 RobotDog定位
RobotDog是一个具有全文检索和网络spider功能的产品,是世界上第一个基于java技术的支持中文的智能检索平台,可以自动识别不同格式的非结构化信息,着眼于为企业和个人用户提供智能的信息分类和检索功能。不同于一般的网络搜索引擎如google、yahoo等,RobotDog智能搜索引擎具有检索信息快、准确率高的特点。
1.1 背景
企业和组织内部的信息数据,是企业最重要的资源。业内调查表明,目前企业数据每年以200%的速度增长,其中80%的数据以文件、邮件等非结构化数据存放在企业计算机系统的各个角落;企业员工平均每天花两个半小时在寻找资料。
u 组织内存在各种障碍,让信息的运用效率低微:
u 数据量太多,想要取得有用信息,需要耗费大量的时间!
u 数据分布在不同系统中,需要信息时忘记了存放在何处。需要转换多次才能找到。
u 处理新的业务和新问题,不知道组织内部有哪些信息可以使用。
u 采用新的信息管理系统,经常会改变员工的工作习惯,需要花费时间和精力去适应和学习。
u 系统本身实施时间和成本也比较高。
1.2 RobotDog的用途
就信息的存放方式来看,企业员工自己的信息一般是分散存放在自己的工作机上,而企业/组织的信息则集中存放在企业/组织的数据库和文件服务器上,典型表现形式为企业/组织的网站。因而从应用方式来说,RobotDog可以作为一个桌面端程序检索本地文件系统,也可以作为一个服务器产品以internet/intranet方式检索组织内部信息。
1.3竞争对手
1.3.1 微软
微软未来的产品是我们的潜在桌面端应用方式的竞争对手。微软也打算在未来的loonghorn操作系统里加入的智能搜索功能,但因为要支持多种语言,和longhorn本身的发布遥遥无期,我们的RobotDog将能很快占据桌面端市场。微软还有一个致命弱点,它的产品必须运行在它自己大操作系统下,不支持多种平台。而我们的RobotDog技术基于java技术和各种开源技术,本身是一个开放的系统。
1.3.2 海量科技http://www.hylanda.com
海量的DESE嵌入式数据库搜索引擎是我们在服务器端的竞争对手。但它的产品基于c++技术,对微软的技术依赖性较强,而且必须使用sql server数据库;不支持图片、二进制文件等数据格式;它的价格比较昂贵。
而我们的RobotDog不但支持Doc、excel、email、rtf、pdf、ps、chm、html、xml、txt等常见文本信息的全文检索外,我们也支持对图片等其它格式数据的检索。更为重要的是,我们还支持对压缩文件格式如zip、rar、tar、jar、gz、cab等文件的索引。在建立索引时可由用户指定需要建立索引的文件格式,定制非常灵活。我们的数据库使用全文检索库和mysql数据库结合的方式,完全不依赖于操作系统和平台技术。
2 产品方案
从RobotDog的应用方式出发,RobotDog提供两种用户接口。一是面向普通用户的桌面端应用程序:RobotDog个人版。而是面向企业用户的服务器端应用程序:RobotDog企业版。这两个版本的产品都基于RobotDog的核心功能组件,如中文词语切分、全文检索、网络爬虫、多种文件协议支持模块等。典型机构表现如下:
2.1技术线路
RobotDog采用java、J2EE、XML技术,在各种优秀的开源软件的基础上,构筑功能强大的智能检索系统。RobotDog包含许多功能基础件,如中文词语切分、全文检索、网络爬虫、多格式文档和协议的访问接口支持等。这些功能组件除了集成在RobotDog中外,也可单独使用,还可以很方便地基成到各种企业信息系统(如CMS/OA/CRM/ERP/企业协同平台)中。
2.1.1 用户接口
RobotDog的用户可能是企业用户,也可能是单机用户。这就要求为RobotDog提供两种用户接口。对企业用户来说,可能会使用集中式管理,一般来说,使用B/S结构的WEB应用程序比较合理。而单机用户主要是使用RobotDog对本地文件系统进行管理和检索,使用GUI程序比较合适。在第一版中,将先实现企业用户的功能,故将先设计
2.1.2 中文分词功能模块
中文分词功能模块将使用北大计算语言所的中文分词词库,使用修正过的正向最大概率算法MFF,识别率高(准确率在99%以上),可自动识别人名,支持GBK/GB2312/UTF-8/UNICODE等多种编码。为了兼容其它更优秀的分词技术,本模块的程序设计上要充分考虑使用接口进行设计,以方便以后替换更先进的分词技术。北大检索语言所提供了一个C++版本的程序实现,本分词模块将该算法使用java语言重新实现,以避免JNI调用。
2.1.3 全文检索模块
全文检索使用jakarta项目下的lucene开源工程。见http://jakarta.apache.org/lucene/ 。
2.1.4 多文件格式和MIME协议支持接口
本功能模块需要实现对doc、ppt、xls、pdf、ps、rtf、xml、html、txt等格式文件的文字信息提取,为lucene进行索引提供输入流。
本功能模块还要支持对HTTP通信中的多种协议的支持,为Spider和全文检索功能之间提供接口。
2.1.5 Spider功能
Spider包含两层意思,一是自动分析用户定义的网站目录结构,为全文检索提供该网站的整体视图,二是自动分析用户指定的文件系统,对文件进行全文检索。
2.2 RobotDog个人版
个人版提供对本地文件系统的全面管理功能。对Doc、excel、email、rtf、pdf、ps、chm、html、xml、txt文件及其压缩格式可以进行全文检索,对图片等二进制文件可以将相关信息保存在mysql数据库里。这里的相关信息指文件名、路径、大小、作者、创建时间、修改时间、版本历史等。个人版提供一个后台精灵线程,在CPU空闲时自动启动对系统进行索引。一旦建立了索引,用户可使用RobotDog个人版的前端用户界面进行多种方式的搜索,可按关键字、文件名、时间范围等多种手段进行,并且搜索速度非常快。用户使用RobotDog个人版对计算机的文件进行管理后,再也不用担心找不到文件的情况发生了。
相比而言,现在的windows的检索功能查找一个文件或按关键字查找的方式就太落后了,经常是经过长时间的等待后搜索不出任何东西。RobotDog个人版的市场前景非常看好。
2.3 RobotDog企业版
相比个人版,RobotDog企业版需要更多企业级计算特性,比如安全、分布式、多线程、数据备份、事务等功能。
RobotDog企业版建立在J2EE平台,除支持个人版所有功能外,可按多种方式进行索引(增量方式、批量方式、完全重建索引方式),可支持对网站内容进行索引和检索,支持数据的热备份和定期备份。另外,还支持对网站结构进行分析,检查死链接,检查页面完备性,下载整个网站等。
RobotDog企业版提供二次开发,可与企业现有IT系统无缝集成。