강의/Information Retrieval(FastCampus 정리)

정보검색 시스템의 이론부터 평가까지

딥롱롱 2024. 12. 10. 10:16

안녕하세요~! 딥롱롱입니다! 오늘은 정보검색 시스템의 이론부터 평가에 대한 내용을 가져와보았습니다! 😁

 

1. 역색인과 정보검색 기초

정보검색 시스템(Information Retrieval System)은 대량의 문서에서 사용자가 원하는 정보를 빠르고 정확하게 찾아주는 시스템입니다. 현대의 검색 엔진들은 이 기술을 기반으로 작동하고 있습니다.

1.1 색인(Indexing)의 기본 개념

색인은 문서 검색의 효율성을 높이기 위한 전처리 과정입니다. 도서관의 카탈로그와 유사하게, 문서의 내용을 쉽게 찾을 수 있는 형태로 구조화합니다.

색인 과정은 다음과 같은 단계로 이루어집니다:

  1. 텍스트 추출: 다양한 형식(PDF, DOC, HTML 등)의 문서에서 순수 텍스트를 추출
  2. 토큰 추출: 텍스트를 의미 있는 단위로 분해
  3. 불용어 처리: 검색에 불필요한 단어 제거
  4. 정규화: 단어의 기본형 추출
  5. 역색인 생성: 검색을 위한 데이터 구조 생성

1.2 역색인(Inverted Index)의 구조

역색인은 단어를 키(key)로 하고, 해당 단어가 등장하는 문서들을 값(value)으로 가지는 데이터 구조입니다.

예시:

단어 : [문서ID, 위치, 빈도]
"인공지능" : [doc1:pos[1,5,8]:freq3, doc4:pos[2]:freq1, ...]
"머신러닝" : [doc2:pos[3]:freq1, doc4:pos[6,9]:freq2, ...]

2. 형태소 분석과 자연어 처리

2.1 형태소 분석의 중요성

한국어는 교착어로서, 하나의 단어가 여러 형태소의 결합으로 이루어집니다. 이러한 특성 때문에 효과적인 검색을 위해서는 형태소 분석이 필수적입니다.

한국어의 주요 특성:

  • 조사와 어미가 단어에 붙어서 사용됨
  • 복합명사가 빈번하게 출현
  • 띄어쓰기가 선택적인 경우가 많음
  • 동음이의어와 다의어가 많음

2.2 주요 형태소 분석기

  1. 은전한닢(Mecab-ko)
    • 특징: CRF 기반의 통계적 모델 사용
    • 장점: 빠른 처리 속도, 높은 정확도
    • 활용: 네이버, 카카오 등 대형 포털에서 사용
  2. Komoran
    • 특징: Java 기반 구현, 사용자 사전 관리 용이
    • 장점: 신조어 처리 능력 우수
    • 활용: 자바 기반 시스템에서 널리 사용
  3. 꼬꼬마(KKMA)
    • 특징: 세밀한 품사 태깅
    • 장점: 복합명사 분해 성능 우수
    • 단점: 상대적으로 느린 처리 속도

2.3 형태소 분석의 주요 과제

  1. 중의성 해소(Word Sense Disambiguation)
    • 예: "배가 맛있다" vs "배가 항해한다"
    • 해결방안: 문맥 정보 활용, 통계적 방법 적용
  2. 복합명사 처리
    • 예: "정보검색시스템" → "정보/검색/시스템"
    • 해결방안: 사전 기반 접근, 통계적 방법 활용

3. 검색 모델의 이론적 기반

3.1 Boolean 모델

가장 기본적인 검색 모델로, 논리 연산자를 사용합니다.

특징:

  • AND, OR, NOT 연산 지원
  • 이진 가중치 사용
  • 순위화가 어려움

수식:

sim(d,q) = 1 if Boolean expression is satisfied
         = 0 otherwise

3.2 Vector Space 모델

문서와 질의를 다차원 벡터 공간에서 표현하는 모델입니다.

TF-IDF 가중치 계산:

TF-IDF(t,d) = tf(t,d) × idf(t)
idf(t) = log(N/df(t))

여기서:
tf(t,d): 문서 d에서 단어 t의 빈도
N: 전체 문서 수
df(t): 단어 t가 출현한 문서 수

코사인 유사도 계산:

similarity(d,q) = cos(θ) = (d·q)/(|d|×|q|)

3.3 확률 모델

3.3.1 Binary Independence Model (BIM)

기본적인 확률 검색 모델입니다.

수식:

RSV(d,q) = Σ log((pi(1-ri))/(ri(1-pi)))

여기서:
pi: P(term i appears | relevant)
ri: P(term i appears | non-relevant)

3.3.2 BM25 모델

실제 검색 시스템에서 가장 널리 사용되는 모델입니다.

수식:

BM25(D,Q) = Σ IDF(qi) × ((tf(qi,D) × (k1 + 1))/(tf(qi,D) + k1 × (1 - b + b × |D|/avgdl)))

여기서:
k1: 단어 빈도 상한값 조절 파라미터 (일반적으로 1.2~2.0)
b: 문서 길이 정규화 파라미터 (일반적으로 0.75)
|D|: 문서 길이
avgdl: 평균 문서 길이

3.4 언어 모델

문서를 확률적 언어 생성 모델로 보는 접근 방식입니다.

Query Likelihood Model:

P(Q|D) = Π P(qi|D) for qi in Q

Dirichlet 스무딩:

P(w|D) = (c(w,D) + μP(w|C))/(|D| + μ)

여기서:
μ: 스무딩 파라미터
P(w|C): 전체 컬렉션에서의 단어 확률

4. 문서 품질과 피드백 시스템

4.1 문서 품질 평가 요소

  1. PageRank
    • 웹 그래프 구조를 이용한 중요도 계산
    • 수식: PR(A) = (1-d) + d × Σ(PR(Ti)/C(Ti))
  2. 시간적 신선도(Freshness)
    • 로그 기반 감쇠: score = log(1 + 1/age)
    • 지수 감쇠: score = exp(-λ × age)

4.2 피드백 시스템

  1. 명시적 피드백
    • 사용자 평가, 별점 등
    • 신뢰도는 높지만 수집이 어려움
  2. 암묵적 피드백
    • 클릭률, 체류시간 등
    • 수집은 쉽지만 노이즈가 많음

5. 검색 시스템 평가 방법론

5.1 기본 평가 지표

  1. Precision과 Recall
Precision = TP/(TP + FP)
Recall = TP/(TP + FN)
F1 = 2 × (Precision × Recall)/(Precision + Recall)

  1. MAP (Mean Average Precision)
AP = Σ(P(k) × rel(k))/관련문서수
MAP = Σ AP/질의수

  1. NDCG (Normalized Discounted Cumulative Gain)
DCG = rel1 + Σ(reli/log2(i))  (i=2부터 p까지)
NDCG = DCG/IDCG

5.2 사용자 중심 평가

  1. 클릭률(CTR)
  2. 이탈률(Bounce Rate)
  3. 세션 지속시간
  4. 사용자 만족도 설문

References

[1] Upstage AI Lab 패스트캠퍼스