From 289bff46b5695c89786ae5dc823479af9d9e7272 Mon Sep 17 00:00:00 2001 From: Chris Dyer Date: Mon, 7 Dec 2009 16:53:07 -0500 Subject: add compound splitter --- compound-split/lattice-stats.py | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 compound-split/lattice-stats.py (limited to 'compound-split/lattice-stats.py') diff --git a/compound-split/lattice-stats.py b/compound-split/lattice-stats.py new file mode 100755 index 00000000..8b6ea608 --- /dev/null +++ b/compound-split/lattice-stats.py @@ -0,0 +1,46 @@ +#!/usr/bin/python + +import sys +import optparse +from heapq import heappush, heappop +import math + +lc = 0 +maxdepth = -1 +total_depth = 0 +total_cols = 0 +total_paths = 0.0 + +optparser = optparse.OptionParser() +optparser.add_option("-k", "--k-best", dest="k", type='int', help="number of best paths", default=1) +(opts,args) = optparser.parse_args() +n = opts.k + +if len(args)==0: args=(sys.stdin) + +for fname in args: + if (type(fname) == type('')): + f = open(fname, "r") + else: + f = fname + lc = 0 + nodes = 0 + for line in f: + lc+=1 + cn = eval(line) + if (len(cn[0]) == 0): + continue + + paths = 1.0 + for col in cn: + depth=len(col) + paths*=float(depth) + nodes += depth + total_depth += depth + total_cols += 1 + total_paths+=paths + avg=float(total_depth)/float(lc) + print "averagePaths=%g" % (total_paths / float(lc)) + print "averageNodes=%f" % (float(total_depth) / float(lc)) + print "averageLen=%f" % (float(total_cols) / float(lc)) + print "Nodes/Len=%f" % (float(total_depth)/float(total_cols)) -- cgit v1.2.3