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")
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)
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')))
def train_best_model(): train_and_test_pairwise(model_properties.MentionRankingProps(), mode='reward_rescaling')
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')
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())