2

WordnetSynonymParserのコンストラクターは、次の3 つのパラメーターを受け入れてください。

boolean dedup, boolean expand and an Analyzer.

しかし、重複除去と拡張とは何ですか? 理解できない。

ドキュメントは引用しています:

dedup が true の場合、同一のルール (同じ入力、同じ出力) が 1 回だけ追加されます。

どういう意味ですか?例?そしてパラメータexpand

助けてください... ありがとう

4

1 に答える 1

2

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

于 2013-08-29T15:41:54.717 に答える