def update_sim_rid_list(self, rid, pid): for review in self.pid_history.get(pid, []): rid_tar = review[0] if rid_tar == rid: continue sim = Amazon.pf_overall(rid_tar, rid, (self.rid_history,)) assert sim <= 1. # update rid_tar's most sim list self.rid_most_sim.setdefault(rid_tar, [(1e-6, 'nan')] * self.k) heapq.heappushpop(self.rid_most_sim[rid_tar], (sim, rid)) # update rid's most sim list self.rid_most_sim.setdefault(rid, [(1e-6, 'nan')] * self.k) heapq.heappushpop(self.rid_most_sim[rid], (sim, rid_tar))
def update_cur_rid_inherent(self, rid): if_overall = Amazon.if_overall(rid, (self.rid_history,)) assert if_overall <= 1. self.rid_inherent[rid] = if_overall