강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

osoh63님의 프로필 이미지
osoh63

작성한 질문수

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

검색 성능 평가 8 - 테스트 데이터로 평가하기

테스트데이터셋 평가지표 값 문제

작성

·

19

·

수정됨

0

5분 경의 테스트데이터셋 평가 에 대해 계산값이 자꾸 0.000이 나와서 context_docs와 retrieved_docs 내용을 확인해 보니 2번째 사진과 같이 나왔습니다.

content 내용은 동일해도 doc_id 값이 다르며, 함수 수정을 통해 doc_id를 동일하게 변경해도 평가지표 값이 0.000이 나옵니다.

애초에 구조 자체가 좀 달라서 발생하는 문제 같습니다.

제가 어떤 것을 해볼 수 있을까요?

 

image.png

 

image.png

 

답변 1

0

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

안녕하세요.

OfflineRetrievalEvaluators는 기본적으로 doc_id로 매칭합니다. context_docsretrieved_docs의 content가 같아도 doc_id가 다르면 전부 불일치로 평가지표가 0이 됩니다.
아래와 같이 matching_criteria=MatchingCriteria.PARTIAL을 추가하면 content 기반 매칭으로 전환됩니다.

from krag.evaluators import OfflineRetrievalEvaluators, MatchingCriteria

evaluator = OfflineRetrievalEvaluators(
    actual_docs=context_docs,
    predicted_docs=retrieved_docs,
    matching_criteria=MatchingCriteria.PARTIAL  # 이것만 추가
)

청크 크기 차이 등으로 content도 완전히 동일하지 않다면, ROUGE 기반 매칭을 쓸 수 있습니다.

from krag.evaluators import RougeOfflineRetrievalEvaluators, MatchingCriteria

evaluator = RougeOfflineRetrievalEvaluators(
    actual_docs=context_docs,
    predicted_docs=retrieved_docs,
    matching_criteria=MatchingCriteria.PARTIAL,
    match_method="rouge2",
    threshold=0.8
)
osoh63님의 프로필 이미지
osoh63

작성한 질문수

질문하기