Find Synonyms of Words using Java

Avoid the repetition of the same word; use Synonyms (two different words that mean the same). What if you need to find synonyms of any word programmatically? This article guides you on how to find out all the synonyms of any word using Java. Similarly, a single word could have multiple meanings. We will see how the synonyms can be grouped according to different meanings of that same word.

The following topics will be covered below:

Java API for Finding Synonyms

GroupDocs.Search allows finding synonyms of words through its APIs. I will be using its Java API in the examples. It further lets searching the word and all its synonyms in multiple documents within a folder. Many different search techniques are available that can be used to search over a large list of document formats.

Download or Configure

You may download the JAR file from the downloads section, or just get the latest repository and dependency configurations for the pox.xml of your maven-based Java applications.

<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>

Find Synonyms of any Word in Java

Suppose, you have the word “SHOW” in your mind. Let’s see, what possibly could be the synonyms of ‘SHOW’. The following are the steps to get synonyms using Java.

  • First, set the query/word to find its synonyms.
  • Create index using the Index class.
  • From the various dictionaries, get the synonyms dictionary and then the collection of synonyms by passing the query to getSynonyms method.
  • Tranverse the synonyms to work with each synonym.

The following source code shows how to get all the synonyms of any provided word in Java.

Here is the output of the above Java code that displays all the synonyms of the word “show”.

Synonyms for 'show':

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

Find Synonyms Grouped by Different Meanings in Java

There could be different meanings of a single word according to the situation and its usage. You can group different sets of synonyms w.r.t its meaning. The following steps allow you to get different groups of synonyms using Java.

  • First, set the word whose synonyms are required.
  • Create the index using Index class.
  • From the different dictionaries, get the synonyms dictionary and then the collection of synonym groups by passing the query to the getSynonymGroups method.
  • Tranverse synonym groups collection to work with each group or synonym word.

The following source code shows how to get all the synonym groups of any provided word in Java.

The following is the output of the above Java code that displays all the synonyms of the provided word “show” grouped according to its different meaning.

Synonym groups for show:

 - evidence prove show testify 
 - demo demonstrate exhibit present show 

Next, we will discuss in a separate article, how to find any word and its synonyms within multiple files of a folder using Java.

Conclusion

To sum up, we discussed how to find the possible synonyms of any word in Java using simple methods. Further, we discussed that how to get all the groups of synonyms that are created according to the different meanings of that same word. Now, you can try to build your own Java application synonyms.

Learn more about the Java Search Automation API from the documentation. To experience the features, you can have a look at examples on the GitHub repository. Reach us for any query via the forum.

See Also