summaryrefslogtreecommitdiff
path: root/word-aligner/makefiles/makefile.grammars
blob: be0644df65b8fb0edfbb13adef0cabcff7ef7097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
all: corpus.f-e.lex-grammar.gz wordpairs.f-e.features.gz corpus.class.e corpus.class.f corpus.stemmed.f fstem.map corpus.stemmed.e estem.map corpus.f-e.sgml

clean:
	$(RM) orthonorm-dict.* voc2class* corpus.class.* corpus.e-f corpus.f-e corpus.f-e.lex-grammar* *.model1 *voc corpus.e-f.lex-grammar* *stem* corpus.f-e.sgml freq* psg* wordpairs*

SUPPORT_DIR = $(SCRIPT_DIR)/support
GZIP = /usr/bin/gzip
ZCAT = zcat
EXTRACT_GRAMMAR = $(SUPPORT_DIR)/extract_grammar.pl
EXTRACT_VOCAB = $(SUPPORT_DIR)/extract_vocab.pl
GENERATE_PSG = $(SUPPORT_DIR)/generate_per_sentence_grammars.pl
GENERATE_WORDPAIR_FEATURES = $(SUPPORT_DIR)/generate_word_pair_features.pl
ORTHONORM_E = $(SCRIPT_DIR)/ortho-norm/$(E_LANG).pl
ORTHONORM_F = $(SCRIPT_DIR)/ortho-norm/$(F_LANG).pl
STEM_F = $(SCRIPT_DIR)/stemmers/$(F_LANG).pl
STEM_E = $(SCRIPT_DIR)/stemmers/$(E_LANG).pl

CLASSIFY = $(SUPPORT_DIR)/classify.pl
MAKE_LEX_GRAMMAR = $(SUPPORT_DIR)/make_lex_grammar.pl
MODEL1 = $(TRAINING_DIR)/model1
MERGE_CORPUS = $(SUPPORT_DIR)/merge_corpus.pl

e.voc: corpus.e
	$(EXTRACT_VOCAB) < corpus.e > $@

f.voc: corpus.f
	$(EXTRACT_VOCAB) < corpus.f > $@

orthonorm-dict.e: corpus.e e.voc
	$(ORTHONORM_E) < e.voc > e.ortho-voc
	$(MERGE_CORPUS) e.voc e.ortho-voc > $@

orthonorm-dict.f: corpus.f f.voc
	$(ORTHONORM_F) < f.voc > f.ortho-voc
	$(MERGE_CORPUS) f.voc f.ortho-voc > $@

# this is just a "stem" map
estem.map: e.voc
	$(STEM_E) --vocab < e.voc > $@

fstem.map: f.voc
	$(STEM_F) --vocab < f.voc > $@

# corpus.stemmed.f can use context to do "stemming"
corpus.stemmed.f: corpus.f
	$(STEM_F) < corpus.f > $@

corpus.stemmed.e: corpus.e
	$(STEM_E) < corpus.e > $@

voc2class.e: corpus.e $(MKCLS)
	$(MKCLS) -c$(NCLASSES) -n10 -pcorpus.e -Vvoc2class.e opt

voc2class.f: corpus.f $(MKCLS)
	$(MKCLS) -c$(NCLASSES) -n10 -pcorpus.f -Vvoc2class.f opt

corpus.class.e: corpus.e voc2class.e
	$(CLASSIFY) voc2class.e corpus.e > $@

corpus.class.f: corpus.f voc2class.f
	$(CLASSIFY) voc2class.f corpus.f > $@

corpus.f-e: corpus.f corpus.e
	$(MERGE_CORPUS) corpus.f corpus.e > $@

corpus.e-f: corpus.f corpus.e
	$(MERGE_CORPUS) corpus.e corpus.f > $@

corpus.f-e.model1: corpus.f-e
	$(MODEL1) -v corpus.f-e > $@

corpus.e-f.model1: corpus.e-f
	$(MODEL1) -v -V corpus.e-f > $@

corpus.f-e.full-model1: corpus.f-e
	$(MODEL1) -t -999999 -v -V corpus.f-e > $@

corpus.e-f.full-model1: corpus.e-f
	$(MODEL1) -t -999999 -v -V corpus.e-f > $@

corpus.f-e.lex-grammar.gz: corpus.f-e corpus.f-e.model1 corpus.e-f.model1
	$(MAKE_LEX_GRAMMAR) corpus.f-e corpus.f-e.model1 corpus.e-f.model1 | $(GZIP) -9 > $@

wordpairs.f-e.features.gz: corpus.f-e corpus.f-e.full-model1 corpus.e-f.full-model1 orthonorm-dict.f orthonorm-dict.e voc2class.e voc2class.f corpus.f-e.model1
	$(GENERATE_WORDPAIR_FEATURES) corpus.f-e corpus.f-e.full-model1 corpus.e-f.full-model1 orthonorm-dict.f orthonorm-dict.e voc2class.e voc2class.f corpus.f-e.model1 | $(GZIP) -9 > $@

corpus.f-e.sgml: f.voc corpus.f-e.lex-grammar.gz corpus.f-e
	$(GENERATE_PSG) f.voc corpus.f-e corpus.f-e.lex-grammar.gz freq_grammar.f-e.gz psg.f-e $@