为什么它不起作用?我是python的初学者

时间:2018-06-27 07:18:35

标签: python nlp

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”

1 个答案:

答案 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")