Add more logging context.
This commit is contained in:
parent
6278cc43f7
commit
2f76cdc260
@ -22,63 +22,67 @@ class KnowledgeBase(object):
|
||||
|
||||
def train(self, examples):
|
||||
knowledge_before = copy.deepcopy(self.knowledge)
|
||||
with session().log('Train'):
|
||||
# Parse everything
|
||||
for example in examples:
|
||||
# If there's parsed data, leverage it ASAP
|
||||
if 'parsed' in example:
|
||||
with session().log('parsed information integration'):
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge, {
|
||||
"parsed": example['parsed'],
|
||||
})
|
||||
self.act_upon(result)
|
||||
|
||||
# Parse everything
|
||||
for example in examples:
|
||||
# If there's parsed data, leverage it ASAP
|
||||
if 'parsed' in example:
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge, {
|
||||
"parsed": example['parsed'],
|
||||
})
|
||||
self.act_upon(result)
|
||||
with session().log("language integration"):
|
||||
tokens, decomposition, inferred_tree = parsing.integrate_language(self, example)
|
||||
session().annotate(tokens)
|
||||
|
||||
session().annotate("Example: {}".format(example))
|
||||
tokens, decomposition, inferred_tree = parsing.integrate_language(self, example)
|
||||
session().annotate(tokens)
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge, {
|
||||
"elements": tokens,
|
||||
"decomposition": decomposition,
|
||||
"parsed": inferred_tree,
|
||||
})
|
||||
with session().log("full information integration"):
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge, {
|
||||
"elements": tokens,
|
||||
"decomposition": decomposition,
|
||||
"parsed": inferred_tree,
|
||||
})
|
||||
|
||||
session().annotate("Result: {}".format(self.get_value(result)))
|
||||
self.act_upon(result)
|
||||
session().annotate("Set: {}".format(self.get_value(result)))
|
||||
self.examples.append((decomposition, inferred_tree))
|
||||
self.originals.append(example['text'])
|
||||
session().annotate("Result: {}".format(self.get_value(result)))
|
||||
self.act_upon(result)
|
||||
session().annotate("Set: {}".format(self.get_value(result)))
|
||||
self.examples.append((decomposition, inferred_tree))
|
||||
self.originals.append(example['text'])
|
||||
|
||||
# Reduce values
|
||||
self.trained = parsing.reprocess_language_knowledge(self, self.examples)
|
||||
# Reduce values
|
||||
with session().log("reprocessing"):
|
||||
self.trained = parsing.reprocess_language_knowledge(self, self.examples)
|
||||
|
||||
knowledge_after = copy.deepcopy(self.knowledge)
|
||||
knowledge_diff_getter = lambda: diff_knowledge(knowledge_before,
|
||||
knowledge_after = copy.deepcopy(self.knowledge)
|
||||
knowledge_diff_getter = lambda: diff_knowledge(knowledge_before,
|
||||
knowledge_after)
|
||||
|
||||
return knowledge_diff_getter
|
||||
return knowledge_diff_getter
|
||||
|
||||
def process(self, row):
|
||||
row = row.lower()
|
||||
knowledge_before = copy.deepcopy(self.knowledge)
|
||||
session().annotate("Process: {}".format(row))
|
||||
tokens = parsing.to_tokens(row)
|
||||
fit = parsing.get_fit(self, tokens)
|
||||
if fit is None:
|
||||
return None
|
||||
with session().log("Process: {}".format(row)):
|
||||
tokens = parsing.to_tokens(row)
|
||||
fit = parsing.get_fit(self, tokens)
|
||||
if fit is None:
|
||||
return None
|
||||
|
||||
tokens, inferred_tree = fit
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge,
|
||||
{
|
||||
"elements": tokens,
|
||||
"parsed": inferred_tree,
|
||||
})
|
||||
self.act_upon(result)
|
||||
session().annotate("Result: {}".format(result))
|
||||
tokens, inferred_tree = fit
|
||||
result = knowledge_evaluation.integrate_information(self.knowledge,
|
||||
{
|
||||
"elements": tokens,
|
||||
"parsed": inferred_tree,
|
||||
})
|
||||
self.act_upon(result)
|
||||
session().annotate("Result: {}".format(result))
|
||||
|
||||
knowledge_after = copy.deepcopy(self.knowledge)
|
||||
knowledge_diff_getter = lambda: diff_knowledge(knowledge_before,
|
||||
knowledge_after)
|
||||
knowledge_after = copy.deepcopy(self.knowledge)
|
||||
knowledge_diff_getter = lambda: diff_knowledge(knowledge_before,
|
||||
knowledge_after)
|
||||
|
||||
return result, inferred_tree, knowledge_diff_getter
|
||||
return result, inferred_tree, knowledge_diff_getter
|
||||
|
||||
def get_value(self, result):
|
||||
if is_modifiable_property(result):
|
||||
|
@ -41,8 +41,15 @@ class OrgModeSession:
|
||||
def __init__(self, fname):
|
||||
self.f = open(fname, 'wt')
|
||||
self.level = 0
|
||||
self.dirty = False
|
||||
|
||||
def annotate(self, annotation):
|
||||
if self.dirty:
|
||||
self.f.write("{indentation} {data}\n".format(
|
||||
indentation='*' * (self.level + 2),
|
||||
data="---"))
|
||||
self.dirty = False
|
||||
|
||||
self.f.write("{indentation} {data}\n".format(
|
||||
indentation=' ' * (self.level + 2 + 1),
|
||||
data=annotation))
|
||||
@ -51,6 +58,7 @@ class OrgModeSession:
|
||||
self.f.write("{indentation} {data}\n".format(
|
||||
indentation='*' * (self.level + 1),
|
||||
data=string))
|
||||
self.dirty = False
|
||||
|
||||
return LevelContext(self.inc_level, self.dec_level)
|
||||
|
||||
@ -59,6 +67,7 @@ class OrgModeSession:
|
||||
|
||||
def dec_level(self):
|
||||
self.level -= 1
|
||||
self.dirty = True
|
||||
|
||||
def close(self):
|
||||
self.f.close()
|
||||
|
@ -711,7 +711,7 @@ def main():
|
||||
differences = knowledge.train([question])
|
||||
session().annotate(differences())
|
||||
|
||||
result, _, _ = knowledge.process(data['text'])
|
||||
result, _, _ = knowledge.process(data['text'])
|
||||
|
||||
if "after_execution" in data:
|
||||
for f in data["after_execution"]:
|
||||
|
Loading…
Reference in New Issue
Block a user