Search code examples
nlpdependency-parsing

NLP: Which are the dependency tags associated with a verb?


I need to identify all dependency tags associated with a verb. So far, I have identified:

  1. 'ROOT'

  2. 'xcomp'

spacy.explain('xcomp')
Out[72]: 'open clausal complement'
  1. 'aux'
spacy.explain('aux')
Out[73]: 'auxiliary'

Are there others?


Solution

  • I used the NLTK webtext corpus to get a count of dependency tags where part-of-speech is a verb.

    from collections import Counter
    from nltk.corpus import webtext
    import spacy
    nlp = spacy.load('en_core_web_lg')
    nlp.max_length = 10**50
    
    doc = nlp(webtext.raw())
    print(Counter([tok.dep_ for tok in doc if tok.pos_=='VERB']))
    

    Output:

    Counter({'ROOT': 18067, 'aux': 4649, 'advcl': 4159, 'xcomp': 3102, 'ccomp': 3094, 'conj': 2568, 'acl': 1395, 'relcl': 1311, 'amod': 1073, 'pcomp': 1059, 'parataxis': 594, 'compound': 519, 'csubj': 458, 'nsubj': 248, 'dobj': 237, 'dep': 187, 'pobj': 174, 'intj': 157, 'auxpass': 148, 'nmod': 131, 'appos': 119, 'acomp': 119, 'prep': 63, 'attr': 46, 'npadvmod': 40, 'nsubjpass': 24, 'advmod': 21, 'oprd': 17, 'punct': 14, 'poss': 8, 'csubjpass': 6, 'nummod': 4, 'cc': 3, 'preconj': 2, 'mark': 1, 'meta': 1})