使用IBM OmniFind Enterprise Edition结合分类词典文件实现基于搜索结果分类

本文介绍了如何使用IBM OmniFind EntERPrise Edition结合IBM开源非结构化信息管理体系结构Unstructured Information Management Architecture(UIMA),来扩展IBM OmniFind Enterprise Edition搜索引擎的语意搜索和结果分类。并通过一个具体的例子,来展现IBM OmniFind Enterprise Edition 强大的语义搜索功能。

背景介绍

搜索引擎是用于主动搜索计算机中的数据信息,并对其进行分析自动建立索引,其索引内容存储在可供查询的大型数据库中。当用户进行查询时,搜索引擎会告诉用户所要查找的内容在哪,并提供相关的链接以便查询。

处于当前这样一个信息爆炸的时代,能够有效地查找到所需要的数据尤为重要。大量的数据信息需要被自动化的进行索引并提供搜索。因此搜索引擎的作用也就变得越来越重要。而如何能够搜索要所需要的数据,如何保证搜索的质量则成为了当前搜索引擎开发人员首要解决的问题。

当前搜索引擎的主要工作方式都是基于关键字的搜索。比如Google、AltaVista、Excite、Baidu等。它们都是通过在互联网上提取各个网站的信息来建立自己的数据库,并向用户提供关键字查询服务。当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的内容,便将结果的链接返回给用户。基于关键字的搜索时当前搜索引擎采用的主要手段,但是基于关键字的搜索存在致命的弱点,就是索要搜索的内容中必须包含有查找时输入的关键字。这样,就会严格限制搜索到的结果。例如:当我们将“自然灾害”作为关键词查找时,搜索引擎返回的结果的内容中一定包含了“自然灾害”这个词,但是与自然灾害相关的内容比如:地震、火山、海啸、龙卷风、泥石流等一系列的信息,搜索引擎就查询不到了。

因此IBM OmniFind EntERPrise Edition企业级搜索引擎结合了IBM非结构化信息管理体系结构Unstructured Information Management Architecture(UIMA),有效地实现了语义搜索及其结果的分类,从而解决了这个问题。搜索引擎管理人员只需要配置,并根据需要编写一定程序,就能让搜索引擎具有一定“智能”性。这样不但可以查找到关键词搜索出的结果,同时也可以查找出于关键词相关的一些内容。

实现原理

UIMA实现语义分析引擎的原理

首先需要了解下什么是UIMA。结构化信息管理体系结构Unstructured Information Management Architecture (UIMA)是IBM开源的可以在字处理文档、电子邮件、视频和其他非结构化信息中搜索特定的文本甚至概念。UIMA是将非结构化数据转化为结构化数据的桥梁,也是信息内容分析再加工的一个标准工具。

UIMA 在对文件进行分析建立语义索引的过程主要包括以下几个步骤:

若要对文件进行语义分析,就需要特定的解析复杂字符串的标准方法,在UIMA中我们更多的是使用正则表达式来实现。因此首先需要确立语义规则,创建相应的正则表达式;

根据创建的特定的正则表达式,UIMA会对于文件内容进行匹配,对于符合规则的字符串,UIMA会为之创建一个annotation对象,该对象中主要包含3个关键属性:字符串开始位置、字符串结束位置、字符串语义索引关键字。之后将该对象加入到UIMA 语义索引中。因此,当文件中有多少个匹配特定的正则表达式的字符串,UIMA 语义索引中就会包含相应个数的annotation对象。

举一个简单的例子:以Animal为例,我们的.txt文档中,包含了“Animal”、“pet”、“dog”、“tiger”等词,但是我们需要使用UIMA对整个文档进行语义分析后,将所有属于动物的词都归为一类,并称之为“animal”。因此我们创建的相应的正则表达式为:

清单1. 表达动物的正则表达式

private Pattern animal = Pattern.compile("Animal|pet|sheep|tiger|lion|cat|dog|duck");
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error: The previous line is longer than the max of 90 characters ---------|

这样就会将文件内容中所有满足的内容通过匹配提取出来,之后为每一个字符串创建一个annotation对象,该对象记录给一个字符串的起始位置,并赋予共同的语义关键词“animal”。这样语义关键词就是入口点,通过该关键词,就可以找到文件中所有满足条件的词的具体位置。

图 1. 建立语义索引的过程

使用IBM OmniFind EntERPrise Edition结合UIMA实现语义搜索和分类的原理

基于语义搜索和分类的实现,是通过 IBM OmniFind Enterprise Edition的关键词索引结合Unstructured Information Management Architecture(UIMA)的语义分析实现的。IBM OmniFind Enterprise Edition 根据关键词搜索文件内容后,会将根据 UIMA 进行语义分析的结果存储在语义查询索引(semantic search index)中。这样在进行查找时,程序除了查找建立的关键词索引的同时,也会进入语义查询索引中继续查询,从而将基于关键词查找的结果和语义查找的结果同时返回给用户。

UIMA实现语义分析,并将结果加入到索引的过程是在IBM OmniFind Enterprise Edition的Parse阶段实现的。IBM OmniFind Enterprise Edition对收集到的文件进行解析,并按 UIMA中定义的规则建立语义索引。最终将关键词索引及语义索引一起加入到索引文件中。如图所示:

图 2.实现语义分析并将结果加入到索引的过程

时间: 2025-01-22 16:01:42

使用IBM OmniFind Enterprise Edition结合分类词典文件实现基于搜索结果分类的相关文章

