Skip to content

Commit 24e800e

Browse files
committed
Switch from $ to format() for string formatting, other minor stuff
1 parent cbf947a commit 24e800e

12 files changed

+74
-201
lines changed

create_screens_english.sh

Lines changed: 0 additions & 7 deletions
This file was deleted.

create_screens_german.sh

Lines changed: 0 additions & 7 deletions
This file was deleted.

dependency-parser.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,9 @@ def test(args):
198198

199199
if os.stat(arguments.in_file).st_size == 0:
200200
print "Input file is empty"
201+
201202
else:
203+
202204
if arguments.train:
203205
print "Running in training mode\n"
204206
train(arguments)
@@ -212,12 +214,5 @@ def test(args):
212214
print "Running in evaluation mode\n"
213215
evaluate(arguments)
214216

215-
"""
216-
elif arguments.tag:
217-
print "Running in tag mode\n"
218-
t.tag(arguments.in_file, arguments.model, arguments.output_file)
219-
220-
"""
221-
222217
t1 = time.time()
223218
print "\n\tDone. Total time: " + str(t1 - t0) + " sec.\n"

kill_screens.sh

Lines changed: 0 additions & 17 deletions
This file was deleted.

modules/evaluation.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ def evaluate(args):
2929
print "Error in file length, Gold: " + str(len(full_graphs_gold)) + ", Predicted: " + str(
3030
len(full_graphs_predicted))
3131

32-
out = open(args.out_file, "w")
33-
print >> out, "Total: " + str(total)
34-
print >> out, "Correct: " + str(correct)
35-
out.close()
32+
with open(args.out_file, "w") as out:
33+
print >> out, "Total: " + str(total)
34+
print >> out, "Correct: " + str(correct)

modules/featmap.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -13,48 +13,48 @@ def give_features(hform, hlemma, hpos, dform, dlemma, dpos, bpos):
1313
# 6 = hlemma
1414
# 7 = dlemma
1515

16-
yield "1:%s" % hform
17-
yield "2:%s" % hpos
18-
yield "3:%s" % dform,
19-
yield "4:%s" % dpos
20-
yield "6:%s" % hlemma
21-
yield "7:%s" % dlemma
22-
yield "5:%s" % bpos
16+
yield "1:{0}".format(hform)
17+
yield "2:{0}".format(hpos)
18+
yield "3:{0}".format(dform)
19+
yield "4:{0}".format(dpos)
20+
yield "6:{0}".format(hlemma)
21+
yield "7:{0}".format(dlemma)
22+
yield "5:{0}".format(bpos)
2323

24-
yield "1,4:%s,%s" % (hform, dpos)
25-
yield "2,3:%s,%s" % (hpos, dform)
26-
yield "1,2:%s,%s" % (hform, hpos)
27-
yield "3,4:%s,%s" % (dform, dpos)
28-
yield "1,3:%s,%s" % (hform, dform)
29-
yield "2,4:%s,%s" % (hpos, dpos)
30-
yield "6,4:%s,%s" % (hlemma, dpos)
31-
yield "2,7:%s,%s" % (hpos, dlemma)
32-
yield "6,2:%s,%s" % (hlemma, hpos)
33-
yield "7,4:%s,%s" % (dlemma, dpos)
34-
yield "6,7:%s,%s" % (hlemma, dlemma)
24+
yield "1,4:{0},{1}".format(hform, dpos)
25+
yield "2,3:{0},{1}".format(hpos, dform)
26+
yield "1,2:{0},{1}".format(hform, hpos)
27+
yield "3,4:{0},{1}".format(dform, dpos)
28+
yield "1,3:{0},{1}".format(hform, dform)
29+
yield "2,4:{0},{1}".format(hpos, dpos)
30+
yield "6,4:{0},{1}".format(hlemma, dpos)
31+
yield "2,7:{0},{1}".format(hpos, dlemma)
32+
yield "6,2:{0},{1}".format(hlemma, hpos)
33+
yield "7,4:{0},{1}".format(dlemma, dpos)
34+
yield "6,7:{0},{1}".format(hlemma, dlemma)
3535

