-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathfeats_gen_basic_abt_brown_feats.py
134 lines (134 loc) · 8.47 KB
/
feats_gen_basic_abt_brown_feats.py
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#generated by model.py
from constants import *
def generate_features(state,action):
s0,b0,a0=state.get_feature_context_window(action)
feats=[]
act_idx = state.model.class_codebook.get_index(action['type'])
tx = action['tag'] if 'tag' in action else EMPTY
s0_ne=s0['ne'] if s0 else EMPTY
s0_w=s0['form'] if s0 else EMPTY
s0_lemma=s0['lemma'] if s0 else EMPTY
s0_t=s0['pos'] if s0 else EMPTY
s0_dl=s0['rel'] if s0 else EMPTY
s0_len=s0['len'] if s0 else EMPTY
s0_txv=s0['txv'] if s0 else EMPTY
s0_brown4=s0['brown4'] if s0 else EMPTY
s0_brown6=s0['brown6'] if s0 else EMPTY
s0_brown10=s0['brown10'] if s0 else EMPTY
s0_brown20=s0['brown20'] if s0 else EMPTY
s0_isnom=s0['isnom'] if s0 else EMPTY
s0_nech=s0['nech'] if s0 else EMPTY
s0_c1lemma=s0['c1lemma'] if s0 else EMPTY
s0_c1dl=s0['c1dl'] if s0 else EMPTY
s0_cpt=s0['concept'] if s0 else EMPTY
s0_p1_ne=s0['p1']['ne'] if s0 and s0['p1'] else EMPTY
b0_ne=b0['ne'] if b0 else EMPTY
b0_w=b0['form'] if b0 else EMPTY
b0_lemma=b0['lemma'] if b0 else EMPTY
b0_t=b0['pos'] if b0 else EMPTY
b0_dl=b0['rel'] if b0 else EMPTY
b0_len=b0['len'] if b0 else EMPTY
b0_reph=b0['reph'] if b0 else EMPTY
b0_brown4=b0['brown4'] if b0 else EMPTY
b0_brown6=b0['brown6'] if b0 else EMPTY
b0_brown10=b0['brown10'] if b0 else EMPTY
b0_brown20=b0['brown20'] if b0 else EMPTY
a0_ne=a0['ne'] if a0 else EMPTY
a0_w=a0['form'] if a0 else EMPTY
a0_lemma=a0['lemma'] if a0 else EMPTY
a0_t=a0['pos'] if a0 else EMPTY
a0_dl=a0['rel'] if a0 else EMPTY
a0_istrace=a0['istrace'] if a0 else EMPTY
a0_rtr=a0['rtr'] if a0 else EMPTY
a0_brown4=a0['brown4'] if a0 else EMPTY
a0_brown6=a0['brown6'] if a0 else EMPTY
a0_brown10=a0['brown10'] if a0 else EMPTY
a0_brown20=a0['brown20'] if a0 else EMPTY
s0_p1_w=s0['p1']['form'] if s0 and s0['p1'] else EMPTY
s0_p1_lemma=s0['p1']['lemma'] if s0 and s0['p1'] else EMPTY
s0_p1_t=s0['p1']['pos'] if s0 and s0['p1'] else EMPTY
s0_p1_dl=s0['p1']['rel'] if s0 and s0['p1'] else EMPTY
b0_pathpwd=b0['pathpwd'] if b0 else EMPTY
b0_apathpwd=b0['apathpwd'] if b0 else EMPTY
b0_rsb_dl=b0['rsb']['rel'] if b0 and b0['rsb'] else EMPTY
b0_nswp=b0['nswp'] if b0 else EMPTY
b0_pathp=b0['pathp'] if b0 else EMPTY
b0_apathp=b0['apathp'] if b0 else EMPTY
a0_cpt=a0['concept'] if a0 else EMPTY
b0_cpt=b0['concept'] if b0 else EMPTY
dist1=abs(s0['id']-b0['id']) if b0 and b0 is not ABT_TOKEN and s0 is not ABT_TOKEN else EMPTY
if dist1 > 10: dist1=10
dist2=abs(a0['id']-b0['id']) if b0 and a0 and b0 is not ABT_TOKEN and a0 is not ABT_TOKEN else EMPTY
if dist2 > 10: dist2=10
if [s0_ne,tx] != 2*[None]:feats.append('s0_ne&tx=%s_%s_' % (s0_ne,tx))
if [s0_w,tx] != 2*[None]:feats.append('s0_w&tx=%s_%s_' % (s0_w,tx))
if [s0_lemma,tx] != 2*[None]:feats.append('s0_lemma&tx=%s_%s_' % (s0_lemma,tx))
if [s0_t,tx] != 2*[None]:feats.append('s0_t&tx=%s_%s_' % (s0_t,tx))
if [s0_dl,tx] != 2*[None]:feats.append('s0_dl&tx=%s_%s_' % (s0_dl,tx))
if [s0_len,tx] != 2*[None]:feats.append('s0_len&tx=%s_%s_' % (s0_len,tx))
if [s0_t,s0_txv] != 2*[None]:feats.append('s0_t&s0_txv=%s_%s_' % (s0_t,s0_txv))
if [s0_brown4] != 1*[None]:feats.append('s0_brown4=%s_' % (s0_brown4))
if [s0_brown6] != 1*[None]:feats.append('s0_brown6=%s_' % (s0_brown6))
if [s0_brown10] != 1*[None]:feats.append('s0_brown10=%s_' % (s0_brown10))
if [s0_brown20] != 1*[None]:feats.append('s0_brown20=%s_' % (s0_brown20))
if [s0_isnom] != 1*[None]:feats.append('s0_isnom=%s_' % (s0_isnom))
if [s0_nech] != 1*[None]:feats.append('s0_nech=%s_' % (s0_nech))
if [s0_lemma,s0_nech] != 2*[None]:feats.append('s0_lemma&s0_nech=%s_%s_' % (s0_lemma,s0_nech))
if [s0_isnom,s0_nech] != 2*[None]:feats.append('s0_isnom&s0_nech=%s_%s_' % (s0_isnom,s0_nech))
if [s0_c1lemma,tx] != 2*[None]:feats.append('s0_c1lemma&tx=%s_%s_' % (s0_c1lemma,tx))
if [s0_c1dl,s0_c1lemma] != 2*[None]:feats.append('s0_c1dl&s0_c1lemma=%s_%s_' % (s0_c1dl,s0_c1lemma))
if [s0_cpt,s0_p1_ne,s0_c1lemma] != 3*[None]:feats.append('s0_cpt&s0_p1_ne&s0_c1lemma=%s_%s_%s_' % (s0_cpt,s0_p1_ne,s0_c1lemma))
if [b0_ne] != 1*[None]:feats.append('b0_ne=%s_' % (b0_ne))
if [b0_w] != 1*[None]:feats.append('b0_w=%s_' % (b0_w))
if [b0_lemma] != 1*[None]:feats.append('b0_lemma=%s_' % (b0_lemma))
if [b0_t] != 1*[None]:feats.append('b0_t=%s_' % (b0_t))
if [b0_dl] != 1*[None]:feats.append('b0_dl=%s_' % (b0_dl))
if [b0_len] != 1*[None]:feats.append('b0_len=%s_' % (b0_len))
if [b0_reph] != 1*[None]:feats.append('b0_reph=%s_' % (b0_reph))
if [b0_brown4] != 1*[None]:feats.append('b0_brown4=%s_' % (b0_brown4))
if [b0_brown6] != 1*[None]:feats.append('b0_brown6=%s_' % (b0_brown6))
if [b0_brown10] != 1*[None]:feats.append('b0_brown10=%s_' % (b0_brown10))
if [b0_brown20] != 1*[None]:feats.append('b0_brown20=%s_' % (b0_brown20))
if [a0_ne] != 1*[None]:feats.append('a0_ne=%s_' % (a0_ne))
if [a0_w] != 1*[None]:feats.append('a0_w=%s_' % (a0_w))
if [a0_lemma] != 1*[None]:feats.append('a0_lemma=%s_' % (a0_lemma))
if [a0_t] != 1*[None]:feats.append('a0_t=%s_' % (a0_t))
if [a0_dl] != 1*[None]:feats.append('a0_dl=%s_' % (a0_dl))
if [a0_istrace] != 1*[None]:feats.append('a0_istrace=%s_' % (a0_istrace))
if [a0_rtr] != 1*[None]:feats.append('a0_rtr=%s_' % (a0_rtr))
if [a0_dl,a0_istrace,a0_rtr] != 3*[None]:feats.append('a0_dl&a0_istrace&a0_rtr=%s_%s_%s_' % (a0_dl,a0_istrace,a0_rtr))
if [a0_brown4] != 1*[None]:feats.append('a0_brown4=%s_' % (a0_brown4))
if [a0_brown6] != 1*[None]:feats.append('a0_brown6=%s_' % (a0_brown6))
if [a0_brown10] != 1*[None]:feats.append('a0_brown10=%s_' % (a0_brown10))
if [a0_brown20] != 1*[None]:feats.append('a0_brown20=%s_' % (a0_brown20))
if [s0_p1_ne] != 1*[None]:feats.append('s0_p1_ne=%s_' % (s0_p1_ne))
if [s0_p1_w] != 1*[None]:feats.append('s0_p1_w=%s_' % (s0_p1_w))
if [s0_p1_lemma] != 1*[None]:feats.append('s0_p1_lemma=%s_' % (s0_p1_lemma))
if [s0_p1_t] != 1*[None]:feats.append('s0_p1_t=%s_' % (s0_p1_t))
if [s0_p1_dl] != 1*[None]:feats.append('s0_p1_dl=%s_' % (s0_p1_dl))
if [b0_pathpwd,b0_lemma,s0_lemma] != 3*[None]:feats.append('b0_pathpwd&b0_lemma&s0_lemma=%s_%s_%s_' % (b0_pathpwd,b0_lemma,s0_lemma))
if [b0_apathpwd,a0_lemma,b0_lemma] != 3*[None]:feats.append('b0_apathpwd&a0_lemma&b0_lemma=%s_%s_%s_' % (b0_apathpwd,a0_lemma,b0_lemma))
if [b0_pathpwd] != 1*[None]:feats.append('b0_pathpwd=%s_' % (b0_pathpwd))
if [b0_apathpwd] != 1*[None]:feats.append('b0_apathpwd=%s_' % (b0_apathpwd))
if [b0_lemma,b0_rsb_dl] != 2*[None]:feats.append('b0_lemma&b0_rsb_dl=%s_%s_' % (b0_lemma,b0_rsb_dl))
if [b0_lemma,b0_nswp] != 2*[None]:feats.append('b0_lemma&b0_nswp=%s_%s_' % (b0_lemma,b0_nswp))
if [dist1] != 1*[None]:feats.append('dist1=%s_' % (dist1))
if [dist1,b0_pathp] != 2*[None]:feats.append('dist1&b0_pathp=%s_%s_' % (dist1,b0_pathp))
if [dist2] != 1*[None]:feats.append('dist2=%s_' % (dist2))
if [dist2,b0_apathp] != 2*[None]:feats.append('dist2&b0_apathp=%s_%s_' % (dist2,b0_apathp))
if [s0_lemma,b0_t] != 2*[None]:feats.append('s0_lemma&b0_t=%s_%s_' % (s0_lemma,b0_t))
if [s0_lemma,b0_dl] != 2*[None]:feats.append('s0_lemma&b0_dl=%s_%s_' % (s0_lemma,b0_dl))
if [s0_t,b0_lemma] != 2*[None]:feats.append('s0_t&b0_lemma=%s_%s_' % (s0_t,b0_lemma))
if [s0_dl,b0_lemma] != 2*[None]:feats.append('s0_dl&b0_lemma=%s_%s_' % (s0_dl,b0_lemma))
if [s0_ne,b0_ne] != 2*[None]:feats.append('s0_ne&b0_ne=%s_%s_' % (s0_ne,b0_ne))
if [s0_brown20,b0_brown4] != 2*[None]:feats.append('s0_brown20&b0_brown4=%s_%s_' % (s0_brown20,b0_brown4))
if [s0_brown20,b0_dl] != 2*[None]:feats.append('s0_brown20&b0_dl=%s_%s_' % (s0_brown20,b0_dl))
if [s0_brown4,b0_brown20] != 2*[None]:feats.append('s0_brown4&b0_brown20=%s_%s_' % (s0_brown4,b0_brown20))
if [s0_dl,b0_brown20] != 2*[None]:feats.append('s0_dl&b0_brown20=%s_%s_' % (s0_dl,b0_brown20))
if [a0_t,b0_lemma] != 2*[None]:feats.append('a0_t&b0_lemma=%s_%s_' % (a0_t,b0_lemma))
if [a0_dl,b0_lemma] != 2*[None]:feats.append('a0_dl&b0_lemma=%s_%s_' % (a0_dl,b0_lemma))
if [a0_ne,b0_ne] != 2*[None]:feats.append('a0_ne&b0_ne=%s_%s_' % (a0_ne,b0_ne))
if [a0_cpt,b0_cpt] != 2*[None]:feats.append('a0_cpt&b0_cpt=%s_%s_' % (a0_cpt,b0_cpt))
if [a0_cpt,b0_cpt,s0_lemma] != 3*[None]:feats.append('a0_cpt&b0_cpt&s0_lemma=%s_%s_%s_' % (a0_cpt,b0_cpt,s0_lemma))
if [a0_cpt,b0_ne] != 2*[None]:feats.append('a0_cpt&b0_ne=%s_%s_' % (a0_cpt,b0_ne))
return feats