일반적으로 사람은 문서들 간에 동일한 단어 또는 비슷한 단어가 얼마나 공통적으로 많이 사용되었는지에 의존하여 문사의 유사도를 측정한다. 머신 또한 해당 정보를 바탕으로 각 문서의 단어들을 여러 방법으로 수치화한 후, 각 벡터 간의 유사도를 측정함으로써 계산이 가능해진다.
코사인 유사도(Cosine Similarity)
코사인 유사도는 두 벡터 간의 코사인 각도를 이용하여 구할 수 있는 두 벡터의 유사도를 의미한다. 두 벡터의 방향이 완전히 동일한 경우에는 1, 완전히 반대 방향의 성격을 가질 경우 -1을 반환하게 되며, 무조건 해당 값 사이로 유사도 정보를 반환한다.
두 벡터 A, B에 대해서 코사인 유사도는 식으로 표현하면 다음과 같다.
예를 들어 다음과 같은 행렬을 벡터로 취급하여 코사인 유사도를 계산해보면 다음과 같이 결과가 나온다.
유클리드 거리(euclidean distance)는다차원 공간에서 점과 점 사이의 거리를 구하는 비교적 매우 직관적인 공식이다. 두 개의 점 p와 q가 각각 p=(p1,p2,p3,...,pn)과 q=(q1,q2,q3,...,qn)의 좌표를 가질 때 두 점 사이의 거리를 계산하는 유클리드 거리 공식은 다음과 같다.