한 줄 정의
코사인 유사도는 두 벡터 간의 각도를 이용해 유사성을 측정하는 수학적 지표로, -1부터 1 사이의 값으로 표현되며 1에 가까울수록 두 데이터가 유사함을 나타냅니다.
코사인 유사도의 특징
AI에서는 텍스트나 이미지를 숫자 벡터(임베딩)로 변환한 뒤, 두 데이터가 얼마나 비슷한지를 코사인 유사도로 측정합니다. RAG(검색 증강 생성)에서 질문과 가장 관련 있는 문서를 찾거나, 유사 이미지 검색에서 비슷한 제품 이미지를 찾을 때 핵심 계산 방법으로 쓰입니다.
코사인 유사도가 필요한 이유
- 정확한 검색 결과
RAG 기반 AI 챗봇이 “이 질문과 가장 관련 있는 문서가 무엇인가”를 판단할 때 코사인 유사도를 사용해 정확한 검색 결과를 제공합니다.
- 기반 기술
유사 불량 이미지 검색, 제품 카탈로그 매칭처럼 “이것과 비슷한 것”을 찾는 모든 AI 응용에 기반 기술로 쓰입니다.
- 임계값을 설정
1~1 범위의 직관적인 값으로 유사도를 표현하기 때문에, 사람이 결과를 이해하고 하기 쉽습니다.
실제 업무 적용 사례
한 제조사는 새로 발생한 불량이 과거 어떤 사례와 비슷한지 빠르게 찾고 싶었지만, 단순 키워드 검색으로는 의미가 비슷한 사례를 놓쳤습니다. 기존 방식은 유사성을 정량적으로 비교하지 못했습니다. 데이터를 벡터로 바꾸고 코사인 유사도로 비교하자, 두 벡터의 각도로 의미적 유사성을 측정해 가장 닮은 과거 불량 사례를 정확히 찾아 원인 분석과 대응 속도를 높였습니다.
자주 묻는 질문
주로 RAG(검색 증강 생성) 시스템에서 질문과 가장 관련 있는 문서를 찾는 데 쓰입니다. 텍스트 임베딩과 결합해 의미 기반 검색을 가능하게 하고, 이미지 임베딩과 결합하면 유사 이미지 검색에도 활용됩니다.
유클리드 거리는 두 점 사이의 직선 거리로, 절대적인 크기 차이를 반영합니다. 코사인 유사도는 방향만 비교하므로 크기(길이)의 영향을 받지 않습니다. 텍스트·이미지처럼 벡터의 크기보다 방향(의미적 패턴)이 중요한 데이터에는 코사인 유사도가 더 적합합니다.
두 벡터가 이루는 각도로 유사성을 측정합니다. 방향이 비슷할수록 값이 1에 가까워 더 유사한 것으로 봅니다. 벡터의 크기가 아니라 방향을 비교하기 때문에, 문서 길이나 값의 크기 차이에 덜 민감하게 의미적 유사성을 잴 수 있습니다.
관련 용어
- 임베딩 (Embedding) 텍스트·이미지 같은 데이터를 의미를 담은 숫자 벡터로 변환한 표현.
- RAG (Retrieval-Augmented Generation) 외부·사내 데이터를 검색해 그 근거를 바탕으로 답변을 생성하는 기술.
- LLM (Large Language Model) 방대한 텍스트를 학습해 사람의 언어를 이해하고 생성하는 대규모 언어 모델.
© SAIGE All Rights Reserved.