class documentation

class DependencyEvaluator(object): (source)

Constructor: DependencyEvaluator(parsed_sents, gold_sents)

View In Hierarchy

Class for measuring labelled and unlabelled attachment score for dependency parsing. Note that the evaluation ignores punctuation.

>>> from nltk.parse import DependencyGraph, DependencyEvaluator
>>> gold_sent = DependencyGraph("""
... Pierre  NNP     2       NMOD
... Vinken  NNP     8       SUB
... ,       ,       2       P
... 61      CD      5       NMOD
... years   NNS     6       AMOD
... old     JJ      2       NMOD
... ,       ,       2       P
... will    MD      0       ROOT
... join    VB      8       VC
... the     DT      11      NMOD
... board   NN      9       OBJ
... as      IN      9       VMOD
... a       DT      15      NMOD
... nonexecutive    JJ      15      NMOD
... director        NN      12      PMOD
... Nov.    NNP     9       VMOD
... 29      CD      16      NMOD
... .       .       9       VMOD
... """)
>>> parsed_sent = DependencyGraph("""
... Pierre  NNP     8       NMOD
... Vinken  NNP     1       SUB
... ,       ,       3       P
... 61      CD      6       NMOD
... years   NNS     6       AMOD
... old     JJ      2       NMOD
... ,       ,       3       AMOD
... will    MD      0       ROOT
... join    VB      8       VC
... the     DT      11      AMOD
... board   NN      9       OBJECT
... as      IN      9       NMOD
... a       DT      15      NMOD
... nonexecutive    JJ      15      NMOD
... director        NN      12      PMOD
... Nov.    NNP     9       VMOD
... 29      CD      16      NMOD
... .       .       9       VMOD
... """)
>>> de = DependencyEvaluator([parsed_sent],[gold_sent])
>>> las, uas = de.eval()
>>> las
0.6...
>>> uas
0.8...
>>> abs(uas - 0.8) < 0.00001
True
Method __init__ No summary
Method eval Return the Labeled Attachment Score (LAS) and Unlabeled Attachment Score (UAS)
Method _remove_punct Function to remove punctuation from Unicode string. :param input: the input string :return: Unicode string after remove all punctuation
Instance Variable _gold_sents Undocumented
Instance Variable _parsed_sents Undocumented
def __init__(self, parsed_sents, gold_sents): (source)
Parameters
parsed_sents:list(DependencyGraph)the list of parsed_sents as the output of parser
gold_sentsUndocumented
def eval(self): (source)

Return the Labeled Attachment Score (LAS) and Unlabeled Attachment Score (UAS)

:return : tuple(float,float)

def _remove_punct(self, inStr): (source)

Function to remove punctuation from Unicode string. :param input: the input string :return: Unicode string after remove all punctuation

_gold_sents = (source)

Undocumented

_parsed_sents = (source)

Undocumented