52
2013. 09. 08 가천대학교 IT대학 컴퓨터미디어융합학과 情報檢索 Information Retrieval 2색인

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 …elearning.kocw.net/contents4/document/lec/2013/Gachon/Lee Byeonguk1/2.pdf · 직접 자료 파일

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

2013. 09. 08

가천대학교 IT대학

컴퓨터미디어융합학과

情報檢索

Information Retrieval

제2장 색인

목 차

2.1 개요 2.2 역색인

2.3 Trie index 2.4 Tree index

2.5 Signature file

3

Why Index?

찾아보기 수단은?

Index is power of Search.

탐색이란 색인이다.

색인이 있어야 신속하고 정확한 탐색이 가능.

제2장 색인과 검색과 검색

4

2.1 개요 질의 검색 온라인 검색: 다수를 검색하는 비중이 높을 때. ex. 학기말에 성적을 처리할 때

색인 검색: 극소수만 검색하는 비중이 높을 때. ex. 학번으로 재학증명서를 요구할 때

제2장 색인과 검색과 검색

질의 검색

온라인 검색/순차 탐색

색인 검색

직접 자료 파일 탐색(파일이 작을 때)

보조 파일 탐색(파일이 클 때)

5

2.1 개요 질의 검색 온라인 검색 - 텍스트에서 직접 원하는 패턴을 검색 - 언제 사용하는가? -텍스트가 작을 때 -텍스트가 자주 수정되고 소멸될 때 -색인 공간의 여유가 없을 때

색인 검색 검색 속도를 높이기 위한 자료구조 언제 사용? - 문서 집합이 크고 자주 변하지 않을 때

색인 기술: 역파일, 접미사 배열, 요약 파일

제2장 색인과 검색과 검색

6

2.1 개요 색인/찾아보기 index

정보검색에서 색인의 역할

제2장 색인과 검색과 검색

순서 색인의 역할

1 질의와 문서 집합의 연결 수단

2 (질의와 문서의) 주제를 표현하는 키워드

3 탐색 속도를 향상하는 보조 파일

4 특정 문자의 위치를 표시하는 자료 목록

7

2.1 개요 색인/찾아보기 index

Index Def. - data structure constructed from the text to speed up the search. - 문서나 질의의 주제를 표현하는 단어. - 사용자와 Database 사이에서 정보를 효율적으로 찾아주는 단어.

- 검색하려는 단어를 문서에서 추출하여 작성한 파일 - 문서에서 중요한 단어들을 추출하여 그 단어의 본문 위치를 기록한 파일

색인이 없으면 모든 문서(파일)를 직접 탐색. 모든 데이터베이스를 직접 탐색.

제2장 색인과 검색과 검색

8

2.1 개요 색인/찾아보기 index

색인의 주요 주제: database의 연구 주제

제2장 색인과 검색과 검색

순서 내 역 비 고

1 색인 구조

2 색인 생성 수동, 자동

3 색인 저장 저장 구조, 압축 기법

4 색인 처리 검색 기법, 시간

5 색인 갱신

9

2.1 개요 색인의 종류

1) 기본키 색인………. 자료 검색용 색인 개체를 고유하게 식별할 수 있는 자료………….키기반 검색 e.g. 학번, 군번, 주민번호

2) 보조키(키워드 ) 색인………..문서 검색용 색인 문서 안에 있는 단어를 색인으로 활용…………..내용기반 검색

색인어 index term: 주제를 표현하는 단어. 키워드, 핵심어, 주제어

색인화 indexing: 색인어와 색인어가 포함된 문서를 연결하는 것.

제2장 색인과 검색과 검색

10

2.1 개요 색인의 기본 구조

Keyed File:

고유한 키 값으로 구성된 색인.

군번이 ‘73-02476’인 사람을 찾아라

제2장 색인과 검색과 검색

11

2.1 개요 색인의 기본 구조

Inverted File:

