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