seen_antecedent_predicates = set() seen_consequent_predicates = set() for dc in definite_clauses: seen_consequent_predicates.add(parse.consequent(dc)[0]) for literal in parse.antecedent(dc): if literal[0][0:3] != 'etc': seen_antecedent_predicates.add(literal[0]) for predicate in seen_consequent_predicates: if predicate in seen_antecedent_predicates: seen_antecedent_predicates.remove(predicate) for predicate in seen_antecedent_predicates: warnings += "\n no etcetera axiom for literal: " + predicate if len(warnings) == 0: return "none" else: return warnings # run args = argparser.parse_args() inlines = args.infile.readlines() intext = "".join(inlines) kb, obs = parse.definite_clauses(parse.parse(intext)) obs = unify.standardize(obs) report = parsecheck(obs, kb) print(report, file=args.outfile) sys.exit()
help= 'Calculate precision, recall, f1-measure using gold-standard literals in evalfile' ) argparser.add_argument( '-p', '--parsecheck', action='store_true', help='check for problems parsing the input and knowledgebase') args = argparser.parse_args() # Load files inlines = args.infile.readlines() intext = "".join(inlines) kb, obs = parse.definite_clauses(parse.parse(intext)) obs = unify.standardize(obs) skolemize = not args.variables if args.kb: kblines = args.kb.readlines() kbtext = "".join(kblines) kbkb, kbobs = parse.definite_clauses(parse.parse(kbtext)) kb.extend(kbkb) if args.evalfile: evalfilelines = args.evalfile.readlines() evalfiletext = "".join(evalfilelines) ignore, goldliterals = parse.definite_clauses(parse.parse(evalfiletext))
args = argparser.parse_args() logging.basicConfig( level=logging.INFO, format="%(levelname)-5s:%(asctime)-15s: %(message)s", datefmt="%Y-%m-%d %H:%M:%S", ) # For kb caching. if args.kbcache: logging.info("Loading knowledge base...") kblines = args.kb.readlines() kbtext = "".join(kblines) kbkb, kbfacts = parse.definite_clauses(parse.parse(kbtext)) logging.info("Indexing...") import knowledgebase knowledgebase.cache_kb(args.kbcache, kbkb, kbfacts) sys.exit() # Load files inlines = args.infile.readlines() intext = "".join(inlines) kb, obs = parse.definite_clauses(parse.parse(intext)) logging.info("Parameters:")
argparser.add_argument('-a', '--all', action='store_true', help='Generate all solutions') argparser.add_argument('-f', '--forward', action='store_true', help='Forward chain from INFILE with KB') args = argparser.parse_args() # Load files inlines = args.infile.readlines() intext = "".join(inlines) kb, obs = parse.definite_clauses(parse.parse(intext)) if args.kb: kblines = args.kb.readlines() kbtext = "".join(kblines) kbkb, kbobs = parse.definite_clauses(parse.parse(kbtext)) kb.extend(kbkb) # Handle forward if args.forward: entailed = forward.forward(obs, kb) if args.graph: print(forward.graph(obs, entailed), file=args.outfile) else: for e in entailed:
if __name__ == "__main__": argparser = argparse.ArgumentParser() argparser.add_argument('-i', '--infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin) argparser.add_argument('-t', '--tricopa', nargs='?', type=argparse.FileType('r'), default="TriCOPA.txt") argparser.add_argument('-a', '--answers', nargs='?', type=argparse.FileType('r'), default="TriCOPA-answers.txt") argparser.add_argument('-k', '--kb', nargs='?', type=argparse.FileType('r'), default="tricopa-kb.lisp") argparser.add_argument('-o', '--outfile', nargs='?', type=argparse.FileType('w'), default=sys.stdout) argparser.add_argument('-q', '--question', type=int) argparser.add_argument('-d', '--depth', type=int, default=3) argparser.add_argument('-n', '--nbest', type=int, default=10) argparser.add_argument('-g', '--graph', action="store_true") argparser.add_argument('-x', '--xbestproof', type=int) args = argparser.parse_args() questionlist = tcparse(args.tricopa, args.answers) # a list kb, ignore = parse.definite_clauses(parse.parse("".join(args.kb.readlines()))) if args.question: if args.graph: if args.xbestproof: print(xbestproof(questionlist[args.question -1], kb, args.depth, args.xbestproof)) else: print(workflow(questionlist[args.question -1], kb, args.depth)) else: print(score1q(questionlist[args.question - 1], kb, args.depth, args.nbest)) else: print(scoreall(questionlist, kb, args.depth, args.nbest))
nargs='?', type=argparse.FileType('r'), default="tricopa-kb.lisp") argparser.add_argument('-o', '--outfile', nargs='?', type=argparse.FileType('w'), default=sys.stdout) argparser.add_argument('-q', '--question', type=int) argparser.add_argument('-d', '--depth', type=int, default=3) argparser.add_argument('-n', '--nbest', type=int, default=10) argparser.add_argument('-g', '--graph', action="store_true") argparser.add_argument('-x', '--xbestproof', type=int) args = argparser.parse_args() questionlist = tcparse(args.tricopa, args.answers) # a list kb, ignore = parse.definite_clauses( parse.parse("".join(args.kb.readlines()))) if args.question: if args.graph: if args.xbestproof: print( xbestproof(questionlist[args.question - 1], kb, args.depth, args.xbestproof)) else: print(workflow(questionlist[args.question - 1], kb, args.depth)) else: print( score1q(questionlist[args.question - 1], kb, args.depth, args.nbest)) else: