1. 정보검색 제4장.
불리언 검색
INFORMATION RETRIEVAL
강의: 정창용 (timothy97@gmail.com)
http://www.facebook.com/hhuIR
Korea Maritime University
Navis Control Inc.
2. OVERVIEW
불리언 검색
인접연산자와 단어 출현위치 부여
역색인파일(Inverted index file)
불리언 모델에서 문헌의 적합성 순위화
3. OUTLINE
불리언 검색
인접연산자와 단어 출현위치 부여
역색인파일(Inverted Index File)
불리언 모델에서 문헌의 적합성 순위화
4. 불리언 검색(Boolean Search)이란?
불대수(Boolean algebra)를 사용하여 질의를 만족시키는 문헌을
검색하는 방법
대부분의 상용 검색엔진에서 사용
검색 예
“유럽 AND 배낭여행”
“발렌타인데이 OR 화이트데이”
“스마트폰 NOT 갤럭시”
검색방법
질의어가 색인어로 출현한 모든 문헌들을 탐색
Boolean algebra 연산으로 탐색된 문헌을 선별
5. 불리언 연산이론
문헌-용어 행렬
단어 문헌 1 2 3 4 5
a 1 1 0 1 0
b 1 1 0 1 1
c 1 0 1 0 0
a AND b AND c a:11010 a AND b NOT c a:11010
b:11011 b:11011
c:10100 c:01011
────── ──────
10000 01010
a OR b OR c a:11010
b:11011
c:10100
──────
11111
6. 불리언 연산이론 – C O N T .
역색인파일(Inverted index file)
색인어 문헌빈도 문헌번호
a 3 1 2 4
b 4 1 2 4 5
c 2 1 3
a AND b AND c ▶ (1, 2, 4) AND (1, 2, 4, 5) AND (1, 3) ▶ 문헌 1
a OR b OR c ▶ (1, 2, 4) OR (1, 2, 4, 5) OR (1, 3) ▶ 문헌 1, 2, 3, 4, 5
a AND b NOT c ▶ (1, 2, 4) AND (1, 2, 4, 5) NOT (1, 3) ▶ 문헌 2, 4
7. 불리언 연산자 우선순위
질의 처리된 질의
LC (and > or) A OR B AND C A OR (B AND C)
Dialog (not > and > or) A OR B AND C A OR (B AND C)
Google (or > and) A B OR C A AND (B OR C)
EBSCO (입력된 순서대로 왼쪽부터) A OR B AND C (A OR B) AND C
8. OUTLINE
불리언 검색
인접연산자와 단어 출현위치 부여
역색인파일(Inverted Index File)
불리언 모델에서 문헌의 적합성 순위화
9. 인접연산자
불리언 연산자 AND를 용어의 출현위치로 제한하는 것
출현순서
출현거리
색인 시 용어의 출현위치를 색인해야 함
예)
두 단어의 출현위치 제한 Dialog EBSCO Google/LC
순서대로 m단어 내에 (mW) Wm
순서 관계없이 m단어 내에 (mN) Nm
순서대로 이어서 (w) 혹은 () W “”
순서 관계없이 이어서 (N) N
10. 인접연산자의 탐색 예
단어 문헌빈도 문헌번호 출현위치
a 3 1 7
2 5
4 2
b 4 1 6
2 6
4 10
5 19
c 2 1 8
3 2
탐색 1) a AND b ▶ 1, 2, 4 탐색 2) a (w) b ▶ 2
a의 포스팅 : 1, 2, 4 a의 포스팅 : 1-7, 2-5, 4-2
b의 포스팅 : 1, 2, 4, 5 b의 포스팅 : 1-6, 2-6, 4-10, 5-19
11. Dialog의 출현위치 부여 예
예1) Education as Growth Life Long Learning
TI1 TI2 TI3 TI4 TI5 TI6
예2) Consumer Responser to Telecommunications Dereg.
TI1 TI2 TI4 TI5
12. OUTLINE
불리언 검색
인접연산자와 단어 출현위치 부여
역색인파일(Inverted Index File)
불리언 모델에서 문헌의 적합성 순위화
13. 역색인파일과 포스팅파일
역색인파일 (Inverted index file)
색인어 + 문헌번호
문헌번호 색인어 색인어 포스팅 수 문헌번호
1 a b c a 3 1 2 4
2 a b b 4 1 2 4 5
3 c c 2 1 3
4 a b 도치색인파일
5 b
문헌파일
포스팅파일
색인어 포스팅 수 포인터 포스팅
a 3 10 1 2 4
b 4 20 1 2 4 5
c 2 30 1 3
사전파일 포스팅파일
14. 역색인파일과 포스팅파일 – C O N T .
역색인파일의 저장장치 활용
사전파일 – 주기억장치에 저장
포스팅 리스트 – 디스크에 저장 (문헌번호로 정렬)
역색인파일을 이용한 탐색
“and” 이용한 검색 시 포스팅 수가 적은 집합부터 비교
15. 필드검색을 위한 도치색인파일 운영
개별 역색인파일
서명 키워드 색인 저자 키워드 색인 주제명 키워드 색인
a 1, 2 a 2 a 4
b 2, 4 b 1, 5
Dialog의 색인파일 형식
기본색인파일 형식 기본색인파일 형식
a 1.ti, 2.au, 4.su, 4.ti title.a 1, 4
b 1.au, 2.ti, 4.ti, 5.au author.a 2
subject.a 4
title.b 2, 4
author.b 1, 5
16. OUTLINE
불리언 검색
인접연산자와 단어 출현위치 부여
도치색인파일(Inverted Index File)
불리언 모델에서 문헌의 적합성 순위화
17. 적합성 순위화
전통적 불리언 탐색의 단점
질의어에 대한 상대적 중요도 부여 안됨
질의와 완전 일치한 문헌들만 검색
문헌과 질의와의 적합성 정도에 따른 순위화 할 수 없음
순위화 방법
문헌용어에 가중치 부여
퍼지집합 이론
MMM (Mixed Min and Max) 모형
문헌용어와 질의용어에 가중치 부여
P-Norm 모형
18. 논리합 정규형에 의한 순위화
논리합 정규형(Disjunctive Normal Form: DNF)
가중치 없이 불리언으로 검색된 문헌을 순위화 하는 방법
불리언 질의를 논리적으로 항등한 논리합(OR) 질의로 변환
(A AND B) AND C
(A AND C) OR (B AND C)
(A NOT B AND C) OR (A AND B AND C) OR ( NOT A AND B AND C)
19. 논리합 정규형에 의한 순위화 예
a AND (b OR C)에 대한 결과
(a AND b) OR (a AND c)로 변환
문헌1 2 3 4 5
단어 a 1 1 1 1 0
단어 b 1 1 0 1 1
단어 c 1 0 1 0 0
아톰 수 2 1 1 1 0
20. 필드 가중치에 의한 순위화
논리합 정규형 순위화보다 간단
용어가 출현하는 필드에 가중치 부여하여 순위화하는 방법
예) 필드 가중치가 아래와 같을 때
서명(ti): 0.3, 주제(su): 0.2, 저자(au): 0.1
a 1.ti, 2.au, 4.su, 4.ti
b 1.au, 2.ti, 4.ti, 5.au
질의 “a”인 경우,
문헌1: 0.3, 문헌2: 0.1, 문헌4: 0.5 (순위: 4 > 1 > 2)
질의 “a AND b”인 경우
문헌1: 0.4, 문헌2: 0.4, 문헌4: 0.8 (순위: 4 > 1 = 2)
21. 퍼지집합 이론에 의한 순위화
퍼지집합 (Fuzzy Set)
전통적인 집합이론을 확장
Membership-degree function
전체집합의 모든 멤버들을 구간 [0, 1]에 매핑시킨 것
0: 집합에 포함되지 않음
1: 집합에 완전히 포함됨
합집합 (A∪B)
f A∪B = max[f A (X), f B (X)] → max(A, B)
교집합 (A∩B)
f A∩B = min[f A (X), f B (X)] → min(A, B)
차집합 (~A)
f A (X) = 1 - f A (X)
22. 퍼지집합 이론에 의한 순위화 – C O N T .
색인어 가중치 질의로 검색된 문헌의 적합성 가중치
문헌
a b c (A AND B) OR C A AND (B OR C)
1 0.1 0.5 0.3 0.3 0.1
2 0.4 0.2 0 0.2 0.2
3 0 0 0.4 0.4 0
4 0.6 0.5 0 0.5 0.5
5 0 0.1 0 0 0
23. MMM 모형에서의 순위화
MMM (Mixed Min and Max) 모형
최대값, 최소값 문헌 가중치를 선형으로 결합하여 질의와 문헌의 유사
도(similarity)를 구함
Sim(D, Q OR ) = C 1 * 최대값 + C 2 * 최소값
Sim(D, Q AND ) = C 1 * 최소값 + C 2 * 최대값
24. MMM 모형에서의 순위화 – C O N T .
예) C 1 =2, C 2 =1 일 때, (A AND B) OR C ?
색인어 가중치 질의로 검색된 문헌의 적합성 가중치
문헌
a b c (A AND B) (A AND B) OR C
1 0.1 0.5 0.3 2*0.1 + 1*0.5 = 0.7 2*0.7 + 1*0.3 = 1.7
2 0.4 0.2 0 2*0.2 + 1*0.4 = 0.8 2*0.8 + 1*0 = 1.6
3 0 0 0.4 2*0 + 1*0 = 0.0 2*0.4 + 1*0 = 0.8
4 0.6 0.5 0 2*0.5 + 1*0.6 = 1.6 2*1.6 + 1*0 = 3.2
5 0 0.1 0 2*0 + 1*0.1 = 0.1 2*0.1 + 1*0 = 0.2
25. 퍼지집합 이론을 응용한 기타 순위화
확률이론을 적용한 방법
A, B가 독립적일 때,
X가 A와 B를 가질 확률 = X가 A를 가질 확률 * X가 B를 가질 확률
A AND B = Wa * Wb
A OR B = W a + W b – (W a * W b )
NOT A = 1 - Wa
26. 퍼지집합 응용한 기타 순위화 – C O N T .
색인어 가중치 질의로 검색된 문헌의 적합성 가중치
문헌
a b c (A AND B) (A AND B) OR C
1 0.1 0.5 0.3 0.1 * 0.5 = 0.05 0.05 + 0.3 – (0.05 * 0.3) = 0.335
2 0.4 0.2 0 0.4 * 0.2 = 0.08 0.08 + 0 – (0.08 * 0) = 0.08
3 0 0 0.4 0 0 + 0.4 – (0 * 0.04) = 0.4
4 0.6 0.5 0 0.6 * 0.5 = 0.3 0.3 + 0 - (0.3 * 0) = 0.3
5 0 0.1 0 0 0 + 0 – (0 * 0) = 0