From aa5addef976495152c2cd52398faedbae392b8f6 Mon Sep 17 00:00:00 2001 From: Alexis Nasr <alexis.nasr@lif.univ-mrs.fr> Date: Fri, 28 Apr 2017 14:26:01 +0200 Subject: [PATCH] prevent the parser to produce an EOS at one point when segmentation is given in input and there is no segmentation at this point --- CMakeLists.txt | 1 + README | 6 ++++++ maca_tokenizer/src/fr_tok_rules.l | 2 +- maca_trans_parser/CMakeLists.txt | 12 ++++++------ .../src/simple_decoder_parser_arc_eager.c | 12 +++++++++++- 5 files changed, 25 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c1ade7..d3313d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.8.7) project(macaon2) find_package(FLEX) +find_package(BLAS) add_definitions("-Wall" ) SET(CMAKE_C_COMPILER g++) diff --git a/README b/README index bef7b3e..a1dae6b 100644 --- a/README +++ b/README @@ -1 +1,7 @@ +if you want to use a debugger + cmake -DCMAKE_BUILD_TYPE=Debug .. + +if you want the binaries to be installed in a special directory + +cmake -DCMAKE_INSTALL_PREFIX:PATH=absolute_path_to_directory_where_binaries_will_be_copied .. \ No newline at end of file diff --git a/maca_tokenizer/src/fr_tok_rules.l b/maca_tokenizer/src/fr_tok_rules.l index d0f391d..59b1909 100644 --- a/maca_tokenizer/src/fr_tok_rules.l +++ b/maca_tokenizer/src/fr_tok_rules.l @@ -13,7 +13,7 @@ extern int defait_amalgames; BEGIN(state_defait_amalgames); } -[0-9]+,[0-9]* printf("%s", yytext); +[0-9]+,[0-9]+ printf("%s", yytext); [ \t]+ printf("\n"); [ ]*\. printf("\n."); [ ]*\? printf("\n?"); diff --git a/maca_trans_parser/CMakeLists.txt b/maca_trans_parser/CMakeLists.txt index be494e5..409b893 100644 --- a/maca_trans_parser/CMakeLists.txt +++ b/maca_trans_parser/CMakeLists.txt @@ -4,7 +4,7 @@ set(SOURCES src/context.c src/movement_tagparser_arc_eager.c src/movement_tagger.c src/feat_fct.c - src/global_feat_vec.c +# src/global_feat_vec.c # src/oracle_parser.c src/oracle_parser_arc_eager.c src/oracle_tagparser_arc_eager.c @@ -32,11 +32,11 @@ add_library(transparse STATIC ${SOURCES}) target_link_libraries(transparse perceptron) #compiling, linking and installing executables -add_executable(maca_trans_parser_nn ./src/maca_trans_parser_nn.cc) -target_link_libraries(maca_trans_parser_nn perceptron) -target_link_libraries(maca_trans_parser_nn transparse) -target_link_libraries(maca_trans_parser_nn maca_common) -install (TARGETS maca_trans_parser_nn DESTINATION bin) +#add_executable(maca_trans_parser_nn ./src/maca_trans_parser_nn.cc) +#target_link_libraries(maca_trans_parser_nn perceptron) +#target_link_libraries(maca_trans_parser_nn transparse) +#target_link_libraries(maca_trans_parser_nn maca_common) +#install (TARGETS maca_trans_parser_nn DESTINATION bin) add_executable(maca_trans_tagger_mcf2cff ./src/maca_trans_tagger_mcf2cff.c) target_link_libraries(maca_trans_tagger_mcf2cff perceptron) diff --git a/maca_trans_parser/src/simple_decoder_parser_arc_eager.c b/maca_trans_parser/src/simple_decoder_parser_arc_eager.c index 7c44a6b..9cb7a91 100644 --- a/maca_trans_parser/src/simple_decoder_parser_arc_eager.c +++ b/maca_trans_parser/src/simple_decoder_parser_arc_eager.c @@ -186,7 +186,17 @@ void simple_decoder_parser_arc_eager(context *ctx) mvt_type = movement_parser_type(mvt_code); mvt_label = movement_parser_label(mvt_code); - + + if((mvt_type == MVT_PARSER_EOS) && (word_get_sent_seg(stack_top(config_get_stack(c))) == 0)){ + if(ctx->verbose) + fprintf(stderr, "the classifier did predict EOS but this is not the case\n"); + feature_table_argmax_1_2(fv, ft, &argmax1, &max1, &argmax2, &max2); + mvt_code = argmax2; + mvt_type = movement_parser_type(mvt_code); + mvt_label = movement_parser_label(mvt_code); + + } + result = 0; switch(mvt_type){ case MVT_PARSER_LEFT : -- GitLab