def findAndAssertDefinitionsFOPC(object, names): print(Ylw + "Checking features to define" + st, names) direct = languageTools.extractDirectObject(object) if direct: print(Ylw + "Found defining feature" + st, direct) if kb.Category(direct.lemma_): for name in names: kb.assertFromStatement(["inst", name, direct.lemma_]) statements.append(["inst", name, direct.lemma_])
def findAndAssertDefinitionsFOPC(object,names): print(Ylw+"Checking features to define"+st, names) direct = languageTools.extractDirectObject(object) if direct: print(Ylw+"Found defining feature"+st,direct) if kb.Category(direct.lemma_): for name in names: kb.assertFromStatement(["inst", name, direct.lemma_]) statements.append(["inst", name, direct.lemma_])
def findAndAssertFeaturesFOPC(object, names): print(Ylw + "Checking features to modify" + st, names) features = languageTools.extractFeatures(object) for feature in features: print(Ylw + "Found" + st, feature) feature_type = kb.whatAmI(feature.lemma_) for name in names: kb.assertFromStatement([feature_type, name, feature.lemma_]) statements.append([feature_type, name, feature.lemma_])
def findAndAssertFeaturesFOPC(object,names): print(Ylw+"Checking features to modify"+st, names) features = languageTools.extractFeatures(object) for feature in features: print(Ylw+"Found"+st,feature) feature_type = kb.whatAmI(feature.lemma_) for name in names: kb.assertFromStatement([feature_type, name, feature.lemma_]) statements.append([feature_type, name, feature.lemma_])
def findAndAttachPrepObjectsFOPC(source,object,names): print(Ylw+"Checking pObjs of"+st,source.lemma_,Ylw+"to modify"+st, object.lemma_) preps = languageTools.extractPreps(source) prep_pairs = [a for a in map(lambda x: [x, languageTools.extractPrepObject(x)], preps)] for f in prep_pairs: print(Ylw+" vPrep:"+st, f[0], Ylw+"Feature:"+st, f[1]) prepObject = resolveObjectFOPC(f[1])[0] print(f[1],"resolved to",prepObject) for name in names: statements.append([f[0].lemma_,name,prepObject]) kb.assertFromStatement([f[0].lemma_,name,prepObject]) print(Ylw+"Done with prepositions for:"+st,object.lemma_)
def buildAndAssertObjectStatementFOPC(object, names): if kb.Category(object.lemma_): for name in names: kb.assertFromStatement(["inst", name, object.lemma_]) statements.append(["inst", name, object.lemma_])