def getTestPreds(train_obs_list, train_ne_list, test_obs_list, smooth, similarity): emission_probs = getEmissionProbabilities(train_obs_list, train_ne_list) state_init_probs, state_trans_probs = getBigramStateProbabilities(train_ne_list) pred_ne_list = [] if smooth and not similarity: smoothed_emission_probs = getSmoothEmissionProbs(emission_probs) smoothed_state_trans_probs = getSmoothTransitionProbs(state_trans_probs) for i in xrange(len(test_obs_list)): predicted_states = SmoothViterbi(smoothed_emission_probs, state_init_probs, smoothed_state_trans_probs, test_obs_list[i]) pred_ne_list.append(predicted_states) elif similarity and not smooth: feature_type = 'text_features' low_frequency_probabilities = json.load(open(dir_path + 'Training_Test_Data/{0}'.format(feature_type))) reduced_similarity_probs = getReducedSimilarityProbs(low_frequency_probabilities, emission_probs) for i in xrange(len(test_obs_list)): predicted_states = SimilarityViterbi(emission_probs, state_init_probs, state_trans_probs, test_obs_list[i], reduced_similarity_probs, smooth=False) pred_ne_list.append(predicted_states) elif smooth and similarity: feature_type = 'text_features' low_frequency_probabilities = json.load(open(dir_path + 'Training_Test_Data/{0}'.format(feature_type))) reduced_similarity_probs = getReducedSimilarityProbs(low_frequency_probabilities, emission_probs) smoothed_state_trans_probs = getSmoothTransitionProbs(state_trans_probs) for i in xrange(len(test_obs_list)): predicted_states = SimilarityViterbi(emission_probs, state_init_probs, smoothed_state_trans_probs, test_obs_list[i], reduced_similarity_probs, smooth=True) pred_ne_list.append(predicted_states) else: for i in xrange(len(test_obs_list)): predicted_states = Viterbi(emission_probs, state_init_probs, state_trans_probs, test_obs_list[i]) pred_ne_list.append(predicted_states) return pred_ne_list
def getTestPreds(train_obs_list, train_ne_list, test_obs_list, low_frequency_probabilities, smooth, similarity_based, test_pos_list): emission_probs = getEmissionProbabilities(train_obs_list, train_ne_list, smooth) state_init_probs, state_trans_probs = getStateProbabilities(train_ne_list) pred_ne_list = [] for i in xrange(len(test_obs_list)): predicted_states = Viterbi(emission_probs, state_init_probs, state_trans_probs, test_obs_list[i], low_frequency_probabilities, smooth, similarity_based, test_pos_list[i]) pred_ne_list.append(predicted_states) return pred_ne_list
def getTestPreds(train_obs_list, train_ne_list, test_obs_list, smooth, similarity): emission_probs = getEmissionProbabilities(train_obs_list, train_ne_list) state_init_probs, state_trans_probs = getBigramStateProbabilities( train_ne_list) pred_ne_list = [] if smooth and not similarity: smoothed_emission_probs = getSmoothEmissionProbs(emission_probs) smoothed_state_trans_probs = getSmoothTransitionProbs( state_trans_probs) for i in xrange(len(test_obs_list)): predicted_states = SmoothViterbi(smoothed_emission_probs, state_init_probs, smoothed_state_trans_probs, test_obs_list[i]) pred_ne_list.append(predicted_states) elif similarity and not smooth: feature_type = 'text_features' low_frequency_probabilities = json.load( open(dir_path + 'Training_Test_Data/{0}'.format(feature_type))) reduced_similarity_probs = getReducedSimilarityProbs( low_frequency_probabilities, emission_probs) for i in xrange(len(test_obs_list)): predicted_states = SimilarityViterbi(emission_probs, state_init_probs, state_trans_probs, test_obs_list[i], reduced_similarity_probs, smooth=False) pred_ne_list.append(predicted_states) elif smooth and similarity: feature_type = 'text_features' low_frequency_probabilities = json.load( open(dir_path + 'Training_Test_Data/{0}'.format(feature_type))) reduced_similarity_probs = getReducedSimilarityProbs( low_frequency_probabilities, emission_probs) smoothed_state_trans_probs = getSmoothTransitionProbs( state_trans_probs) for i in xrange(len(test_obs_list)): predicted_states = SimilarityViterbi(emission_probs, state_init_probs, smoothed_state_trans_probs, test_obs_list[i], reduced_similarity_probs, smooth=True) pred_ne_list.append(predicted_states) else: for i in xrange(len(test_obs_list)): predicted_states = Viterbi(emission_probs, state_init_probs, state_trans_probs, test_obs_list[i]) pred_ne_list.append(predicted_states) return pred_ne_list