使用 IBM OmniFind Enterprise Edition 结合分类词典文件实现基于搜索结果分类
2008-11-08 16:32:41 来源:WEB开发网因此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”。因此我们创建的相应的正则表达式为:
更多精彩
赞助商链接