36-
yield "1,2,3,4:%s,%s,%s,%s" % (hform, hpos, dform, dpos)
37-
yield "2,3,4:%s,%s,%s" % (hpos, dform, dpos)
38-
yield "1,3,4:%s,%s,%s" % (hform, dform, dpos)
39-
yield "1,2,3:%s,%s,%s" % (hform, hpos, dform)
40-
yield "1,2,4:%s,%s,%s" % (hform, hpos, dpos)
41-
yield "2,5,4:%s,%s,%s" % (hpos, bpos, dpos)
42-
yield "2,5,3:%s,%s,%s" % (hpos, bpos, dform)
43-
yield "1,5,4:%s,%s,%s" % (hform, bpos, dpos)
44-
yield "1,5,3:%s,%s,%s" % (hform, bpos, dform)
36+
yield "1,2,3,4:{0},{1},{2},{3}".format(hform, hpos, dform, dpos)
37+
yield "2,3,4:{0},{1},{2}".format(hpos, dform, dpos)
38+
yield "1,3,4:{0},{1},{2}".format(hform, dform, dpos)
39+
yield "1,2,3:{0},{1},{2}".format(hform, hpos, dform)
40+
yield "1,2,4:{0},{1},{2}".format(hform, hpos, dpos)
41+
yield "2,5,4:{0},{1},{2}".format(hpos, bpos, dpos)
42+
yield "2,5,3:{0},{1},{2}".format(hpos, bpos, dform)
43+
yield "1,5,4:{0},{1},{2}".format(hform, bpos, dpos)
44+
yield "1,5,3:{0},{1},{2}".format(hform, bpos, dform)
4545

46-
yield "6,2,7,4:%s,%s,%s,%s" % (hlemma, hpos, dlemma, dpos)
47-
yield "2,7,4:%s,%s,%s" % (hpos, dlemma, dpos)
48-
yield "6,7,4:%s,%s,%s" % (hlemma, dlemma, dpos)
49-
yield "6,2,7:%s,%s,%s" % (hlemma, hpos, dlemma)
50-
yield "6,2,4:%s,%s,%s" % (hlemma, hpos, dpos)
51-
yield "2,5,7:%s,%s,%s" % (hpos, bpos, dlemma)
52-
yield "6,5,4:%s,%s,%s" % (hlemma, bpos, dpos)
53-
yield "6,5,7:%s,%s,%s" % (hlemma, bpos, dlemma)
46+
yield "6,2,7,4:{0},{1},{2},{3}".format(hlemma, hpos, dlemma, dpos)
47+
yield "2,7,4:{0},{1},{2}".format(hpos, dlemma, dpos)
48+
yield "6,7,4:{0},{1},{2}".format(hlemma, dlemma, dpos)
49+
yield "6,2,7:{0},{1},{2}".format(hlemma, hpos, dlemma)
50+
yield "6,2,4:{0},{1},{2}".format(hlemma, hpos, dpos)
51+
yield "2,5,7:{0},{1},{2}".format(hpos, bpos, dlemma)
52+
yield "6,5,4:{0},{1},{2}".format(hlemma, bpos, dpos)
53+
yield "6,5,7:{0},{1},{2}".format(hlemma, bpos, dlemma)
5454

5555

5656
def fm(infile):
57-
# takes a file in conll09 format, returns a feature map
57+
# takes a file in conll06 format, returns a feature map
5858
feat_map = {} # featmap as dictionary {feature:index}
5959
index = 0 # index in featmap
6060
for sentence in sentences(codecs.open(infile, encoding='utf-8')):

modules/graphs.py

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ def __init__(self, tokens, mode="sparse", feat_map=None, weight_vector=None):
4343
self.heads = {0: []}
4444

4545
# In every possible mode (sparse, complete-sparse, full, complete-full) at first the arcs with ROOT head are
46-
# added, then every other arc. Every arc gets a sparse feature vector based on feat_map and in the completed
47-
# graphs a score (based on the features and the weight vector).
46+
# added, then every other arc. Every arc, except ones in the full graph, gets a sparse feature vector based
47+
# on feat_map. The completed graphs also get a score per arc (based on the features and the weight vector).
4848

4949
# sparse arc representation
5050
if mode == "sparse":
@@ -212,31 +212,29 @@ def write_graph_to_file(graph, out_file, mode="normal"): # write a graph to fil
212212
if mode == "normal":
213213

214214
rev = reverse_head_graph(graph)
215-
out = codecs.open(out_file, "a", "utf-8")
216-
for dependent in sorted(rev):
217-
# without rel
218-
print >> out, "%s\t%s\t%s\t%s\t_\t_\t%s\t_\t_\t_" % (
219-
rev[dependent][0].dependent,
220-
rev[dependent][0].dependent_form,
221-
rev[dependent][0].dependent_lemma,
222-
rev[dependent][0].dependent_pos,
223-
rev[dependent][0].head
224-
)
225-
print >> out, ""
226-
out.close()
215+
with codecs.open(out_file, "a", "utf-8") as out:
216+
for dependent in sorted(rev):
217+
# without rel
218+
print >> out, "{0}\t{1}\t{2}\t{3}\t_\t_\t{4}\t_\t_\t_".format(
219+
rev[dependent][0].dependent,
220+
rev[dependent][0].dependent_form,
221+
rev[dependent][0].dependent_lemma,
222+
rev[dependent][0].dependent_pos,
223+
rev[dependent][0].head
224+
)
225+
print >> out, ""
227226

