-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathfeats_gen_basic_abt_feats.py
101 lines (101 loc) · 6.3 KB
/
feats_gen_basic_abt_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
#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_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
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
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_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 [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 [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 [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