【问题标题】:Lucene's WordnetSynonymParserLucene 的 WordnetSynonymParser
【发布时间】:2014-03-24 15:45:36
【问题描述】:

我正在尝试使用 Lucene 的 WordnetSynonymParser 类来创建同义词过滤器,但我不确定我打算将哪些 prolog 文件传递​​给 parse() 函数。

文档说:

请参阅http://wordnet.princeton.edu/man/prologdb.5WN.html 格式说明。

所以我已经下载了 prolog 文件,但我不确定我应该传入哪些文件,以及我应该如何处理。

有人可以指点我正确的方向吗?

感谢您的帮助

编辑:

感谢 femtoRgon 为我指明了 wn_s.pl 的方向。我现在得到了以下代码:

  Analyzer tempanalyzer = new SimpleAnalyzer(Version.LUCENE_40);

  WordnetSynonymParser synparser = new WordnetSynonymParser(true, true, tempanalyzer);

  FileReader doctoread = new FileReader("wn_s.pl");

  synparser.parse(doctoread);

  SynonymMap synmap = synparser.build();


  Analyzer analyzer = new Analyzer() {
      @Override
       protected TokenStreamComponents createComponents(String fieldName, Reader reader) {



        EnglishAnalyzer enganalyzer = new EnglishAnalyzer(Version.LUCENE_40);
        CharArraySet engstopset = enganalyzer.getDefaultStopSet();
         Tokenizer source = new StandardTokenizer(Version.LUCENE_40, reader);
         TokenStream filter = new SynonymFilter(source, synmap, true);
         filter = new StandardFilter(Version.LUCENE_40, filter);
         filter = new LowerCaseFilter(Version.LUCENE_40, filter);
         filter = new StopFilter(Version.LUCENE_40, filter, engstopset);

         /*TokenStream filter = new StandardFilter(Version.LUCENE_40, source);
         filter = new LowerCaseFilter(Version.LUCENE_40, filter);
         filter = new StopFilter(Version.LUCENE_40, filter, engstopset);*/
         return new TokenStreamComponents(source, filter);
       }
     };

然后我计划将其传递给 IndexWriterConfig,但是我得到以下编译错误:

IndexFilesDB.java:133: cannot find symbol
symbol  : method parse(java.io.FileReader)
location: class org.apache.lucene.analysis.synonym.WordnetSynonymParser
synparser.parse(doctoread);

我仍然不完全理解 WordnetSynonymParser,这是与类有关的错误还是只是文件未正确传递的简单错误?

感谢您的帮助。

【问题讨论】:

    标签: lucene


    【解决方案1】:

    wn_s.pl 包含同义词集指针(即,它定义了同义词组),据我所知,这是同义词过滤器所需要的。我会从那开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-30
      • 1970-01-01
      • 2023-03-12
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      相关资源
      最近更新 更多