내용으로 구성된 색인: ‘홍길동’을 찾아라.

제2장 색인과 검색과 검색

12

2.1 개요 색인의 기본 구조

Inverted File:

중복을 허용하는 색인: 전산부 직원을 찾아라.

제2장 색인과 검색과 검색

13

2.1 개요 색인의 기본 구조

Inverted File:

색인을 주기적으로 갱신해야 하는 부담.

작은 내용으로 큰 내용 찾기

정보검색의 보조키

제2장 색인과 검색과 검색

14

2.1 개요 색인의 유형 1

색인의 분류

제2장 색인과 검색과 검색

분류

기준 색인 종류 내 역

키 기본 키 색인 기본 키를 색인으로 구성: 한 파일에 한 개만 가능

보조 키 색인 보조 키를 색인으로 구성: 한 파일에 복수 개 가능

주제

키워드 색인 문서의 자체의 개념(주제)을 기준으로 색인 구성

속성 색인 문서를 만든 정보를 기준으로 색인 구성 실례: 제목, 출판사, 출판년도, 저자,,

추출

방식

유도 색인 문서에 있는 단어로 색인을 구성

할당 색인 필요한 용어들을 기반으로 인위적으로 색인을 구성

15

2.1 개요 색인의 유형 1

주제에 의한 분류

1) 주제 색인

내용과 주제를 분석하고 대표적인 중요 개념을 추출하여 선택.

- 이용자 관점의 색인

2) 비주제 색인

문서의 속성을 이용하여 색인어를 생성. - 컴퓨터 중심의 색인

ex. 저자, 표제, 기관명, 출판년도, ISBN,,,

제2장 색인과 검색과 검색

16

2.1 개요 색인의 유형 2

색인어 추출 방식에 의한 분류

본문에 있는 단어와 의도적으로 만드는 단어로 분류

1) 자연언어 색인/유도 색인

문서의 본문에서 발췌하여 만든 색인어.

- 키워드 색인

저자가 사용한 용어가 해석 없이 그대로 색인어로 사용됨

단점

유사어 동의어 등이 검색에서 누락될 위험

재현율과 정확율 저하

제2장 색인과 검색과 검색

17

2.1 개요 색인의 유형 3

2) 통제언어색인/할당 색인

동일한 개념이나 의미상 관련 있는 용어들을 모으고 어형을 통일

통제 어휘로부터 할당된 색인어 index term. - 통제 어휘가 시소러스가 아니면 기술자 descriptor라고 함.

- 통제 어휘에서 만들 수 없으면 식별자 identifier를 생성.

통제어휘집

분류표, 주제명표목표, 시소러스 등

단점

개념 분석 후에 한 단계 추가 추가 비용

제2장 색인과 검색과 검색

주제명표목표 subject heading list : 자연어로 된 용어들의 통제어휘. 융통성이 분류표보다 낫고 시소러스만 못하다. 단행본 이외의 정보 표현과 검색에 사용

18

2.1 개요 색인 작업

지적인 작업: 인간이 수행

기계적 작업: 색인 엔트리의 자모순 배열과 형태

자동 색인 (기계 색인)

지적인 작업과 기계적 작업을 모두 컴퓨터가 수행한 색인.

키워드 인접성, 위치, 확률, 언어학에 기반.

제2장 색인과 검색과 검색

19

2.1.2 내용기반 색인 전문 검색 full text search Def. - 전체 문서의 내용을 색인으로 제공하여 원하는 문서 찾기. - 주어진 질의 내용으로 문서 전체를 검색하여 찾기.

내용기반 색인 content-based retrieval Def. - 특정한 내용이 포함되어 있는 파일을 찾는 작업. - 질의 내용이 포함된 파일을 찾는 일. - 작은 내용을 기반으로 많은 내용이 포함된 파일을 찾는 일. ex. 문서 검색: 특정한 단어가 주어지면 그 단어들이 포함된 문서들을 검색.

