Exemple #1
0

def make_tree(tree):
    if isinstance(tree, tuple) and len(tree) > 2:
        return ImmutableTree(tree[0],
                             [make_tree(tree[i]) for i in range(2, len(tree))])
    else:
        return tree


if __name__ == "__main__":
    if len(sys.argv) != 2:
        print >> sys.stderr, "Usage: %s grammar.pickle" % (sys.argv[0])
        exit(1)

    (grammar, sentence_tags) = pickle.load(open(sys.argv[1]))

    score = ChunkScore()
    for (gold, s) in list(sentences())[0:10]:
        print ' '.join(s)
        parses = list(parse(s, grammar, sentence_tags))
        if parses:
            guess = make_tree(max(parses, key=operator.itemgetter(1)))
            print gold
            print guess
            score.score(gold, guess)
    print 'Accuracy:', score.accuracy()
    print 'Precision:', score.precision()
    print 'Recall:', score.recall()
    print 'F Measure:', score.f_measure()
Exemple #2
0
        if s not in parse(f, grammar):
            print "[ERROR] " + format(f)

def make_tree(tree):
    if isinstance(tree, tuple) and len(tree) > 2:
        return ImmutableTree(tree[0], [make_tree(tree[i]) for i in range(2, len(tree))])
    else:
        return tree
            
if __name__ == "__main__":
    if len(sys.argv) != 2:
        print >> sys.stderr, "Usage: %s grammar.pickle"%(sys.argv[0])
        exit(1)

    (grammar,sentence_tags) = pickle.load(open(sys.argv[1]))

    score = ChunkScore()
    for (gold, s) in list(sentences())[0:10]:
        print ' '.join(s)
        parses = list(parse(s, grammar, sentence_tags))
        if parses:
            guess = make_tree(max(parses, key=operator.itemgetter(1)))
            print gold
            print guess
            score.score(gold, guess)
    print 'Accuracy:', score.accuracy()
    print 'Precision:', score.precision()
    print 'Recall:', score.recall()
    print 'F Measure:', score.f_measure()