__author__ = "YanChenDeng"
import csv
from Problem import Problem
import copy

reader = csv.reader(file("Assignment 2.csv", "rb"))
problem = Problem()
for line in reader:
    problem.loadTopic(line)
    problem.loadUserRating(line)
print "Profile of User1 is:"
print dict(zip(problem.topicNames, problem.generateUserProfiles(0)))
print "Profile of User2 is:"
print dict(zip(problem.topicNames, problem.generateUserProfiles(1)))
print "Document which User1 like most is:"
matchResult = problem.cloestMatches(problem.generateUserProfiles(0))
print "doc " + str(matchResult[0] + 1) + " score is:" + str(matchResult[1])
print "Document which User2 like most is:"
matchResult = problem.cloestMatches(problem.generateUserProfiles(1))
print "doc " + str(matchResult[0] + 1) + " score is:" + str(matchResult[1])

print "------------------------"
print "After refine topic matrix"
problem.refineTopicMatrix()
print "Profile of User1 is:"
print dict(zip(problem.topicNames, [("%.3f") % i for i in problem.generateUserProfiles(0)]))
print "Profile of User2 is:"
print dict(zip(problem.topicNames, [("%.3f") % i for i in problem.generateUserProfiles(1)]))
print problem.evaluateDocument(0, problem.generateUserProfiles(0))
print problem.evaluateDocumentByIDF(0, problem.generateUserProfiles(0))