228227
elif mode == "error":
229228
rev = reverse_head_graph(graph)
230-
out = codecs.open(out_file, "a", "utf-8")
231-
for dependent in sorted(rev):
232-
print >> out, "%s\t%s\t%s\t%s\t_\t_\t-1\t_\t_\t_" % (
233-
rev[dependent][0].dependent,
234-
rev[dependent][0].dependent_form,
235-
rev[dependent][0].dependent_lemma,
236-
rev[dependent][0].dependent_pos,
237-
)
238-
print >> out, ""
239-
out.close()
229+
with codecs.open(out_file, "a", "utf-8") as out:
230+
for dependent in sorted(rev):
231+
print >> out, "{0}\t{1}\t{2}\t{3}\t_\t_\t-1\t_\t_\t_".format(
232+
rev[dependent][0].dependent,
233+
rev[dependent][0].dependent_form,
234+
rev[dependent][0].dependent_lemma,
235+
rev[dependent][0].dependent_pos,
236+
)
237+
print >> out, ""
240238

241239

242240
def check_graph_sanity(predicted_graph, compare_graph): # sanity check on graph
@@ -257,11 +255,11 @@ def check_graph_sanity(predicted_graph, compare_graph): # sanity check on graph
257255
if head == 0:
258256
root_found = True
259257

260-
if len(predicted_graph[head]) < 1:
258+
if not predicted_graph[head]:
261259
sane = False
262260
print "Root has no dependent"
263261

264-
elif len(predicted_graph[head]) < 1:
262+
elif not predicted_graph[head]:
265263
sane = False
266264
print "A head has no dependent"
267265

start-cle-ad.sh

Lines changed: 0 additions & 23 deletions
This file was deleted.

start-cle-no-ad.sh

Lines changed: 0 additions & 23 deletions
This file was deleted.

start-cle.sh

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
11
#!/bin/bash
22

33

4-
#CORPORA="../dependency-parsing-files/data/english"
5-
CORPORA="../dependency-parsing-files/data/german"
4+
CORPORA="../dependency-parsing-files/data/english"
5+
#CORPORA="../dependency-parsing-files/data/german"
66

77
MODELS="models"
88
PREDICTIONS="predictions"
99
EVALUATIONS="evaluations"
1010

1111
#train (on small set)
12-
#python -u dependency-parser.py -train -i $CORPORA/train/wsj_train.first-5k.conll06 -m model -e 20
12+
python -u dependency-parser.py -train -i $CORPORA/train/wsj_train.first-5k.conll06 -m model -e 1
1313

1414
#train
15-
#python -u dependency-parser.py -train -i ../dependency-parsing-files/data/english/train/wsj_train.conll06 -m $MODELS/m_e-10_da_ss -e 2 -decrease-alpha -shuffle-sentences
15+
#python -u dependency-parser.py -train -i .$CORPORA//train/wsj_train.conll06 -m $MODELS/m_e-10_da_ss -e 2 -decrease-alpha -shuffle-sentences
1616

1717
#test
18-
#python -u dependency-parser.py -test -i $CORPORA/dev/wsj_dev_without_head.conll06 -m model -o predicted.conll06
19-
#python -u dependency-parser.py -test -i $CORPORA/dev/wsj_dev_without_head.conll06 -m $MODELS/english/m_e-1 -o $PREDICTIONS/english/predicted_e-1.conll06
18+
python -u dependency-parser.py -test -i $CORPORA/dev/wsj_dev_without_head.conll06 -m model -o predicted.conll06
2019

21-
#python -u dependency-parser.py -ev -i predicted.conll06 -g $CORPORA/dev/wsj_dev.conll06 -o evaluation_sentence.txt
22-
python -u dependency-parser.py -ev -i $PREDICTIONS/german/p_e-1.conll06 -g $CORPORA/dev/tiger-2.2.dev.conll06 -o $EVALUATIONS/german/evaluation_sentence_e-1.txt
23-
24-
25-
#evwaluate
26-
#./eval07.pl -g $CORPORA/dev/wsj_dev.conll06 -s predicted.conll06 >> evaluation.txt 2>&1
27-
./eval07.pl -g $CORPORA/dev/tiger-2.2.dev.conll06 -s $PREDICTIONS/german/p_e-1.conll06 >> $EVALUATIONS/german/evaluation_e-1.txt 2>&1
20+
#evaluate sentence based
21+
python -u dependency-parser.py -ev -i predicted.conll06 -g $CORPORA/dev/wsj_dev.conll06 -o evaluation_sentence.txt
2822

23+
#evaluate arc based
24+
./eval07.pl -g $CORPORA/dev/wsj_dev.conll06 -s predicted.conll06 >> evaluation.txt 2>&1

0 commit comments

Comments
 (0)