From 712503804d7210661b7f6565ce11d119806b19e3 Mon Sep 17 00:00:00 2001 From: kenkeiras Date: Tue, 24 Apr 2018 23:12:14 +0200 Subject: [PATCH] Properly handle solutions not found. --- naive-nlu/tree_nlu/knowledge_base.py | 6 +++--- naive-nlu/tree_nlu/layers/parsing_layer.py | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/naive-nlu/tree_nlu/knowledge_base.py b/naive-nlu/tree_nlu/knowledge_base.py index 28ad221..f33b39f 100644 --- a/naive-nlu/tree_nlu/knowledge_base.py +++ b/naive-nlu/tree_nlu/knowledge_base.py @@ -70,11 +70,11 @@ class KnowledgeBase(object): def process(self, row): knowledge_before = copy.deepcopy(self.knowledge) with session().log("Process: {}".format(row)): - fit = self.layers.process(self, row) - if fit is None: + fit = list(self.layers.process(self, row)) + if len(fit) == 0: return None - tokens, inferred_tree = fit + tokens, inferred_tree = fit[0] result = knowledge_evaluation.integrate_information(self.knowledge, { "elements": tokens, diff --git a/naive-nlu/tree_nlu/layers/parsing_layer.py b/naive-nlu/tree_nlu/layers/parsing_layer.py index b631c75..2bfda2a 100644 --- a/naive-nlu/tree_nlu/layers/parsing_layer.py +++ b/naive-nlu/tree_nlu/layers/parsing_layer.py @@ -11,4 +11,6 @@ class ParsingLayer: assert False def process(self, knowledge_base, input): - yield from parsing.get_fit(knowledge_base, input) \ No newline at end of file + fit = parsing.get_fit(knowledge_base, input) + if fit is not None: + yield fit \ No newline at end of file