Exemplo n.º 1
0
lsa = LSA(MAX_GRAM, MIN_FREQ, P_EIG)
lsa_results = lsa.process_utterances_through_lsa(db.human_utterances)
print("LSA Results computed.")
###############################################################################

test_score = []
###############################################################################
# Data Division
sets = Set(lsa_results, db.robot_ids, db.human_utterances, n_splits=5)
###############################################################################

###############################################################################
# Naive Bayes Classifier
###############################################################################
for i in range(len(sets.lsa_vectors_train)):
    naive = NaiveBayesClassifier(alpha=ALPHA)
    naive.learning_phase(numpy.array(sets.lsa_vectors_train[i]),
                         sets.robot_ids_train[i])
    ###############################################################################

    ###############################################################################
    # Computing the results of the experiment
    ###############################################################################
    test_score.append(
        numpy.round(
            naive.test_score(numpy.array(sets.lsa_vectors_test[i]),
                             numpy.array(sets.robot_ids_test[i])), 2))

avg = numpy.round(numpy.average(numpy.round(test_score)), 2)
print("All tests results: ")
print(test_score)
Exemplo n.º 2
0
test_score = []
print("Data imported.")

###############################################################################

###############################################################################
# Latent Semantic Analysis
###############################################################################
lsa = LSA(MAX_GRAM, MIN_FREQ, P_EIG)
lsa_results = lsa.process_utterances_through_lsa(db.human_utterances)
print("LSA Results computed.")
###############################################################################

###############################################################################
# Data Division
sets = Set(lsa_results, db.robot_ids, db.human_utterances, n_splits=5)
###############################################################################

###############################################################################
# Naive Bayes Classifier
###############################################################################

naive = NaiveBayesClassifier(alpha=ALPHA)
naive.learning_phase(numpy.array(lsa_results), db.robot_ids)
###############################################################################

speak = SpeakWithTheRobot()
speak.speaking_to_the_robot(lsa, naive, db)

###############################################################################
Exemplo n.º 3
0
###############################################################################
lsa = LSA(MAX_GRAM, MIN_FREQ, P_EIG)
lsa_results = lsa.process_utterances_through_lsa(db.human_utterances)
print("LSA Results computed.")
###############################################################################

###############################################################################
# Data Division
sets = Set(lsa_results, db.robot_ids, db.human_utterances, n_splits=5)
###############################################################################

###############################################################################
# Naive Bayes Classifier
###############################################################################
for i in range(len(sets.lsa_vectors_train)):
    naive = NaiveBayesClassifier(alpha=ALPHA)
    naive.learning_phase(numpy.array(sets.lsa_vectors_train[i]), sets.robot_ids_train[i])
###############################################################################

###############################################################################
# Computing the results of the experiment
###############################################################################
    test_score.append(naive.test_score(numpy.array(sets.lsa_vectors_test[i]), numpy.array(sets.robot_ids_test[i])))
    probability = naive.classifier.predict_proba(sets.lsa_vectors_test[i])
    for j in range(len(sets.lsa_vectors_test[i])):
        predicted_class = naive.predict_new_robot_id(sets.lsa_vectors_test[i][j])[0]
        r_class = sets.robot_ids_test[i][j]
        if r_class != predicted_class:
            print("Correct total prob", numpy.round(probability[j][r_class], 3))
            print("Pred total prob", numpy.round(probability[j][predicted_class], 3))
            print("Prob of real class:", numpy.round(math.exp(naive.classifier.class_log_prior_[r_class]), 3))
Exemplo n.º 4
0
lsa_results = lsa.process_utterances_through_lsa(db.human_utterances)
print("LSA Results computed.")
###############################################################################

while True:
    test_score = []
    ###############################################################################
    # Data Division
    sets = Set(lsa_results, db.robot_ids, db.human_utterances, n_splits=5)
    ###############################################################################

    ###############################################################################
    # Naive Bayes Classifier
    ###############################################################################
    for i in range(len(sets.lsa_vectors_train)):
        naive = NaiveBayesClassifier(alpha=ALPHA)
        naive.learning_phase(numpy.array(sets.lsa_vectors_train[i]),
                             sets.robot_ids_train[i])
        ###############################################################################

        ###############################################################################
        # Computing the results of the experiment
        ###############################################################################
        test_score.append(
            naive.test_score(numpy.array(sets.lsa_vectors_test[i]),
                             numpy.array(sets.robot_ids_test[i])))

    avg = numpy.round(numpy.average(numpy.array(test_score)), 2)
    max_index = test_score.index(max(test_score))
    print("Test Score:", avg)
    print(max_index)