質問

JavaベースのアプリでWordnetを使用する必要があります。

役に立ちましたか?

解決

私はそれが使いやすいので、私は通常のWordnetのものにJAWSを使います。ただし、類似性メトリックの場合は、こちら。また、このフォルダ、前処理されたWordNetとコーパスデータを含む。このフォルダをプロジェクトフォルダにある "lib"に "lib"という名前の "lib"に配置すると仮定して、このようにコードを使用できます。

JWS ws = new JWS("./lib", "3.0");
Resnik res = ws.getResnik();
TreeMap<String, Double> scores1 = res.res(word1, word2, partOfSpeech);
for(Entry<String, Double> e: scores1.entrySet())
    System.out.println(e.getKey() + "\t" + e.getValue());
System.out.println("\nhighest score\t=\t" + res.max(word1, word2, partOfSpeech) + "\n\n\n");
.

これは次のようなものを印刷し、比較される単語で表されるシジネスのそれぞれの可能な組み合わせの間の類似性スコアを示しています:

hobby#n#1,gardening#n#1 2.6043996588901104
hobby#n#2,gardening#n#1 -0.0
hobby#n#3,gardening#n#1 -0.0
highest score   =   2.6043996588901104
.

どちらの単語のどちらかの意味を指定できるようにする方法もあります。ソースはダウンロードできます。

利用可能なアルゴリズムは次のとおりです。

JWSRandom(ws.getDictionary(), true, 16.0);//random number for baseline
Resnik res = ws.getResnik();
LeacockAndChodorowlch = ws.getLeacockAndChodorow();
AdaptedLesk adLesk = ws.getAdaptedLesk();
AdaptedLeskTanimoto alt = ws.getAdaptedLeskTanimoto();
AdaptedLeskTanimotoNoHyponyms altnh = ws.getAdaptedLeskTanimotoNoHyponyms();
HirstAndStOnge hso = ws.getHirstAndStOnge();
JiangAndConrath jcn = ws.getJiangAndConrath();
Lin lin = ws.getLin();
WuAndPalmer wup = ws.getWuAndPalmer();
.

また、MITのjarファイルを使用する必要があります。 jwi

他のヒント

似たようなワードフォームを見つけるためにジョーには機能があります 詳細は詳細です:

public adjectiveSynset [] getimarilar()はWordnetExceptionをスローし、ここにチェックアウトできるリンクです。 http://jaws/doc/edu/smu/tspell/wordnet/adjectiveSynset.html このリンクは、使用できる詳細を汚染します。

ジョーまたはjwnlがシンセセット間の類似性を計算する方法を提供するかどうかがわかりませんが、シンジセットを検索するための両方を試してみましたが、JAWSが使いやすくなりました。具体的には、シンプル:

    // Specifying the Database Directory
    System.setProperty("wordnet.database.dir", "C:/WordNet/2.1/dict/");
.

は、JWNLのfile_properties.xml要件よりも理解できなくなりました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top