KNOWLEDGE BASES / 08

Retrieval Evaluation

관련성 라벨을 사용해 적중·순위·방법 비교·데이터 누출을 구분한다.

4 TABSv1.0Corpus ↗
08.01 / Precision & Recall

Precision & Recall

잘 가져온 비율과 놓치지 않은 비율

Overview 개요#

Precision@k는 가져온 k개 중 관련 문서의 비율이고 Recall@k는 관련 문서 전체 중 가져온 비율이다. 같은 결과에도 분모가 달라 두 지표가 다른 의미를 가진다.

Concept 핵심 개념#

설명용 질의별 관련 조문 라벨을 사용해 실제 검색 결과를 계산한다. 이 구현은 반환 문서가 k개보다 적어도 Precision의 분모를 요청 k로 고정한다. Recall은 관련 문서가 없으면 정의하지 않고 별도 범위 밖 평가로 넘긴다.

관련성 라벨은 완전하지 않을 수 있다. 미라벨 문서를 0으로 취급하면 실제로 관련 있는 문서도 오답처럼 보일 수 있다. 이 자료의 12개 질의는 작성자가 구성한 설명용 라벨이며 외부 검수나 독립된 평가셋으로 보장되지 않는다.

P@k = |Rₖ ∩ G| / k     R@k = |Rₖ ∩ G| / |G|

Hands-on 직접 살펴보기#

질의 번호·검색 방법·k를 바꾸고 적중 문서와 분모를 확인한다. k를 늘릴 때 Precision과 Recall이 함께 좋아지지 않을 수 있음을 본다.

입력을 바꾸며 비교하기
0
5

기본 입력으로 계산한 결과

Precision@k0.4
Recall@k0.6667
적중 근거2
순위 · 판정 등급00.511.521102230405판정 등급순위

관련성 라벨은 작성자가 구성한 설명용 예시다. 누락된 관련 문서가 있을 수 있고 외부 검수나 일반화 성능 평가를 거치지 않았다.

순위문서판정 등급누적 적중
1제619조의2 · 산소 및 유해가스 농도의 측정 및 기록 등11
2제629조 · 용접 등에 관한 조치01
3제618조 · 정의22
4제636조 · 지하실 등의 작업02
5제626조 · 상시 가동되는 급ㆍ배기 환기장치를 설치한 경우의 특례02
계산 내용
산소 농도 적정공기

원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.

Summary 핵심 정리#

  • Precision과 Recall의 분모를 확인한다.
  • 라벨의 범위와 누락 가능성을 기록한다.
  • 범위 밖 질의는 별도로 다룬다.

Notation 기호·단위#

기호의미단위
R_k상위 k 결과set
G라벨상 관련 문서set
k요청 깊이documents

References 참고 자료#

  1. Thakur et al. · BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models (2021)
  2. scikit-learn · ndcg_score (compare the gain convention)
  3. 실습 코퍼스 · 첨부 PDF와 추출 레코드
08.02 / MRR & nDCG

MRR & nDCG

같은 적중 수라도 순서는 다르다

Overview 개요#

MRR(Mean Reciprocal Rank)는 첫 관련 결과가 얼마나 앞에 나오는지 요약하고, nDCG(normalized Discounted Cumulative Gain)는 여러 결과의 관련성 등급과 순서를 함께 반영한다.

Concept 핵심 개념#

한 질의의 RR은 첫 관련 문서 순위의 역수이고 k 안에 없으면 0이다. MRR은 여러 질의 RR의 평균이므로 이 단일 질의 탭에는 RR@k라고 표시한다. 관련 문서를 두 번째부터 많이 찾는 것은 RR에 추가 이득을 주지 않는다.

이 구현의 DCG는 gain=2^rel−1과 log₂(rank+1) 할인을 사용한다. 같은 라벨을 이상적으로 정렬한 IDCG로 나누면 nDCG가 된다. 다른 gain 정의나 동점 처리 규칙을 쓴 결과와 비교할 때는 수식 차이를 확인해야 한다.

