0

私の問題の紹介: ユーザーは用語を検索でき、RitaWordNet は getSenseIds() というメソッドを提供して関連する意味を取得します。今では、距離を定義するさまざまなアルゴリズムを持つWS4J (Java の WordNet 類似性、http://code.google.com/p/ws4j/ ) を使用しています。「ユーザー」を検索すると、次の結果が得られます。

  • ユーザー
  • 搾取者
  • 薬物使用者

http://wordnetweb.princeton.edu/perl/webwn?s=user&sub=Search+WordNet&o2=&o0=1&o8=1&o1=1&o7=&o5=&o9=&o6=&o3=&o4=&h=0

Lin-distance は、WS4J の 2 つの用語を比較することによって測定されます (targetWord と仮定しますか?)。

  • 類似度: user と: user = 1.7976931348623157E308
  • 類似度: ユーザーと: 利用者 = 0.1976958835785797

「ユーザー」の意味が最も適切で正しい答えであるという提案をエンドユーザーに返したいと思いますが、問題は、これが文の残りの部分に依存することです。

例: 「老人は公共交通機関の常用者だった」、「若者は NLP を勉強している間に薬物使用者になった..」.

senserelate プロジェクトには、私が見逃しているものが含まれていると思います。このスレッドも私の検索中に取り上げられました: word disambiguation algorithm (Lesk アルゴリズム)

うまくいけば、誰かが私の質問を受け取りました:)

4

1 に答える 1

2

WordNet::SenseRelate::AllWords を試してみてください - http://maraca.d.umn.eduにオンライン デモがあります。

于 2013-11-19T02:01:45.300 に答える