grammar = nltk.parse_cfg(
    """
NP -> Det N | Det N PP | N
N -> 'Kim' | 'Dana' | 'everyone'
""")
sent = 'Kim'.split()
parser = nltk.ChartParser(grammar)
print(parser.nbest_parse(sent))
Python и NLTK: как анализировать грамматику предложений?