0

バイナリツリーデータ構造を使用して辞書を設計していました。しかし、私はバイナリツリーデータ構造から同様の意味の単語を見つける必要があります。私は、バイナリツリーのデータ構造がそれを達成するために変更できるかどうか、またはこの要件をサポートする他のデータ構造があるかどうか疑問に思っています。類似の意味を持つ単語を見つけるのに最適なデータ構造

+0

類似の意味の単語はすべて同じグループに属しますか?私。 AがBとCに類似しているならば、BもCと同様ですか?あるいは、ある種の特徴ベクトルを使って比較されるべき単語であり、ここで十分な距離が「らしさ」を構成していますか? –

+1

たとえば、子犬は犬にとって似た言葉です。ですから、もし私が犬を入力すると、同様の単語の出力として子犬を得るべきです。 – KItis

+1

はい。しかし、「競争」が「競争」と「民族性」の両方に類似している場合、明らかに「競争」は「民族性」にはまだ似ていません。では、このケースをどう扱うのですか?あなたは "人種"の2つの意味が異なる言葉であると考えますか? –

答えて

3

Disjoint Setsデータ構造を使用して、

シノニムのすべてのパックには、代表的な単語があります。 2つの単語が同じ代表者を共有する場合、それらは同義語です。

すべての語彙がグループに割り当てられたら、マップ(辞書、ハッシュマップ)にグループを含むリストを入力します。すべての単語の鍵は代表的なものです。

だから、与えられた単語の同義語を得るために、あなたがする必要があります。
-takeこの言葉
もちろん、このマップエントリ

からの同義語のこの代表
-extractリストについては、-findマップエントリの代表、同音異義語(同じ単語の異なった意味)は、Christofer Ohlssonが気づいたように、問題をより困難にします。

関連する問題