네이버 검색엔진 구조

18
네네네 네네네네 네네 네네네 네네네네 네네 ( 네네네네 네 네네네네 ) 네 네 네 ( N A V E R ) 네 네 네 http://www.naver.com [email protected] tel: 02-3420-2306 fax: 02-3420-2345

Upload: theophilus-stavros

Post on 16-Mar-2016

128 views

Category:

Documents


13 download

DESCRIPTION

네이버 검색엔진 구조. 네 이 버 ( N A V E R ) 최 병 엽 http://www.naver.com [email protected] tel: 02-3420-2306 fax: 02-3420-2345. ( 색인구조 및 질의처리 ). 네이버 검색엔진 네이버 검색엔진 구조 웹로봇 , 문서분석기 , 저장관리기 , 질의어처리기 응용 분야 분류 , 웹 , 메타 , 이미지 , 사운드 검색엔진의 발전방향. 목 차. 인터넷 검색엔진. 인터넷 검색엔진 외국 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 네이버 검색엔진 구조

네이버 검색엔진 구조네이버 검색엔진 구조(색인구조 및 질의처리 )

네 이 버 ( N A V E R )최 병 엽

http://www.naver.com

[email protected]

tel: 02-3420-2306

fax: 02-3420-2345

Page 2: 네이버 검색엔진 구조

목 차목 차 네이버 검색엔진

네이버 검색엔진 구조- 웹로봇 , 문서분석기 , 저장관리기 , 질의어처리기

응용 분야- 분류 , 웹 , 메타 , 이미지 , 사운드

검색엔진의 발전방향

Page 3: 네이버 검색엔진 구조

인터넷 검색엔진인터넷 검색엔진 인터넷 검색엔진

- 외국 Yahoo, Lycos, Altavista, Infoseek, Excite

- 국내 네이버 , 한미르 , 심마니 , 엠파스 …

인터넷 현황- 호스트 수 (KR)

7 만 (97 년 ) => 30 만 이상 (2000 년 4 월 )- 웹문서수 (HTML)

40 만건 (97 년 ) => 400 만건 (98 년 ) => 3000 만건 (2000년 )

Page 4: 네이버 검색엔진 구조

네이버 검색엔진네이버 검색엔진 History

- 94 ~ 95 년 정부기관 검색프로젝트로 시작

- 95 ~ 96 년 유니텔 신문기사검색시스템 구축

- 97 년 2 월 웹글라이더 검색서비스 시작

- 97 년 12 월 네이버 검색서비스 시작

Page 5: 네이버 검색엔진 구조

네이버 검색엔진 구조네이버 검색엔진 구조 구성

- 웹로봇 (Nabot)- 문서분석기

형태소분석기 (한성대학교 강승식교수 HAM)Index Builder ( 자체 개발 )

- 저장관리기COSMOS ( 한국과학기술원 황규영교수 )Storage Manager ( 자체 개발 )

- 질의어처리기랭킹알고리즘 (숭실대 이준호 교수 )질의어 처리기 (자체개발 )

Page 6: 네이버 검색엔진 구조

검색엔진 주요기술 검색엔진 주요기술 (1)(1)

주요기술

- 웹로봇 (Web Robot)- 분류 (Directory Browsing)- Tokenizing, Indexing, Building- B+ Tree, Hashing, Compression- Query Optimization, Ranking- HTML I/F, Web Server Technique

Page 7: 네이버 검색엔진 구조

검색엔진 주요기술 검색엔진 주요기술 (2)(2)

DocumentAnalyzer

StorageManager

QueryProcessor

Database

indexdocument

query

result

DocumentLoader

QueryInterface

AdministratorInterface

document query

document

control status

NAVER

Nabot(HTML)

Page 8: 네이버 검색엔진 구조

Nabot(1)Nabot(1)

Robot Server

URLDatabase

HTMLDatabase

Internet

HTML Document

Page 9: 네이버 검색엔진 구조

Nabot (2)Nabot (2)

기능- 인터넷을 돌아다니면서 문서수집 및 링크분석- Socket Program based on TCP/IP

