2

単語の同義語を見つけるために、以下のコードがあります。以下のソース コードには 1 つの問題があります。ユーザーからの言葉なので、そのPOSタイプはわかりません。したがって、単語の POS タイプがわからない場合、どのように単語の IIndexWord を見つけることができますか?

IIndexWord idxWord = dict . getIndexWord ("dog", POS. NOUN );
IWordID wordID = idxWord . getWordIDs ().get (0) ; // 1st meaning
IWord word = dict . getWord ( wordID );
ISynset synset = word . getSynset ();

for( IWord w : synset . getWords ())
 System .out . println (w. getLemma ());

私のメソッドの署名は次のようになります。

 void synonym(Strng word)

「犬」の単語の代わりに String 型の単語を使用しますが、実行時にその POS 型がわかりません。

単語の同義語を取得する前に、それが英単語かどうかを確認したいのですが、JWI には isEnglish() や isInDictionary() のようなメソッドがありません。英語以外の単語の同義語を探すのを避けるために、単語が英語かどうかを確認するにはどうすればよいですか? (最終的にはパフォーマンスが向上します)

4

2 に答える 2

0

これについて考えてみましょう。ユーザーが「bark」のような単語の同義語を知りたい場合、それは名詞または動詞の両方である可能性があり、実際にすべての結果を表示する必要があります。したがって、すべての POS-es で IIndexWord を検索するのが正しいでしょう。

すべての POS-es を試しても特定の単語が見つからない場合は、その単語が存在しないことをユーザーに伝えることができます。

于 2014-08-18T13:28:24.607 に答える