|
|
|
@@ -31,7 +31,7 @@ def sample_function_mixed(user_train, usernum, itemnum, batch_size, maxlen, resu |
|
|
|
|
|
|
|
seq = np.zeros([maxlen], dtype=np.int32) |
|
|
|
pos = np.zeros([maxlen], dtype=np.int32) |
|
|
|
neg = np.zeros([maxlen], dtype=np.int32) |
|
|
|
neg = np.zeros([maxlen*10], dtype=np.int32) |
|
|
|
|
|
|
|
if len(user_train[user]) < maxlen: |
|
|
|
nxt_idx = len(user_train[user]) - 1 |
|
|
|
@@ -45,20 +45,24 @@ def sample_function_mixed(user_train, usernum, itemnum, batch_size, maxlen, resu |
|
|
|
for i in reversed(user_train[user][min(0, nxt_idx - 1 - maxlen) : nxt_idx - 1]): |
|
|
|
seq[idx] = i |
|
|
|
pos[idx] = nxt |
|
|
|
if nxt != 0: neg[idx] = random_neq(1, itemnum + 1, ts, user_train,usernum) |
|
|
|
# if nxt != 0: neg[idx] = random_neq(1, itemnum + 1, ts, user_train,usernum) |
|
|
|
nxt = i |
|
|
|
idx -= 1 |
|
|
|
if idx == -1: break |
|
|
|
|
|
|
|
# for i in range(len(neg)): |
|
|
|
# neg[i] = random_neq(1, itemnum + 1, ts, user_train,usernum) |
|
|
|
for i in range(len(neg)): |
|
|
|
neg[i] = random_neq(1, itemnum + 1, ts, user_train,usernum) |
|
|
|
|
|
|
|
curr_rel = user |
|
|
|
support_triples, support_negative_triples, query_triples, negative_triples = [], [], [], [] |
|
|
|
for idx in range(maxlen-1): |
|
|
|
support_triples.append([seq[idx],curr_rel,pos[idx]]) |
|
|
|
# support_negative_triples.append([seq[idx],curr_rel,neg[idx]]) |
|
|
|
# support_negative_triples.append([seq[-1], curr_rel, neg[idx]]) |
|
|
|
|
|
|
|
for idx in range(maxlen*10 - 1): |
|
|
|
support_negative_triples.append([seq[-1], curr_rel, neg[idx]]) |
|
|
|
|
|
|
|
query_triples.append([seq[-1],curr_rel,pos[-1]]) |
|
|
|
negative_triples.append([seq[-1],curr_rel,neg[-1]]) |
|
|
|
|