クラス WordnetSynonymParser はどうすればデータベースのワードネットに同義語のマップを取得できますか? WordnetSynonimParser クラスがあることを確認しましたが、WordNet で同義語を使用してクエリを展開するという目的に適しているかどうかはわかりません。
質問する
829 次
1 に答える
0
WordnetSynonymParser
ですSynonymMap.Builder
。Reader
適切なをパーサーに追加したら、 を呼び出しbuild()
て a を取得しますSynonymMap
。これは、 a のコンストラクターに渡されSynonymnFilter
ます。その後、 Analyzer のドキュメントAnalyzer
の例と同様に、そのフィルタを の一部として定義する必要があります。
何かのようなもの:
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);
}
};
于 2013-07-19T20:47:23.057 に答える