제2장 색인과 검색과 검색

20

2.1.2 내용기반 색인 Content-Based Retrieval : CBR

특징 여러 개의 키워드로 문서를 검색하면 복수의 결과가 검색. 우선 순위 필요 유사도 검색, not exact match 내용기반 색인의 목적

제2장 색인과 검색과 검색

순서 내 역

1 특정 주제를 포함하는 문서를 쉽게 검색

2 주제 영역을 정의함으로써 문서 간의 연계 기능 제공

3 검색된 문서의 적합성 여부에 대한 예측 기능 제공

21

2.1 개요 내용기반 검색의 문제점

제2장 색인과 검색과 검색

Information Seeker Authors

Concepts Concepts

Query Terms Document Terms

Do these represent the same concepts?

22

2.1 개요 내용기반 검색 내용기반 색인 :

문서 분석을 통하여 선정된 문서 대표 주제

문서 내에서의 선정된 용어 + 용어의 위치

빈도 수치, 관련 수학법칙, 저자 인용사항 등 다양

제2장 색인과 검색과 검색

23

2.1 개요 내용기반 색인 색인어를 결정하는 관점

고 출현빈도 용어: 부적합

일상적인 용어는 문헌의 주제와 특별한 관련이 없다

예) 그러나, 그리고, and , or , the

저 출현빈도 용어: 부적합

문헌의 한 두 번 나오는 용어는 부적합

예) 서문, 요약, 결론 등

일반적으로 위의 두 경우 사이에 나오는

용어를 색인 용어로 고려

제2장 색인과 검색

24

2.2 역색인 2.2.1 역 색인 inverted index

Def. -문서 파일에서 용어 탐색 속도를 향상하기 위하여 용어와 용어의 주소로 만든 색인.

-특정한 키워드가 어떤 문서에서 나타났는지를 알려주는 자료구조. 어휘: 문자열에 있는 모든 상이한 단어나 용어의 집합 발생: 단어의 위치를 포함하는 모든 문서 목록 가 정: 문서 = set of words, set of keywords 역색인: ordered list of keywords 단어-문서 색인은 해시 테이블, 정렬 배열, 트리 등으로 구현. 역 파일은 IRS와 탐색 엔진에서 가장 널리 사용되는 색인.

제2장 색인과 검색

25

2.2 역색인 2.2.1 역 색인 inverted index

자료 검색 키로 문서의 내용을 검색 y = f(x) x: 키 y: 검색하려는 내용

정보 검색: 자료 검색의 역함수 내용으로 내용을 검색 x = f-1(y) y: 검색하려는 내용 x: 원하는 문서의 키값

제2장 색인과 검색

26

2.2 역색인 2.2.1 역 색인 inverted index 역파일 구조 색인 파일, 포스팅 파일, 자료 파일 1) 색인 파일: 어휘를 사전 순으로 저장, dictionary 라고도 함 키워드, 관련 레코드 수, 포스팅에 대한 포인터 2) 포스팅 파일: 키워드를 포함한 자료 레코드에 대한 포인터의 리스트. 발생 빈도, 가중치, 단어 위치 3) Document 파일 실제 텍스트를 포함하는 문서 파일 색인과 포스팅 파일 분리 이유: 검색 시 메모리에서 검색 가능

제2장 색인과 검색

27

2.2 역색인 2.2.1 역 색인 inverted index 역파일 장점 - 구현 용이 - 속도 빠름 - 동의어 쉽게 지원: 색인에 threaded list로 표현 가능 - 대다수 검색 엔진에서 사용: Dialog, BRS, Orbit, Stairs 단점 - 공간 소요: 자료 파일의 300%까지 - 키워드에 많은 정보 유지 경우 - 색인의 갱신, 재구성 비용 크게 증가

제2장 색인과 검색

28

