From 23fca430ba741b003883d36c723623ca01e61216 Mon Sep 17 00:00:00 2001 From: Scholivet Manon <manon.scholivet@etu.univ-amu.fr> Date: Fri, 6 Jul 2018 14:52:43 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20features=20morpho=20(M1-M24),=20r=C3=A9?= =?UTF-8?q?solution=20probleme=20pour=20l'ajout=20de=20chaine=20de=20carac?= =?UTF-8?q?t=C3=A8re=20longues=20dans=20un=20dico,=20ajout=20d'otpion=20-N?= =?UTF-8?q?=20dans=20maca=5Ftm=5Ftrain=20pour=20indiquer=20dans=20quels=20?= =?UTF-8?q?fichiers=20=C3=A9crire=20le=20modele=20et=20la=20structure=20du?= =?UTF-8?q?=20NN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- maca_common/include/feat_types.h | 28 +- maca_common/include/mcd.h | 31 +- maca_common/include/word.h | 27 ++ maca_common/src/feat_types.c | 55 ++- maca_common/src/hash.c | 6 +- maca_common/src/mcd.c | 30 +- maca_trans_parser/src/feat_fct.c | 579 +++++++++++++++++++++++++- maca_trans_parser/src/maca_tm_train.c | 15 +- 8 files changed, 753 insertions(+), 18 deletions(-) diff --git a/maca_common/include/feat_types.h b/maca_common/include/feat_types.h index a6673b8..985e44a 100644 --- a/maca_common/include/feat_types.h +++ b/maca_common/include/feat_types.h @@ -1,7 +1,7 @@ #ifndef __FEAT_TYPES__ #define __FEAT_TYPES__ -#define FEAT_TYPE_NB 39 +#define FEAT_TYPE_NB 64 #define FEAT_TYPE_UNKNOWN -1 #define FEAT_TYPE_INDEX 0 @@ -45,6 +45,32 @@ #define FEAT_TYPE_SGN 38 #define FEAT_TYPE_LENGTH 39 +#define FEAT_TYPE_M1 40 +#define FEAT_TYPE_M2 41 +#define FEAT_TYPE_M3 42 +#define FEAT_TYPE_M4 43 +#define FEAT_TYPE_M5 44 +#define FEAT_TYPE_M6 45 +#define FEAT_TYPE_M7 46 +#define FEAT_TYPE_M8 47 +#define FEAT_TYPE_M9 48 +#define FEAT_TYPE_M10 49 +#define FEAT_TYPE_M11 50 +#define FEAT_TYPE_M12 51 +#define FEAT_TYPE_M13 52 +#define FEAT_TYPE_M14 53 +#define FEAT_TYPE_M15 54 +#define FEAT_TYPE_M16 55 +#define FEAT_TYPE_M17 56 +#define FEAT_TYPE_M18 57 +#define FEAT_TYPE_M19 58 +#define FEAT_TYPE_M20 59 +#define FEAT_TYPE_M21 60 +#define FEAT_TYPE_M22 61 +#define FEAT_TYPE_M23 62 +#define FEAT_TYPE_M24 63 + + int feat_type_string2int(char *type_name); const char *feat_type_int2string(int type); #endif diff --git a/maca_common/include/mcd.h b/maca_common/include/mcd.h index a86626f..1bb7d83 100644 --- a/maca_common/include/mcd.h +++ b/maca_common/include/mcd.h @@ -8,7 +8,7 @@ #define MCD_INVALID_VALUE -1 -#define MCD_WF_NB 48 +#define MCD_WF_NB 71 #define MCD_WF_ID 0 #define MCD_WF_OFFSET 0 /* ID and OFFSET are synonymous */ @@ -61,6 +61,33 @@ #define MCD_WF_Person 45 #define MCD_WF_Tense 46 +#define MCD_WF_M1 47 +#define MCD_WF_M2 48 +#define MCD_WF_M3 49 +#define MCD_WF_M4 50 +#define MCD_WF_M5 51 +#define MCD_WF_M6 52 +#define MCD_WF_M7 53 +#define MCD_WF_M8 54 +#define MCD_WF_M9 55 +#define MCD_WF_M10 56 +#define MCD_WF_M11 57 +#define MCD_WF_M12 58 +#define MCD_WF_M13 59 +#define MCD_WF_M14 60 +#define MCD_WF_M15 61 +#define MCD_WF_M16 62 +#define MCD_WF_M17 63 +#define MCD_WF_M18 64 +#define MCD_WF_M19 65 +#define MCD_WF_M20 66 +#define MCD_WF_M21 67 +#define MCD_WF_M22 68 +#define MCD_WF_M23 69 +#define MCD_WF_M24 70 + + + /*Abbr AdpType AdvType @@ -170,8 +197,6 @@ Xtra*/ #define mcd_get_z_col(m) (m)->wf2col[MCD_WF_Z] - - #define mcd_set_form_col(m, v) (m)->wf[MCD_WF_FORM] = (v) diff --git a/maca_common/include/word.h b/maca_common/include/word.h index 81886ae..56df25a 100644 --- a/maca_common/include/word.h +++ b/maca_common/include/word.h @@ -94,6 +94,33 @@ typedef struct _word { #define word_get_U1(w) (((w) == NULL) ? -1 : (w)->U1) #define word_get_index(w) (((w) == NULL) ? -1 : (w)->index) +#define word_get_M1(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M1]) +#define word_get_M2(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M2]) +#define word_get_M3(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M3]) +#define word_get_M4(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M4]) +#define word_get_M5(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M5]) +#define word_get_M6(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M6]) +#define word_get_M7(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M7]) +#define word_get_M8(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M8]) +#define word_get_M9(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M9]) +#define word_get_M10(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M10]) +#define word_get_M11(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M11]) +#define word_get_M12(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M12]) +#define word_get_M13(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M13]) +#define word_get_M14(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M14]) +#define word_get_M15(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M15]) +#define word_get_M16(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M16]) +#define word_get_M17(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M17]) +#define word_get_M18(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M18]) +#define word_get_M19(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M19]) +#define word_get_M20(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M20]) +#define word_get_M21(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M21]) +#define word_get_M22(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M22]) +#define word_get_M23(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M23]) +#define word_get_M24(w) (((w) == NULL) ? -1 : (w)->wf_array[MCD_WF_M24]) + + + #define word_set_id(w, val) ((w)->wf_array[MCD_WF_ID] = (val)) #define word_set_form(w, val) ((w)->wf_array[MCD_WF_FORM] = (val)) #define word_set_lemma(w, val) ((w)->wf_array[MCD_WF_LEMMA] = (val)) diff --git a/maca_common/src/feat_types.c b/maca_common/src/feat_types.c index d6d39fb..8a2ba16 100644 --- a/maca_common/src/feat_types.c +++ b/maca_common/src/feat_types.c @@ -45,6 +45,32 @@ int feat_type_string2int(char *type_name) if(!strcmp(type_name, "Y")) return FEAT_TYPE_Y; if(!strcmp(type_name, "Z")) return FEAT_TYPE_Z; if(!strcmp(type_name, "TRANS")) return FEAT_TYPE_TRANS; + + if(!strcmp(type_name, "M1")) return FEAT_TYPE_M1; + if(!strcmp(type_name, "M2")) return FEAT_TYPE_M2; + if(!strcmp(type_name, "M3")) return FEAT_TYPE_M3; + if(!strcmp(type_name, "M4")) return FEAT_TYPE_M4; + if(!strcmp(type_name, "M5")) return FEAT_TYPE_M5; + if(!strcmp(type_name, "M6")) return FEAT_TYPE_M6; + if(!strcmp(type_name, "M7")) return FEAT_TYPE_M7; + if(!strcmp(type_name, "M8")) return FEAT_TYPE_M8; + if(!strcmp(type_name, "M9")) return FEAT_TYPE_M9; + if(!strcmp(type_name, "M10")) return FEAT_TYPE_M10; + if(!strcmp(type_name, "M11")) return FEAT_TYPE_M11; + if(!strcmp(type_name, "M12")) return FEAT_TYPE_M12; + if(!strcmp(type_name, "M13")) return FEAT_TYPE_M13; + if(!strcmp(type_name, "M14")) return FEAT_TYPE_M14; + if(!strcmp(type_name, "M15")) return FEAT_TYPE_M15; + if(!strcmp(type_name, "M16")) return FEAT_TYPE_M16; + if(!strcmp(type_name, "M17")) return FEAT_TYPE_M17; + if(!strcmp(type_name, "M18")) return FEAT_TYPE_M18; + if(!strcmp(type_name, "M19")) return FEAT_TYPE_M19; + if(!strcmp(type_name, "M20")) return FEAT_TYPE_M20; + if(!strcmp(type_name, "M21")) return FEAT_TYPE_M21; + if(!strcmp(type_name, "M22")) return FEAT_TYPE_M22; + if(!strcmp(type_name, "M23")) return FEAT_TYPE_M23; + if(!strcmp(type_name, "M24")) return FEAT_TYPE_M24; + return FEAT_TYPE_UNKNOWN; } @@ -91,6 +117,33 @@ const char *feat_type_int2string(int type) if(type == FEAT_TYPE_Z) return "Z"; if(type == FEAT_TYPE_UNKNOWN) return "UNKNOWN"; if(type == FEAT_TYPE_TRANS) return "TRANS"; - return "UNKNOWN"; + + if(type == FEAT_TYPE_M1) return "M1"; + if(type == FEAT_TYPE_M2) return "M2"; + if(type == FEAT_TYPE_M3) return "M3"; + if(type == FEAT_TYPE_M4) return "M4"; + if(type == FEAT_TYPE_M5) return "M5"; + if(type == FEAT_TYPE_M6) return "M6"; + if(type == FEAT_TYPE_M7) return "M7"; + if(type == FEAT_TYPE_M8) return "M8"; + if(type == FEAT_TYPE_M9) return "M9"; + if(type == FEAT_TYPE_M10) return "M10"; + if(type == FEAT_TYPE_M11) return "M11"; + if(type == FEAT_TYPE_M12) return "M12"; + if(type == FEAT_TYPE_M13) return "M13"; + if(type == FEAT_TYPE_M14) return "M14"; + if(type == FEAT_TYPE_M15) return "M15"; + if(type == FEAT_TYPE_M16) return "M16"; + if(type == FEAT_TYPE_M17) return "M17"; + if(type == FEAT_TYPE_M18) return "M18"; + if(type == FEAT_TYPE_M19) return "M19"; + if(type == FEAT_TYPE_M20) return "M20"; + if(type == FEAT_TYPE_M21) return "M21"; + if(type == FEAT_TYPE_M22) return "M22"; + if(type == FEAT_TYPE_M23) return "M23"; + if(type == FEAT_TYPE_M24) return "M24"; + + + return "UNKNOWN"; } diff --git a/maca_common/src/hash.c b/maca_common/src/hash.c index cfbc7a5..b67b437 100644 --- a/maca_common/src/hash.c +++ b/maca_common/src/hash.c @@ -48,7 +48,7 @@ int hash_func(char *key, int size) int i; int l = strlen(key); int val = key[0]; - for(i=1; i < l; i++) + for(i=1; i < l && i < 200; i++) // When hashing a key too long, keep only the 200th first char to avoid negative val val = val + i *i * abs(key[i]); return val % size; } @@ -59,7 +59,9 @@ cell *hash_lookup(hash *h, char *key) cell *c; if(key == NULL) return NULL; index = hash_func(key, h->size); - for(c=h->array[index]; c; c = c->next) + for(c=h->array[index]; +c; +c = c->next) if(!strcmp(key, c->key)) return c; return NULL; diff --git a/maca_common/src/mcd.c b/maca_common/src/mcd.c index a726143..280c2bb 100644 --- a/maca_common/src/mcd.c +++ b/maca_common/src/mcd.c @@ -558,7 +558,35 @@ int mcd_wf_code(char *wf) if(!strcmp(wf, "X")) return MCD_WF_X; if(!strcmp(wf, "Y")) return MCD_WF_Y; if(!strcmp(wf, "Z")) return MCD_WF_Z; - return -1; + + if(!strcmp(wf, "M1")) return MCD_WF_M1; + if(!strcmp(wf, "M2")) return MCD_WF_M2; + if(!strcmp(wf, "M3")) return MCD_WF_M3; + if(!strcmp(wf, "M4")) return MCD_WF_M4; + if(!strcmp(wf, "M5")) return MCD_WF_M5; + if(!strcmp(wf, "M6")) return MCD_WF_M6; + if(!strcmp(wf, "M7")) return MCD_WF_M7; + if(!strcmp(wf, "M8")) return MCD_WF_M8; + if(!strcmp(wf, "M9")) return MCD_WF_M9; + if(!strcmp(wf, "M10")) return MCD_WF_M10; + if(!strcmp(wf, "M11")) return MCD_WF_M11; + if(!strcmp(wf, "M12")) return MCD_WF_M12; + if(!strcmp(wf, "M13")) return MCD_WF_M13; + if(!strcmp(wf, "M14")) return MCD_WF_M14; + if(!strcmp(wf, "M15")) return MCD_WF_M15; + if(!strcmp(wf, "M16")) return MCD_WF_M16; + if(!strcmp(wf, "M17")) return MCD_WF_M17; + if(!strcmp(wf, "M18")) return MCD_WF_M18; + if(!strcmp(wf, "M19")) return MCD_WF_M19; + if(!strcmp(wf, "M20")) return MCD_WF_M20; + if(!strcmp(wf, "M21")) return MCD_WF_M21; + if(!strcmp(wf, "M22")) return MCD_WF_M22; + if(!strcmp(wf, "M23")) return MCD_WF_M23; + if(!strcmp(wf, "M24")) return MCD_WF_M24; + + + + return -1; } diff --git a/maca_trans_parser/src/feat_fct.c b/maca_trans_parser/src/feat_fct.c index 7a45156..efc4c13 100644 --- a/maca_trans_parser/src/feat_fct.c +++ b/maca_trans_parser/src/feat_fct.c @@ -48,6 +48,33 @@ int s0X(void *c) {return word_get_X(stack_s0(config_get_stack((config *) c)));} int s0Y(void *c) {return word_get_Y(stack_s0(config_get_stack((config *) c)));} int s0Z(void *c) {return word_get_Z(stack_s0(config_get_stack((config *) c)));} +int s0M1(void *c) {return word_get_M1(stack_s0(config_get_stack((config *) c)));} +int s0M2(void *c) {return word_get_M2(stack_s0(config_get_stack((config *) c)));} +int s0M3(void *c) {return word_get_M3(stack_s0(config_get_stack((config *) c)));} +int s0M4(void *c) {return word_get_M4(stack_s0(config_get_stack((config *) c)));} +int s0M5(void *c) {return word_get_M5(stack_s0(config_get_stack((config *) c)));} +int s0M6(void *c) {return word_get_M6(stack_s0(config_get_stack((config *) c)));} +int s0M7(void *c) {return word_get_M7(stack_s0(config_get_stack((config *) c)));} +int s0M8(void *c) {return word_get_M8(stack_s0(config_get_stack((config *) c)));} +int s0M9(void *c) {return word_get_M9(stack_s0(config_get_stack((config *) c)));} +int s0M10(void *c) {return word_get_M10(stack_s0(config_get_stack((config *) c)));} +int s0M11(void *c) {return word_get_M11(stack_s0(config_get_stack((config *) c)));} +int s0M12(void *c) {return word_get_M12(stack_s0(config_get_stack((config *) c)));} +int s0M13(void *c) {return word_get_M13(stack_s0(config_get_stack((config *) c)));} +int s0M14(void *c) {return word_get_M14(stack_s0(config_get_stack((config *) c)));} +int s0M15(void *c) {return word_get_M15(stack_s0(config_get_stack((config *) c)));} +int s0M16(void *c) {return word_get_M16(stack_s0(config_get_stack((config *) c)));} +int s0M17(void *c) {return word_get_M17(stack_s0(config_get_stack((config *) c)));} +int s0M18(void *c) {return word_get_M18(stack_s0(config_get_stack((config *) c)));} +int s0M19(void *c) {return word_get_M19(stack_s0(config_get_stack((config *) c)));} +int s0M20(void *c) {return word_get_M20(stack_s0(config_get_stack((config *) c)));} +int s0M21(void *c) {return word_get_M21(stack_s0(config_get_stack((config *) c)));} +int s0M22(void *c) {return word_get_M22(stack_s0(config_get_stack((config *) c)));} +int s0M23(void *c) {return word_get_M23(stack_s0(config_get_stack((config *) c)));} +int s0M24(void *c) {return word_get_M24(stack_s0(config_get_stack((config *) c)));} + + + int s0U1(void *c) {return word_get_U1(stack_s0(config_get_stack((config *) c)));} int s0sgn(void *c) {return word_get_signature(stack_s0(config_get_stack((config *) c)));} @@ -87,6 +114,33 @@ int s1X(void *c) {return word_get_X(stack_s1(config_get_stack((config *) c)));} int s1Y(void *c) {return word_get_Y(stack_s1(config_get_stack((config *) c)));} int s1Z(void *c) {return word_get_Z(stack_s1(config_get_stack((config *) c)));} +int s1M1(void *c) {return word_get_M1(stack_s1(config_get_stack((config *) c)));} +int s1M2(void *c) {return word_get_M2(stack_s1(config_get_stack((config *) c)));} +int s1M3(void *c) {return word_get_M3(stack_s1(config_get_stack((config *) c)));} +int s1M4(void *c) {return word_get_M4(stack_s1(config_get_stack((config *) c)));} +int s1M5(void *c) {return word_get_M5(stack_s1(config_get_stack((config *) c)));} +int s1M6(void *c) {return word_get_M6(stack_s1(config_get_stack((config *) c)));} +int s1M7(void *c) {return word_get_M7(stack_s1(config_get_stack((config *) c)));} +int s1M8(void *c) {return word_get_M8(stack_s1(config_get_stack((config *) c)));} +int s1M9(void *c) {return word_get_M9(stack_s1(config_get_stack((config *) c)));} +int s1M10(void *c) {return word_get_M10(stack_s1(config_get_stack((config *) c)));} +int s1M11(void *c) {return word_get_M11(stack_s1(config_get_stack((config *) c)));} +int s1M12(void *c) {return word_get_M12(stack_s1(config_get_stack((config *) c)));} +int s1M13(void *c) {return word_get_M13(stack_s1(config_get_stack((config *) c)));} +int s1M14(void *c) {return word_get_M14(stack_s1(config_get_stack((config *) c)));} +int s1M15(void *c) {return word_get_M15(stack_s1(config_get_stack((config *) c)));} +int s1M16(void *c) {return word_get_M16(stack_s1(config_get_stack((config *) c)));} +int s1M17(void *c) {return word_get_M17(stack_s1(config_get_stack((config *) c)));} +int s1M18(void *c) {return word_get_M18(stack_s1(config_get_stack((config *) c)));} +int s1M19(void *c) {return word_get_M19(stack_s1(config_get_stack((config *) c)));} +int s1M20(void *c) {return word_get_M20(stack_s1(config_get_stack((config *) c)));} +int s1M21(void *c) {return word_get_M21(stack_s1(config_get_stack((config *) c)));} +int s1M22(void *c) {return word_get_M22(stack_s1(config_get_stack((config *) c)));} +int s1M23(void *c) {return word_get_M23(stack_s1(config_get_stack((config *) c)));} +int s1M24(void *c) {return word_get_M24(stack_s1(config_get_stack((config *) c)));} + + + int s2g(void *c) {return (word_get_gov(stack_s2(config_get_stack((config *) c))) == WORD_INVALID_GOV) ? 0 : 1;} int s2sf(void *c) {return word_get_label(stack_s2(config_get_stack((config *) c)));} @@ -123,6 +177,31 @@ int s2X(void *c) {return word_get_X(stack_s2(config_get_stack((config *) c)));} int s2Y(void *c) {return word_get_Y(stack_s2(config_get_stack((config *) c)));} int s2Z(void *c) {return word_get_Z(stack_s2(config_get_stack((config *) c)));} +int s2M1(void *c) {return word_get_M1(stack_s2(config_get_stack((config *) c)));} +int s2M2(void *c) {return word_get_M2(stack_s2(config_get_stack((config *) c)));} +int s2M3(void *c) {return word_get_M3(stack_s2(config_get_stack((config *) c)));} +int s2M4(void *c) {return word_get_M4(stack_s2(config_get_stack((config *) c)));} +int s2M5(void *c) {return word_get_M5(stack_s2(config_get_stack((config *) c)));} +int s2M6(void *c) {return word_get_M6(stack_s2(config_get_stack((config *) c)));} +int s2M7(void *c) {return word_get_M7(stack_s2(config_get_stack((config *) c)));} +int s2M8(void *c) {return word_get_M8(stack_s2(config_get_stack((config *) c)));} +int s2M9(void *c) {return word_get_M9(stack_s2(config_get_stack((config *) c)));} +int s2M10(void *c) {return word_get_M10(stack_s2(config_get_stack((config *) c)));} +int s2M11(void *c) {return word_get_M11(stack_s2(config_get_stack((config *) c)));} +int s2M12(void *c) {return word_get_M12(stack_s2(config_get_stack((config *) c)));} +int s2M13(void *c) {return word_get_M13(stack_s2(config_get_stack((config *) c)));} +int s2M14(void *c) {return word_get_M14(stack_s2(config_get_stack((config *) c)));} +int s2M15(void *c) {return word_get_M15(stack_s2(config_get_stack((config *) c)));} +int s2M16(void *c) {return word_get_M16(stack_s2(config_get_stack((config *) c)));} +int s2M17(void *c) {return word_get_M17(stack_s2(config_get_stack((config *) c)));} +int s2M18(void *c) {return word_get_M18(stack_s2(config_get_stack((config *) c)));} +int s2M19(void *c) {return word_get_M19(stack_s2(config_get_stack((config *) c)));} +int s2M20(void *c) {return word_get_M20(stack_s2(config_get_stack((config *) c)));} +int s2M21(void *c) {return word_get_M21(stack_s2(config_get_stack((config *) c)));} +int s2M22(void *c) {return word_get_M22(stack_s2(config_get_stack((config *) c)));} +int s2M23(void *c) {return word_get_M23(stack_s2(config_get_stack((config *) c)));} +int s2M24(void *c) {return word_get_M24(stack_s2(config_get_stack((config *) c)));} + int s3f(void *c) {return word_get_form(stack_s3(config_get_stack((config *) c)));} int s3l(void *c) {return word_get_lemma(stack_s3(config_get_stack((config *) c)));} int s3c(void *c) {return word_get_cpos(stack_s3(config_get_stack((config *) c)));} @@ -156,6 +235,32 @@ int s3X(void *c) {return word_get_X(stack_s3(config_get_stack((config *) c)));} int s3Y(void *c) {return word_get_Y(stack_s3(config_get_stack((config *) c)));} int s3Z(void *c) {return word_get_Z(stack_s3(config_get_stack((config *) c)));} +int s3M1(void *c) {return word_get_M1(stack_s3(config_get_stack((config *) c)));} +int s3M2(void *c) {return word_get_M2(stack_s3(config_get_stack((config *) c)));} +int s3M3(void *c) {return word_get_M3(stack_s3(config_get_stack((config *) c)));} +int s3M4(void *c) {return word_get_M4(stack_s3(config_get_stack((config *) c)));} +int s3M5(void *c) {return word_get_M5(stack_s3(config_get_stack((config *) c)));} +int s3M6(void *c) {return word_get_M6(stack_s3(config_get_stack((config *) c)));} +int s3M7(void *c) {return word_get_M7(stack_s3(config_get_stack((config *) c)));} +int s3M8(void *c) {return word_get_M8(stack_s3(config_get_stack((config *) c)));} +int s3M9(void *c) {return word_get_M9(stack_s3(config_get_stack((config *) c)));} +int s3M10(void *c) {return word_get_M10(stack_s3(config_get_stack((config *) c)));} +int s3M11(void *c) {return word_get_M11(stack_s3(config_get_stack((config *) c)));} +int s3M12(void *c) {return word_get_M12(stack_s3(config_get_stack((config *) c)));} +int s3M13(void *c) {return word_get_M13(stack_s3(config_get_stack((config *) c)));} +int s3M14(void *c) {return word_get_M14(stack_s3(config_get_stack((config *) c)));} +int s3M15(void *c) {return word_get_M15(stack_s3(config_get_stack((config *) c)));} +int s3M16(void *c) {return word_get_M16(stack_s3(config_get_stack((config *) c)));} +int s3M17(void *c) {return word_get_M17(stack_s3(config_get_stack((config *) c)));} +int s3M18(void *c) {return word_get_M18(stack_s3(config_get_stack((config *) c)));} +int s3M19(void *c) {return word_get_M19(stack_s3(config_get_stack((config *) c)));} +int s3M20(void *c) {return word_get_M20(stack_s3(config_get_stack((config *) c)));} +int s3M21(void *c) {return word_get_M21(stack_s3(config_get_stack((config *) c)));} +int s3M22(void *c) {return word_get_M22(stack_s3(config_get_stack((config *) c)));} +int s3M23(void *c) {return word_get_M23(stack_s3(config_get_stack((config *) c)));} +int s3M24(void *c) {return word_get_M24(stack_s3(config_get_stack((config *) c)));} + + /* words in the buffer */ int b0s1(void *c){return word_get_s1(word_buffer_b0(config_get_buffer((config *) c)));} @@ -220,6 +325,31 @@ int b0Z(void *c) {return word_get_Z(word_buffer_b0(config_get_buffer((config *) int b0U1(void *c) {return word_get_U1(word_buffer_b0(config_get_buffer((config *) c)));} int b0sgn(void *c) {return word_get_signature(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M1(void *c) {return word_get_M1(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M2(void *c) {return word_get_M2(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M3(void *c) {return word_get_M3(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M4(void *c) {return word_get_M4(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M5(void *c) {return word_get_M5(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M6(void *c) {return word_get_M6(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M7(void *c) {return word_get_M7(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M8(void *c) {return word_get_M8(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M9(void *c) {return word_get_M9(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M10(void *c) {return word_get_M10(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M11(void *c) {return word_get_M11(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M12(void *c) {return word_get_M12(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M13(void *c) {return word_get_M13(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M14(void *c) {return word_get_M14(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M15(void *c) {return word_get_M15(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M16(void *c) {return word_get_M16(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M17(void *c) {return word_get_M17(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M18(void *c) {return word_get_M18(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M19(void *c) {return word_get_M19(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M20(void *c) {return word_get_M20(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M21(void *c) {return word_get_M21(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M22(void *c) {return word_get_M22(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M23(void *c) {return word_get_M23(word_buffer_b0(config_get_buffer((config *) c)));} +int b0M24(void *c) {return word_get_M24(word_buffer_b0(config_get_buffer((config *) c)));} + int b1f(void *c) {return word_get_form(word_buffer_b1(config_get_buffer((config *) c)));} int b1l(void *c) {return word_get_lemma(word_buffer_b1(config_get_buffer((config *) c)));} int b1c(void *c) {return word_get_cpos(word_buffer_b1(config_get_buffer((config *) c)));} @@ -256,6 +386,31 @@ int b1Z(void *c) {return word_get_Z(word_buffer_b1(config_get_buffer((config *) int b1U1(void *c) {return word_get_U1(word_buffer_b1(config_get_buffer((config *) c)));} int b1sgn(void *c) {return word_get_signature(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M1(void *c) {return word_get_M1(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M2(void *c) {return word_get_M2(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M3(void *c) {return word_get_M3(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M4(void *c) {return word_get_M4(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M5(void *c) {return word_get_M5(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M6(void *c) {return word_get_M6(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M7(void *c) {return word_get_M7(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M8(void *c) {return word_get_M8(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M9(void *c) {return word_get_M9(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M10(void *c) {return word_get_M10(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M11(void *c) {return word_get_M11(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M12(void *c) {return word_get_M12(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M13(void *c) {return word_get_M13(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M14(void *c) {return word_get_M14(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M15(void *c) {return word_get_M15(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M16(void *c) {return word_get_M16(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M17(void *c) {return word_get_M17(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M18(void *c) {return word_get_M18(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M19(void *c) {return word_get_M19(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M20(void *c) {return word_get_M20(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M21(void *c) {return word_get_M21(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M22(void *c) {return word_get_M22(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M23(void *c) {return word_get_M23(word_buffer_b1(config_get_buffer((config *) c)));} +int b1M24(void *c) {return word_get_M24(word_buffer_b1(config_get_buffer((config *) c)));} + int b2f(void *c) {return word_get_form(word_buffer_b2(config_get_buffer((config *) c)));} int b2l(void *c) {return word_get_lemma(word_buffer_b2(config_get_buffer((config *) c)));} int b2c(void *c) {return word_get_cpos(word_buffer_b2(config_get_buffer((config *) c)));} @@ -292,7 +447,30 @@ int b2Z(void *c) {return word_get_Z(word_buffer_b2(config_get_buffer((config *) int b2U1(void *c) {return word_get_U1(word_buffer_b2(config_get_buffer((config *) c)));} int b2sgn(void *c) {return word_get_signature(word_buffer_b2(config_get_buffer((config *) c)));} - +int b2M1(void *c) {return word_get_M1(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M2(void *c) {return word_get_M2(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M3(void *c) {return word_get_M3(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M4(void *c) {return word_get_M4(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M5(void *c) {return word_get_M5(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M6(void *c) {return word_get_M6(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M7(void *c) {return word_get_M7(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M8(void *c) {return word_get_M8(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M9(void *c) {return word_get_M9(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M10(void *c) {return word_get_M10(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M11(void *c) {return word_get_M11(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M12(void *c) {return word_get_M12(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M13(void *c) {return word_get_M13(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M14(void *c) {return word_get_M14(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M15(void *c) {return word_get_M15(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M16(void *c) {return word_get_M16(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M17(void *c) {return word_get_M17(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M18(void *c) {return word_get_M18(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M19(void *c) {return word_get_M19(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M20(void *c) {return word_get_M20(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M21(void *c) {return word_get_M21(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M22(void *c) {return word_get_M22(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M23(void *c) {return word_get_M23(word_buffer_b2(config_get_buffer((config *) c)));} +int b2M24(void *c) {return word_get_M24(word_buffer_b2(config_get_buffer((config *) c)));} int b3f(void *c) {return word_get_form(word_buffer_b3(config_get_buffer((config *) c)));} int b3l(void *c) {return word_get_lemma(word_buffer_b3(config_get_buffer((config *) c)));} @@ -327,6 +505,33 @@ int b3X(void *c) {return word_get_X(word_buffer_b3(config_get_buffer((config *) int b3Y(void *c) {return word_get_Y(word_buffer_b3(config_get_buffer((config *) c)));} int b3Z(void *c) {return word_get_Z(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M1(void *c) {return word_get_M1(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M2(void *c) {return word_get_M2(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M3(void *c) {return word_get_M3(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M4(void *c) {return word_get_M4(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M5(void *c) {return word_get_M5(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M6(void *c) {return word_get_M6(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M7(void *c) {return word_get_M7(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M8(void *c) {return word_get_M8(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M9(void *c) {return word_get_M9(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M10(void *c) {return word_get_M10(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M11(void *c) {return word_get_M11(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M12(void *c) {return word_get_M12(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M13(void *c) {return word_get_M13(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M14(void *c) {return word_get_M14(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M15(void *c) {return word_get_M15(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M16(void *c) {return word_get_M16(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M17(void *c) {return word_get_M17(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M18(void *c) {return word_get_M18(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M19(void *c) {return word_get_M19(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M20(void *c) {return word_get_M20(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M21(void *c) {return word_get_M21(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M22(void *c) {return word_get_M22(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M23(void *c) {return word_get_M23(word_buffer_b3(config_get_buffer((config *) c)));} +int b3M24(void *c) {return word_get_M24(word_buffer_b3(config_get_buffer((config *) c)));} + + + int bm1f(void *c) {return word_get_form(word_buffer_bm1(config_get_buffer((config *) c)));} int bm1l(void *c) {return word_get_lemma(word_buffer_bm1(config_get_buffer((config *) c)));} int bm1c(void *c) {return word_get_cpos(word_buffer_bm1(config_get_buffer((config *) c)));} @@ -366,6 +571,31 @@ int bm1Z(void *c) {return word_get_Z(word_buffer_bm1(config_get_buffer((config * int bm1U1(void *c) {return word_get_U1(word_buffer_bm1(config_get_buffer((config *) c)));} int bm1sgn(void *c) {return word_get_signature(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M1(void *c) {return word_get_M1(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M2(void *c) {return word_get_M2(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M3(void *c) {return word_get_M3(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M4(void *c) {return word_get_M4(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M5(void *c) {return word_get_M5(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M6(void *c) {return word_get_M6(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M7(void *c) {return word_get_M7(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M8(void *c) {return word_get_M8(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M9(void *c) {return word_get_M9(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M10(void *c) {return word_get_M10(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M11(void *c) {return word_get_M11(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M12(void *c) {return word_get_M12(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M13(void *c) {return word_get_M13(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M14(void *c) {return word_get_M14(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M15(void *c) {return word_get_M15(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M16(void *c) {return word_get_M16(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M17(void *c) {return word_get_M17(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M18(void *c) {return word_get_M18(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M19(void *c) {return word_get_M19(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M20(void *c) {return word_get_M20(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M21(void *c) {return word_get_M21(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M22(void *c) {return word_get_M22(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M23(void *c) {return word_get_M23(word_buffer_bm1(config_get_buffer((config *) c)));} +int bm1M24(void *c) {return word_get_M24(word_buffer_bm1(config_get_buffer((config *) c)));} + int bm2f(void *c) {return word_get_form(word_buffer_bm2(config_get_buffer((config *) c)));} int bm2l(void *c) {return word_get_lemma(word_buffer_bm2(config_get_buffer((config *) c)));} int bm2c(void *c) {return word_get_cpos(word_buffer_bm2(config_get_buffer((config *) c)));} @@ -399,6 +629,33 @@ int bm2X(void *c) {return word_get_X(word_buffer_bm2(config_get_buffer((config * int bm2Y(void *c) {return word_get_Y(word_buffer_bm2(config_get_buffer((config *) c)));} int bm2Z(void *c) {return word_get_Z(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M1(void *c) {return word_get_M1(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M2(void *c) {return word_get_M2(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M3(void *c) {return word_get_M3(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M4(void *c) {return word_get_M4(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M5(void *c) {return word_get_M5(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M6(void *c) {return word_get_M6(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M7(void *c) {return word_get_M7(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M8(void *c) {return word_get_M8(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M9(void *c) {return word_get_M9(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M10(void *c) {return word_get_M10(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M11(void *c) {return word_get_M11(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M12(void *c) {return word_get_M12(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M13(void *c) {return word_get_M13(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M14(void *c) {return word_get_M14(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M15(void *c) {return word_get_M15(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M16(void *c) {return word_get_M16(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M17(void *c) {return word_get_M17(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M18(void *c) {return word_get_M18(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M19(void *c) {return word_get_M19(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M20(void *c) {return word_get_M20(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M21(void *c) {return word_get_M21(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M22(void *c) {return word_get_M22(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M23(void *c) {return word_get_M23(word_buffer_bm2(config_get_buffer((config *) c)));} +int bm2M24(void *c) {return word_get_M24(word_buffer_bm2(config_get_buffer((config *) c)));} + + + int bm3f(void *c) {return word_get_form(word_buffer_bm3(config_get_buffer((config *) c)));} int bm3l(void *c) {return word_get_lemma(word_buffer_bm3(config_get_buffer((config *) c)));} int bm3c(void *c) {return word_get_cpos(word_buffer_bm3(config_get_buffer((config *) c)));} @@ -432,6 +689,33 @@ int bm3X(void *c) {return word_get_X(word_buffer_bm3(config_get_buffer((config * int bm3Y(void *c) {return word_get_Y(word_buffer_bm3(config_get_buffer((config *) c)));} int bm3Z(void *c) {return word_get_Z(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M1(void *c) {return word_get_M1(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M2(void *c) {return word_get_M2(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M3(void *c) {return word_get_M3(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M4(void *c) {return word_get_M4(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M5(void *c) {return word_get_M5(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M6(void *c) {return word_get_M6(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M7(void *c) {return word_get_M7(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M8(void *c) {return word_get_M8(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M9(void *c) {return word_get_M9(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M10(void *c) {return word_get_M10(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M11(void *c) {return word_get_M11(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M12(void *c) {return word_get_M12(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M13(void *c) {return word_get_M13(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M14(void *c) {return word_get_M14(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M15(void *c) {return word_get_M15(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M16(void *c) {return word_get_M16(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M17(void *c) {return word_get_M17(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M18(void *c) {return word_get_M18(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M19(void *c) {return word_get_M19(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M20(void *c) {return word_get_M20(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M21(void *c) {return word_get_M21(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M22(void *c) {return word_get_M22(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M23(void *c) {return word_get_M23(word_buffer_bm3(config_get_buffer((config *) c)));} +int bm3M24(void *c) {return word_get_M24(word_buffer_bm3(config_get_buffer((config *) c)));} + + + /* structural features */ int ldep_s0r(void *input){ @@ -918,7 +1202,34 @@ feat_lib *feat_lib_build(void) /* feat_lib_add(fl, FEAT_TYPE_INT_3, (char *)"s0U1", s0U1); */ feat_lib_add(fl, FEAT_TYPE_INT, (char *)"s0U1", s0U1); feat_lib_add(fl, FEAT_TYPE_SGN, (char *)"s0sgn", s0sgn); - + + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"s0M1", s0M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"s0M2", s0M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"s0M3", s0M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"s0M4", s0M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"s0M5", s0M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"s0M6", s0M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"s0M7", s0M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"s0M8", s0M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"s0M9", s0M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"s0M10", s0M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"s0M11", s0M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"s0M12", s0M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"s0M13", s0M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"s0M14", s0M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"s0M15", s0M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"s0M16", s0M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"s0M17", s0M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"s0M18", s0M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"s0M19", s0M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"s0M20", s0M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"s0M21", s0M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"s0M22", s0M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s0M23", s0M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s0M24", s0M24); + + + feat_lib_add(fl, FEAT_TYPE_INT, (char *)"s1g", s1g); feat_lib_add(fl, FEAT_TYPE_LABEL, (char *)"s1sf", s1sf); @@ -955,7 +1266,34 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_X, (char *)"s1X", s1X); feat_lib_add(fl, FEAT_TYPE_Y, (char *)"s1Y", s1Y); feat_lib_add(fl, FEAT_TYPE_Z, (char *)"s1Z", s1Z); - + + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"s1M1", s1M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"s1M2", s1M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"s1M3", s1M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"s1M4", s1M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"s1M5", s1M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"s1M6", s1M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"s1M7", s1M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"s1M8", s1M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"s1M9", s1M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"s1M10", s1M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"s1M11", s1M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"s1M12", s1M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"s1M13", s1M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"s1M14", s1M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"s1M15", s1M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"s1M16", s1M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"s1M17", s1M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"s1M18", s1M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"s1M19", s1M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"s1M20", s1M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"s1M21", s1M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"s1M22", s1M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s1M23", s1M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s1M24", s1M24); + + + feat_lib_add(fl, FEAT_TYPE_LABEL, (char *)"s2sf", s2sf); feat_lib_add(fl, FEAT_TYPE_INT, (char *)"s2g", s2g); @@ -993,6 +1331,31 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_Y, (char *)"s2Y", s2Y); feat_lib_add(fl, FEAT_TYPE_Y, (char *)"s2Z", s2Z); + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"s2M1", s2M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"s2M2", s2M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"s2M3", s2M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"s2M4", s2M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"s2M5", s2M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"s2M6", s2M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"s2M7", s2M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"s2M8", s2M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"s2M9", s2M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"s2M10", s2M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"s2M11", s2M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"s2M12", s2M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"s2M13", s2M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"s2M14", s2M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"s2M15", s2M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"s2M16", s2M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"s2M17", s2M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"s2M18", s2M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"s2M19", s2M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"s2M20", s2M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"s2M21", s2M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"s2M22", s2M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s2M23", s2M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s2M24", s2M24); + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"s3f", s3f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"s3l", s3l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"s3c", s3c); @@ -1027,6 +1390,32 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_Y, (char *)"s3Y", s3Y); feat_lib_add(fl, FEAT_TYPE_Y, (char *)"s3Z", s3Z); + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"s3M1", s3M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"s3M2", s3M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"s3M3", s3M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"s3M4", s3M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"s3M5", s3M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"s3M6", s3M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"s3M7", s3M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"s3M8", s3M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"s3M9", s3M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"s3M10", s3M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"s3M11", s3M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"s3M12", s3M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"s3M13", s3M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"s3M14", s3M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"s3M15", s3M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"s3M16", s3M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"s3M17", s3M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"s3M18", s3M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"s3M19", s3M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"s3M20", s3M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"s3M21", s3M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"s3M22", s3M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s3M23", s3M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"s3M24", s3M24); + + feat_lib_add(fl, FEAT_TYPE_INT, (char *)"b0g", b0g); feat_lib_add(fl, FEAT_TYPE_LABEL, (char *)"b0sf", b0sf); @@ -1083,7 +1472,31 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_LETTER, (char *)"b0p5", b0p5); feat_lib_add(fl, FEAT_TYPE_LETTER, (char *)"b0p6", b0p6); - + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"b0M1", b0M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"b0M2", b0M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"b0M3", b0M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"b0M4", b0M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"b0M5", b0M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"b0M6", b0M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"b0M7", b0M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"b0M8", b0M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"b0M9", b0M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"b0M10", b0M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"b0M11", b0M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"b0M12", b0M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"b0M13", b0M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"b0M14", b0M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"b0M15", b0M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"b0M16", b0M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"b0M17", b0M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"b0M18", b0M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"b0M19", b0M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"b0M20", b0M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"b0M21", b0M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"b0M22", b0M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b0M23", b0M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b0M24", b0M24); + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"bm1f", bm1f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"bm1l", bm1l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"bm1c", bm1c); @@ -1121,6 +1534,31 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_INT, (char *)"bm1U1", bm1U1); feat_lib_add(fl, FEAT_TYPE_SGN, (char *)"bm1sgn", bm1sgn); + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"bm1M1", bm1M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"bm1M2", bm1M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"bm1M3", bm1M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"bm1M4", bm1M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"bm1M5", bm1M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"bm1M6", bm1M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"bm1M7", bm1M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"bm1M8", bm1M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"bm1M9", bm1M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"bm1M10", bm1M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"bm1M11", bm1M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"bm1M12", bm1M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"bm1M13", bm1M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"bm1M14", bm1M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"bm1M15", bm1M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"bm1M16", bm1M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"bm1M17", bm1M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"bm1M18", bm1M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"bm1M19", bm1M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"bm1M20", bm1M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"bm1M21", bm1M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"bm1M22", bm1M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm1M23", bm1M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm1M24", bm1M24); + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"bm2f", bm2f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"bm2l", bm2l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"bm2c", bm2c); @@ -1157,6 +1595,32 @@ feat_lib *feat_lib_build(void) /* feat_lib_add(fl, FEAT_TYPE_INT_3, (char *)"bm2U1", bm2U1); */ /* feat_lib_add(fl, FEAT_TYPE_INT, (char *)"bm2sgn", bm2sgn); */ + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"bm2M1", bm2M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"bm2M2", bm2M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"bm2M3", bm2M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"bm2M4", bm2M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"bm2M5", bm2M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"bm2M6", bm2M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"bm2M7", bm2M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"bm2M8", bm2M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"bm2M9", bm2M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"bm2M10", bm2M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"bm2M11", bm2M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"bm2M12", bm2M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"bm2M13", bm2M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"bm2M14", bm2M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"bm2M15", bm2M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"bm2M16", bm2M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"bm2M17", bm2M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"bm2M18", bm2M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"bm2M19", bm2M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"bm2M20", bm2M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"bm2M21", bm2M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"bm2M22", bm2M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm2M23", bm2M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm2M24", bm2M24); + + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"bm3f", bm3f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"bm3l", bm3l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"bm3c", bm3c); @@ -1193,6 +1657,31 @@ feat_lib *feat_lib_build(void) /* feat_lib_add(fl, FEAT_TYPE_INT_3, (char *)"bm3U1", bm3U1); */ /* feat_lib_add(fl, FEAT_TYPE_INT, (char *)"bm3sgn", bm3sgn); */ + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"bm3M1", bm3M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"bm3M2", bm3M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"bm3M3", bm3M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"bm3M4", bm3M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"bm3M5", bm3M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"bm3M6", bm3M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"bm3M7", bm3M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"bm3M8", bm3M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"bm3M9", bm3M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"bm3M10", bm3M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"bm3M11", bm3M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"bm3M12", bm3M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"bm3M13", bm3M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"bm3M14", bm3M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"bm3M15", bm3M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"bm3M16", bm3M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"bm3M17", bm3M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"bm3M18", bm3M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"bm3M19", bm3M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"bm3M20", bm3M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"bm3M21", bm3M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"bm3M22", bm3M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm3M23", bm3M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"bm3M24", bm3M24); + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"b1f", b1f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"b1l", b1l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"b1c", b1c); @@ -1229,7 +1718,34 @@ feat_lib *feat_lib_build(void) /* feat_lib_add(fl, FEAT_TYPE_INT_3, (char *)"b1U1", b1U1); */ feat_lib_add(fl, FEAT_TYPE_INT, (char *)"b1U1", b1U1); feat_lib_add(fl, FEAT_TYPE_SGN, (char *)"b1sgn", b1sgn); - + + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"b1M1", b1M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"b1M2", b1M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"b1M3", b1M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"b1M4", b1M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"b1M5", b1M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"b1M6", b1M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"b1M7", b1M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"b1M8", b1M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"b1M9", b1M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"b1M10", b1M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"b1M11", b1M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"b1M12", b1M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"b1M13", b1M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"b1M14", b1M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"b1M15", b1M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"b1M16", b1M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"b1M17", b1M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"b1M18", b1M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"b1M19", b1M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"b1M20", b1M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"b1M21", b1M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"b1M22", b1M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b1M23", b1M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b1M24", b1M24); + + + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"b2f", b2f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"b2l", b2l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"b2c", b2c); @@ -1267,6 +1783,31 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_INT, (char *)"b2U1", b2U1); feat_lib_add(fl, FEAT_TYPE_SGN, (char *)"b2sgn", b2sgn); + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"b2M1", b2M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"b2M2", b2M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"b2M3", b2M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"b2M4", b2M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"b2M5", b2M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"b2M6", b2M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"b2M7", b2M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"b2M8", b2M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"b2M9", b2M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"b2M10", b2M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"b2M11", b2M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"b2M12", b2M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"b2M13", b2M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"b2M14", b2M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"b2M15", b2M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"b2M16", b2M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"b2M17", b2M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"b2M18", b2M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"b2M19", b2M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"b2M20", b2M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"b2M21", b2M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"b2M22", b2M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b2M23", b2M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b2M24", b2M24); + feat_lib_add(fl, FEAT_TYPE_FORM, (char *)"b3f", b3f); feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"b3l", b3l); feat_lib_add(fl, FEAT_TYPE_CPOS, (char *)"b3c", b3c); @@ -1301,7 +1842,33 @@ feat_lib *feat_lib_build(void) feat_lib_add(fl, FEAT_TYPE_Y, (char *)"b3Y", b3Y); feat_lib_add(fl, FEAT_TYPE_Y, (char *)"b3Z", b3Z); - /* feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"gs0l", gs0l); */ + feat_lib_add(fl, FEAT_TYPE_M1, (char *)"b3M1", b3M1); + feat_lib_add(fl, FEAT_TYPE_M2, (char *)"b3M2", b3M2); + feat_lib_add(fl, FEAT_TYPE_M3, (char *)"b3M3", b3M3); + feat_lib_add(fl, FEAT_TYPE_M4, (char *)"b3M4", b3M4); + feat_lib_add(fl, FEAT_TYPE_M5, (char *)"b3M5", b3M5); + feat_lib_add(fl, FEAT_TYPE_M6, (char *)"b3M6", b3M6); + feat_lib_add(fl, FEAT_TYPE_M7, (char *)"b3M7", b3M7); + feat_lib_add(fl, FEAT_TYPE_M8, (char *)"b3M8", b3M8); + feat_lib_add(fl, FEAT_TYPE_M9, (char *)"b3M9", b3M9); + feat_lib_add(fl, FEAT_TYPE_M10, (char *)"b3M10", b3M10); + feat_lib_add(fl, FEAT_TYPE_M11, (char *)"b3M11", b3M11); + feat_lib_add(fl, FEAT_TYPE_M12, (char *)"b3M12", b3M12); + feat_lib_add(fl, FEAT_TYPE_M13, (char *)"b3M13", b3M13); + feat_lib_add(fl, FEAT_TYPE_M14, (char *)"b3M14", b3M14); + feat_lib_add(fl, FEAT_TYPE_M15, (char *)"b3M15", b3M15); + feat_lib_add(fl, FEAT_TYPE_M16, (char *)"b3M16", b3M16); + feat_lib_add(fl, FEAT_TYPE_M17, (char *)"b3M17", b3M17); + feat_lib_add(fl, FEAT_TYPE_M18, (char *)"b3M18", b3M18); + feat_lib_add(fl, FEAT_TYPE_M19, (char *)"b3M19", b3M19); + feat_lib_add(fl, FEAT_TYPE_M20, (char *)"b3M20", b3M20); + feat_lib_add(fl, FEAT_TYPE_M21, (char *)"b3M21", b3M21); + feat_lib_add(fl, FEAT_TYPE_M22, (char *)"b3M22", b3M22); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b3M23", b3M23); + feat_lib_add(fl, FEAT_TYPE_M23, (char *)"b3M24", b3M24); + + + /* feat_lib_add(fl, FEAT_TYPE_LEMMA, (char *)"gs0l", gs0l); */ /* feat_lib_add(fl, FEAT_TYPE_POS, (char *)"gs0p", gs0p); */ feat_lib_add(fl, FEAT_TYPE_LABEL, (char *)"ldep_s0r", ldep_s0r); diff --git a/maca_trans_parser/src/maca_tm_train.c b/maca_trans_parser/src/maca_tm_train.c index 0d487b5..4ee4a16 100644 --- a/maca_trans_parser/src/maca_tm_train.c +++ b/maca_trans_parser/src/maca_tm_train.c @@ -188,11 +188,18 @@ void train_nn(context * ctx) fprintf(stderr, "training classifier %d / %d : %s\n", classif_nb + 1, classif_vec->nb, classif->name); - strcpy(mlp_model_filename, classif->name); - strcat(mlp_model_filename, ".model"); + if(ctx->dnn_model_filename){ + strcpy(mlp_model_filename, ctx->dnn_model_filename); + strcpy(mlp_struct_filename, ctx->dnn_model_filename); + } + else{ + strcpy(mlp_model_filename, classif->name); + strcpy(mlp_struct_filename, classif->name); + } + + strcat(mlp_model_filename, ".model"); classifier_set_mlp_model_filename(classif, strdup(mlp_model_filename)); - - strcpy(mlp_struct_filename, classif->name); + strcat(mlp_struct_filename, ".struct"); classifier_set_mlp_struct_filename(classif, strdup(mlp_struct_filename)); -- GitLab