더북(TheBook)

이번에는 ‘woman’, ‘king’과 유사성이 높으면서 ‘man’과 관련성이 없는 단어를 보여 주는 코드를 구현해 보겠습니다.

코드 10-21 ‘woman’, ‘king’과 유사성이 높으면서 ‘man’과 관련성이 없는 단어를 반환

result = model.most_similar(positive=['woman', 'king'], negative=['man']) ------ woman, king과 유사성이 높으면서 man과 관련성이 없는 단어를 반환
print("{}: {:.4f}".format(*result[0]))

다음은 ‘woman’, ‘king’과 유사성이 높으면서 ‘man’과 관련성이 없는 단어를 반환하는 결과입니다.

queen: 0.7699

woman, king과 유사성이 높으면서 man과 관련성이 없는 단어 ‘queen’을 출력했습니다. 단어 간 긍정적, 부정적 관련성을 고려하여 정확하게 결과를 반환하고 있는 것을 확인할 수 있습니다.

또는 다음과 같이 다수의 단어 간 긍정적, 부정적 관련성을 표현할 수 있습니다.

코드 10-22 ‘australia’, ‘beer’, ‘france’와 관련성이 있는 단어를 반환

def analogy(x1, x2, y1):
    result = model.most_similar(positive=[y1, x2], negative=[x1])
    return result[0][0]
analogy('australia', 'beer', 'france')
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.