11.텍스트를 위한 화일.

Slides:



Advertisements
Similar presentations
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Advertisements

이진 나무 구조 강윤섭 2008년 5월 23일.
2.6 탐색(Search) 1. 순차검색 (Sequential Search, Linear Search)
UNIX 운영 체제의 설계 - Chapter 4. 파일의 내부 표현
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
4. 순차 화일.
연결리스트(linked list).
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
블록 속성 정의와 추출 속성 정의 블록을 만들 객체들에 문자를 사용하여 속성을 설명하는 꼬리표에 해당하는 태그를 정의하는
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
forms 객체 입력상자 체크상자, 라디오 버튼 목록상자
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11.텍스트를 위한 화일.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
12. 데이타베이스.
7장 인덱스된 순차 화일.
23장. 구조체와 사용자 정의 자료형 2.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
프로그래밍 랩 – 7주 리스트.
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
JA A V W. 03.
인터넷응용프로그래밍 JavaScript(Intro).
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
27장. 모듈화 프로그래밍.
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
24장. 파일 입출력.
CHAP 5. 레이아웃.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
01 화일의 기본 개념 02 화일 저장장치 03 화일 입출력 제어 04 순차화일 05 화일의 정렬 06 화일의 합병
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
Chapter 03. 관계 데이터베이스 설계.
1. 2진 시스템.
9강. 클래스 실전 학사 관리 프로그램 만들기 프로그래밍이란 결국 데이터를 효율적으로 관리하기 위한 공구
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
9.다중 키 화일.
데이터 동적 할당 Collection class.
6장. 물리적 데이터베이스 설계 물리적 데이터베이스 설계
문서 클러스터링 일본언어문화학과 서동진.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
9장 파일시스템(File System) 박동근.
오라클 11g 보안.
05. General Linear List – Homework
14 뷰(View) 뷰의 개념 뷰 관리.
Chapter 10 데이터 검색1.
시스템 인터페이스 Lab1 X-window 및 명령어 사용.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
발표자 : 이지연 Programming Systems Lab.
BioMed Central EBSCO KOREA T: (ext.230)
제 4 장 Record.
2014년 가을학기 손시운 지도 교수: 문양세 교수님 행렬과 배열 2014년 가을학기 손시운 지도 교수: 문양세 교수님.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
 6장. SQL 쿼리.
                              데이터베이스 설계 및 실습 #6 - SQL 실습 한국외국어대학교 DaPS 연구실                              
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
7 생성자 함수.
6 객체.
20 XMLHttpRequest.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Presentation transcript:

11.텍스트를 위한 화일

▶ 텍스트를 위한 화일 텍스트 필드로만 구성된 레코드를 접근할 수 있는 화일 텍스트 : 긴 문자열로 구성된 데이타 (예) 학생의 자기 소개, 신문 기사, 사전의 용어, 인터넷 사이트에 대한 설명 정보 텍스트 필드는 하나의 필드 안에 여러 개의 탐색 값(단어, keyword)이 포함 (예) 학번이 123456인 학생 레코드의 자기 소개 필드에 “데이타베이스 시스템과 질의어에 대한 지식을 보유하고 있다.” 라고 기술되어 있다고 가정하자. Keyword : “데이타베이스”, “시스템”, “질의어” 라는 단어(탐색 값)을 어떠한 방법으로 탐색할 것인가? 응용 분야 Yahoo, AltaVista, Naver 의 인터넷 검색 엔진의 핵심기술

 역 리스트 화일(Inverted list file) 역 리스트 화일 구조 역 리스트 화일 = 인덱스 화일 + 포스팅 화일 + 데이타 화일 인덱스 화일(사전 : dictionary) : 키워드 + 관련 레코드 수(hit 수) + 포스팅에 대한 포인터 포스팅 화일(posting file) : - 키워드를 포함한 데이타 레코드에 대한 포인터의 리스트, (- 그 레코드의 텍스트 필드에서 해당 키워드의 발생 빈도, - 그 텍스트에서 해당 키워드의 상대적인 중요도(weight), - 그 텍스트에서 해당 키워드의 발생 위치(offset)를 추가 ) 데이타 화일 : 문서 화일(document file) 장점 구현 용이, 속도가 빠름, 동의어 지원 용이 단점 많은 기억 공간 요구 : 데이타 화일의 300%까지 인덱스 갱신, 재구성 시 : 비용이 크게 증가 응용분야 : 상용검색엔진(DIALOG, BRS, ORBIT, STAIRS)

▶ 역 리스트 화일 구조의 예 - 키워드는 가나다 순으로 정렬 … 2 질의어 시스템 3 데이타베이스 7 1 6 5 레코드2 : 시스템 운영과 관리 경험이 있다. 레코드1 : 데이타 베이스 시스템과 질의어에 대한 지식을 보유하고 있다. 키워드 히트링크 인덱스 화일 레코드번호 링크 포스팅 화일 데이타 화일

