두 벡터가 이루는 각인 코사인 값으로 유사도를 측정하기 때문에 코사인 유사도는 각이 작을수록 1에 가까워지고, 각이 클수록 -1에 가까워집니다.
그림 10-52 | 코사인 유사도 측정
그림 10-52의 ①은 이루는 각이 0도에 가깝기 때문에 코사인 유사도가 1에 가까운 반면, ③은 각이 180도에 가까워 코사인 유사도가 -1에 가깝습니다. ②는 각이 90도에 가깝기 때문에 코사인 유사도가 0에 가깝습니다.
코사인 유사도 공식을 이용하여 문서 간 유사도를 알아보는 파이썬 코드를 작성해 봅시다. 다음과 같이 문서가 세 개 있다고 가정합니다.
◼︎ 문서 1: 나는 과일과 채소를 좋아합니다.
◼︎ 문서 2: 나는 채소를 싫어합니다.
◼︎ 문서 3: 나는 과일을 좋아합니다. 그리고 나는 채소는 싫어합니다.