DCG@k = Σᵢ₌₁ᵏ (2ʳᵉˡⁱ − 1) / log₂(i+1)
nDCG = DCG / IDCG     RR = 1 / first relevant rank

Hands-on 직접 살펴보기#

같은 질의에서 검색 방법을 바꾸고 첫 관련 결과와 등급 2 문서의 위치를 본다. 두 방법이 같은 수를 맞혀도 nDCG가 다를 수 있다.

입력을 바꾸며 비교하기
7
5

기본 입력으로 계산한 결과

RR@k1
nDCG@k1
관련 근거 수2
순위 · 판정 등급00.511.522112030405판정 등급순위

관련성 라벨은 작성자가 구성한 설명용 예시다. 누락된 관련 문서가 있을 수 있고 외부 검수나 일반화 성능 평가를 거치지 않았다.

순위문서판정 등급누적 적중
1제623조 · 감시인의 배치 등21
2제619조 · 밀폐공간 작업 프로그램의 수립ㆍ시행12
3제641조 · 안전한 작업방법 등의 주지02
4제622조 · 출입의 금지02
5제626조 · 상시 가동되는 급ㆍ배기 환기장치를 설치한 경우의 특례02
계산 내용
밀폐공간 감시인 연락

원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.

Summary 핵심 정리#

  • 단일 질의 RR과 여러 질의 MRR을 구분한다.
  • gain·discount·깊이를 함께 명시한다.
  • 점수만 보지 말고 순위별 라벨도 읽는다.

Notation 기호·단위#

기호의미단위
relᵢ순위 i의 관련성 등급0/1/2
RR첫 적중 역순위0–1
IDCG이상적 DCGscore

References 참고 자료#

  1. scikit-learn · ndcg_score (compare the gain convention)
  2. Thakur et al. · BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models (2021)
  3. 실습 코퍼스 · 첨부 PDF와 추출 레코드
08.03 / Controlled Comparison

Controlled Comparison

같은 조건에서 방법을 비교하기

Overview 개요#

검색 방법 비교는 같은 코퍼스·질의·라벨·k에서 시작한다. BM25·LSA·RRF를 12개 설명용 질의에 실제로 실행해 평균 지표를 계산한다.

Concept 핵심 개념#

평균값은 질의별 실패를 가릴 수 있다. 예를 들어 법령 용어가 그대로 들어간 질의는 어휘 검색에 유리할 수 있고, 원문에 없는 표현은 다른 방법도 실패할 수 있다. 데이터셋의 표현 방식과 문서 길이 분포가 결과에 영향을 준다.

이 비교에는 파라미터 튜닝·통계적 유의성 검증·독립 테스트 분리가 없다. 따라서 실제 계산값을 그대로 보여 주되 일반적인 우열이나 다른 도메인의 성능으로 확대하지 않는다. BEIR 같은 다중 도메인 연구는 그런 일반화 문제를 따로 평가하기 위한 것이다.

mean metric = (Σ q∈Q metric(q)) / |Q|

Hands-on 직접 살펴보기#

k를 바꾸며 세 방법의 평균 Precision·Recall·MRR·nDCG를 비교한다. 눈에 띄는 차이가 있으면 앞 탭에서 해당 질의의 원문 결과를 확인한다.

입력을 바꾸며 비교하기
5

기본 입력으로 계산한 결과

평가 질의12
방법 수3
검색 깊이5
방법 · 평균 nDCG@k00.21540.43070.64610.86140.8614bm250.3271lsa0.7394hybrid평균 nDCG@k방법

동일한 12개 설명용 질의의 실제 검색 결과다. 벤치마크 표준 점수, 최적화 성능 또는 독립된 테스트셋 결과라고 부르지 않는다.

방법Mean P@kMean R@kMRR@kMean nDCG@k
bm250.31670.97220.86110.8614
lsa0.18330.51390.28330.3271
hybrid0.26670.81940.76670.7394

