WordnetSynonymParserのコンストラクターは、次の3 つのパラメーターを受け入れてください。
boolean dedup, boolean expand and an Analyzer.
しかし、重複除去と拡張とは何ですか? 理解できない。
ドキュメントは引用しています:
dedup が true の場合、同一のルール (同じ入力、同じ出力) が 1 回だけ追加されます。
どういう意味ですか?例?そしてパラメータexpand?
助けてください... ありがとう
dedup値は に直接渡され、そのSynonymMap.Builderとおりに実行されます。同一のシノニム ルールが2 つ存在する場合は、そのうちの 1 つだけが使用されます。true設定しない理由がない限り、これを設定することはおそらくかなり安全です。
を理解するexpandには、次のように使用します。
if (expand) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
add(synset[i], synset[j], false);
}
}
} else {
for (int i = 0; i < size; i++) {
add(synset[i], synset[0], false);
}
}
したがって、expand が true の場合、セット内のシノニムの可能な組み合わせごとに、結果のセットにシノニムが追加されます。false の場合、各同義語がリスト内の最初の同義語のみに置き換えられるように、同義語ルールが作成されます。walkたとえば、「 」、「stroll」、および「amble」という同義語のセットがあるとします。
展開すると、これは類義語を生成します。
walk -> walk
walk -> stroll
walk -> amble
stroll -> walk
stroll -> stroll
stroll -> amble
amble -> walk
amble -> stroll
amble -> amble
拡張しないと、次のようになります。
walk -> walk
stroll -> walk
amble -> walk
一般に、これを false に設定して、同義語の一致が 1 つの主要な同義語に減るようにする傾向がありますが、それはニーズによって異なります。