def __init__(self, sent_node_list, sent_vec_list): # self.graph_map = graph_map self.sent_node_list = sent_node_list self.sent_vec_list = sent_vec_list self.var_node_list = [] for ii in xrange(len(self.sent_node_list)): self.var_node_list.append(VarNode(ii, self.sent_node_list[ii])) self.sim_matrix = [[1 for i in range(len(sent_node_list))] for j in range(len(sent_node_list))] # cal sim mat if len(self.sent_node_list) > 0: for q in xrange(len(self.sent_node_list)): for j in xrange(q + 1, len(self.sent_node_list)): sm = cal_sim_tfidf(self.sent_node_list[q].sent, self.sent_node_list[j].sent) self.sim_matrix[q][j] = sm self.sim_matrix[j][q] = self.sim_matrix[q][j] if sm > 0.2: self.var_node_list[q].add_neighbor(self.var_node_list[j]) self.var_node_list[j].add_neighbor(self.var_node_list[q])
def cal_sim_matrix(self): if len(self.observ_list) > 0: for i in xrange(len(self.sent_vec_list)): for j in xrange(i, len(self.sent_vec_list)): self.sim_matrix[i][j] = cal_sim_tfidf(self.sent_list[i], self.sent_list[j]) self.sim_matrix[j][i] = self.sim_matrix[i][j]