원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.

Summary 핵심 정리#

  • 비교 조건을 고정한다.
  • 평균과 질의별 오류를 함께 본다.
  • 설명용 코퍼스 결과를 일반 성능으로 확대하지 않는다.

Notation 기호·단위#

기호의미단위
Q평가 질의 집합12 queries
m(q)질의별 지표score
k공통 깊이documents

References 참고 자료#

  1. Thakur et al. · BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models (2021)
  2. scikit-learn · ndcg_score (compare the gain convention)
  3. 실습 코퍼스 · 첨부 PDF와 추출 레코드
08.04 / Evaluation Leakage

Evaluation Leakage

비슷한 질의가 다른 분할에 섞일 때

Overview 개요#

Data leakage(데이터 누출)는 평가에 독립적이어야 할 정보가 설계·튜닝 단계에 섞이는 문제다. 같은 의도의 질의 변형을 행 단위로 나누는 경우를 살펴본다.

Concept 핵심 개념#

질의 행이 다르더라도 같은 문서·같은 의도에서 나온 변형이면 독립적이지 않을 수 있다. 원문과 패러프레이즈를 무작위 행 분할하면 같은 family가 train·dev·test에 동시에 들어갈 수 있다. family 단위 분할은 이런 중복 경로를 줄인다.

자료는 준비된 12개 질의에 단순 변형을 추가한 합성 분할 예시다. train이라는 이름은 학습을 실행했다는 뜻이 아니다. 시간 순서·출처 문서·사용자 집단 등 실제 서비스의 독립성 기준에 맞추어 분할 단위를 선택해야 한다.

leakage = count of intent groups appearing in more than one split

Hands-on 직접 살펴보기#

변형 수와 시드를 바꾸고 행 분할과 그룹 분할을 비교한다. 분할 간 중복 family 수를 직접 확인한다.

입력을 바꾸며 비교하기
6
42

기본 입력으로 계산한 결과

질의 행18
의도 그룹12
분할 간 중복 그룹5
분할 · 질의 수01.534.566train6dev6test질의 수분할

질의 변형과 분할은 고정 시드의 합성 예시다. train 표시가 모델 학습을 실행했다는 뜻은 아니다.

그룹분할질의
11train비상구 설치 출입구
3dev강렬한 소음 데시벨 확인
5test작업발판 폭 틈
0train산소 농도 적정공기
4dev작업면 조도 정밀작업 확인
9test강관비계 적재하중
2train사다리식 통로 기울기 확인
1dev안전난간 상부 난간대 높이
4test작업면 조도 정밀작업
8train계단참 높이 길이
0dev산소 농도 적정공기 확인
3test강렬한 소음 데시벨
6train정비 청소 운전정지
2dev사다리식 통로 기울기
5test작업발판 폭 틈 확인
1train안전난간 상부 난간대 높이 확인
7dev밀폐공간 감시인 연락
10test유해요인 조사 근골격계

원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.

Summary 핵심 정리#

  • 행 수와 독립 사례 수는 다르다.
  • 분할 전에 중복과 계보를 파악한다.
  • 평가셋을 반복 보고 튜닝한 사실도 기록한다.

Notation 기호·단위#

기호의미단위
g질의 의도 그룹ID
split데이터 분할label
seed재현 시드integer

References 참고 자료#

  1. Thakur et al. · BEIR: A Heterogeneous Benchmark for Zero-shot Evaluation of Information Retrieval Models (2021)
  2. W3C · PROV-DM: The PROV Data Model (2013)
  3. 실습 코퍼스 · 첨부 PDF와 추출 레코드
다음 주제 · Knowledge Operations →

이 페이지의 체험은 원리를 보이기 위해 단순화한 모델이다.

실습 값은 상태 링크에 포함된다. 이 브라우저에는 테마와 글자 크기만 저장한다.