특징- 링크 및 HTML 분석 DB 화- 중복문서 제거처리- 500 만건 /일 수집 및 DB 화 가능- 수집 후 문서추출방식으로 색인시스템과 연결

Page 10: 네이버 검색엔진 구조

Index Builder(1)Index Builder(1)

색인- 문서로부터 검색어 추출- 언어에 따라 특화된 알고리즘 구현

한글색인방식- 형태소분석법 사용

Building- Real Time Indexing- Bulk Indexing 지원

Page 11: 네이버 검색엔진 구조

Index Builder(2)Index Builder(2)

문서헤더분석기AB...

......

....

분석결과

사전 , 시소러스

후처리기색인어추출기

문서

데이타

문서본문 색인결과

색인어리스트

Page 12: 네이버 검색엔진 구조

Index Builder(3)Index Builder(3)

한글색인방식 비교- 형태소분석법

입력문서의 각 어절별로 형태소분석 , 명사추출 형태소분석사전이용 명사 및 복합명사 추정가능 애매성 , 모호성 문제 발생

- N-Gram(Bi-Gram) DA: 정보검색 => 정보 + 보검 + 검색 으로 색인 QP: 정보검색 => ( 정보 & 보검 & 검색 )으로 검색

- 순서오류발생 (부정사 = 부정한 정사 )- 검색효율문제 발생 (긴 단어의 경우 … )

Page 13: 네이버 검색엔진 구조

Storage ManagerStorage Manager

DOC File

Index

B+ tree onDocId

url title body

url title body

url title body

url title body

Document Header- 검색 대상이 되는 문서의 내용을 저장- 원하는 문서의 빠른 access를 위해 문서의 ID에 대해 index를 사용하여 access

INV File

Index

B+ tree onterm

DocId DocId DocId

DocId DocId DocId

DocId DocId

DocId

DocId

DocId

DocId

DocId

Inverted List- 문서내의 각 단어 (term)들에 대해 그단어가 나타난 문서의 DocId들의 리스트를 저장- 원하는 단어의 리스트 데이터의 access를 위해 각 단어들에 대해 index를 사용하여 access

Page 14: 네이버 검색엔진 구조

CompressionCompression

압축속도 비교- 압축시 I/O Time 감소 , CPU Time 증가- 검색속도는 I/O 시간이 좌우 (?)- CPU Time Dependent Operation

압축적용- CPU 속도 증가- 압축적용시 저장공간 50% 이상 Save- 특정환경에서 색인 /검색 속도 증가- 검색시 압축알고리즘 적용 필요

Page 15: 네이버 검색엔진 구조

Query Processor (1)Query Processor (1)

2. Match Words3. Merge Results

1. Convert to tree Struct.

4. Rank Results

사용자

질의

n-ary tree structure

Storage Manager

word

word

word

word

word INV FileIndex

B+ tree onterm

B+ tree onreversed term

PosInvHdr Pos Pos

PosInvHdr Pos Pos

PosInvHdr Pos

PosInvHdr

Page 16: 네이버 검색엔진 구조

Query Processor (2)Query Processor (2)

Query Optimization- 연산횟수 줄이는 방향으로 질의재구성

Ranking- Tw (Term Weight)

(Term frequency/Document length)

- IDF (Inverse Document Frequency) Log(N/n) (N: 전체문서갯수 , n: term 에 대한 문서갯수 )

- Ranking Tw * IDF 에 의해 결정

Page 17: 네이버 검색엔진 구조

ApplicationApplication

디렉토리 검색 웹검색

- 대용량 & Static Data 검색 신문검색

- 대용량 Multi DB 검색- Real Time Indexing

이미지 /사운드 검색- Trivial & Heuristic

서치센타 서비스

Page 18: 네이버 검색엔진 구조

검색엔진 발전방향검색엔진 발전방향 자연어 검색

- 색인 및 구문분석을 통한 자연어검색 => X- 벡터 / 확률모델방식 검색알고리즘 => O- Relavance Feedback, Query Expansion 적용

개인화- Information Filtering- Social Filtering

대용량화- 검색문서수 증가 , 처리문서수 증대- 네트워크 분산 및 전문 DB 검색방식 확대