计算最小余弦相似度得分

时间:2018-04-30 22:17:40

标签: python information-retrieval cosine-similarity

我正在尝试检索语料库中具有最大和最小余弦相似性分数的文档对。 这是我的最大相似度得分代码:

def get_high_sim(self):
    """ Returns the maximum similarity score """
    flag = -1
    maximum = (flag, 0, 0)
    for d1 in self.sim_matrix.keys():
        for d2 in self.sim_matrix[d1].keys():
            if d1 != d2: #ignoring similarity with itself
                if self.active_clusters[d1] != -1 and self.active_clusters[d2] != -1: #checking if cluster is active
                    score = self.sim_matrix[d1][d2]
                    if score > flag and score != 1:
                        flag = score
                        maximum = (flag, d1, d2)
    return maximum

这似乎工作得非常好。但我的最低相似度得分代码不起作用。

    def get_lowest_sim(self):
    """ Returns the minimum similarity score in the corpus"""
    flag = -1
    minimum = (flag, 0, 0)
    for d1 in self.sim_matrix.keys():
        for d2 in self.sim_matrix[d1].keys():
            if d1 != d2: #ignoring similarity with itself
                if self.active_clusters[d1] != -1 and self.active_clusters[d2] != -1: #checking if cluster is active
                    score = self.sim_matrix[d1][d2]
                    if score < flag:
                        flag = score
                        minimum = (flag, d1, d2)
    return minimum

有人能帮我发现错误吗?提前谢谢!

0 个答案:

没有答案