同じ単語の繰り返しは避けてください。 同義語(同じ意味の2つの異なる単語) を使用します。プログラムで単語の同義語を見つける必要がある場合はどうなりますか?この記事では、Javaを使用して任意の単語のすべての同義語を見つける方法について説明します。同様に、1つの単語が複数の意味を持つ可能性があります。同じ単語のさまざまな意味に従って同義語をグループ化する方法を見ていきます。

以下のトピックについて以下で説明します。

同義語を検索するためのJavaAPI

GroupDocs.Searchを使用すると、APIを介して単語の同義語を見つけることができます。例では、そのJavaAPIを使用します。さらに、フォルダ内の複数のドキュメントで単語とそのすべての同義語を検索できます。 ドキュメント形式の大規模なリストを検索するに使用できるさまざまな検索手法を利用できます。

###ダウンロードまたは構成

ダウンロードセクションからJARファイルをダウンロードするか、mavenベースのJavaアプリケーションのpox.xmlの最新のリポジトリと依存関係の構成を取得することができます。

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-search</artifactId>
        <version>21.8</version> 
</dependency>

Javaで任意の単語の同義語を検索

頭の中に「SHOW」という言葉があるとします。見てみましょう、おそらく「SHOW」の同義語である可能性があります。以下は、Javaを使用してシノニムを取得する手順です。

*まず、同義語を見つけるためにクエリ/単語を設定します。 *Indexクラスを使用してインデックスを作成します。 *さまざまな辞書から、getSynonymsメソッドにクエリを渡して、同義語辞書を取得し、次に同義語のコレクションを取得します。 *同義語をトラバースして、各同義語で機能します。

次のソースコードは、Javaで提供されている単語のすべての同義語を取得する方法を示しています。

// Javaの任意の単語のすべての同義語を取得します
String query = "show";
String[] synonyms = new Index().getDictionaries().getSynonymDictionary().getSynonyms(query);

System.out.println("Synonyms for " + query +":");

for (String synonym : synonyms) {
    System.out.println(synonym);
}

これは、「show」という単語のすべての同義語を表示する上記のJavaコードの出力です。

Synonyms for '**show**':

 - prove
 - testify
 - present
 - demo
 - exhibit
 - demonstrate
 - evidence  

Javaでさまざまな意味でグループ化された同義語を検索する

状況や使い方によって、1つの単語の意味が異なる場合があります。同義語のさまざまなセットをその意味でグループ化できます。次の手順では、Javaを使用して同義語のさまざまなグループを取得できます。

※まず、同義語が必要な単語を設定します。 *Indexクラスを使用してインデックスを作成します。 *さまざまな辞書から、クエリをgetSynonymGroupsメソッドに渡して、同義語辞書を取得し、次に同義語グループのコレクションを取得します。 *各グループまたは同義語の単語で機能する横断同義語グループコレクション。

次のソースコードは、Javaで提供された単語のすべての同義語グループを取得する方法を示しています。

// Javaを使用して、同じ単語のさまざまな意味に従って同義語のグループを取得します
String query = "show";
String[][] groups = new Index().getDictionaries().getSynonymDictionary().getSynonymGroups(query);

System.out.println("Synonym groups for " + query +":");

for (String[] group : groups) {
    for (String group1 : group) {
        System.out.print(group1 + " ");
    }
    System.out.println();
}

以下は、提供された単語「show」のすべての同義語を異なる意味に従ってグループ化して表示する上記のJavaコードの出力です。

Synonym groups for **show**:

 - evidence prove **show** testify 
 - demo demonstrate exhibit present **show** 

次に、別の記事でJavaを使用してフォルダの複数のファイル内で単語とその同義語を見つける方法について説明します。

結論

要約すると、簡単な方法を使用して、Javaで任意の単語の可能な同義語を見つける方法について説明しました。さらに、同じ単語のさまざまな意味に従って作成された同義語のすべてのグループを取得する方法についても説明しました。これで、独自のJavaアプリケーションの同義語を作成してみることができます。

ドキュメントからJavaSearchAutomationAPIについて詳細をご覧ください。機能を体験するには、GitHubリポジトリの例をご覧ください。 フォーラムからお問い合わせください。

関連項目