print "Loading test data..." test_data = read_data(test_file) print "Testing classifiers..." scorer = Score() Algorithms = ("Simplified", "HMM", "Complex") for (s, gt) in test_data: outputs = { "0. Ground truth": [[ gt, ], []] } # run all algorithms on the sentence for i in range(0, len(Algorithms)): outputs[str(i + 1) + ". " + Algorithms[i]] = solver.solve( Algorithms[i], s) # compute posteriors for each solution posteriors = { algo: [solver.posterior(s, output) for output in outputs[algo][0]] for algo in outputs } Score.print_results(s, outputs, posteriors) scorer.score(outputs) scorer.print_scores() print "----"
(train_file, test_file) = sys.argv[1:3] print "Learning model..." solver = Solver() train_data = read_data(train_file) solver.train(train_data) print "Loading test data..." test_data = read_data(test_file) print "Testing classifiers..." scorer = Score() Algorithms = ("Naive", "Sampler", "Max marginal", "MAP", "Best") for (s, gt) in test_data: outputs = {"0. Ground truth" : [[gt,], []]} # run all algorithms on the sentence for i in range(0, len(Algorithms)): outputs[ str(i+1) + ". " + Algorithms[i] ] = solver.solve(Algorithms[i], s) # compute posteriors for each solution posteriors = { algo: [ solver.posterior(s, output) for output in outputs[algo][0] ] for algo in outputs } Score.print_results(s, outputs, posteriors) scorer.score(outputs) scorer.print_scores() print "----"
print "Learning model..." solver = Solver() train_data = read_data(train_file) solver.train(train_data) print "Loading test data..." test_data = read_data(test_file) print "Testing classifiers..." scorer = Score() Algorithms = ("Simplified", "HMM", "Complex") for (s, gt) in test_data: # Changed the probability distribution for ground truth outputs = {"0. Ground truth": [[gt, ], [[1]*len(s)]]} # run all algorithms on the sentence for i in range(0, len(Algorithms)): outputs[ str(i+1) + ". " + Algorithms[i] ] = solver.solve(Algorithms[i], s) # compute posteriors for each solution # modified the parameter for posterior function # Instead of passing the label we are passing the probability list posteriors = { algo: [ solver.posterior(s, output) for output in outputs[algo][1] ] for algo in outputs } Score.print_results(s, outputs, posteriors) scorer.score(outputs) scorer.print_scores() print "----"
print "Testing classifiers..." scorer = Score() Algorithms = ("Simplified", "HMM", "Complex") for (s, gt) in test_data: outputs = { "0. Ground truth": [[ gt, ], []] } # run all algorithms on the sentence for i in range(0, len(Algorithms)): outputs[str(i + 1) + ". " + Algorithms[i]] = solver.solve( Algorithms[i], s) # compute posteriors for each solution posteriors = { algo: [ solver.posterior(algo.split(".")[1].strip(), s, output) for output in outputs[algo][0] ] for algo in outputs } Score.print_results(s, outputs, posteriors) scorer.score(outputs) scorer.print_scores() print "----"
print "Learning model..." solver = Solver() train_data = read_data(train_file) solver.train(train_data) print "Loading test data..." test_data = read_data(test_file) print "Testing classifiers..." scorer = Score() Algorithms = ("Naive", "Sampler", "Max marginal", "MAP", "Best") for (s, gt) in test_data: outputs = {"0. Ground truth": [[gt], []]} # run all algorithms on the sentence for i in range(0, len(Algorithms)): outputs[str(i + 1) + ". " + Algorithms[i]] = solver.solve(Algorithms[i], s) # compute posteriors for each solution posteriors = {} for algo in outputs: posteriors[algo] = [solver.posterior(s, output) for output in outputs[algo][0]] Score.print_results(s, outputs, posteriors) scorer.score(outputs) scorer.print_scores() print "----"