4장 질의 언어

Download Report

Transcript 4장 질의 언어

4장 질의 언어
목차
4.1 소개
4.2 키워드 기반 질의
4.3 패턴 정합
4.4 구조 질의
4.5 질의 프로토콜
4.6 연구 동향 및 쟁점
4.7 참고 문헌 고찰
최신정보검색론
Chapter 4
1
4.1 소개
•
질의 언어 : 검색 모델에 의존
- 연관 문서를 찾기 위해 문서의 내용(의미)과
문서의 구조(텍스트의 구문)를 이용
•
관련 기술
- 동의어 확장, 시소러스와 스테밍을 이용, 불용어 제거
•
종류
- 키워드 기반 질의 언어 : 단순 단어와 구, 불리안 연산자
- 패턴 정합: 복잡한 질의
- 텍스트 구조에 대한 질의: 특정 텍스트 모델에 매우
의존적
- 인터넷과 CD-ROM 출판사에서 사용되는 표준 프로토콜
최신정보검색론
Chapter 4
2
4.2 키워드 기반 질의
• 직관적, 작성 용이, 빠른 순위화
-> 널리 사용
• 종류
–
–
–
–
단일 단어 질의
문맥 질의
불리안 질의
자연언어
최신정보검색론
Chapter 4
3
4.2.1 단일 단어 질의
• 정의
알파벳은 문자와 분리자로 나누어지며,
단어는 분리자로 둘러싸인 문자열
- 질의 단어들 중 어느 하나라도 포함하고 있는 문서들이 검색
- 검색된 문서는 질의와의 연관도에 따라서 정렬
- 문헌에서의 단어 출현 빈도에 대한 두 가지 통계 값
• 단어 빈도(tf) : 어떤 단어가 한 문헌 내에서 몇 번 나타났는가
• 역문헌 빈도(idf) : 단어가 출현한 문헌 수의 역수
- 텍스트에서 나타난 정확한 위치에 대한 정보
최신정보검색론
Chapter 4
4
4.2.2 문맥 질의
• 문맥(근접한 다른 언어)에 나타난 단어 검색
• 구(Phrase)
– 단일 단어 질의의 열
– 예) enhance retrieval -> ‘enhance the retrieval’
• 근접도(proximity)
– 단어 혹은 구 사이에 허용되는 최대 거리 값과 함께 제공
– 예) enhance retrieval within 4
• ‘enhance the power of retrieval…’
최신정보검색론
Chapter 4
5
4.2.3 불리안 질의
• 질의 구문 트리
– 단말 노드는 기본 질의, 내부 노드는 연산자
AND
translation
OR
syntax
syntactic
그림 4. 1 질의 구문 트리의 예. 이 트리는 ‘translation’을 포함하며, ‘syntax’나 ‘syntactic’ 중
어느 하나라도 포함하는 모든 문서를 검색한다.
최신정보검색론
Chapter 4
6
4.2.3 불리안 질의(계속)
e1 연산자 e2
•
OR
– e1 혹은 e2를 만족시키는 모든 문서, 중복 제거
•
AND
– e1 과 e2 둘 다 만족시키는 모든 문서
•
BUT
– e1을 만족시키지만 e2를 만족시키지 않는 모든 문서
- 고전적인 불리안 시스템
검색된 문서에 대한 순위가 제공되지 않음
> 퍼지 불리안, 확장 불리안 : 순위제공
최신정보검색론
Chapter 4
7
4.2.4 자연언어
•
불리안 질의
– 자연언어 질의의 단순한 추상화
• 벡터모델
– 문헌과 질의 모두 ‘용어-가중치’ 벡터로 간주
– 질의 벡터와 유사한 문헌 벡터 검색
최신정보검색론
Chapter 4
8
4.3 패턴 정합
• 패턴의 정의
– 어떤 텍스트 조각에서 출현해야 하는 구문적 자질
• 종류
- 단어: 문자열, 기본 패턴
- 접두사: 단어의 앞에 나타나는 문자열
예) comput* : ‘computer’,‘computation’,‘computing’
- 접미사: 단어의 마지막인 문자열
예) *ters : ‘computers’, ‘testers’, ‘painters’
- 부분 문자열: 단어의 내부에 나타내는 문자열
예) *tal* : ‘coastal’, ‘talk’, ‘metallic’
최신정보검색론
Chapter 4
9
4.3 패턴 정합 (계속)
• 범위
– 사전 순서상에서 두 문자열 사이에 있는 어떤 문자열과도 정합
예) ‘head’와 ‘hold’의 범위 : ‘hoax’, ‘hissing’
• 오류허용
– 단어와 오류 임계값. ( 철자 오류 검색 )
– 단어간의 유사도 모델 : Levenshtein 거리 (편집거리)
• 두 문자열을 같게 만들기 위한 문자 삽입, 삭제, 치환의 최소 수
• 예) ‘flower’ 와 ‘flo wer’ 의 편집거리는 1
최신정보검색론
Chapter 4
10
4.3 패턴 정합 (계속)
• 정규 표현식
– 문자열과 연산자들을 이용한 보다 일반적인 패턴
– 합집합 : e1 과 e2가 정규 표현식이라면
(e1 | e2)는 e1 혹은 e2와 정합
– 연쇄 : (e1, e2)는 e1 바로 다음에 e2가 인접
– 반복 : 만약 e가 정규 표현식이라면
(e*)는 e가 0번 혹은 그 이상 연속
예) ‘pro(blem | tein) (s | ε) (0 | 1 | 2)*’ (ε는 빈 문자열)
-> ‘problem02’ ,’proteins’
최신정보검색론
.
Chapter 4
11
4.3 패턴 정합 (계속)
• 확장 패턴
– 정규 표현식의 부분 집합
– 문자 클래스
• 미리 정의된 문자 집합 내의 임의 문자와 정합
• 대소문자간의 정합, 글자 범위의 사용, 여집합, 열거, 대표문자
– 조건 표현: 패턴의 일부로 나타나거나 나타나지 않아도 좋은 부분
– 텍스트 내 임의 문자열과 정합되는 대표 문자
•
예) ‘flo’로 시작하여 ‘ers’로 끝나는 패턴: ‘flowers’,’flounders’
– 패턴의 일부는 정확하게 정합, 다른 부분은 오류 포함도 가능
최신정보검색론
Chapter 4
12
4.4 구조 질의
a) 양식 형태의 고정 구조 b) 하이퍼텍스트 구조 c) 계층적 구조
최신정보검색론
Chapter 4
13
4.4.1 고정 구조
예) 전자우편
– 발신자, 날짜, 제목, 내용 필드
- 필드
– 데이터베이스 테이블의 열에 대응
– 관계 모델(relational model)과 연결
- 질의
– SQL(Structured Query Language) 확장
– Oracle, Sybase, SFQL (4.5절 참고)
최신정보검색론
Chapter 4
14
4.4.2 하이퍼텍스트
• 방향성 그래프 (Directed Graph)
– 노드는 텍스트
– 링크는 노드 사이 혹은 노드 내 어떤 위치 사이에 존재하는
연결
• 브라우징과 웹 탐색 결합
– WebGlimpse
– 전통적인 항해와
– 현재 노드의 인접 노드 내용에 의한 검색 기능 제공
최신정보검색론
Chapter 4
15
4.4.3 계층적 구조
[그림 4.3] 예 : 책의 한 페이지, 도식적인 모형, 그림을 검색하기 위한 파싱된 질의
최신정보검색론
Chapter 4
16
4.4.3 계층적 구조 (계속)
• 고정 텍스트 구조와 하이퍼텍스트 구조의 중간
– 예) 서적, 논문, 법률 문서, 구조화 프로그램
• 계층적 구조는 하이퍼텍스트보다 간단하기 때문에 빠른
질의 처리 알고리즘을 적용
• 종류
–
–
–
–
–
PAT 표현
겹침(overlapped) 리스트
참조 리스트
인접 노드
트리 정합
최신정보검색론
Chapter 4
17
4.4.3 계층적 구조 (계속)
• 계층적 모델의 예
– PAT 표현
• 텍스트 구조에 대한 새로운 색인 없이 텍스트 인덱스를 이용
– 겹침(overlapped) 리스트
• PAT 수식을 발전
• 한 영역 내 지역이 서로 겹치는 것은 허용
• 중첩(nest) 되는 것은 불허
– 참조 리스트
• 구조화 텍스트의 정의와 탐색을 공통의 언어를 사용하여 통합
– 인접 노드
• 구조는 정적이고 계층적이어서 여러 개의 독립적인 구조가 같은 텍스트에
정의
– 트리 정합
• 트리 포함(tree inclusion) 연산에 의존
최신정보검색론
Chapter 4
18
4.5 질의 프로토콜
• 텍스트 데이터베이스 검색
• Z39.50
– 1995년 ANSI와 NISO에서 표준으로 인정
– 클라이언트와 호스트 데이터베이스 관리기 사이에 표준 인터페이스를
이용하여 서지 정보 검색
– 서버와 클라이언트가 세션을 연결하는 방법, 정보를 통신하고
교환하는 방법 정의
– 초기에는 서지 정보(기계 가독형 목록 레코드:MARC) 위주였으나
점차 다른 형태의 정보도 검색할 수 있도록 확장
최신정보검색론
Chapter 4
19
4.5 질의 프로토콜 (계속)
• WAIS
– Wide Area Information Service (광역 정보 서비스)
– 1990년대 초반 웹이 유행하기 전에 많이 사용되던 프로토콜
– WAIS의 목표는 네트워크 출판 프로토콜과 인터넷을 통하여
데이터베이스를 검색
최신정보검색론
Chapter 4
20
4.5 질의 프로토콜 (계속)
• CD-ROM 출판 분야에서의 질의 프로토콜
– CCL: Common Command Language(공통 명령 언어)
• Z39.50에 기반한 NISO의 제안(Z39.58 혹은 ISO8777)
• 19개의 대화 명령어 정의, 고전적 불리안 모델에 기반
– CD-RDx(Compact Disk Read only Data exchange)
• 클라이언트-서버 구조를 사용하며 대부분의 플랫폼에 구현
• 고정길이 필드 영상 및 음성을 허용
• CIA, NASA, GSA와 같은 미국 국가 기관이 지원
최신정보검색론
Chapter 4
21
4.5 질의 프로토콜 (계속)
• SFQL
– Structured Full-text Query Language (구조화 전문 질의
언어)
–
–
–
–
SQL에 기반, 클라이언트-서버 구조 사용
항공우주 분야에서 표준으로 채택
문서는 관계 테이블에서 하나의 행으로 표시, SGML을 이용해 태깅
예) Select abstract from journal.papers where title
contains "text search“
– 불리안 및 논리 연산, 시소러스, 근접 연산, 대표 문자, 반복 등을
표시하기 위한 특수 문자 지원
최신정보검색론
Chapter 4
22
4.6 연구 동향 및 쟁점
Model
Queries allowed
Boolean
word, set operation
Vector
Words
Probabilistic
words
BBN(신념망)
words
표 4.1 질의 유형과 모델간의 관계
• 시각적 질의 언어
– 시각 메타포(metaphore): 초보자의 복잡한 불리안 질의 작성에 도움
– 사용자 인터페이스의 시각화 (10장 참조)
최신정보검색론
Chapter 4
23
4.6 연구 동향 및 쟁점 (계속)
[그림 4, 4] 질의 유형과 구조화 방법
최신정보검색론
Chapter 4
24
4.7 참고 문헌 고찰
• 고전적 질의 언어(단순 패턴, 불리안 모델, 고정 구조)
– Fulcrum, Verity 등 현재 상용 시스템 및 Glimpse[540], Igrep[26]과
같은 비상용 시스템에 기초
• 퍼지 불리안 모델: [703]
• Levenshtein 거리: [504]와 [25]
• Soundex : [445], 서로 다른 유사 모델의 성능 비교는 [595]
• 정규식에 대한 설명은 [373], 확장 패턴의 여러 언어는 [837]
• 하이퍼텍스트에 대한 고전적 소개 [181]
• WebGlimpse 시스템 [539]
• 계층적 텍스트 [41]
최신정보검색론
Chapter 4
25