5. 데이터베이스 vs. 정보검색
• 데이터베이스 Data Retrieval System
– 데이터의 저장 & 관리
– 정형화된 데이터 (row & column)
– 정확한 해답 제공
• 정보 검색 Information Retrieval System
– 데이터의 빠른 검색
– 비정형화된 데이터 (text, video, voice, …)
– 확률이나 예측에 근거한 해답 제공
– 근접도 정렬
1. 상급자의 골프존 비전 소개
2. 골프존 스크린골프 비전! 중구본점을 방문하다!
3. 골프존 상급자용 스크린 골프 시스템 비전 이용 후기
5
6. 정보 검색 시스템
• 구성
– Crawler(수집기): 대상 데이터의 수집
– Indexer(색인기): 수집된 데이터를 빨리 찾을 수 있도록 구조화
– Searcher(검색기): 요구에 적합한 정보 검색
• 고려사항
– 검색 대상
• 폭발적으로 증가하는 컨텐츠 수
– 검색 조건
• 사용자 질의에 대한 빠른 응답시간
6
7. 정보 검색 시스템
• 개략적인 구조도
Text
User Interface
Text
User Needs
sdasf sdasf
asda Text Operator asdfs
Logical Text Logical Text
Query
Operator Indexer DB Manager
User
Feedback
System Query Inverted File
contents
Searcher 색인파일
Inverted Docs
Ranker
Database
Ranked Docs
7
8. Text Operator
• 정의
– Text 형태의 문서나 사용자 쿼리에서 핵심 키워드를 추출함
병렬 시스템이나 병렬 프로그램에 대해 알려주세요
형태소분석
병렬, 시스템, 병렬, 프로그램
가중치계산
(병렬,2) (시스템,1) (프로그램,1)
8
10. Indexer
• 정의
– 개개의 Text 데이터로부터 뽑혀진 색인어에 대해서 각 데이터를
대표하도록 만들어 빠르게 검색될 수 있도록 구조화함
10
11. Indexer
• 색인 전처리
– (문서: 색인어,TF), …(색인어: 문서,TF), … 형태로 재구성
– 색인어 순으로 정렬
색인어 (문서번호, TF)
검색 (002, 3)
병렬 (001, 4) (004, 2)
성능 (003, 1)
시스템 (001, 3) (002, 2) (003, 3)
정보 (002, 2)
프로그램 (003, 4) (004, 2)
문서(DOCID) (추출된 색인어, TF)
001 (병렬, 4) (시스템, 3)
002 (정보, 2) (검색, 3) (시스템, 2)
003 (프로그램, 4) (시스템, 3) (성능, 1)
004 (병렬, 2) (프로그램, 2)
11
12. Indexer
색인어 (문서번호, TF)
• Inverted/Posting File 생성 검색
병렬
(002, 3)
(001, 4) (004, 2)
성능 (003, 1)
시스템 (001, 3) (002, 2) (003, 3)
정보 (002, 2)
프로그램 (003, 4) (004, 2)
[Inverted File] [Posting File]
1 2 3 4 5
색인어 문서개수 시작위치
002 001 004 003 001
3 4 2 1 3
검색 1 1
6 7 8 9 10
병렬 2 2
002 003 002 003 004
성능 1 4 2 3 2 4 2
시스템 3 5 11 12
정보 1 8
프로그램 2 9
0001 0002 0003 0004
문서 문서 문서 문서
12
13. Searcher
• Boolean Model
1 = 조건 식을 만족할 경우,
sim(q, d )
0 = 조건 식을 만족하지 못할 경우,
예)
[문서]
0001: (병렬, 4) (시스템, 3) 0002: (정보, 2) (검색, 3) (시스템, 2)
0003: (프로그램, 4) (시스템, 3) (성능, 1) 0004: (병렬, 2) (프로그램, 2)
Q: “병렬 | 시스템 | 프로그램” Q: “시스템 & 프로그램”
0001=1 0001=0
0002=1 0002=0
0003=1 0003=1
0004=1 0004=0
13
14. Searcher
• Vector Model
– 쿼리와 문서를 모두 t차원의 벡터로 표현
q ( w1 , w2 , , wt ) wt 0
dj ( w1 j , w2 j ,, wtj ) wtj 0
– t: 전체 문서집합 내에 존재하는 서로 다른 색인어의 수
– 벡터의 값은 wi의 TF
– 쿼리 벡터와 각 문서 벡터의 cosine 유사도 계산
• 유사도 순으로 검색된 문서를 정렬
문서: 병렬, 시스템, 프로그램 병렬
쿼리: 시스템, 프로그램 j q
d ( w1q w1 j w2 q w2 j )
sim(d j , q) cos
dj q ( w12q 2
w2 q )
문서 ( w12j 2
w2 j )
//
시스템
θ
쿼리
프로그램
14