【问题标题】:How do pass the wordnet database in a SynonimMap in Lucene?如何在 Lucene 的 SynonimMap 中传递 wordnet 数据库?
【发布时间】:2013-07-19 20:16:08
【问题描述】:

WordnetSynonymParser 类我如何获得数据库 wordnet 的同义词映射?我看到有 WordnetSynonimParser 类,但不知道它是否适合我的目的,通过 WordNet 中的同义词扩展查询。

【问题讨论】:

    标签: java lucene wordnet


    【解决方案1】:

    WordnetSynonymParser 是一个SynonymMap.Builder。将适当的Readers 添加到解析器后,调用build() 以获取SynonymMap,该SynonymMap 将传递到SynonymnFilter 的构造函数中。然后应该将该过滤器定义为Analyzer 的一部分,类似于Analyzer documentation 中的示例。

    类似:

    Analyzer analyzer = new Analyzer() {
     @Override
      protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
        Tokenizer source = new FooTokenizer(reader);
        TokenStream filter = new FooFilter(source);
        //etc...
    
        WordnetSynonymParser parser = new WordnetSynonymParser(true, false, analyzer);
        parser.add(wordnetReader);
        filter = new SynonymFilter(filter, parser.build(), true);
    
        return new TokenStreamComponents(source, filter);
      }
    };
    

    【讨论】:

      猜你喜欢
      • 2012-10-17
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 2021-05-04
      • 2012-05-17
      相关资源
      最近更新 更多