본문 바로가기
오블완 챌린지

Document Retrieval Evaluation Metrics - 1

by carrotomato 2024. 11. 22.
728x90

RAG에서 중요한 요소는 크게 2가지이다.
첫번째로 사용자가 입력한 쿼리와 관련된 문서를 찾는 것,
두번째로는 검색된 문서 (chunks)를 기반으로 얼마나 질문에 대한 답변을 잘 하는지.

여기서 첫번째 요소인 Information Retrieval 에 대해 평가는 어떻게 해야할까?
이건 정보 검색을 하는데 주로 사용되는 임베딩 모델의 평가와도 관련이 있다.

우선 정보검색은 추천시스템과 아주 유사한 task라고도 볼 수 있다.
사용자가 원하는 정보를 k개 검색해서 사용자한테 추천해주는 system인데
기준을 쿼리와 저장된 chunks 사이의 임베딩 유사도라고 표현하면 이해가 좀 쉬우려나..?

그래서 간단한 평가 metrics은 무엇이 있느냐.. 하면!
우선은 confusion matrix를 기반으로 하는 평가 방법이 있겠다.

이미지 출처: https://www.evidentlyai.com/classification-metrics/confusion-matrix


머신러닝을 공부한 사람이라면 익숙한 confusion matrix.
이걸 retrieval에 대입해서 생각해보면, actual은 실제로 사용자 쿼리와 관련이 있는 정보.
predicted는 사용자에게 검색된 정보다. 라고 이해하면 되겠다.

  1. True Positive (TP) = 검색된 정보 중 사용자 쿼리와 관련이 있는 정보.
  2. False Positive (FP) = 검색된 정보이지만 실제로는 사용자 쿼리와 관련이 없는 정보.
  3. False Negative (FN) = 실제로는 사용자 쿼리와 관련이 있지만 검색되지 않은 정보.
  4. True Negative (TN) = 검색되지 않았고, 실제로도 사용자 쿼리와 관련이 없는 정보.

이렇게 볼 수 있다.
그럼 이 confusion matrix를 기반으로 구할 수 있는 metrics는 무엇이 있느냐 하면.
Accuracy, Precision, Recall 정도가 있다. 

accuracy는 정확도이며, 모든 정보 중에서 retrieval의 결과와 정답의 일치 비율이다. 이건 IR에서는 잘 사용하지는 않는 것 같다.
$Accuracy = \frac{TP + TN}{TP + TN + FP + FN}$

precision은 정밀도이고, retrieval된 결과 중 관련이 있는 비율이다.
$Precision = \frac{TP}{TP + FP}$
recall은 실제 관련 있는 정보들 중 retrieval된 비율이다.
$Recall = \frac{TP}{TP + FN}$

 

여기서 @k를 뒤에 붙이는 metrics을 주로 사용하게 된다.
이를테면 Precision@K 는 검색된 상위 k개의 문서 중 관련 문서의 비율을 뜻한다.
$\text{Precision@k} = \frac{\lvert \text{Relevant Documents} \cap \text{Retrieved Documents}@k \rvert}{\lvert \text{Retrieved Documents}@k \rvert}$
예를 들어, 사용자가 검색한 상위 5개 문서 중 3개가 관련된 문서라면, Precision@5 = 0.6이 된다.
이 지표는 시스템이 얼마나 정확히 관련 문서를 반환하는지에 대해서 평가할 수 있다.


Recall@K는 전체 관련된 문서 중에 상위 K개에 포함된 비율을 측정하는 지표이다.

$\text{Recall@k} = \frac{\lvert \text{Relevant Documents} \cap \text{Retrieved Documents}@k \rvert}{\lvert \text{Relevant Documents} \rvert}$
사용자가 검색하고자하는 관련 문서가 10개이고, 이 중 4개를 상위 5개의 검색 결과에 포함시켰다면, Recall@5는 $\frac{4}{10}$으로 0.4가 된다.
Recall은 시스템이 얼마나 포괄적으로 관련 문서를 찾아냈는지에 대해 보여줄 수 있다.

 

이 외에도 Mean Average Precision(MAP), Normalized Discounted Cumulative Gain(NDCG), Mean Reciprocal Rank(MRR), Hit Rate와 같은 지표를 많이 사용한다.
이건 2편에서 다뤄보도록 하겠다 ㅎㅎ
그럼 오늘은 여기까지.. 오블완!

 

728x90