2

org.apache.lucene.analysis.synonymでクラスWordnetSynonymParserを見つけましたが、APIでもgoogleでもその使用例はありません。誰かがそれを経験したことがありますか?

ありがとうございました!

編集:以前はSynExpandクラスがあったことは知っていますが、バージョン3.6では消えました...

私は試してみます:

           try {
                   FileReader rulesReader = new FileReader("wn/wn_s.pl");
               SynonymMap.Builder parser = null;
               parser = new WordnetSynonymParser(true, true, analyzer);
               ((WordnetSynonymParser)parser).add(rulesReader);          
               synonymMap = parser.build();
            } catch (Exception e) {
                            e.printStackTrace();
                            System.exit(1);
            }

しかし、次のエラーが発生します。

java.text.ParseException: Invalid synonym rule at line 109
        at org.apache.lucene.analysis.synonym.WordnetSynonymParser.add(WordnetSynonymParser.java:75)
        at pirServer.QueryClassifier.<init>(QueryClassifier.java:77)
        at pirServer.PIRServer.main(PIRServer.java:32)
Caused by: java.lang.IllegalArgumentException: term: course of action analyzed to a token with posinc != 1
        at org.apache.lucene.analysis.synonym.SynonymMap$Builder.analyze(SynonymMap.java:131)
        at org.apache.lucene.analysis.synonym.WordnetSynonymParser.parseSynonym(WordnetSynonymParser.java:92)
        at org.apache.lucene.analysis.synonym.WordnetSynonymParser.add(WordnetSynonymParser.java:67)
        ... 2 more 
4

2 に答える 2

3

Edi Biceの回答は、私にとって問題の解決に役立ちました。探しているかもしれない他の人のために、lucene 4.0で、空の文字セットでパーサーを初期化します

WordnetSynonymParser parse = new WordnetSynonymParser(true, true, new StandardAnalyzer(CharArraySet.EMPTY_SET));
于 2014-11-24T17:34:11.120 に答える
2

私は同様のことに取り組んでおり、ドキュメントを読んだだけです-したがって、SynonymFilterドキュメントからの関連する注意は非常に新鮮です:

""このトークンストリームは位置の増分を適切に処理できません!= 1、つまり、ストップワードを除外する前にこのフィルタを配置する必要があります ""

http://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/analysis/synonym/SynonymFilter.html

WordNetSynonymParserに渡したアナライザー(投稿では説明していません)がストップワードを削除して(ほとんどの場合と同様に)、次の原因となる可能性があります。

java.lang.IllegalArgumentException:term:posinc!=1のトークンに分析された一連のアクション

于 2012-06-28T15:44:58.300 に答える