求解! 使用IBM OmniFind Yahoo! Edition 部署搜索企业共享文档

问题描述 使用IBMOmniFindYahoo!Edition部署搜索企业共享文档环境:windows共享文档:office.pdf问题:搜索pdf,搜索的结果,第一行显示的untitled正文部分正常请教如何解决这个问题,是需要设置pdf原文档的属性值?修改搜索引擎部分配置属性?

整合WebSphere ILOG JRules与IBM Content Manager Enterprise Edition

简介:自动决策在内容管理系统中变得越来越重要.核心应用逻辑中的外化决 策逻辑能够根据动态的业务需求管理和快速修改业务规则.IBM WebSphere ILOG JRules 是一个业务规则管理系统(BRMS),它有许多制作.部署和管理业务规则 的功能,管理者可以通过它更好.更快地作出决策.IBM WebSphere ILOG JRules 和 IBM Content Manager Enterprise Edition 的整合扩大了内容管理解决方案 在一个组织中更有效管理业务决策的范围. 本文首

DB2 Warehouse Enterprise Edition V9.5的安装与配置,第1部分

简介 DB2 Warehouse 结合了IBM DB2的强大数据支持以及一组IBM商业智能(Business Intelligence)产品,提供了一个全方位的商业智能平台及其应用工具,企业可以通过这些组件建立和部署下一代数据仓库的分析解决方案. 文章将详细描述DB2 Warehouse Enterprise Edition Version 9.5的图解安装过程以及相关组件的简要介绍,并对安装过程可能遇到的常见问题进行解答. DB2 Warehouse 概述 DB2 Warehouse V9.5

使用IBM SmartCloud Enterprise和WebSphere DataPower实现混合云

随着 IBM 客户开始规划他们未来三至五年的云战略,他们开始认识到没有万能的解决方案.最佳的云战略是硬件.软件.即用即付的服务和云提供的业务解决方案的明智组合:该解决方案利用跨战略.迁移.集成和管理的成熟专家服务进行全面补充,并由供应商和合作伙伴生态系统进行提供.客户需要在私有云中运行其业务的一些要素,还必须集成在公共云中运行的一些元素.例如,某些应用程序在客户企业防火墙内(私有云)运行,而另一些应用程序则在 IBM SmartCloud Enterprise(公共云)上运行,这样可以优化性能.

简介IBM SmartCloud Enterprise V2.2 中的新 API

IBM SmartCloud Enterprise V2.2 通过解决方案门户网站的图形用户界面 (GUI) 和应用程序编程接口 (API)介绍了一些可供用户使用的新特性.在本文中,我们主要关注 API 的使用,并列举了几个样例用例,介绍了几个函数,而且为下列特性提供了代码样例: 用户管理 来宾消息传送 服务产品管理 服务实例管理 存储单元配置 用户使用具象状态传输 (Representational State Transfer, REST) 请求访问 SmartCloud Enterpris

IBM SmartCloud Enterprise管理(四) 使用 ICCT 创建镜像

软件包是可以部署在虚拟机实例上的软件安装文件.配置文件和元数据的集合.在本系列的最后一篇文章 中,作者将介绍三种使用 ICCT 创建镜像来捕获定制镜像的机制,以及通过更新语义拓扑结构文件在镜像与软 件包之间手动添加依赖关系的机制. ICCT 执行记账任务,并提供一个分步流程和一个图形化 UI 来便 捷地创建软件包.定制虚拟机实例和捕获镜像.本 系列 文章将展示如何使用 ICCT 创建一个软件包,然后在 IBM SmartCloud Enterprise 上注册和维护它. 本系列的前几篇文章介绍了

IBM SmartCloud Enterprise管理(二) 通过 ICCT 使用和维护软件包

本文将介绍如何维护 IBM SmartCloud Enterprise 上的软件包,通过一个示例来介绍使用一个预先安装的 软件包捕获一个新私有映像以及在 Linux 虚拟机使用该软件.您应该对云计算概念有一个基本了解.要尝试 本文的步骤,需要一个 IBM SmartCloud Enterprise 用户帐户. 在 IBM SmartCloud Enterprise 管 理,第 1 部分:使用 ICCT 为 VM 创建软件包 中,您已经学习了如何为 IBM SmartCloud Enterpris

IBM SmartCloud Enterprise管理(一) 使用 ICCT 为 VM 创建软件包

本文提供了 IBM Image Construction and Composition Tool 的概述,并演示如何创建和维护 IBM SmartCloud Enterprise 上的软件包.用一个示例来介绍创建 Google Chrome 软件包的步骤,包括定义 Chrome 软件包元数据,添加安装脚本,以及在 SmartCloud Enterprise 上注册.您应该对云计算基本概念有 一个基本的了解.要尝试本文的步骤,需要一个 IBM SmartCloud Enterprise 用户帐户

Windows 2003 Enterprise Edition IIS6 .ASP目录执行缺陷_漏洞研究

写这篇文章的前几天我发现了IIS6更大的漏洞,让我高兴了整整24小时.可惜的是那个漏洞是我手工配置出来的.实现方法是将ASP后辍改为JPG后辍,将JPG复制到IIS发布目录中,发现JPG中的ASP代码会正确执行.看我是如何配置出的错误,这个方法也可以用来配置后门.Windows 2003 Enterprise Edition是微软一款新推出的操作系统. Windows 2003 IIS6处理文件夹扩展名的时候出错,导致放在该目录中的JPG图片会自动执行其中的ASP代码.当JPG后辍的文件含有AS