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 "----"
Ejemplo n.º 2
0
(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 "----"
Ejemplo n.º 3
0
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 "----"
Ejemplo n.º 4
0
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 "----"
Ejemplo n.º 5
0
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 "----"