Always create the "groups" set for new elements.

This allows a smaller initial knowledge base.
This commit is contained in:
kenkeiras 2017-05-24 22:25:53 +02:00
parent a7f70d2888
commit 8e304b2a09
2 changed files with 4 additions and 16 deletions

View File

@ -133,13 +133,13 @@ def pertenence_to_group(knowledge_base, elements, subj, group):
group = resolve(knowledge_base, elements, group) group = resolve(knowledge_base, elements, group)
if subj not in knowledge_base: if subj not in knowledge_base:
knowledge_base[subj] = {} knowledge_base[subj] = {'groups': set()}
if "groups" not in knowledge_base[subj]: if "groups" not in knowledge_base[subj]:
knowledge_base[subj]["groups"] = set() knowledge_base[subj]["groups"] = set()
if group not in knowledge_base: if group not in knowledge_base:
knowledge_base[group] = {} knowledge_base[group] = {'groups': set()}
if "groups" not in knowledge_base[group]: if "groups" not in knowledge_base[group]:
knowledge_base[group]["groups"] = set() knowledge_base[group]["groups"] = set()
@ -179,7 +179,7 @@ def implies(knowledge_base, elements, precedent, consequent):
consequent = resolve(knowledge_base, elements, consequent) consequent = resolve(knowledge_base, elements, consequent)
if precedent not in knowledge_base: if precedent not in knowledge_base:
knowledge_base[precedent] = {} knowledge_base[precedent] = {'groups': set()}
if "implications" not in knowledge_base[precedent]: if "implications" not in knowledge_base[precedent]:
knowledge_base[precedent]["implications"] = set() knowledge_base[precedent]["implications"] = set()
@ -197,7 +197,7 @@ def property_has_value(knowledge_base, elements, subj, prop, value):
value = resolve(knowledge_base, elements, value) value = resolve(knowledge_base, elements, value)
if subj not in knowledge_base: if subj not in knowledge_base:
knowledge_base[subj] = {} knowledge_base[subj] = {'groups': set()}
if prop not in knowledge_base[subj]: if prop not in knowledge_base[subj]:
knowledge_base[subj][prop] = set() knowledge_base[subj][prop] = set()

View File

@ -648,33 +648,21 @@ base_knowledge = {
'icecream': { 'icecream': {
"groups": {'noun', 'object', 'comestible', 'sweet'}, "groups": {'noun', 'object', 'comestible', 'sweet'},
}, },
'cold': {
"groups": {'property', 'temperature'},
},
'hot': { 'hot': {
"groups": {'property', 'temperature'}, "groups": {'property', 'temperature'},
}, },
'summer': { 'summer': {
"groups": {'epoch'}, "groups": {'epoch'},
}, },
'earth': {
"groups": {'noun', 'object', 'planet'},
},
'planet': { 'planet': {
"groups": {'noun', 'group'}, "groups": {'noun', 'group'},
}, },
'color': {
"groups": {'property', 'group'},
},
'green': { 'green': {
"groups": {'noun', 'color', 'concept'}, "groups": {'noun', 'color', 'concept'},
}, },
'fly': { 'fly': {
"groups": {'verb'}, "groups": {'verb'},
}, },
'chile': {
"groups": {'noun'},
},
} }
def main(): def main():