diff --git a/cornac/models/companion/recom_companion.pyx b/cornac/models/companion/recom_companion.pyx index 1678a8b1..7b82de76 100644 --- a/cornac/models/companion/recom_companion.pyx +++ b/cornac/models/companion/recom_companion.pyx @@ -855,7 +855,7 @@ class Companion(Recommender): s = 1 if user_item_aspect_neg_opinion_dict.my_map.find(get_key3(get_key(u_idx, i_idx), a_idx, o_jdx)) != user_item_aspect_neg_opinion_dict.my_map.end(): i_score = YN[idx] - j_score = user_item_aspect_pos_opinion_dict.my_map[get_key3(get_key(u_idx, i_idx), a_idx, o_jdx)] + j_score = user_item_aspect_neg_opinion_dict.my_map[get_key3(get_key(u_idx, i_idx), a_idx, o_jdx)] if i_score == j_score: skipped_uiaon += 1 continue @@ -879,10 +879,10 @@ class Companion(Recommender): for j in range(n_aspect_factors): for i in range(n_user_factors): del_g3[i, j, k] -= del_bpr_uiaon * U[u_idx, i] * A[a_idx, j] * uiaon_ij - del_u[u_idx, i] -= del_bpr_uiaon * G2[i, j, k] * A[a_idx, j] * uiaon_ij - del_a[a_idx, j] -= del_bpr_uiaon * G2[i, j, k] * U[u_idx, i] * uiaon_ij - del_o[o_idx, k] -= del_bpr_uiaon * G2[i, j, k] * U[u_idx, i] * A[a_idx, j] - del_o[o_jdx, k] += del_bpr_uiaon * G2[i, j, k] * U[u_idx, i] * A[a_idx, j] + del_u[u_idx, i] -= del_bpr_uiaon * G3[i, j, k] * A[a_idx, j] * uiaon_ij + del_a[a_idx, j] -= del_bpr_uiaon * G3[i, j, k] * U[u_idx, i] * uiaon_ij + del_o[o_idx, k] -= del_bpr_uiaon * G3[i, j, k] * U[u_idx, i] * A[a_idx, j] + del_o[o_jdx, k] += del_bpr_uiaon * G3[i, j, k] * U[u_idx, i] * A[a_idx, j] for i in range(n_item_factors): del_g3[n_user_factors + i, j, k] -= del_bpr_uiaon * I[i_idx, i] * A[a_idx, j] * uiaon_ij del_i[i_idx, i] -= del_bpr_uiaon * G3[n_user_factors + i, j, k] * A[a_idx, j] * uiaon_ij