620 likes | 1.06k Views
서정연교수 Office: 공학관 816 Tel: 705-8488 Email: seojy@sogang.ac.kr. Information Retrieval (Chapter 2: Modeling). 2.1 소개 - 용어 정리. 컬렉션 (Collection) : 문서의 모임 문서 (Document) : 자연어 문장의 나열 색인어 (index term) 집합 ( 정보검색 ) 색인어 : 의미 (meaning) 를 가지는 키워드 혹은 키워드 무리 문서 내용의 요약 대부분은 명사
E N D
서정연교수 Office: 공학관 816 Tel: 705-8488 Email: seojy@sogang.ac.kr Information Retrieval(Chapter 2: Modeling)
2.1소개 - 용어 정리 • 컬렉션 (Collection) : 문서의 모임 • 문서 (Document) : 자연어 문장의 나열 • 색인어(index term) 집합(정보검색) • 색인어: 의미(meaning)를 가지는 키워드 혹은 키워드 무리 • 문서 내용의 요약 • 대부분은 명사 • 색인어 집합은 사용자의 정보요구나 문서의 의미적인 표현으로 간주함. • 문제점 1: • 과잉단순화(oversimplification problem) : 정보요구나 문서의 일부를 잃어버린다. • 부정확한 정합: 사용자 요구에 대한 문서를 정확하게 찾을 수 없다. • 단어 문서 컬렉션 • 질의 (Query) : 문서를 찾기 위한 사용자의 요구
소개 - 용어 정리(cont.) • 정보검색의 문제 • 검색모델 : 색인어 공간의 한 점으로 표현된 문서와 질의가 어떻게 관련이 있는지를 결정하는가? • 순위 결정 (Ranking) 알고리즘 : 검색된 문서가 질의에 가장 적합한지를 어떻게 결정할 것인가? • 검색된 문서들을 적절한 순서로 재정렬한다. • 가능하면 사용자의 요구(질의어)에 가장 적합한 순으로 정렬한다.
집합론적 모델 퍼지집합모델 확장 불리안모델 전통모델 불리안 모델 벡터 모델 확률 모델 대수론적 모델 사 용 자 작 업 일반 벡터 모델 잠재의미 색인모델 신경망 모델 검색: 축적(Adhoc) 여과(filtering) 구조적 모델 비중첩 리스트 모델 근접노드 모델 확률론적 모델 추론망 모델 신념망 모델 브라우징 브라우징 평면(flat) 구조기반 하이퍼텍스트 2.2 IR 모델의 분류체계
검색 모델 분류 문헌의 논리상 사 용 자 과 제
2.3 검색의 종류 • 축적 검색(Ad hoc retrieval) : 컬렉션 내의 문서는 변하지 않고 사용자가 그때 그때 원하는 질의를 하는 검색방법. • 일반적인 정보검색에서 많이 나타나는 검색 유형 • 여과 검색(Filtering) : 새로운 문서가 검색시스템에 계속 들어오고 질의요구는 항상 고정되어 있는 검색 방법 • 사용자 프로파일 (user profile) • 각 사용자가 원하는 정보를 기술해 놓은 것 • 여과검색에서는 단순히 관련이 있다고 판단되는 문서를 전달 • 라우팅 (Routing) • 여과된 문헌의 순위를 계산해서 제공하는 여과 검색
사용자 프로파일 (user profile) • Static user profile • 사용자가 자신이 원하는 정보에 해당하는 키워드를 결정하여 입력함으로써 자신의 profile을 제작 • Dynamic user profile • 처음에 몇 개의 키워드 입력 • Filter에서 제공하는 결과 문서에 대해 feedback을 주면 시스템이 그 결과를 자동 분석하여 프로파일의 키워드를 변경 • 이러한 relevance feedback cycle의 계속
2.4 IR 모델의 형식 특성(formal characterization) • IR 모델 [D, Q, F, R(qi, dj)]
2.5 전통적인 정보검색 모델 • 불리안 (Boolean) 모델 • 집합 (Set) 모델 • 문헌과 질의가 색인어의 집합으로 표현 • 집합과 표준적인 집합 연산자로 구성 • 벡터 (Vector) 모델 • 대수 (Algebra) 모델 • 문헌과 질의가 t 차원 공간의 벡터로 표시 • 벡터 계산을 위한 표준 선형 대수 연산자로 구성 • 확률 (Probabilistic) 모델 • 문헌과 질의 표현이 확률론에 근거 • 집합, 확률 연산과 베이즈 정리 (Bayes’ theorem)로 구성
기본 개념 • 색인어(index term) • 문헌의 주제를 나타내는 의미를 지닌 단어 • 주로 명사 • 명사는 자신만의 의미를 지님 • 가중치 (Weight) • 문헌을 기술하는 유용성의 차이를 나타냄 • 정의(Definition)
기본 개념 • 색인어 상호 독립성 가정 • (ki, dj) 의 가중치 wij는 (ki+1, dj) 의 가중치 w(i+1)j와 무관하다고 가정 • 색인어 가중치 계산을 단순화 • 빠른 순위 계산 가능 • 색인어 상호 연관성 • 실제 문헌 내에서의 색인어 출현은 서로 연관 • 예) • 컴퓨터 네트워크 분야: ‘컴퓨터’와 ‘네트워크’ • 두 단어는 상호 연관되어 가중치에 영향 • 실제 상황에서 색인어 연관성을 이용하여 순위화에 크게 도움이 되는 좋은 결과를 낸 적이 없음 • 따라서, 연관성이 확실히 도움이 되는 모델이 만들어지기 까지는 독립성 가정이 유효함
불리안 모델 • 집합론과 불리안 대수학에 기반하는 간단한 모델 • 색인어 가중치 wi,j {0, 1} • 연관된 문서인지 아닌지만 예측 • 문서를 순위화할 수 없다. • 질의 • 사용자가 자신의 요구를 Boolean expression으로 정확하게 표현하는 것은 그리 쉬운 일이 아니다 • 그럼에도 불구하고, 불리안 모델은 가장 오랫동안 사용되어 온 대표적인 초창기 검색모델이다. • 연산자 : not, or, and • 정의 (교과서 참조)
불리안 모델 • 예제 1) • 색인어 (역파일이라고 함) • curve:{12, 25, 36, 89, 125, 128, 215} • fitting:{11, 12, 17, 36, 78, 136, 215} • interpolation: {11, 18, 36, 125, 132} • 질의 : ((curve and fitting) or interpolation) 1. (curve and fitting) = {12, 36, 215} 2. ((curve and fitting) or interpolation) = {12, 36, 215} or {11, 18, 36, 125, 132} = {11, 12, 18, 36, 125, 132, 215}
불리안 모델 (계속) • 예제) ka kb kc
불리안 모델 (계속) 병렬 프로그램 시스템
불리안 모델 (계속) • 장점 • 직관적이고 이해하기 쉽다. • 사용자 요구인 질의의 의미가 명확하다. • 단점 • 순위화를 적용하기에 곤란하다. • 사용자 요구를 불리안 표현으로 정확하게 표현하기 쉽지 않다. • 부분정합(partial matching)이 불가능. (All or nothing systems) • 사용자 요구가 (A and B and C and D)라면 (A, B, and C but not D) 를 검색되지 않는다. • 사용자 요구에 표현된 모든 단어(term)의 중요도는 과연 동등한가? • 검색 결과의 크기를 통제할 수 없다 (Too much or too little)
벡터모델 • 동기 • 이진 가중치 {0, 1}은 너무 제한적이다. • 가중치로 실수(float-point)를 사용하자. • 부분 정합이 가능하도록 하자. • 검색된 문서의 연관 유무뿐 아니라 • 질의와의 유사도에 따라 검색된 문헌을 순위화한다. • Cosine 유사도 예
T3 5 D1 = 2T1+ 3T2 + 5T3 Q = 0T1 + 0T2 + 2T3 2 3 T1 D2 = 3T1 + 7T2 + T3 7 T2 벡터모델(계속) 예 2) D1 = 2T1 + 3T2 + 5T3 D2 = 3T1 + 7T2 + T3 Q = 0T1 + 0T2 + 2T3 • D1혹은D2중 어느 것이 Q에 더 유사한가? • 어떻게 유사도(거리, 각도 등) 를 측정할 것인가?
벡터모델(계속) • 질의와 문헌을 t-차원으로 표현한다. • 문헌 dj = (w1,j, w1,j, ..., wt,j) • 질의 q = (w1,q, w1,q, ..., wt,q) • 가중치 0 wi,j 1 : 색인어의 중요도 • 질의/문헌의 유사도 sim(dj, q)에 따라 검색된 문헌을 순위화한다. • 유사도 sim(dj, q) = (dj q) / (|dj| |q|) = • 질의가 부분적으로 정합될 경우도 검색할 수 있다. (sim(dj, q) > )
Inner Product Dice Coefficient Cosine Coefficient Jaccard Coefficient 벡터모델 - 유사도
벡터모델(계속) 용어-문헌 행렬(Term-Document Matrix) • 유사도가 내적(inner product)일 경우: • sim(d1, q) = 0.3*0 + 0.7*0.3 + 0.7*0 = 0.21 • sim(d2, q) = 0.3*0.2 + 0.7*0.6 + 0.7*0.8 = 1.04 • sim(dn, q) = 0.3*0 + 0.7*0.2 + 0.7*0.6 = 0.56 • 검색 결과 (if = 0.5) • d2, dn ki 1 2 … 17 … 456 … 693 … 5072 d1 0 0.3 0 0.5 0 0 d2 0.2 0.6 0.3 0 0.8 0.3 ... dn 0 0.2 0 0 0.6 0 q 0.3 0.7 0 0 0.7 0
벡터모델- 용어가중치 • 클러스터링 문제 • 클러스터내 유사도(intra-clustering similarity) • 어떤 객체를 잘 설명하는 특성이 무엇이냐? • 클러스터간 비유사도(inter-cluster dissimilarity) • 어떤 객체를 다른 객체와 구분하는 특성이 무엇이냐? • 정보검색 문제 • 클러스터내 유사도(intra-clustering similarity) • 용어빈도수(term frequency): tf, freqi,j • 문헌 dj 에서 용어 ki의 순수 빈도수 • 클러스터간 비유사도(inter-cluster dissimilarity) • 역문헌빈도수(inverse document frequency): idf • 문헌 컬렉션에서 용어 ki의 빈도수의 역수
벡터모델 (계속) • 가중치 기법 • 용어 빈도수 (tf) • 문헌내 용어 빈도수가 높을 수록 연관이 큼 • 역문헌 빈도수 (idf) • 많은 문헌에 출현한 용어는 연관/비연관 문헌을 구분하기 어려움
벡터모델 (계속) • 잘 알려진 색인어 가중치 기법 • tf와 idf의 균형 (tf-idf 기법) • 질의에서 용어 가중치 기법
벡터모델 (계속) Document vectors Not normalized Hence, the ranking would be D2, D3, D1
벡터 모델 (계속) • 장점 • 용어 가중치는 검색성능을 향상시킨다. • 부분정합이 가능하다. • 검색된 문헌을 순위화할 수 있다. • 단점 • 색인 용어들간의 연관성을 고려하지 않았다. • 용어간 상호독립 가정의 모순이다. • 용어들 사이의 의존성을 고려하지 않았다. • 연관 피드백의 질의 확장 없이 성능 개선이 어렵다.
확률모델- 기본 • 경주마 백두산은 통산 100번의 경주를 뛰었다. • 그 중 20번의 경주에서 우승했다. • P(백두산=Win) = 20/100 = .2 • 그 중 30번은 비가 왔고 나머지는 맑았다. • P(Weather=Rain) = 30/100 = .3 • 그 중 백두산은 15번을 이겼다. • 조건 확률 P(백두산=Win|Weather=Rain) = 15/30 = .5 • P(Win|Rain)= P(Win, Rain)/P(Rain) • = 0.15/0.3 = .5 • P(Rain|Win) =? • Bayes’ theorem
확률 모델 • 동기 • IR 문제를 확률적으로 해석한다. • 1976년에 Robertson과 Sparck Jones[677]가 제안했다. • 가정 (확률 원칙) • 연관 확률(Probability of relevance)은 문헌과 질의 표현에만 종속된다. • 질의 q 의 이상적인 정답 집합 (R) 가정하자. • 집합 R의 문헌만 질의 q에 연관(relevant)되고 다른 문헌은 연관되지 않는다.
확률 모델 • 정의 Bayes’ rule 색인어 독립성 가정 Log를 취하고, 상수 무시
확률 모델 • 초기 확률 • 확률의 개선 너무 작은 V와 Vi 의 경우, 조정 요소를 더함
확률 모델 (계속) • Advantage • 연관 확률에 따라 문헌 순위화가 가능하다. • Disadvantage • 초기 문헌이 연관/비연관으로 분리되었다는 가정이 필요하다. • 색인어의 문헌내 빈도수를 고려하지 않는다. • 색인어들 간의 독립성을 가정하고 있다. • 그러나, 독립성 가정이 문제가 되는 것인지는 아직 모름!!
전통 모델의 비교 • 불리안 모델 • 가장 단순한 모델 • 부분 정합 인식 불가 -> 낮은 성능 • 벡터 모델 • 널리 사용되는 검색 모델 • 벡터 모델과 확률 모델 • Croft • 확률 모델이 더 좋은 검색 성능을 제공 • Salton, Buckley • 일반 컬렉션에서 벡터 모델이 더 좋은 성능을 보임
퍼지 정보검색 모델 • 동기 • 일반적으로 문헌과 질의는 키워드 집합으로 표현한다. • 문헌과 질의의 실제적인 의미의 부분적인 표현이다. • 문헌과 질의의 정합(matching)은 근접, 또는 모호한 정합이 된다 • 각 용어는 퍼지 집합(fuzzy set)으로 정의한다. • 각 문헌은 각 용어의 퍼지 집합에서 소속 정도(degree of membership)를 가진다.
1.0 0.7 mTALL 0.5 0 0 4.5 5.5 6 6.5 Height in feet 퍼지 집합의 소개 • 퍼지 집합 A에 x의 소속 정도 mA(x) : • mA(x) : X [0,1] • X : 전체 집합(universal set) • [0,1] : 0과 1 사이의 실수 • 예) • 전체 집합 U = {4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8} • 퍼지 집합 TALL={0/4.5, 0.2/5, .5/5.5, .7/6, 1/6.5, 1/7, 1/7.5, 1/8} • 소속함수(membership function)
퍼지 집합의 연산 • 퍼지 집합 연산의 매우 다양한 방법으로 정의되며 여기서 한 예를 보인다. • 교집합A Ç B 의 소속함수 : • mAÇB(x)= min{mA(x), mB(x)} or mAÇB(x)= mA(x)mB(x) for all xÎX • 합집합 AÈB의 소속함수 : • mAÈB(x)= max{mA(x), mB(x)} or mAÈB(x)= mA(x)+mB(x)- mA(x)mB(x) • 여집합 A’의 소속함수: • mA’(x)= 1-mA(x)
퍼지 정보검색 모델 • 문헌 D의 표현: 가중치 벡터 (w1,…,wt), • wi = mTi(D) • 용어 Ti의 퍼지 집합에서 문헌 D에 소속 정도 • 예: • POLITICS={mpolitics(D1)/ D1 , mpolitics(D2)/ D2 ,…, mpolitics(DN)/ DN} • 질의에 대한 연관 정도: • 문헌 D의 소속 정보에 대해 • (Ti AND Tj): min(wi, wj)로 계산 • (Ti OR Tj) : max(wi, wj) 로 계산 • (NOT Ti) : 1-wi 로 계산
예 1) - AND D1: elephant/1 + Asia/0.2 + ... D2: elephant/0.2 + Asia/0.2 + ... Q2= elephants AND Asia D1 : min(1, 0.2) = 0.2. D2 : min(0.2,0.2) = 0.2 D1 better 예 2) - OR D1:elephant/0.8 + hunting/0.1 + ... D2: elephant/0.7 + hunting/0.7 + ... Q3= elephants OR hunting D1 : max(0.8, 0.1)=0.8 D2 : with max(0.7, 0.7)=0.7 D2 better 예 3) - NOT D1: mammals/0.5+Asia/0.2+... D2: mammals/0.51+Asia/0.49+... Q4 = (mammals AND NOT Asia) D1 : min(0.5, 1-0.2) = 0.5 D2 : min(0.51, 1-0.49) = 0.51 퍼지 정보검색 모델 -예제
퍼지 정보검색 모델 • 소속함수를 어떻게 계산할까? • 용어-용어 연관 행렬 사용한다. • 용어-용어 연관 행렬(Term-term correlation matrix) CNM • 두 용어 ki와 kl의 연관도cij : • 소속 함수(Degree of membership) • 문헌 dj가 용어 ki에 관련된 소속정보
확장 불리안 모델 • 동기 • 불리안 모델 • 간단하다. • 용어 가중치를 사용할 수 없다. • 검색된 문헌를 순위화할 수 없다. • 검색된 문헌의 수가 너무 크거나 너무 작다. • 벡터 모델 • 간단하고 빠르다. • 검색 성능이 좋다. • 불리안 모델의 질의 형식을 벡터 모델에 적용하여 • 부분 정합이나 용어 가중치를 이용하자. • 확장 불리안 모델
확장 불리안 모델 (계속) • 불리안 논리의 가정에 대한 문제 • 질의 용어의 불리안 합 : q = kx ky • 용어 kx혹은 ky를 포함하는 문헌은 두 용어 kx와 ky가 포함되지 않은 다른 문헌만큼 질의 q에 연관되지 않을 수 있다. • 질의 용어의 불리안 곱 : q = kx ky • 용어 kx와 ky를 포함하는 문헌은 두 용어 kx혹은 ky가 포함된 문헌보다 질의 q에 연관되지 않을 수 있다.
(0,1) (1,1) ky 가장 원함. d xy (0,0) kx (1,0) (0,1) (1,1) ky xy d 가장 원치 않음 (0,0) kx (1,0) 확장 불리안 모델 (계속) • 예) • 두 용어 kx과 ky에 대해서 생각해보자. • 가중치 (normalized tf-idf factor) • 2차원 공간에서 질의와 문헌의 유사도
확장 불리안 모델 (계속) • 논리합 질의 : • 유사도 : 좌표 (0,0)으로부터의 Normalized 된 거리이다. • 논리곱 질의 : • 유사도 : 좌표 (1, 1)로부터의 거리의 역수
확장 불리안 모델 (계속) • P-norm 모델 • 거리 개념 일반화: • 유클리디안 거리뿐 아니라 p-거리의 개념으로 일반화한 모델이다. • p값은 질의 시 준다. • 일반화된 논리합 질의(Generalized disjunctive query) • 일반화된 논리곱 질의( Generalized conjunctive query)
확장 불리안 모델 (계속) • P-norm 모델에서 질의-문헌의 유사도(query-document similarity) • 예)
확장 불리안 모델 (계속) • P-norm 모델의 특성 • p = 1 • 유사도 기반한 벡터 모델 • p = • 유사도 기반 퍼지 집합 모델 • 1< p < 로 p값을 변화시키면 벡터모델과 퍼지집합모델의 중간 성질을 가진 검색모델이 되는 유연성이 장점이다 • 확장 불리안 모델은 1983년에 소개된 개념이지만 실제 많이 사용되지 않고 있다. 그러나 여러가지 이론적인 장점을 많이 가지고 있어서 미래의 검색모델로 사용될 가능성이 많다
일반화된 벡터 모델 – 용어들 간의 의존성 고려 • Ti : 색인어 i를 표현하는 벡터 • dri : 문헌 Dr에서 색인어 i의 가중치 • qsi : 질의 Qs에서 색인어 i의 가중치 • 질의와 문헌의 유사도 내적을 사용할 경우
D1=2T1+3T2+5T3 D2=3T1+7T2+1T3 Q =0T1+0T2+2T3 sim(D1, Q) = (2T1+ 3T2 + 5T3) * (0T1 + 0T2 + 2T3) = 4T1T3 + 6T2T3 + 10T3T3 = 4*0-6*0.2+10*1= 8.8 sim(D2, Q) = (3T1+ 7T2 + 1T3) * (0T1 + 0T2 + 2T3) = 6T1T3 + 14T2T3 + 2T3T3 = 6*0-14*0.2+2*1= -.8 검색결과 (if = 0.5): D1 T1 T2 T3 T1 1 .5 0 T2 .5 1 -.2 T3 0 -.2 1 일반화된 벡터 모델 - 예제
일반화된 벡터 모델 – 용어-용어 행렬(term-term matrix) • 용어-문헌 행렬 : MNM • N: 문헌 수, M: 용어(색인어) 수 • 용어-용어 행렬: TNN • T = M M-t • 예) (실제 계산에서는 정규화된 가중치를 사용한다.) • 용어간 상관성이 검색성능을 향상시킨다는 증거는 아직 없고, 계산량이 많아서 일반화된 벡터모델이 전통벡터모델보다 선호되지 못함 • 이론적인 관점에서 확장된 아이디어를 제공하는 기반이 됨
잠재의미색인 모델(Latent Semantic Indexing Model) • 동기 • 어휘적 정합의 문제점 • 개념(concept)을 표현하는 방법은 다양하다.(synonymy) • 색인되지 않았으나 연관 문헌은 검색되지 않는다. • 대부분의 단어는 여러 가지 의미를 지닌다.(polysemy) • 비연관 문헌이 검색 결과에 포함된다. • 기본 개념 • 질의와 문헌의 정합 과정에 색인어 정합 대신에 개념 정합(concept matching)을 사용한다. • 문헌 벡터와 질의 벡터의 차원을 개념 벡터로 대응시킨다. • 일반적으로 개념 벡터의 차원은 색인어 벡터의 차원보다 작다. • 왜냐하면 하나의 개념은 여러 개의 색인어(용어)를 포함한다.