Always create the "groups" set for new elements.
This allows a smaller initial knowledge base.
This commit is contained in:
parent
a7f70d2888
commit
8e304b2a09
@ -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()
|
||||||
|
@ -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():
|
||||||
|
Loading…
Reference in New Issue
Block a user