In this article, we will learn a Python program to convert singular to plural.
Suppose you are given a singular word, we have to convert it to plural using various python methods.
Here are various ways to accomplish this task -
Use regular expression module
Using NLTK and Pattern-en packages
Using the Textblob module
Use the inflect module
The regular expression module in Python searches for a string or a set of strings based on a specified pattern. You must install this module if it does not already exist in your Python, it is usually pre-installed with Python.
The following program uses the regular expression module to return the plural of a given word by specifying the appropriate regular expression pattern -
# importing re(regex) module from re import * # input word to be pluralized inputWord = "plant" print("The plural of the word {", inputWord, "} is:") # checking whether the input word is ending with s,x,z or is # ending with ah, eh, ih, oh, uh, dh, gh, kh, ph, rh, th # with the regex pattern if search('[sxz]$', inputWord) or search('[^aeioudgkprt]h$', inputWord): # If it is true, then get the pluraof the inputWord by adding "es" in end print(sub('$', 'es', inputWord)) # checking whether the input word is ending with ay,ey,iy,oy,uy # with the other regex pattern elif search('[aeiou]y$', inputWord): # If it is true, then get the plural # of the word by removing 'y' from the end and adding ies to end print(sub('y$', 'ies', inputWord)) # Else add it just "s" to the word at the end to make it plural else: print(inputWord + 's')
When executed, the above program will generate the following output -
The plural of the word { plant } is: plants
However, using this regex method to get plurals is not very efficient, as it correctly pluralizes some words while failing to do so in others. Therefore, we will look for more efficient techniques for determining the plural of a word.
The NLTK module creates Python applications to process human language data and provides simple interfaces to corpora and lexical resources.
The pattern module is an open source Python module used to perform various natural language processing operations. This module can be used for a variety of tasks, including text processing and data mining.
Use the following command to install the pattern module
pip install pattern
Use the following code to download the required nltk data -
# importing nltk module import nltk nltk.download('omw-1.4') # downloading the NLTK data to run the en function of the package module nltk.download('popular')
The following program returns the plural form of a given word using NLTK and the Pattern-en package -
# importing pluralize from pattern-en module from pattern.en import pluralize # passing the word to be pluralized as an argument to the # pluralize() function to make the word plural print(pluralize('lion'))
When executed, the above program will generate the following output -
lions
Textblob The Python module is used to process text data, referred to as the Textblob module. This is one of the simplest modules involved in natural language processing problems.
The following commands can be used to download the module. In addition to the texblob module, you also need to install the corpus function of the textblob module.
Use the following command to install the textblob module -
pip install textblob
The following program uses the Textblob module to return the plural form of a given word -
# importing TextBlob function from textblob module from textblob import TextBlob # passing the word to be pluralized as an argument to the TextBlob() function blobWord = TextBlob('flower') # printing the plural word of the given blob word using the pluralize() function print(blobWord.words.pluralize())
When executed, the above program will generate the following output -
['flowers']
The Inflect module in Python is used to create plural nouns, singular nouns, ordinal words, and indefinite articles, as well as convert numbers into words. The module can be installed using the following command.
Install -
pip install inflect
Below are the algorithms/steps that need to be followed to perform the required task. -
Use the import keyword to import the inflect module.
Use the engine() function to set the engine/source of the inflect module
Use the pluralize() function to get the plural form of a given word by passing the input word to it as an argument and print the resulting word.
Singular nouns are converted into plural nouns through the plural() function, which is very suitable.
The following program uses the inflect module to return the plural form of a given word -
# importing inflect module import inflect m = inflect.engine() # input word to be pluralized word = 'dog' # Pass the word to be pluralized as an argument to the plural() # function to make the word plural. print("The plural form of 'dog' is: ", m.plural(word))
When executed, the above program will generate the following output -
The plural form of 'dog' is: dogs
In this article, we cover four different ways to change a given word from singular to plural. We learned how to use the pip command to install modules. Additionally, we learned how to download data from nltk.
The above is the detailed content of Translate the following into Chinese: Python program to convert singular to plural. For more information, please follow other related articles on the PHP Chinese website!