我正在使用resnik相似性算法来查找两个同义词集之间的相似性,并且在python中以以下方式使用它:

def get_maximum(synset1,synset2):
    maxSim = None
    for s1 in synset1:
          for s2 in synset2:
               sim = s1.res_similarity(s2)
               if maxSim == None or maxSim < sim:
                     maxSim = sim
    return maxSim


在这里,我得到以下错误:

Typeerror: res_similarity() takes at least 3 arguments (2 given)


有人可以告诉我第三个论点吗?

最佳答案

来自文档的Typeerror:


  在将操作或功能应用于以下对象时引发
  不适当的类型。关联的值是一个提供详细信息的字符串
  有关类型不匹配的信息。


在这种情况下,您有一个函数名称res_similarity(),需要使用2个参数。

您看到给出的3和2的原因是因为它也具有self

例如,res_similarity(self, arg1, arg2)您仅传递1个参数-s2

您需要再向该方法传递一个参数

10-08 11:45