CICADA的构建理论基于“全文搜索+数据库检索+搜索应用”。全文搜索的诞生和数据库在大文本检索时的效率不高有极大的关系,在这个角度全文搜索成为了数据库搜索的有力补充。但是全文搜索并不能完全代替数据库检索在企业级应用里的作用,比如在准确检索所属部门、分布时间段、作者这样的精确字段时,或者要求按照某一字段逻辑进行结果的排序,全文搜索的模糊性就会带来很大的困扰和不精确性。在应用互联网搜索时,我们可能不存在也不可能做到这样精准的字段要求,但在企业级应用中这种需求就比比皆是。从理论角度上来说,全文搜索和数据库搜索两者在应用条件不同的情况下表现互有优劣,其中一方不会被另一方完全代替,而是应该相辅相成互为补充,为用户呈现最精准的知识和信息获取。
对于企业级用户而言,仅仅是搜索结果集的呈现还远远不够,因此CICADA提供了丰富的搜索应用,通过丰富多彩的应用形式,为用户提供不同角度、不同体验的搜索方式,如搜索引擎时光隧道、个人搜索年轮、知识关联、个性化查询器等,通过这些应用提升用户感受,强化系统和用户之间的互动关系。
CICADA的搜索流程示意图
基于以上,CICADA提出并采用了全新的“全文搜索+数据库检索+搜索应用”三位一体技术与产品理念,既保证了系统通过全文搜索获取快速、准确的结果,又通过结合数据库搜索的方式实现时间、来源、好评度等多种数据库字段的查询,这两者的结合使搜索结果更为符合用户的搜索诉求。同时加入搜索应用的诸多功能从应用的角度为用户提供了更为得心应手的应用,从而让系统更为智能的为用户提供服务。而这一知识搜索引擎的技术创新,也成为CICADA的产品发展方向与核心能力。 与英文的自然分词不同,中文分词存在着众所周知的难度,把中文的句子切分成有意义的词,就是中文分词,也称切词。目前还是一个难题———对于需要上下文区别的词以及新词(人名、地名等)很难完美的划分。国际上将同样存在分词问题的中国、日本和韩国并称为CJK(Chinese Japanese Korean)。分词机制的好坏,直接影响到用户对搜索结果的满意度,所以如何分词是搜索引擎的重中之重。
到目前为止,中文分词包括三种方法:1)基于字符串匹配的分词;2)基于理解的分词;3)基于统计的分词。以下是三种分词方法的比较: 分词方法 基于字符串匹配分词 基于理解的分词 基于统计的分词 歧义识别 差 强 强 新词识别 差 强 强 需要词典 需要 不需要 不需要 需要语料库 否 否 是 需要规则库 否 是 否 算法复杂性 容易 很难 一般 技术成熟度 成熟 不成熟 成熟 实施难度 容易 很难 一般 分词准确性 一般 准确 较准 分词速度 快 慢 一般 Cicada知识搜索引擎系统采用“Cicada's wings knife”作为分词器,取其分词快捷、细致之意。这套分词系统采用了“基于字符串匹配分词和统计分词”相结合的方式。利用统计方法进行词典的动态扩展,即对搜索的词汇频率进行自主的阈值设置,对于超过阈值的词汇自动加入学习词库,从而克服了基于词典算法对完全词典的依赖,利用词典对统计的一些参数进行学习评估,避免了以往靠实验得到这些参数的不确定性,同时将RMM算法与统计算法结合起来。除了通过自主学习获得新词以外,也可以通过手工维护的方式对专业词库进行维护。目前,Cicada的基本分词词库已经达到50万条,金融、税务、制造、咨询等专业词库达到了20万条左右。
与目前流行的算法相比,Cicada's wings knife分词器在准确率,召回率,分词效率综合平衡上有明显优势。具体对比如下。 对比项 Cicada's wings knife Standard
(Lucene) CJK
(Lucene) Paoding 分词速度 快 非常快 快 快 分词准确性 好 差 差 较好 歧义识别 一般 差 差 差 新词识别 好 差 差 差 需要词典 需要 否 否 需要 需要语料库 需要 否 否 否 需要规则库 否 否 否 否 算法复杂性 复杂 简单 简单 一般 技术成熟度 成熟 成熟 成熟 成熟 实施难度 大 小 小 中 学习能力 强 弱 弱 弱 可维护性 强 弱 弱 中 基于CICADA的企业(知识)门户示意图
基于知识搜索引擎,可以对多种数据源进行索引和查询,同时通过搜索规则的建立可以将有指定特征的条件信息,返回到信息门户界面上,这就形成了统一的企业(知识)门户,用户可以在这个门户上获取最新的各个IT系统和数据源的规则性信息。 定制搜索范围:用户可以根据自己的要求,选择想要搜索的知识范围,而不是每次都搜索全部数据库,这样可以大大减少搜索误差,可以根据业务或知识分类,定义出不同的个性化搜索项。
搜索推荐服务:根据搜索过程的监控,推荐搜索的热点词汇;搜索行为推荐可以推荐搜索当前词汇的用户,还搜索了哪些词汇;推荐跟当前关键词相关联的关键词。通过主动的推荐服务,让用户可以快速的找到自己所需。
搜索联想词。记录搜索人员常用的搜索关键词,当用户输入关键词的时候,自动联想提示其他用户常用频率较高的搜索关键词,以供选择。以高频率的关键词引导用户使用,提高命中率。
文件服务器全文搜索:对于文件服务器,进行数据索引,并定制出一个全文搜索引擎,能够对文件夹中的文档名称和内容进行搜索。
多格式附件全文搜索:对知识发布时所带的附件进行全文搜索,可以搜索附件名称和内容,按照附件格式进行搜索,并实现附件的html格式快照,打开快照可以预览附件的内容。
逻辑关系高级搜索功能:支持包含、完全包含、至少包含一个、不包含等搜索的逻辑关系,便于用户根据自己的查询条件,设计查询公式。
在结果中搜索功能:在搜索的结果中,进行二次筛选式搜索,实现递进式的搜索命中。
个性化查询器:用户可以根据自己的使用习惯,将系统提供的查询条件进行组合后,保存为一个个性化查询器,输入关键词后,系统会按照查询器的条件组合进行搜索。
时光隧道:用户可以按照时间轨迹对搜索结果进行排序,查找到距离自己最近或者某个时间段的具体信息,排除其他非所需时间段的信息。