2.2 역색인 2.2.1 역 색인 inverted index 역파일 임시 파일: {색인어, 문서번호, 색인어 빈도수, 문서 위치} 포스팅 파일 {색인어, 문서번호, 색인어 빈도수, 문서 위치} 색인 파일 {(색인어, 문서의 수, 포스팅 레코드 위치)}

제2장 색인과 검색

29

2.2 역색인 역 색인 파일의 구조

제2장 색인과 검색

0

2

2posting file

4

3

1

3

2

2

2

..

..

..

..

..

1 2 ..

5 1 ..

5 2 ..

Doc 2: This is a text file. Index is a short text file … text is a good ..

색인어: text, file, index, text, file, text

색인어 df

text 4

file 3

index 2

문자열 처리

역색인

df: document frequencytf: term frequencyptr: pointer to posting & document file

Index file

Doc 0 text

ptr

..

..

..

Doc# tf ptr

Doc 1 text text

Doc 2 textFile … index, text, file..text

document file

Doc 3 file file

Doc 4 text text

..

Doc 5 indexindex file

posting file

색인어 순

1

2

3

임시 파일

file 2 ..2

색인 Doc# tf ptr

index 1 ..2

text 3 ..2

색인어 추출

2 1 ..

30

2.2 역색인 2.2.1 역 색인 구조

역색인 구축 및 검색 과정

제2장 색인과 검색

31

2.2 역색인 2.2.1 역 색인 inverted index 역색인 구축과 검색과정

제2장 색인과 검색

순 서

작업 과정

내 역 비 고

1

색인 구축

임시 파일 생성 문서 집합에서 색인어를 추출

2 포스팅 파일 구축 임시 파일에서 포스팅 파일을 구축

3 색인 파일 구축 포스팅 파일에서 색인 파일 구축

4

질의 (검색)

질의: 색인 파일 탐색

사용자가 질의하면 색인 파일 탐색

5 포스팅 파일 탐색 색인 파일에서 얻은 정보로 포스팅 파일 탐색

6 문서 파일 탐색 포스팅 파일에서 얻은 정보로 문서 검색

32

2.2.2 역색인의 실례와 장단점 <용어, 주소>: <단어, 단어의 위치>

용어의 알파벳 순서로 정렬된 파일.

전문 역색인full inverted index 과 블록 block 역색인 으로 구분

전문 역색인

제2장 색인과 검색

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

12, 20...34, 43...63... 53...28...

단어 주소

Inverted index

bookfigureslines mademany

document

12 20 34 43 63 53 28 Inverted list

33

2.2 역색인 블록 역색인 블록 역색인

제2장 색인과 검색

There is a book. A book has many figures. Figures are made from lines.

Block 1 Block 2 Block 3 Block 4

bookfigureslines mademany

1, 2...3...4... 4...2...

단어 블록 주소

Inverted index

document

34

2.2 역색인 블록 역색인 문서를 블록 단위로 나누고, 단어의 위치는 블록 주소로 저장.

블록 검색 + 블록 내 단어 검색

장점: 공간 절약. 블록의 수 < 단어의 수

단점: 블록 안에서 재 검색. 원거리 검색 곤란

역색인의 종류

제2장 색인과 검색

색인 이름 특 징

접미사 Trie 색인 키의 길이에 따라서 가변적으로 키를 구성하는 트리 구조

접미사 Tree 색인 키를 구성하는 문자를 생략하여 트리의 높이를 낮춘 트리 구조

요약 색인 키의 길이가 길 때 짧은 코드로 대치하여 효율을 높인 색인

35

2.3 Trie 역색인 구축 접미사 트라이trie, 접미사 트리, 접미사 배열, 요약 파일 2.3.2 Trie Def. tree of degree m>= 2 in which the branching at any level is

determined not by the entire key value but by only a portion of it. 전체 키 값이 아니라 키의 일부분으로 분기가 결정되는 트리.

- 키가 스트링인 연관적인 배열을 저장하기 위하여 사용되는 순서화된 트리.

