def cbow(phrase1,phrase2):
vec1=cbow(phrase1)
vec2=cbow(phrase2)
print(vec)
return np.dot(vec1,vec2)/(np.linalg.norm(vec1)*np.linalg.norm(vec2))
cbow("green apple","green apple")
TypeError:cbow()缺少1个必需的位置参数:“ phrase2”
答案 0 :(得分:2)
您不小心重新定义了(外部)函数cbow
,然后尝试在cbow
函数中调用外部cbow
函数。而是调用您自己的cbow
,它需要两个参数。
解决方案:重命名您的函数,无论如何它都具有误导性的名称:
def my_function(phrase1,phrase2):
vec1=cbow(phrase1)
vec2=cbow(phrase2)
print(vec1, vec2)
return np.dot(vec1,vec2)/(np.linalg.norm(vec1)*np.linalg.norm(vec2))
my_function("green apple","green apple")