Exemplo n.º 1
0
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'
Exemplo n.º 2
0
        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, :]
Exemplo n.º 3
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)
Exemplo n.º 4
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_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])