Exemple #1
0
 def wrapped(l1):
     parser = linkshift.parser.Parser(parser_dir, solver_type=solver_type,
                                     clean=True, C=l1)
     dev_gold = linkshift.io_parse.read_conll(dev_loc.open().read())
     train = linkshift.io_parse.read_conll(train_loc.open().read())
     parser.train(train)
     dev = linkshift.io_parse.read_pos(get_pos(dev_loc.open().read()))
     acc = parser.add_parses(dev, gold=dev_gold) * 100
     wrapped.models[l1] = acc
     return acc
Exemple #2
0
def main(train_loc, model_loc, train_oracle="static", n_iter=15, beam_width=1,
         feat_thresh=10, allow_reattach=False, allow_reduce=False, unlabelled=False,
         n_sents=0, seed=0):
    random.seed(seed)
    if beam_width >= 2:
        parser = BeamParser(model_loc, clean=True,
                            train_alg=train_oracle,
                            feat_thresh=feat_thresh, allow_reduce=allow_reduce,
                            allow_reattach=allow_reattach, beam_width=beam_width)
    else:
        parser = GreedyParser(model_loc, clean=True, train_alg=train_oracle,
                              feat_thresh=feat_thresh,
                              allow_reduce=allow_reduce,
                              allow_reattach=allow_reattach)
    train_str = get_train_str(train_loc, n_sents)
    train_data = linkshift.io_parse.read_conll(train_str, unlabelled=unlabelled)
    parser.train(train_data, n_iter=n_iter)
    parser.save()