키 값이 가변 크기일 때 유용. 구성: 2 types of node. branch node, information node: key value: one of the 26 letters of alphabet. blank: terminate a key value.

제2장 색인과 검색

36

2.3 Trie Trie example

key values: blue, buy, goose, hello, hen, hotel

제2장 색인과 검색

... A B G H

goose

...L

blue buy

U

...E O

...L N

hello hen

hotel

Z

goose

blue buy

hello hen

hotel

‘b’ ‘g’ ‘h’

‘l’ ‘u’ ‘e’ ‘o’

‘l’ ‘n’

37

2.3 Trie 2.4.2 접미사 트라이

알파벳 순서의 최단거리 색인 구축. 잎 노드에 주소 저장.

제2장 색인과 검색

line63

made53

figure34,43

book12,20

many29

‘l’ ‘m’

‘d’‘n’

‘b’ ‘f’

단어 트라이

(a) fox가 추가 되기 전

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

‘a’

(b) fox가 추가 된 후

line63

figure34,43

book12,20

‘l’ ‘m’

‘a’

‘b’ ‘f’

단어 트라이

made53

many29

‘d’fox73

‘o’‘i’

38

2.3 Trie 2.3.2 Suffix Trie

장 점

- 효율적 공간 구현

- 복잡한 질의를 효율적으로 처리

- 유전 DB같이 광범위한 응용범위에 적합

단 점:

- 구축 비용 과다

- 질의 시점에 텍스트 필요,

- 결과가 위치순서대로 되지 않음

- 복잡하지 않은 질의는 역파일이 우수

제2장 색인과 검색

39

2.4 Tree 색인 2.4 접미사 트리 suffix tree

역색인 구축

제2장 색인과 검색

‘f’

‘m’

‘a’

‘d’

‘b’ ‘l’

1

3‘l’

‘m’

‘d’ ‘n’

‘b’‘f’

5 6

‘’‘.’

‘’ ‘.’

‘I’

‘g’

‘u’

‘o’

‘o’

‘k’

‘’ ‘.’

‘’‘.’

(a) 접미사 트라이 (b) 접미사 트리

53 29

53 29

20 12

20 12

43 34

43 34

6363

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

‘r’

‘e’

‘s’

‘’

40

2.4 Tree 색인 2.4 접미사 배열 Suffix Array 접미사 트리의 잎 노드들을 위에서 아래로 순회할 때와 동일 순서.

또는 접미사 트리의 왼쪽 잎 노드부터 오른쪽 잎 노드로 순회

2진탐색 가능. O(logN)

오버 헤드: 색인된 접미사마다 포인터 필요 40% 공간 증가 부담

제2장 색인과 검색

20 12 43 34 63 53 29 접미사 배열

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

41

2.4 Tree 색인 2.4 접미사 배열 Suffix Array

상위(다단계) 색인의 접미사 배열

트리의 규모가 커지면 색인을 추가. 다단계 색인.

제2장 색인과 검색

book figure line 상위 색인

접미사 배열

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

20 12 43 34 63 53 29

42

2.4 Tree 색인 2.4 접미사 배열 Suffix Array

역색인 리스트와 접미사 배열의 관계.

제2장 색인과 검색

상위 색인

접미사 배열

역색인 리스트

book made manyfigure line

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

20 12 43 34 63 53 29

12 20 34 43 63 53 29

43

2.5 요약 파일 2.5 Signature file 문서와 질의를 signature로 기호화하고 비교하여 탐색.

구조: 해시 함수 Inexact 다른 키워드의 해싱 결과가 동일한 시그니처를 생성 가능.

블록 색인 생성 절차 1. 텍스트를 블록으로 나눈다.

2. 블록 안에 있는 키워드를 해싱한다.

3. 블록에 대한 비트 마스크를 구한다.

4. 블록 안에 있는 모든 단어의 요약 파일을 비트 단위로 OR 연산을 수행

제2장 색인과 검색

44

