diff --git a/maca_tools/src/mcf2json.c b/maca_tools/src/mcf2json.c index df06d1c6a62dd2a661f23386e23760e9de00ef2b..9efa32c0facb3d2f71e49d97452ce014eceb8cbb 100644 --- a/maca_tools/src/mcf2json.c +++ b/maca_tools/src/mcf2json.c @@ -129,14 +129,32 @@ void print_footer(FILE *output_file) } -void print_header(FILE *output_file) +void print_header(FILE *output_file, mcd *mcd_struct) { + int pos_col = mcd_get_pos_col(mcd_struct); + int label_col = mcd_get_label_col(mcd_struct); + dico *dico_pos = mcd_struct->dico_array[pos_col]; + dico *dico_label = mcd_struct->dico_array[label_col]; + int i; + + printf("dico label : %d dico = %d\n", label_col, dico_label); + fprintf(output_file, "{\n"); fprintf(output_file, "\"header\":{\n"); fprintf(output_file, "\"id\": \"\",\n"); fprintf(output_file, "\"timestamp\": \"\",\n"); - fprintf(output_file, "\"labels_segment\": \"\",\n"); - fprintf(output_file, "\"labels_link\": \"\",\n"); + fprintf(output_file, "\"labels_segment\": \""); + for(i=0; i < dico_pos->nbelem; i++){ + fprintf(output_file, " %s", dico_pos->array[i]); + } + fprintf(output_file, "\",\n"); + + fprintf(output_file, "\"labels_link\": \""); + for(i=0; i < dico_label->nbelem; i++){ + fprintf(output_file, " %s", dico_label->array[i]); + } + fprintf(output_file, "\",\n"); + fprintf(output_file, "},\n"); fprintf(output_file, "\"annotations\":{\n"); @@ -306,10 +324,13 @@ int main(int argc, char *argv[]) int sentence_nb = 0; mcf2json_check_options(ctx); + + mcd_extract_dico_from_corpus(ctx->mcd_struct, ctx->mcf_filename); + output_file = (ctx->conll_filename)? myfopen_no_exit(ctx->conll_filename, "w"): stdout; wb = word_buffer_load_mcf(ctx->mcf_filename, ctx->mcd_struct); - print_header(output_file); + print_header(output_file, ctx->mcd_struct); fprintf(output_file, "\"documents\": ["); do{ w = word_buffer_b0(wb);