Skip to content
Related Articles

Related Articles

Improve Article

NLP | Verb Forms Correction

  • Last Updated : 26 Feb, 2019

Let’s understand this with an example :

  1. Is our child training enough?
  2. Is are our child training enough?

The verb ‘is’ can only be used with singular nouns. For plural nouns we use ‘are’. This problem is very common in the real world and we can correct this mistake by creating verb correction mappings that are used depending on whether there’s plural or singular noun in the chunk.

Code #1 : Defining the verb correction mappings




# singular to plural mapping
  
plural_verb_forms = {
        ('is', 'VBZ'): ('are', 'VBP'),
        ('was', 'VBD'): ('were', 'VBD')
        }
  
# plural to singular mapping
singular_verb_forms = {
        ('are', 'VBP'): ('is', 'VBZ'),
        ('were', 'VBD'): ('was', 'VBD')
        }

We are searching the chunk for the position of the first tagged word using the first_chunk_index() method. This method had a parameter ‘pred’ that takes a (word, tag) tuple and returns True or False.

Code #2 : first_chunk_index()






def first_chunk_index(chunk, pred, start = 0, step = 1):
      
    l = len(chunk)
    end = l if step > 0 else -1
      
    for i in range(start, end, step):
        if pred(chunk[i]):
            return i
          
    return None

The predicate function in the code below returns True if the tag in the (word, tag) argument starts with a given tag prefix. Else, false.

Code #3 :




def tag_startswith(prefix):
    def f(wt):
        return wt[1].startswith(prefix)
    return f

Code #4 : Let’s correct the verb forms




from transforms import correct_verbs
  
print ("Corrected verb forms : \n"
       correct_verbs([('is', 'VBZ'), ('our', 'PRP$'), 
                      ('children', 'NNS'), ('learning', 'VBG')]))

Output :

Corrected verb forms : 
[('are', 'VBP'), ('our', 'PRP$'), ('children', 'NNS'), ('learning',
'VBG')]

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :