bert_user_source = sys.argv[1] bert_item_source = sys.argv[2] graph_source = sys.argv[3] dest = sys.argv[4] prediction_dest = sys.argv[5] print(bert_user_source) print(bert_item_source) print(graph_source) print(dest) print(prediction_dest) user, item, rating = read_ratings('datasets/movielens/train2id.tsv') graph_embeddings = read_graph_embeddings(graph_source) user_bert_embeddings = read_bert_embedding(bert_user_source) item_bert_embeddings = read_bert_embedding(bert_item_source) X_graph, X_bert, dim_graph, dim_bert, y = matching_Bert_Graph( user, item, rating, graph_embeddings, user_bert_embeddings, item_bert_embeddings) model = run_model(X_graph, X_bert, dim_graph, dim_bert, y, epochs=25, batch_size=1536) # creates a HDF5 file 'model.h5'
logger.error("Invalid number of parameters.") exit(-1) user_source = sys.argv[1] item_source = sys.argv[2] dest = sys.argv[3] prediction_dest = sys.argv[4] isUserGraph = int(sys.argv[5]) model = tf.keras.models.load_model(dest + 'model.h5') user, item, rating = read_ratings('datasets/movielens/test2id.tsv') if isUserGraph == 1: print("User is encoded with graph embedding") user_embeddings = read_graph_embeddings(user_source) item_embeddings = read_bert_embedding(item_source) X, y, dim_embeddings = matching_userGraph_itemBert(user, item, rating, user_embeddings, item_embeddings) else: print("User is encoded with bert embedding") item_embeddings = read_graph_embeddings(item_source) user_embeddings = read_bert_embedding(user_source) X, y, dim_embeddings = matching_userBert_itemGraph(user, item, rating, user_embeddings, item_embeddings) score = model.predict([X[:, 0], X[:, 1]]) print("Computing predictions...") score = score.reshape(1, -1)[0, :]
import pandas as pd import csv import numpy as np import json import tensorflow as tf from tensorflow import keras from numpy import loadtxt from keras.models import Sequential from keras.layers import Dense from utilities.utils import read_ratings,read_graph_embeddings,read_bert_embedding,top_scores,matching_Bert_Graph graph_embeddings = read_graph_embeddings("embeddings/TRANSDembedding_768.json") user_bert_embeddings = read_bert_embedding("embeddings/elmo_user_embeddings_nostopw_1024.json") item_bert_embeddings = read_bert_embedding("embeddings/elmo_embeddings_nostopw_1024.json") user, item, rating = read_ratings('datasets/movielens/test2id.tsv') X_graph,X_bert,dim_graph,dim_bert,y = matching_Bert_Graph(user,item,rating,graph_embeddings,user_bert_embeddings,item_bert_embeddings) model = tf.keras.models.load_model('results/model.h5') score = model.predict([X_graph[:,0],X_graph[:,1],X_bert[:,0],X_bert[:,1]]) print("Computing predictions...") score = score.reshape(1,-1)[0,:] predictions = pd.DataFrame() predictions['users'] = np.array(user)+1 predictions['items'] = np.array(item)+1 predictions['scores'] = score predictions = predictions.sort_values(by=['users','scores'],ascending=[True,False]) top_5_scores = top_scores(predictions,5)
import pandas as pd import csv import numpy as np import json import tensorflow as tf from tensorflow import keras from numpy import loadtxt from keras.models import Sequential from keras.layers import Dense from utilities.utils import read_ratings, read_graph_embeddings, read_bert_embedding, top_scores, matching_Bert_Graph_conf graph_embeddings = read_graph_embeddings("embeddings/TRANSDembedding_768.json") user_bert_embeddings = read_bert_embedding( "embeddings/UserProfiles_lastLayer.json") item_bert_embeddings = read_bert_embedding( "embeddings/ITEM_embeddingslastlayer.json") user, item, rating = read_ratings('datasets/dbbook/test2id.tsv') X, y, dim_embeddings = matching_Bert_Graph_conf(user, item, rating, graph_embeddings, user_bert_embeddings, item_bert_embeddings) model = tf.keras.models.load_model('results/model.h5') score = model.predict([X[:, 0], X[:, 1], X[:, 2], X[:, 3]]) print("Computing predictions...") score = score.reshape(1, -1)[0, :] predictions = pd.DataFrame() predictions['users'] = np.array(user) + 1 predictions['items'] = np.array(item) + 1
import pandas as pd import csv import numpy as np import json import tensorflow as tf from tensorflow import keras from numpy import loadtxt from keras.models import Sequential from keras.layers import Dense from utilities.utils import read_ratings, read_graph_embeddings, read_bert_embedding, matching_userBert_itemGraph, matching_userGraph_itemBert, top_scores user_embeddings = read_graph_embeddings("embeddings/TRANSHembedding_768.json") item_embeddings = read_bert_embedding( "embeddings/ITEM_embeddingslastlayer.json") user, item, rating = read_ratings('datasets/dbbook/test2id.tsv') X, y, dim_embeddings = matching_userGraph_itemBert(user, item, rating, user_embeddings, item_embeddings) model = tf.keras.models.load_model('results/model.h5') score = model.predict([X[:, 0], X[:, 1]]) print("Computing predictions...") score = score.reshape(1, -1)[0, :] predictions = pd.DataFrame() predictions['users'] = np.array(user) + 1 predictions['items'] = np.array(item) + 1 predictions['scores'] = score predictions = predictions.sort_values(by=['users', 'scores'], ascending=[True, False])