이번에는 ‘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')