정보 검색(Information Retrieval) 시스템의 성능은 다양한 메트릭으로 평가됩니다. 여기서는 주요 개념과 지표를 간단히 설명합니다.
들어가기 앞서
@K
검색 결과 상위 K개의 문서만 평가.
- 예: @5는 상위 5개 문서만 반환.
- 목적: 사용자가 주로 확인하는 상위 결과에 집중.
- 활용: Precision@K, Recall@K, nDCG@K 등.
Relevance란?
사용자 쿼리와 검색 결과 간의 일치 정도. 높은 관련성은 사용자가 원하는 정보가 검색 결과에 포함되어 있음을 의미. 관련성은 주관적인 요소와 시스템의 매칭 알고리즘에 의해 평가.
주요 요소:
- 문맥적 적합성: 사용자 쿼리의 의미와 검색 결과의 내용 간의 적합성.
- 사용자 의도: 사용자가 쿼리를 통해 무엇을 찾으려 하는지에 대한 정확한 이해.
- 결과의 품질: 반환된 문서의 정보가 얼마나 신뢰할 수 있고 유용한지.
관련성 평가 방법:
- Binary Relevance: 관련/비관련 여부만 평가.
- Graded Relevance: 결과에 대한 점수(예: 0부터 3까지의 등급)를 매겨 세부적으로 평가.
활용:
- 순위 기반 메트릭: 관련성 점수를 기반으로 DCG, nDCG, MRR 등 다양한 메트릭 계산에 활용.
# Rank-less
Precision & Recall
Precision
반환된 문서 중 관련 문서의 비율.
- 예: 10개 중 7개가 관련 -> Precision = 70%
- 특성: 검색 결과의 정확도를 평가. 높은 Precision은 반환된 문서 중 관련 없는 문서가 적음을 의미.
Precision@K
상위 K개 중 관련 문서 비율.
- 예: 상위 5개 중 3개가 관련 -> Precision@5 = 60%
- 특성: 사용자가 실제 확인할 가능성이 높은 상위 검색 결과의 정확성을 평가.
Recall
전체 관련 문서 중 반환된 비율.
- 예: 전체 20개 중 15개 반환 -> Recall = 75%
- 특성: 검색 시스템의 포괄성을 평가. 높은 Recall은 관련 문서를 놓치지 않음을 의미.
Recall@K
상위 K개 중 관련 문서의 비율.
- 예: 전체 관련 문서 10개 중 상위 5개 중 3개 포함 -> Recall@5 = 30%
- 특성: 상위 검색 결과의 포괄성을 평가하여 사용자 경험 개선.
Precision과 Recall의 차이점
Precision은 반환된 문서 중 실제로 관련 있는 문서의 비율을 측정하며, 정확성에 중점을 둡니다. 반면, Recall은 전체 관련 문서 중 반환된 문서의 비율을 평가하며, 포괄성을 강조합니다.
Precision
- 정확성 중심: 검색 시스템이 반환한 문서 중 관련 문서를 얼마나 정확히 포함했는지 평가.
- 특성: Precision이 높은 경우, 검색 결과에서 불필요한 문서가 적습니다.
- 예: 반환된 문서 10개 중 7개가 관련 문서일 경우, Precision = 70%.
Recall
- 포괄성 중심: 전체 관련 문서 중 시스템이 반환한 문서의 비율.
- 특성: Recall이 높은 경우, 시스템이 대부분의 관련 문서를 반환합니다.
- 예: 전체 관련 문서 20개 중 15개가 반환되었다면, Recall = 75%.
이 둘은 종종 상충 관계에 있습니다. Precision을 높이면 비관련 문서를 줄이려는 경향으로 Recall이 감소할 수 있고, Recall을 높이면 더 많은 문서를 반환하려다 Precision이 낮아질 수 있습니다.
F1 Score
Precision과 Recall의 조화 평균.
- 예: Precision = 80%, Recall = 60% -> F1 = 약 69%
- 특성: Precision과 Recall 간의 균형을 평가하는 데 사용.
# Rank-aware
MAP (Mean Average Precision)
여러 쿼리에 대한 AP의 평균.
- 예: 3개의 쿼리에 대해 AP가 각각 0.7, 0.8, 0.9라면 MAP = (0.7 + 0.8 + 0.9) / 3 = 0.8 (80%)
- 특성: 여러 쿼리의 전반적인 검색 성능을 평가.
AP (Average Precision)
관련 문서의 정밀도를 순위에 따라 평균 계산.
- 예: 상위 5개 중 1, 3, 5번째가 관련 문서 -> AP = (1/1 + 2/3 + 3/5) / 3 = 0.78 (약 78%)
- 특성: 순위 기반으로 정밀도를 평가하여 중요한 문서가 상위에 위치하도록 유도.
MRR
사용자가 첫 번째로 관련 문서를 찾는 데 걸리는 효율성을 평가하는 메트릭. 검색 결과에서 첫 번째 관련 문서의 순위를 역수로 나타내며, 여러 쿼리에 대해 평균값을 계산.
- 정의: 첫 번째 관련 문서의 순위(Reciprocal Rank)의 평균값.
- 예: 첫 관련 문서가 2번째 -> Reciprocal Rank = 1/2 = 0.5. 만약 3개의 쿼리에 대해 Reciprocal Rank가 각각 1.0, 0.5, 0.33이라면 MRR = (1.0 + 0.5 + 0.33) / 3 ≈ 0.61.
- 특성: 사용자가 원하는 정보를 얼마나 빨리 찾을 수 있는지를 나타냄. 높은 MRR은 관련 문서가 상위에 위치함을 의미. 첫 관련 문서가 2번째 -> Reciprocal Rank = 0.5
nDCG
DCG를 이상적인 결과와 비교.
- 예: 실제 결과 85점, 이상적 결과 100점 -> nDCG = 0.85
- 특성: 검색 결과가 얼마나 이상적인 순위에 가까운지를 평가.
DCG
순위에 따른 관련 문서 점수.
- 예: 상위 순위 문서일수록 높은 점수.
- 특성: 관련 문서가 상위에 위치할수록 높은 점수를 부여하여 검색 결과의 품질을 평가.
'AI > 어플리케이션 개발' 카테고리의 다른 글
Retrieval을 위한 query generation 기반 Re-Ranker (0) | 2024.12.30 |
---|---|
Retrieval을 위한 zero-shot LLM Ranker (2) | 2024.12.27 |
Retrieval 시스템이란? (1) | 2024.12.09 |
LangChain을 활용한 Tool Calling # 4 (3) | 2024.11.29 |
LangChain을 활용한 Tool Calling # 3 (0) | 2024.11.29 |