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