diff --git a/Files/fm1.pos.txt b/Files/fm1.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..cd1b0f49d25f624ac162a3faca1539ffe1ac7b8c --- /dev/null +++ b/Files/fm1.pos.txt @@ -0,0 +1 @@ +feat_pos s1 diff --git a/Files/fm1.posN.txt b/Files/fm1.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..cc4bd34d6f771961f12b71c70d1ed0e81a8e72e2 --- /dev/null +++ b/Files/fm1.posN.txt @@ -0,0 +1 @@ +feat_pos feat_number s1 diff --git a/Files/fm1.posNP.txt b/Files/fm1.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..b3c2eae2b0cfd4a58d4ceea13867fbe769998fc9 --- /dev/null +++ b/Files/fm1.posNP.txt @@ -0,0 +1 @@ +feat_pos feat_number feat_person s1 diff --git a/Files/fm1.posNPG.txt b/Files/fm1.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..7ba7661e4646718f13adcba06cb77cf047e29c58 --- /dev/null +++ b/Files/fm1.posNPG.txt @@ -0,0 +1 @@ +feat_pos feat_number feat_person feat_gender s1 diff --git a/Files/fm1.txt b/Files/fm1.txt new file mode 100644 index 0000000000000000000000000000000000000000..655c6e645cc5a42912b35234405e82775c242252 --- /dev/null +++ b/Files/fm1.txt @@ -0,0 +1 @@ +s1 diff --git a/Files/fm2.pos.txt b/Files/fm2.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..a17f75409717b3a79d96c653b3acfd207171a171 --- /dev/null +++ b/Files/fm2.pos.txt @@ -0,0 +1,3 @@ +feat_pos s1 +feat_pos s2 +feat_pos s1 s2 diff --git a/Files/fm2.posN.txt b/Files/fm2.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..f6e2798274c2ff141c7f6692899632e34fb93432 --- /dev/null +++ b/Files/fm2.posN.txt @@ -0,0 +1,3 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s1 s2 diff --git a/Files/fm2.posNP.txt b/Files/fm2.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..c91798baedc7a51d3f9cc646eec118ef325a5acd --- /dev/null +++ b/Files/fm2.posNP.txt @@ -0,0 +1,3 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s1 s2 diff --git a/Files/fm2.posNPG.txt b/Files/fm2.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f91aa6d6e752e611b76d8793aff81a0ef7a46e9 --- /dev/null +++ b/Files/fm2.posNPG.txt @@ -0,0 +1,3 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s1 s2 diff --git a/Files/fm2.txt b/Files/fm2.txt new file mode 100644 index 0000000000000000000000000000000000000000..eb3fcaf5a91274a2401420b8ac3cd12598c1431a --- /dev/null +++ b/Files/fm2.txt @@ -0,0 +1,3 @@ +s1 +s2 +s1 s2 diff --git a/Files/fm3.pos.txt b/Files/fm3.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..78aa77381b018d72c19ac7dea05657da118d41ec --- /dev/null +++ b/Files/fm3.pos.txt @@ -0,0 +1,5 @@ +feat_pos s1 +feat_pos s2 +feat_pos s3 +feat_pos s1 s2 +feat_pos s1 s2 s3 diff --git a/Files/fm3.posN.txt b/Files/fm3.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..73d6978501d1a2bca65cba98562861bcb1d563f6 --- /dev/null +++ b/Files/fm3.posN.txt @@ -0,0 +1,5 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s3 +feat_pos feat_number s1 s2 +feat_pos feat_number s1 s2 s3 diff --git a/Files/fm3.posNP.txt b/Files/fm3.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..25e41d590980ab982c0194ca5a6aebfeb6bd0e51 --- /dev/null +++ b/Files/fm3.posNP.txt @@ -0,0 +1,5 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s3 +feat_pos feat_number feat_person s1 s2 +feat_pos feat_number feat_person s1 s2 s3 diff --git a/Files/fm3.posNPG.txt b/Files/fm3.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..8dc9621502ece4d9efb1d1dbeb8950eb3c4f0b60 --- /dev/null +++ b/Files/fm3.posNPG.txt @@ -0,0 +1,5 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s3 +feat_pos feat_number feat_person feat_gender s1 s2 +feat_pos feat_number feat_person feat_gender s1 s2 s3 diff --git a/Files/fm3.txt b/Files/fm3.txt new file mode 100644 index 0000000000000000000000000000000000000000..56a7191809025486dcae2a5c665e2c037e878edb --- /dev/null +++ b/Files/fm3.txt @@ -0,0 +1,5 @@ +s1 +s2 +s3 +s1 s2 +s1 s2 s3 diff --git a/Files/fm4.pos.txt b/Files/fm4.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..281ac4d6ea5fa0b1303466f33ad20fae9b31a549 --- /dev/null +++ b/Files/fm4.pos.txt @@ -0,0 +1,7 @@ +feat_pos s1 +feat_pos s2 +feat_pos s3 +feat_pos s4 +feat_pos s1 s2 +feat_pos s1 s2 s3 +feat_pos s1 s2 s3 s4 diff --git a/Files/fm4.posN.txt b/Files/fm4.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..28d6107c27dfed97fa265d8731f3c932779b2e61 --- /dev/null +++ b/Files/fm4.posN.txt @@ -0,0 +1,7 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s3 +feat_pos feat_number s4 +feat_pos feat_number s1 s2 +feat_pos feat_number s1 s2 s3 +feat_pos feat_number s1 s2 s3 s4 diff --git a/Files/fm4.posNP.txt b/Files/fm4.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..9d43db3091fd30ebe1d96a0f3dcb90916037751a --- /dev/null +++ b/Files/fm4.posNP.txt @@ -0,0 +1,7 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s3 +feat_pos feat_number feat_person s4 +feat_pos feat_number feat_person s1 s2 +feat_pos feat_number feat_person s1 s2 s3 +feat_pos feat_number feat_person s1 s2 s3 s4 diff --git a/Files/fm4.posNPG.txt b/Files/fm4.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..33f53d5d7abf83c46c027cbb55549049a97a9d4a --- /dev/null +++ b/Files/fm4.posNPG.txt @@ -0,0 +1,7 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s3 +feat_pos feat_number feat_person feat_gender s4 +feat_pos feat_number feat_person feat_gender s1 s2 +feat_pos feat_number feat_person feat_gender s1 s2 s3 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 diff --git a/Files/fm4.txt b/Files/fm4.txt new file mode 100644 index 0000000000000000000000000000000000000000..9b8dc89bbbf69f6de88dbdcf23c9e193672945f1 --- /dev/null +++ b/Files/fm4.txt @@ -0,0 +1,7 @@ +s1 +s2 +s3 +s4 +s1 s2 +s1 s2 s3 +s1 s2 s3 s4 diff --git a/Files/fm5.pos.txt b/Files/fm5.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..44aeee5b083a3e56b29b623b7168d51099fac063 --- /dev/null +++ b/Files/fm5.pos.txt @@ -0,0 +1,9 @@ +feat_pos s1 +feat_pos s2 +feat_pos s3 +feat_pos s4 +feat_pos s5 +feat_pos s1 s2 +feat_pos s1 s2 s3 +feat_pos s1 s2 s3 s4 +feat_pos s1 s2 s3 s4 s5 diff --git a/Files/fm5.posN.txt b/Files/fm5.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..b69eeeabb5f322b5c9cf566ef042b615615fdba7 --- /dev/null +++ b/Files/fm5.posN.txt @@ -0,0 +1,9 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s3 +feat_pos feat_number s4 +feat_pos feat_number s5 +feat_pos feat_number s1 s2 +feat_pos feat_number s1 s2 s3 +feat_pos feat_number s1 s2 s3 s4 +feat_pos feat_number s1 s2 s3 s4 s5 diff --git a/Files/fm5.posNP.txt b/Files/fm5.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..5d82319f9f5c67623bfac4d2698a9875bc7b6875 --- /dev/null +++ b/Files/fm5.posNP.txt @@ -0,0 +1,9 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s3 +feat_pos feat_number feat_person s4 +feat_pos feat_number feat_person s5 +feat_pos feat_number feat_person s1 s2 +feat_pos feat_number feat_person s1 s2 s3 +feat_pos feat_number feat_person s1 s2 s3 s4 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 diff --git a/Files/fm5.posNPG.txt b/Files/fm5.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..d312df3a2611f5b9c08c2f956449910cdb3d0145 --- /dev/null +++ b/Files/fm5.posNPG.txt @@ -0,0 +1,9 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s3 +feat_pos feat_number feat_person feat_gender s4 +feat_pos feat_number feat_person feat_gender s5 +feat_pos feat_number feat_person feat_gender s1 s2 +feat_pos feat_number feat_person feat_gender s1 s2 s3 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 diff --git a/Files/fm5.txt b/Files/fm5.txt new file mode 100644 index 0000000000000000000000000000000000000000..227f3e3e41f84ce235fc03f0c8c4cb8347f2d005 --- /dev/null +++ b/Files/fm5.txt @@ -0,0 +1,9 @@ +s1 +s2 +s3 +s4 +s5 +s1 s2 +s1 s2 s3 +s1 s2 s3 s4 +s1 s2 s3 s4 s5 diff --git a/Files/fm6.pos.txt b/Files/fm6.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..fce00f9152b7e5391d19960888392a024a66a312 --- /dev/null +++ b/Files/fm6.pos.txt @@ -0,0 +1,11 @@ +feat_pos s1 +feat_pos s2 +feat_pos s3 +feat_pos s4 +feat_pos s5 +feat_pos s6 +feat_pos s1 s2 +feat_pos s1 s2 s3 +feat_pos s1 s2 s3 s4 +feat_pos s1 s2 s3 s4 s5 +feat_pos s1 s2 s3 s4 s5 s6 diff --git a/Files/fm6.posN.txt b/Files/fm6.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..da0ef291140970f02c058b1e83ad7a147ee5ec25 --- /dev/null +++ b/Files/fm6.posN.txt @@ -0,0 +1,11 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s3 +feat_pos feat_number s4 +feat_pos feat_number s5 +feat_pos feat_number s6 +feat_pos feat_number s1 s2 +feat_pos feat_number s1 s2 s3 +feat_pos feat_number s1 s2 s3 s4 +feat_pos feat_number s1 s2 s3 s4 s5 +feat_pos feat_number s1 s2 s3 s4 s5 s6 diff --git a/Files/fm6.posNP.txt b/Files/fm6.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..266ff66118f48d3425dcdca50042efa665bfab85 --- /dev/null +++ b/Files/fm6.posNP.txt @@ -0,0 +1,11 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s3 +feat_pos feat_number feat_person s4 +feat_pos feat_number feat_person s5 +feat_pos feat_number feat_person s6 +feat_pos feat_number feat_person s1 s2 +feat_pos feat_number feat_person s1 s2 s3 +feat_pos feat_number feat_person s1 s2 s3 s4 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6 diff --git a/Files/fm6.posNPG.txt b/Files/fm6.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..1731705748fe0ac281378731e6f8df7c2cdf373f --- /dev/null +++ b/Files/fm6.posNPG.txt @@ -0,0 +1,11 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s3 +feat_pos feat_number feat_person feat_gender s4 +feat_pos feat_number feat_person feat_gender s5 +feat_pos feat_number feat_person feat_gender s6 +feat_pos feat_number feat_person feat_gender s1 s2 +feat_pos feat_number feat_person feat_gender s1 s2 s3 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6 diff --git a/Files/fm6.txt b/Files/fm6.txt new file mode 100644 index 0000000000000000000000000000000000000000..980c9adbec9a9e529457de7d2c1bdde8e08496c5 --- /dev/null +++ b/Files/fm6.txt @@ -0,0 +1,11 @@ +s1 +s2 +s3 +s4 +s5 +s6 +s1 s2 +s1 s2 s3 +s1 s2 s3 s4 +s1 s2 s3 s4 s5 +s1 s2 s3 s4 s5 s6 diff --git a/Files/fm7.pos.txt b/Files/fm7.pos.txt new file mode 100644 index 0000000000000000000000000000000000000000..69e20c33f0ba97f11ef10f409354f9f2fb798a47 --- /dev/null +++ b/Files/fm7.pos.txt @@ -0,0 +1,13 @@ +feat_pos s1 +feat_pos s2 +feat_pos s3 +feat_pos s4 +feat_pos s5 +feat_pos s6 +feat_pos s7 +feat_pos s1 s2 +feat_pos s1 s2 s3 +feat_pos s1 s2 s3 s4 +feat_pos s1 s2 s3 s4 s5 +feat_pos s1 s2 s3 s4 s5 s6 +feat_pos s1 s2 s3 s4 s5 s6 s7 diff --git a/Files/fm7.posN.txt b/Files/fm7.posN.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc742603f8232fb26724e28fc7e52eb2d9f75463 --- /dev/null +++ b/Files/fm7.posN.txt @@ -0,0 +1,13 @@ +feat_pos feat_number s1 +feat_pos feat_number s2 +feat_pos feat_number s3 +feat_pos feat_number s4 +feat_pos feat_number s5 +feat_pos feat_number s6 +feat_pos feat_number s7 +feat_pos feat_number s1 s2 +feat_pos feat_number s1 s2 s3 +feat_pos feat_number s1 s2 s3 s4 +feat_pos feat_number s1 s2 s3 s4 s5 +feat_pos feat_number s1 s2 s3 s4 s5 s6 +feat_pos feat_number s1 s2 s3 s4 s5 s6 s7 diff --git a/Files/fm7.posNP.txt b/Files/fm7.posNP.txt new file mode 100644 index 0000000000000000000000000000000000000000..e2e92d90280eca675b9c812ac176f7dfae934af0 --- /dev/null +++ b/Files/fm7.posNP.txt @@ -0,0 +1,13 @@ +feat_pos feat_number feat_person s1 +feat_pos feat_number feat_person s2 +feat_pos feat_number feat_person s3 +feat_pos feat_number feat_person s4 +feat_pos feat_number feat_person s5 +feat_pos feat_number feat_person s6 +feat_pos feat_number feat_person s7 +feat_pos feat_number feat_person s1 s2 +feat_pos feat_number feat_person s1 s2 s3 +feat_pos feat_number feat_person s1 s2 s3 s4 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6 +feat_pos feat_number feat_person s1 s2 s3 s4 s5 s6 s7 diff --git a/Files/fm7.posNPG.txt b/Files/fm7.posNPG.txt new file mode 100644 index 0000000000000000000000000000000000000000..4d9f9235ea2f3cef471fe2167cc249dc98d3d8a6 --- /dev/null +++ b/Files/fm7.posNPG.txt @@ -0,0 +1,13 @@ +feat_pos feat_number feat_person feat_gender s1 +feat_pos feat_number feat_person feat_gender s2 +feat_pos feat_number feat_person feat_gender s3 +feat_pos feat_number feat_person feat_gender s4 +feat_pos feat_number feat_person feat_gender s5 +feat_pos feat_number feat_person feat_gender s6 +feat_pos feat_number feat_person feat_gender s7 +feat_pos feat_number feat_person feat_gender s1 s2 +feat_pos feat_number feat_person feat_gender s1 s2 s3 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6 +feat_pos feat_number feat_person feat_gender s1 s2 s3 s4 s5 s6 s7 diff --git a/Files/fm7.txt b/Files/fm7.txt new file mode 100644 index 0000000000000000000000000000000000000000..ede6e21dd19a68f01f2532f137aff10539861fa5 --- /dev/null +++ b/Files/fm7.txt @@ -0,0 +1,13 @@ +s1 +s2 +s3 +s4 +s5 +s6 +s7 +s1 s2 +s1 s2 s3 +s1 s2 s3 s4 +s1 s2 s3 s4 s5 +s1 s2 s3 s4 s5 s6 +s1 s2 s3 s4 s5 s6 s7 diff --git a/maca_morpho/src/maca_morpho_context.c b/maca_morpho/src/maca_morpho_context.c index 0527a965e150105bacbdec5a0479498fb0a56df2..bef09d41d5b4373e2db9975342542294b3e5cf64 100644 --- a/maca_morpho/src/maca_morpho_context.c +++ b/maca_morpho/src/maca_morpho_context.c @@ -29,7 +29,6 @@ context *context_new(void) ctx->verbose = 0; ctx->debug_mode = 0; ctx->separate_classes = 0; - ctx->cascade = 0; ctx->program_name = NULL; ctx->fplm_filename = NULL; ctx->language = strdup("fr"); @@ -94,10 +93,6 @@ void context_separate_classes_help_message(context *ctx){ fprintf(stderr, "\t-s --separate <int> : separate the classes for tense and person if you enter 1\n"); } -void context_cascade_help_message(context *ctx){ - fprintf(stderr, "\t-c --cascade <int> : activate the cascade mode if you enter 1 (output fplm file)\n"); -} - context *context_read_options(int argc, char *argv[]) { int c; @@ -121,13 +116,12 @@ context *context_read_options(int argc, char *argv[]) {"target", required_argument, 0, 't'}, {"percent", required_argument, 0, 'p'}, {"code_class", required_argument, 0, 'y'}, - {"separate", required_argument, 0, 's'}, - {"cascade", required_argument, 0, 'c'} + {"separate", required_argument, 0, 's'} }; optind = 0; opterr = 0; - while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:c:", long_options, &option_index)) != -1){ + while ((c = getopt_long (argc, argv, "hvdf:L:M:D:F:y:x:w:t:p:s:", long_options, &option_index)) != -1){ switch (c) { case 'd': @@ -168,9 +162,6 @@ context *context_read_options(int argc, char *argv[]) break; case 's': ctx->separate_classes = atoi(optarg); - break; - case 'c': - ctx->cascade = atoi(optarg); break; } } diff --git a/maca_morpho/src/maca_morpho_context.h b/maca_morpho/src/maca_morpho_context.h index f2e6bf82e3a9a98c429a8bc4844be53869dea045..333e1a267fb9d09ff647a2c531e3836fb51ab2c5 100644 --- a/maca_morpho/src/maca_morpho_context.h +++ b/maca_morpho/src/maca_morpho_context.h @@ -14,7 +14,6 @@ typedef struct { int debug_mode; int fplm_test_percent; int separate_classes; - int cascade; char *program_name; char *fplm_filename; char *language; @@ -43,5 +42,4 @@ void context_target_help_message(context *ctx); void context_fplm_test_percent_help_message(context *ctx); void context_code_class_help_message(context* ctx); void context_separate_classes_help_message(context *ctx); -void context_cascade_help_message(context *ctx); #endif diff --git a/maca_morpho/src/maca_morpho_feat_fct.c b/maca_morpho/src/maca_morpho_feat_fct.c index d78750ef0f37ed54271e48c11cfe377b081bc68d..01f91cc87bcb0041a28d8ee455b7d29fd606a983 100644 --- a/maca_morpho/src/maca_morpho_feat_fct.c +++ b/maca_morpho/src/maca_morpho_feat_fct.c @@ -165,31 +165,6 @@ int feat_pos(FPLM* fplm) return code; } -int lemma_s1(FPLM* fplm) -{ - char16* tmp = utf8tochar16(fplm->lemma); - int size = char16_strlen(tmp); - if(tmp == NULL || size - 1 < 0) - return -1; - return tmp[size - 1]; -} -int lemma_s2(FPLM* fplm) -{ - char16* tmp = utf8tochar16(fplm->lemma); - int size = char16_strlen(tmp); - if(tmp == NULL || size - 2 < 0) - return -1; - return tmp[size - 2]; -} -int lemma_s3(FPLM* fplm) -{ - char16* tmp = utf8tochar16(fplm->lemma); - int size = char16_strlen(tmp); - if(tmp == NULL || size - 3 < 0) - return -1; - return tmp[size - 3]; -} - feat_lib *feat_lib_build(void) { feat_lib *fl = feat_lib_new(); @@ -208,9 +183,6 @@ feat_lib *feat_lib_build(void) { feat_lib_add(fl, 1, (char *)"feat_person", feat_person); feat_lib_add(fl, 1, (char *)"feat_number", feat_number); feat_lib_add(fl, 1, (char *)"feat_gender", feat_gender); - feat_lib_add(fl, 1, (char *)"feat_tense", feat_tense); - feat_lib_add(fl, 1, (char *)"lemma_s1", lemma_s1); - feat_lib_add(fl, 1, (char *)"lemma_s2", lemma_s2); - feat_lib_add(fl, 1, (char *)"lemma_s3", lemma_s3); + feat_lib_add(fl, 1, (char *)"feat_tense", feat_tense); return fl; } diff --git a/maca_morpho/src/predict.h b/maca_morpho/src/predict.h index 90e9d3257e5ef41ddddd4d5834e5723772d026f4..9ef62d259703bd1524da6f9bf8b27ec50de864bf 100644 --- a/maca_morpho/src/predict.h +++ b/maca_morpho/src/predict.h @@ -14,7 +14,6 @@ { FILE* f_error; FILE* f_predict; - FILE* new_fplm; FILE* morpho_predicted; }Output_files; @@ -37,7 +36,7 @@ void new_input_files (Input_files* in_files); void init_input_files (Input_files* in_files, char* fplm_name, char* code, char* all, char* c1, char* c2, char* c3, char* c4, char* p1, char* p2, char* p3, char* p4); void new_output_files (Output_files* out_files); - void init_output_files (Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name); + void init_output_files (Output_files* out_files, char* error_name, char* predict_name, char* morpho_name); void free_input_files (Input_files* in_files); void free_output_files (Output_files* out_files); diff --git a/maca_morpho/src/predict_fct.c b/maca_morpho/src/predict_fct.c index dd759fc33b15578290a991083006944f0ed0e19b..77308c28f50e2c477e9346440a40ff2857bf84a4 100644 --- a/maca_morpho/src/predict_fct.c +++ b/maca_morpho/src/predict_fct.c @@ -13,7 +13,6 @@ void predict_help_message(context *ctx) context_weights_matrix_filename_help_message(ctx); context_features_model_help_message(ctx); context_code_class_help_message(ctx); - context_cascade_help_message(ctx); exit(1); } @@ -141,10 +140,9 @@ void new_output_files(Output_files* out_files) { out_files->f_error = NULL; out_files->f_predict = NULL; - out_files->new_fplm = NULL; out_files->morpho_predicted = NULL; } -void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* fplm_name, char* morpho_name) +void init_output_files(Output_files* out_files, char* error_name, char* predict_name, char* morpho_name) { new_output_files(out_files); if(error_name != NULL) @@ -165,15 +163,6 @@ void init_output_files(Output_files* out_files, char* error_name, char* predict_ exit(EXIT_FAILURE); } } - if(fplm_name != NULL) - { - out_files->new_fplm = fopen(fplm_name, "w"); - if(out_files->new_fplm==NULL) - { - fprintf(stderr,"Problem with the new fplm file.\n"); - exit(EXIT_FAILURE); - } - } if(morpho_name != NULL) { out_files->morpho_predicted = fopen(morpho_name, "w+"); @@ -205,7 +194,6 @@ void free_output_files(Output_files* out_files) { if(out_files->f_error != NULL) fclose(out_files->f_error); if(out_files->f_predict != NULL) fclose(out_files->f_predict); - if(out_files->new_fplm != NULL) fclose(out_files->new_fplm); if(out_files->morpho_predicted != NULL) fclose(out_files->morpho_predicted); free(out_files); } @@ -224,7 +212,7 @@ void predict_all_classes(context* ctx) int fields_nb; int errors = 0; - init_output_files(out_files, "error.txt", NULL, NULL, NULL); + init_output_files(out_files, "error.txt", NULL, NULL); init_input_files(in_files,ctx->fplm_filename,ctx->code_class_filename, NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1) @@ -343,7 +331,6 @@ void predict_target(context* ctx) int fields_nb; int errors = 0; char target_name[10]; - char output_fplm_name[20]; char predict_name[50]; FPLM* fplm = new_fplm(); TARGET target; @@ -356,14 +343,8 @@ void predict_target(context* ctx) strcpy(predict_name,"predict_"); strcat(predict_name,target_name); target = choose_target(target_name); - if(ctx->cascade) - { - strcpy(output_fplm_name,"fplm_"); - strcat(output_fplm_name,target_name); - init_output_files(out_files, "predict_error", predict_name, output_fplm_name, NULL); - } - else - init_output_files(out_files, "predict_error", predict_name, NULL, NULL); + + init_output_files(out_files, "predict_error", predict_name, NULL); while((fields_nb = read_line_fplm(in_files->f_fplm, fplm)) != -1) { @@ -377,8 +358,6 @@ void predict_target(context* ctx) continue; } line_nb++; - if(ctx->cascade) - fprintf(out_files->new_fplm,"%s\t%s\t%s\t",fplm->form, fplm->pos, fplm->lemma); make_prediction(ctx, out_files, in_files->code_class, target, &errors, fplm, cfw, fv, dico_features, fm); } printf("Success rate : %lf %%\n", 100-((float)errors*100/line_nb)); @@ -401,70 +380,6 @@ void make_prediction(context* ctx, Output_files* out_files, FILE* code_class, TA errors_nb_separated(out_files->f_error, code_class, target, class_predicted, errors, fplm); else errors_nb_not_separated(out_files->f_error, code_class, target, fplm, class_predicted, errors); - - if(ctx->cascade) - write_new_fplm(fplm, target, out_files->new_fplm, code_class, class_predicted); - -} - -void write_new_fplm(FPLM* fplm, TARGET target, FILE* new_fplm, FILE* code_class, int class_predicted) -{ - int code; - int i=0; - int ok=1; - int cpt_diese = 0; - char tmp[20]; - char new_morpho[30]; //will contain the morpho feature with the prediction - int position_morpho = 0; - int position = extract_class_position(target); //position = the num of the diese we want - while(i<(int)strlen(fplm->morpho) && cpt_diese!=position) - { - new_morpho[i] = fplm->morpho[i]; - if(fplm->morpho[i]=='#') - cpt_diese++; - i++; - } - position = i; //position is now where we will include the class predicted - position_morpho = position; - while(position_morpho<(int)strlen(fplm->morpho) && fplm->morpho[position_morpho]!='#') - position_morpho++; //position_morpho is where we will copy the initial morpho feature in the new morpho feature - - if(class_predicted==0) - { - while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature - { - new_morpho[position] = fplm->morpho[position_morpho]; - position++; - position_morpho++; - } - new_morpho[position]='\0'; - ok=0; - } - - rewind(code_class); - fscanf(code_class,"%s",tmp); //read the target name - while(ok && fscanf(code_class,"%d %s\n",&code,tmp)==2) //tmp = class - { - if(class_predicted==code && code!=0) //including the class predicted - { - i=0; - while(i<(int)strlen(tmp)) - { - new_morpho[position]=tmp[i]; - i++; - position++; - } - while(position_morpho<(int)strlen(fplm->morpho)) //writting the initial morpho feature's rest in the new morpho feature - { - new_morpho[position] = fplm->morpho[position_morpho]; - position++; - position_morpho++; - } - new_morpho[position]='\0'; - ok=0; - } - } - fprintf(new_fplm,"%s\n",new_morpho); } /**Fonctions for separated classes**/ @@ -522,7 +437,7 @@ void predict_each_and_all_targets(context* ctx) int global_error = 0; int line_nb = 0; FPLM* fplm = new_fplm(); - init_output_files(out_files, NULL, NULL, NULL, "morpho_predicted"); + init_output_files(out_files, NULL, NULL, "morpho_predicted"); init_input_files(in_files,ctx->fplm_filename, NULL, "code_class", "code_class_tense", "code_class_person", "code_class_gender", "code_class_number", "predict_tense", "predict_person", "predict_gender", "predict_number");