私の問題の紹介: ユーザーは用語を検索でき、RitaWordNet は getSenseIds() というメソッドを提供して関連する意味を取得します。今では、距離を定義するさまざまなアルゴリズムを持つWS4J (Java の WordNet 類似性、http://code.google.com/p/ws4j/ ) を使用しています。「ユーザー」を検索すると、次の結果が得られます。
- ユーザー
- 搾取者
- 薬物使用者
Lin-distance は、WS4J の 2 つの用語を比較することによって測定されます (targetWord と仮定しますか?)。
- 類似度: user と: user = 1.7976931348623157E308
- 類似度: ユーザーと: 利用者 = 0.1976958835785797
「ユーザー」の意味が最も適切で正しい答えであるという提案をエンドユーザーに返したいと思いますが、問題は、これが文の残りの部分に依存することです。
例: 「老人は公共交通機関の常用者だった」、「若者は NLP を勉強している間に薬物使用者になった..」.
senserelate プロジェクトには、私が見逃しているものが含まれていると思います。このスレッドも私の検索中に取り上げられました: word disambiguation algorithm (Lesk アルゴリズム)
うまくいけば、誰かが私の質問を受け取りました:)