2.5 시그니처 파일 2.5 Signature file

제2장 색인과 검색

h(book) = 000101h(many) = 110000h(figure) = 100100h(made) = 001100h(lines) = 100001

질의와동일

검색 성공

ORing

111101 100001

질의

lines

ANDing

h(lines)

100001

블록 요약 질의 요약

요약 집합

색인어

해시

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

45

2.5 시그니처 파일 2.5 Signature file

제2장 색인과 검색

46

2.5 시그니처 파일 2.5 Signature file 텍스트 문서에 대한 요약 색인

제2장 색인과 검색

101010110001011010000111101100

단어 해시 값(요약 값) 주소

블록 요약

bookfigureslinesmademany

document

12, 2034 436353 29

111111

There is a book. A book has many figures. Figures are made from lines.

1 12 20 29 34 5343 63

47

2.5 시그니처 파일 검색 방법

질의를 해싱한 값과, 블록 코드와 ANDing한 결과를 비교.

h(many) 110000 AND Block2 시그니처 결과 비교

제2장 색인과 검색

This is a text. A text has many words. Words are made from letters.Block 1 Block 2 Block 3 Block 4

h(book) = 000101h(many) = 110000h(figure) = 100100h(made) = 001100h(lines) = 100001

Signiture hash function

000101 110101 100100 101101

48

2.5 시그니처 파일 2.5 Signature file 시그니처 파일이 적합한 경우 - PC에서 사용되는 중 규모 DB - 검색 질의 빈도가 낮은 DB. B-tree 색인보다 저렴. - 추가 삽입만 필요한 WORM 형식의 광디스트 - 병렬 처리되는 DB 장점 - full text 검색보다 2배 정도 빠름. - 텍스트 파일의 10 ~ 15%의 추가 공간 역 파일기법의 인덱스: 50 ~ 300%의 추가 공간 - 추가적인 삽입만을 허용하므로 삽입 연산이 간단 - 순차탐색 비용이 텍스트 크기의 10-20%.

제2장 색인과 검색

49

2.5 시그니처 파일 2.3.5 Signature file

단점 대규모 DB에서 속도가 저하. ……………대책: 압축

레코드 수에 비례하여 속도 저하.

Hashing: 다른 단어가 동일한 시그니처 생성

ORing: 블록 시그니처 생성 시 우연히 동일한 결과 생성

false drop

시그니처 구성에 사용되지 않은 키워드가 검색되는 것

제2장 색인과 검색

50

2.6 요점 정리 색인 파일이 클 때 자료를 빨리 찾기 위한 수단 보조 파일. 색인 검색 온라인 검색 색인의 역할 질의와 문서의 연결 주제 표현 속도 향상 색인의 종류 키: 기본키 색인, 보조키 색인(유일, 중복) 주제: 키워드 색인, 속성 색인 추출: 유도색인, 할당색인 내용기반 색인 전문 검색, 내용기반 검색

제2장 색인과 검색

51

2.6 요점 정리 역색인 inverted index: 내용으로 내용 찾기

y = f(x) x = f-1(y) 역파일의 구조 색인 파일, 포스팅 파일, 문서 파일 역파일 생성 절차 문서 임시 파일 포스팅 파일 색인 파일 역파일 검색 절차: 색인 파일 포스팅 파일 문서 역색인의 구조 전문 역색인 블록 역색인

제2장 색인과 검색

52

2.6 요점 정리 Trie 색인 키값의 길이에 따라 색인을 만드는 트리 구조의 색인 Tree 색인 키값에 따라서 분기를 결정하는 색인 구조 접미사 트라이: 뿌리에서 잎까지 모든 문자 포함 접미사 트리: 뿌리에서 잎까지 필요한 문자만 포함 접미사 배열: 접미사 트리를 왼쪽에서 오른쪽으로 순회 요약 색인 signature index 키 값을 짧은 크기의 코드로 축소하여 검색 효율 향상

제2장 색인과 검색