▶ 역 리스트 화일의 탐색 방법 질의(Query) : Boolean query, Ranking query 불리언 질의 탐색 키워드들간의 논리 연산자( ‘&’,’ |’, ‘!’ )를 이용 표현 (예) ‘데이타베이스 & 질의어’ 질의는 두 키워드가 모두 포함하는 데이타 화일을 검색 --- <1, 5, 6> & <1, 7> 을 AND하면 < 1 > 이므로, 두 키워드를 포함한 것은 1 레코드 (예) ‘데이타베이스 | 질의어’ 의 결과는 <1, 5, 6, 7 > 됨 랭킹 질의 탐색 질의어와 데이타 레코드간의 근접도(closeness)를 평가하기 위해 유사도(similarity) 휴리스틱을 사용하여 일정한 개수 (예, K개)의 근접 데이타 레코드들을 결과로 가져옴. 초기 검색 엔진에 많이 사용, 최근에는 병행 지원.

 시그니처 화일(Signature File) 개략적 필터(inexact filter) 방식에 기반 전체 화일의 내용을 순차적으로 검색하지 않고, 화일의 내용을 부호화하여 소량의 공간에서 질의 검색하는 방법 중첩 코딩(superimposed coding) : 시그니처 화일 생성방법 개략적 필터라고 하는 이유 첫째, 서로 다른 키워드에 대한 해싱 결과가 동일한 시그니처를 생성할 가능성. 둘째, 블록 시그니처를 만들 때 여러 개의 시그니처를 “OR” 연산으로 취합하면서 다른 키워드와 일치할 가능성 질의 연산 종류 exact match : 질의문에 블록 시그니처의 모든 키워드가 주어질 때 partial match : 질의문에 블록 시그니처의 키워드 일부만 주어질 때

▶ 시그니처 코딩 방법 중첩 코딩 방법 (F=16, m=3으로 가정) 단어(키워드) 시그니처 (F=16 비트) 데이타베이스 각 문서를 동일한 수의 상이한 키워드를 포함하는 “논리 블록” 나눔 각 키워드를 F개의 비트로 구성된 “단어 시그니처”를 작성 (단어 시그 니처는 m개 비트만 “1”로 세트, 나머지는 “0”으로 세트, 각 단어에 대해 “1”로 세트되는 m 개의 위치는 hash 함수로 결정) 단어 시그니처들을 OR 연산으로 하나의 “블록 시그니처”를 작성 단어(키워드) 시그니처 (F=16 비트) 데이타베이스 0010 0100 0000 0001 시스템 0000 1000 1000 0010 질의어 0100 1000 0100 0000 블록 시그니처 0110 1100 1100 0011

▶ 시그니처 화일을 이용한 검색 질의문 : “시스템”이 포함된 텍스트를 검색하라 1) 질의 시그니처 생성 0000 1000 1000 0010 2) 질의 시그니처 0000 1000 1000 0010 AND) 블록 시그니처 0110 1100 1100 0011 0000 1000 1000 0010 (≡ 질의 시그니처) 3) 2와 같은 조건을 만족하는 텍스트에 대해 “시스템”이 실제로 포함되었는지 검사

시그니처 화일이 적합한 경우 시그니처 화일의 장단점 탈락 착오(false drop) PC에서 사용되는 중 규모의 DB 검색 질의 빈도가 낮은 DB(B-트리 인덱스보다 비용 저렴) 병렬 처리되는 DB 시그니처 화일의 장단점 전문(full text) 검색보다 2배 정도 빠름. 10 ~ 15%의 추가 공간이 필요 (역 화일기법의 인덱스가 50 ~ 300%의 추가 공간 필요) 추가적인 삽입만을 허용하므로 삽입 연산이 간단 대규모 DB에서는 속도가 저하 탈락 착오(false drop) 시그니처 구성에 사용되지 않은 키워드가 매치되는 것

▶ 시그니처 화일 구조와 탐색 방법 (1) 순차 시그니처 화일 : F * N 이진 행렬 - 행 우선으로 순차 저장

▶ 시그니처 화일의 탐색 방법 (2) 압축(compression) (3) 수직 분할(vertical partitioning) ① 질문에 포함된 키워드로 하나의 질의 시그니처를 생성 ② 질의 시그니처를 N개의 논리 블록 시그니처의 각 각과 AND 연산한 결과가 원래의 질의 시그니처와 일치하면 매치한 것 ③ 매치된 블록에 해당하는 포인터 화일의 포인터를 따라 문서 화일을 검색하여 질의문의 키워드들이 포함된 지를 검사 ④ ③에서 실제로 매치된 논리 블록이 검색할 문서의 결과임 (2) 압축(compression) 시그니처의 행렬이 희소할 경우, 압축을 통해 저장 공간 감소시킴 시그니처 화일의 검색 시간 단축 (3) 수직 분할(vertical partitioning) 시그니처 화일을 열 단위(bit slice)로 나누어 저장 1로 세트된 비트 슬라이스만을 검색, 검색시간 단축 삽입 시간은 증가 (4) 수평 분할(horizontal partitioning) 시그니처 화일에 대한 인덱스를 만들어 검색 전체 시그니처 화일 검색 불필요