From f0997292c66a468ce71df067f60d245453566662 Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Mon, 16 Nov 2020 13:07:37 +0100 Subject: [PATCH] Parser entropy is only counted for a word being attached --- reading_machine/src/Transition.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/reading_machine/src/Transition.cpp b/reading_machine/src/Transition.cpp index 879c074..dd83119 100644 --- a/reading_machine/src/Transition.cpp +++ b/reading_machine/src/Transition.cpp @@ -101,8 +101,19 @@ void Transition::apply(Config & config, float entropy) { if (config.hasColIndex("ENTROPY")) { - auto action = Action::sumToHypothesis("ENTROPY", config.getWordIndex(), entropy); - action.apply(config, action); + if (name.find("SHIFT") == std::string::npos and name.find("REDUCE") == std::string::npos) + { + if (name.find("LEFT") != std::string::npos) + { + auto action = Action::sumToHypothesis("ENTROPY", config.getStack(0), entropy); + action.apply(config, action); + } + else + { + auto action = Action::sumToHypothesis("ENTROPY", config.getWordIndex(), entropy); + action.apply(config, action); + } + } } apply(config); -- GitLab