import dbInfo as db import numpy as np import persPageRank as ppr userId = input("\nGive User Id: ") movies = db.getAllMovies() movieNames = db.getAllMovieNames() tfmovies = {} for movieId in movies: Taglist = db.getMovieTags(movieId[0]) UnqTags = db.getMovieTagIds(movieId[0])[0][0].split(",") #print(UnqTags,movieId,Taglist) tfvect = {} for tag in UnqTags: tffact = 0 for t in Taglist: if (t[0] == tag): tffact += 1 tfvect[tag[0]] = tffact / len(Taglist) tfmovies[movieId[0]] = tfvect tagids = db.getAllTags() #print(tagids) movietf = np.zeros((len(tfmovies), len(tagids))) for i in range(len(tfmovies)): for j in range(len(tagids)): if (tagids[j][0] in tfmovies[movies[i][0]].keys()): movietf[i][j] = tfmovies[movies[i][0]][tagids[j][0]] matrix = np.matmul(movietf, np.transpose(movietf)) seedList = db.getUserMoviesRates(userId) seeds = []
import dbInfo as di import probFeedback as pf import movieRecomm as mr import numpy as np userId = input("\nGive User Id: ") numMovies = 5 movies = di.getAllMovies() movieNames = di.getAllMovieNames() moviesArr = [] for mov in movies: moviesArr.append(mov[0]) mat = mr.formPPRMatrix() matrix = np.matmul(mat,np.transpose(mat)) usrSeenMovies = di.getusrMovTime(userId) if(len(usrSeenMovies) <= 0): print("user has not watched any movies to give suggestions") sys.exit() usrMovies = [] for mov in usrSeenMovies: usrMovies.append(mov[0]) print("\nseeds =", usrMovies) rankedRes = mr.pprRes(matrix, usrMovies) #print("ranked res",rankedRes) print("\nRank\tMovie Id\tMovie Name\n") for i in range(numMovies): movIdx = moviesArr.index(rankedRes[i]) print(i+1,":\t",rankedRes[i],"\t\t",movieNames[movIdx][0])
tagSemantics = tl.unfold(factors[0], 1) movieSemantics = tl.unfold(factors[1], 1) rateSemantics = tl.unfold(factors[2], 1) print("\n\nTag Semantics:") for sem in tagSemantics: print("\n\n", utils.rankSem(sem, tags)) print("\n\nMovie Semantics:") for sem in movieSemantics: print("\n\n", utils.rankSem(sem, movies)) print("\n\nRating Semantics:") for sem in rateSemantics: print("\n\n", utils.rankSem(sem, ratings)) tagList = di.getAllTagNames() movList = di.getAllMovieNames() rates = di.getAllRatings() tagGroups = utils.form_groups_semantics(factors[0], tagList, numGroups) movGroups = utils.form_groups_semantics(factors[1], movList, numGroups) rtngGroups = utils.form_groups_semantics(factors[2], rates, numGroups) print("\n\n5 Non overlapping Tag groups:") for grp in tagGroups.keys(): print("\n\n", grp, ":", tagGroups[grp]) print("\n\n5 Non overlapping Movie groups:") for grp in movGroups.keys(): print("\n\n", grp, ":", movGroups[grp]) print("\n\n5 Non overlapping Rating groups:") for grp in rtngGroups.keys(): print("\n\n", grp, ":", rtngGroups[grp])