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 つの主要な同義語に減るようにする傾向がありますが、それはニーズによって異なります。