if len(sys.argv) != 6: 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...")
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)
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, top_scores, matching_Bert_Graph_conf graph_embeddings = read_graph_embeddings( "embeddings/DISTMULTembedding_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
import tensorflow as tf from tensorflow import keras from numpy import loadtxt from keras.models import Sequential from keras.layers import Dense import os from utilities.utils import read_ratings, read_graph_embeddings, read_bert_embedding, matching_Bert_Graph from models.model1Strategy import run_model graph_embeddings = read_graph_embeddings("embeddings/HolEembedding_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/train2id.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 = run_model(X_graph, X_bert, dim_graph, dim_bert, y, epochs=25, batch_size=1536) #creates a HDF5 file 'model.h5' model.save('results/model.h5')
import tensorflow as tf from tensorflow import keras from numpy import loadtxt from keras.models import Sequential from keras.layers import Dense import os from utilities.utils import read_graph_embeddings, read_ratings, matching_graph_emb_id from models.model1 import run_model ent_embeddings = read_graph_embeddings('embeddings/TRANSEembedding_768.json') user, item, rating = read_ratings('datasets/dbbook/train2id.tsv') X, y, dim_embeddings = matching_graph_emb_id(user, item, rating, ent_embeddings) print("Embedding dimension: ", dim_embeddings) model = run_model(X, y, dim_embeddings, epochs=25, batch_size=512) # creates a HDF5 file 'model.h5' model.save('results/model.h5')
import sys if __name__ == "__main__": logging.basicConfig(format="%(message)s", level=logging.INFO) logger = logging.getLogger(__name__) if len(sys.argv) != 4: logger.error("Invalid number of parameters.") exit(-1) source = sys.argv[1] dest = sys.argv[2] prediction_dest = sys.argv[3] model = tf.keras.models.load_model(dest + 'model.h5') ent_embeddings = read_graph_embeddings(source) user, item, rating = read_ratings('datasets/movielens/test2id.tsv') X, y, dim_embeddings = matching_graph_emb_id(user, item, rating, ent_embeddings) 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])