Beispiel #1
0
def test(model_props=None,
         model_name=None,
         weights_file='best_weights',
         dataset_name='test',
         save_output=True,
         save_scores=False):
    if model_props is None:
        model_props = model_properties.MentionRankingProps(
            name=model_name,
            load_weights_from=model_name,
            weights_file=weights_file)

    print "Loading data"
    vectors = np.load(directories.RELEVANT_VECTORS + 'word_vectors.npy')
    dataset = datasets.DocumentBatchedDataset(dataset_name,
                                              model_props,
                                              with_ids=True)
    docs = utils.load_pickle(directories.DOCUMENTS + dataset_name +
                             '_docs.pkl')
    stats = {}

    print "Building model"
    model, _ = pairwise_models.get_model(dataset, vectors, model_props)

    print "Evaluating model on", dataset_name
    evaluate_model(dataset,
                   docs,
                   model,
                   model_props,
                   stats,
                   save_output=save_output,
                   save_scores=save_scores)
    timer.clear()
    utils.write_pickle(stats, model_props.path + dataset_name + "_results.pkl")
Beispiel #2
0
def main(model_props=None, cluster_props=None):
    if model_props is None:
        model_props = model_properties.MentionRankingProps()
    if cluster_props is None:
        cluster_props = model_properties.ClusterRankingProps()

    directories.set_model_name('classification')
    model_props.load_weights_from = None
    model_props.set_mode('classification')
    pairwise_learning.main(model_props=model_props, n_epochs=150)

    directories.set_model_name('top_pairs')
    model_props.set_mode('top_pairs')
    model_props.load_weights_from = 'classification'
    model_props.weights_file = 'weights_140'
    timer.clear()
    pairwise_learning.main(model_props=model_props, n_epochs=50)

    directories.set_model_name('ranking')
    model_props.set_mode('ranking')
    model_props.load_weights_from = 'top_pairs'
    model_props.weights_file = 'weights_40'
    timer.clear()
    pairwise_learning.main(model_props=model_props, n_epochs=50)

    model_props.load_weights_from = 'ranking'
    pairwise_learning.main(model_props=model_props, write_scores=True, test_only=True)
    pairwise_learning.main(model_props=model_props, write_scores=True, test_only=True,
                           validate="test")

    clustering_preprocessing.main('ranking')
    cluster_props.load_weights_from = 'ranking'
    cluster_props.weights_file = 'weights_40'
    timer.celar()
    clustering_learning.main(cluster_props)
Beispiel #3
0
def load_docs(dataset_name, word_vectors):
    return (dataset.Dataset(dataset_name,
                            model_properties.MentionRankingProps(),
                            word_vectors),
            zip(
                util.load_pickle(directories.DOCUMENTS + dataset_name +
                                 '_docs.pkl'),
                util.load_pickle(directories.ACTION_SPACE + dataset_name +
                                 '_action_space.pkl')))
Beispiel #4
0
def train_best_model():
    train_and_test_pairwise(model_properties.MentionRankingProps(),
                            mode='reward_rescaling')
Beispiel #5
0
def emnlp2016():
    model_props = model_properties.MentionRankingProps()
    train_and_test_pairwise(model_props, mode='ranking')
    train_and_test_pairwise(model_props, mode='reinforce')
    train_and_test_pairwise(model_props, mode='reward_rescaling')
Beispiel #6
0
def acl2016():
    model_props = model_properties.MentionRankingProps()
    train_pairwise(model_props)
    make_predictions(model_props, ["train", "dev", "test"], save_scores=True)
    train_clustering(model_properties.ClusterRankingProps())