使用 IBM OmniFind Enterprise Edition 结合分类词典文件实现基于搜索结果分类
2008-11-08 16:32:41 来源:WEB开发网清单 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 中定义的规则建立语义索引。最终将关键词索引及语义索引一起加入到索引文件中。如图所示:
更多精彩
赞助商链接