SlideShare a Scribd company logo
1 of 28
정보 검색의 개요



2012.05.31
윤도상, dsyoon@ncue.net
목차

 • 정보 검색 시스템
     – 정의
     – 데이터베이스와 차이
 • 시스템의 간략한 구조
     –   Text Operator
     –   Indexer
     –   Searcher
     –   어려운 점
 • 검색 데모
 • 검색 고도화
 • 맺음말



                         2
정보 검색 시스템




  정의
   사용자가 필요로 하는 정보를 수집하고, 그 내용을 분석한 뒤
   찾기 쉬운 형태로 조직해서, 정보에 대한 요구가 발생했을 때,
   해당 정보를 찾아 제공하는 시스템




                    3
정보 검색 시스템

 • 정보 망원경




            [정보검색 시스템]




                   4
데이터베이스 vs. 정보검색

 • 데이터베이스                 Data Retrieval System
   – 데이터의 저장 & 관리
   – 정형화된 데이터 (row & column)
   – 정확한 해답 제공

 • 정보 검색             Information Retrieval System
   –   데이터의 빠른 검색
   –   비정형화된 데이터 (text, video, voice, …)
   –   확률이나 예측에 근거한 해답 제공
   –   근접도 정렬

           1. 상급자의 골프존 비전 소개
           2. 골프존 스크린골프 비전! 중구본점을 방문하다!
           3. 골프존 상급자용 스크린 골프 시스템 비전 이용 후기




                               5
정보 검색 시스템

 • 구성
   – Crawler(수집기): 대상 데이터의 수집
   – Indexer(색인기): 수집된 데이터를 빨리 찾을 수 있도록 구조화
   – Searcher(검색기): 요구에 적합한 정보 검색

 • 고려사항
   – 검색 대상
     • 폭발적으로 증가하는 컨텐츠 수
   – 검색 조건
     • 사용자 질의에 대한 빠른 응답시간




                      6
정보 검색 시스템

 • 개략적인 구조도
                                                                  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
Text Operator

  • 정의
     – Text 형태의 문서나 사용자 쿼리에서 핵심 키워드를 추출함


           병렬 시스템이나 병렬 프로그램에 대해 알려주세요


                       형태소분석


                  병렬, 시스템, 병렬, 프로그램

                       가중치계산


                (병렬,2) (시스템,1) (프로그램,1)



                              8
Text Operator

  • 순서
     – 불용어(Stopword) 제거
         • 이, 그, 저, 는, 가, …, a, an, the, …,
     – 어간/어근 추출(Stemming)
         • 연구했다 (연구 + 하 + 았 + 다)  연구
         • fishing, fished, fish, fisher  fish
     – 명사류 추출
     – 색인어의 출현 빈도(TF: Term Frequency) 계산

            문서(DOCID)               (추출된 색인어, TF)

                001       (병렬, 4) (시스템, 3)
                002       (정보, 2) (검색, 3) (시스템, 2)
                003       (프로그램, 4) (시스템, 3) (성능, 1)
                004       (병렬, 2) (프로그램, 2)


                                     9
Indexer

  • 정의
     – 개개의 Text 데이터로부터 뽑혀진 색인어에 대해서 각 데이터를
       대표하도록 만들어 빠르게 검색될 수 있도록 구조화함




                      10
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
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
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
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
Searcher

     • Vector Model
       쿼리: (병렬,2) (시스템,1) (프로그램,1)
       [문서]
       0001: (병렬, 4) (시스템, 3)          0002: (정보, 2) (검색, 3) (시스템, 2)
       0003: (프로그램, 4) (시스템, 3) (성능, 1) 0004: (병렬, 2) (프로그램, 2)
                        검색          병렬         성능          시스템           정보         프로그램
              쿼리          0          2          0           1              0          1
              0001        0          4          0           3              0          0
              0002        3          0          0           2              2          0
              0003        0          0          1           3              0          4
              0004        0          2          0           0              0          2


                        (2 4 1 3)                8 3                                 (1 3 1 4)
sim(q, d1 )                                             0.90 sim(q, d 3 )                                    0.57
                     2 2 12 12      4 2 32     2.45 5                           2 2 12 12   12 32     42

                                 (1 2)                                              (2 2 1 2)
sim(q, d 2 )                                        0.20         sim(q, d 4 )                              0.87
                     2 2 12 12       32   22   22                               2 2 12 12   22   22
                                          0001 > 0004 > 0003 > 0002
                                                           15
검색 시스템의 어려운 점




                16
키워드 검색




                               미국과 일본
                               일본과 미국의 반도체
                               미국의 반도체 수출
                               미국의 반도체 수입
                               일본의 항공기 수출
 “일본의 반도체 수출과   일본, 반도체, 수출,   일본의 항공기 수입
 미국의 항공기 수입”    미국, 항공기 수입     ……




                      17
중의성

 • 주관적 정보
  – 문맥 해석의 차이                                 유아 – 아기
      • 예) 눈                                  제자 – 학생
                                              구매 – 구입
                                              기질 – 특성
                                              슬픈 – 우울한
  – 시대의 차이                                    미녀 – 미인
      • 예) 차                                  인간 – 사람
                                              ….
                 [100년전]        [지금]

  – 환경의 차이
      • 예) 시간표




                 [버스]       [기차]       [일과]

                           18
그 밖의 어려움

 • Numbers
   – 010-444-6567, 4105-1201-2310-2213, …
 • Hyphens
   – New-York New York
   – B-49  B 49
 • Punctuation Marks
   – 510B.C  510BC
   – val.id  valid
 • Stopword (불용어, 성인)
   – a, the, this, that, where, when, ….
   – 성폭행, 조폭, 폭력, 단란주점, 소녀, 스타킹, …




                              19
검색 데모
Solr 검색 엔진

 • 검색 데모 URL
    – http://ncue.net:8983/solr/select/?q=%EC%95%88%EC%B2%A0
      %EC%88%98+%EB%8C%80%EA%B6%8C&version=2.2&start
      =0&rows=10
 • 서제스트 데모 URL
    – http://ncue.net:8983/solr/suggestion/suggest?q=%EB%AF%B8%
      EB%9E%98




                               21
검색 고도화
검색 고도화 기법




               신한은행
                                        마스터즈

              나이키
                                        US오픈
                                  메이저
            롯데카드                   대회
                            최경주         오픈챔피언십
                      후원사

            SK텔레콤
                                        PGA챔피언십

            데니스골프




                23
데이터 마이닝

 • 검색쿼리: 신민아




 • 검색 고도화




               24
맺음말
호모서치엔스




         26
호모서치엔스



 검색은 새로운 취미와 새로운 인관 관계를 가질 수 있는 기
  회를 제공해주는 도구이자 창입니다.




                 27
질의/응답




         dsyoon@ncue.net




        28

More Related Content

Viewers also liked

[경북] I'mcloud openlight
[경북] I'mcloud openlight[경북] I'mcloud openlight
[경북] I'mcloud openlightstartupkorea
 
검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 LuceneEunGi Hong
 
Introduction To Kibana
Introduction To KibanaIntroduction To Kibana
Introduction To KibanaJen Stirrup
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaAmazee Labs
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문SeungHyun Eom
 
Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Ahyoung Kim
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaPrajal Kulkarni
 

Viewers also liked (10)

[경북] I'mcloud openlight
[경북] I'mcloud openlight[경북] I'mcloud openlight
[경북] I'mcloud openlight
 
Kibana
KibanaKibana
Kibana
 
검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene검색엔진 오픈 소스 Lucene
검색엔진 오픈 소스 Lucene
 
Introduction To Kibana
Introduction To KibanaIntroduction To Kibana
Introduction To Kibana
 
Logging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & KibanaLogging with Elasticsearch, Logstash & Kibana
Logging with Elasticsearch, Logstash & Kibana
 
Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문Elastic Search (엘라스틱서치) 입문
Elastic Search (엘라스틱서치) 입문
 
Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유Slideshare를 이용한 ppt공유
Slideshare를 이용한 ppt공유
 
Using Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibanaUsing Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibana
 
AUG 리더에 지원해 보세요!!!
AUG 리더에 지원해 보세요!!!AUG 리더에 지원해 보세요!!!
AUG 리더에 지원해 보세요!!!
 
Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 

Similar to 정보검색의개요

고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
(130119) #fitalk sql server forensics
(130119) #fitalk   sql server forensics(130119) #fitalk   sql server forensics
(130119) #fitalk sql server forensicsINSIGHT FORENSIC
 
정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)크몽
 
아이리스닷넷 김정우 발표용
아이리스닷넷 김정우 발표용아이리스닷넷 김정우 발표용
아이리스닷넷 김정우 발표용JeongWoo Kim
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimGruter
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensicsINSIGHT FORENSIC
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptxSeong-Bok Lee
 
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안INSIGHT FORENSIC
 
Tm기반검색v2
Tm기반검색v2Tm기반검색v2
Tm기반검색v2H K Yoon
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Gruter
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipelineJongho Woo
 
디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론Baro Kim
 
Informix user guide
Informix user guideInformix user guide
Informix user guideJunSeok Kim
 
(120128) #fitalk sql server forensics
(120128) #fitalk   sql server forensics(120128) #fitalk   sql server forensics
(120128) #fitalk sql server forensicsINSIGHT FORENSIC
 
Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Sung wook Kang
 
NeowizOpenConference2013-CharacterPipeline_김태근
NeowizOpenConference2013-CharacterPipeline_김태근NeowizOpenConference2013-CharacterPipeline_김태근
NeowizOpenConference2013-CharacterPipeline_김태근Visual Tech Dev
 
Ankus 제품소개서
Ankus 제품소개서Ankus 제품소개서
Ankus 제품소개서onycom1
 
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03Devgear
 
Quest주요솔루션소개
Quest주요솔루션소개Quest주요솔루션소개
Quest주요솔루션소개ysahn88
 

Similar to 정보검색의개요 (20)

Infiniflux introduction
Infiniflux introductionInfiniflux introduction
Infiniflux introduction
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
(130119) #fitalk sql server forensics
(130119) #fitalk   sql server forensics(130119) #fitalk   sql server forensics
(130119) #fitalk sql server forensics
 
정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)정보검색과 Elasticsearch (크몽)
정보검색과 Elasticsearch (크몽)
 
아이리스닷넷 김정우 발표용
아이리스닷넷 김정우 발표용아이리스닷넷 김정우 발표용
아이리스닷넷 김정우 발표용
 
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun KimDeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
DeView2013 Big Data Platform Architecture with Hadoop - Hyeong-jun Kim
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
 
정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx정보공학(IE) 방법론.pptx
정보공학(IE) 방법론.pptx
 
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
 
Tm기반검색v2
Tm기반검색v2Tm기반검색v2
Tm기반검색v2
 
Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014Elastic Search Performance Optimization - Deview 2014
Elastic Search Performance Optimization - Deview 2014
 
Elastic Stack & Data pipeline
Elastic Stack & Data pipelineElastic Stack & Data pipeline
Elastic Stack & Data pipeline
 
디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론디지털 인문학 데이터베이스 개론
디지털 인문학 데이터베이스 개론
 
Informix user guide
Informix user guideInformix user guide
Informix user guide
 
(120128) #fitalk sql server forensics
(120128) #fitalk   sql server forensics(120128) #fitalk   sql server forensics
(120128) #fitalk sql server forensics
 
Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석Windows 성능모니터를 이용한 SQL Server 성능 분석
Windows 성능모니터를 이용한 SQL Server 성능 분석
 
NeowizOpenConference2013-CharacterPipeline_김태근
NeowizOpenConference2013-CharacterPipeline_김태근NeowizOpenConference2013-CharacterPipeline_김태근
NeowizOpenConference2013-CharacterPipeline_김태근
 
Ankus 제품소개서
Ankus 제품소개서Ankus 제품소개서
Ankus 제품소개서
 
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어  2015.12.03
엔터프라이즈 환경의 데이터모델 관리 방안 By 엠바카데로 데브기어 2015.12.03
 
Quest주요솔루션소개
Quest주요솔루션소개Quest주요솔루션소개
Quest주요솔루션소개
 

정보검색의개요

  • 2. 목차 • 정보 검색 시스템 – 정의 – 데이터베이스와 차이 • 시스템의 간략한 구조 – Text Operator – Indexer – Searcher – 어려운 점 • 검색 데모 • 검색 고도화 • 맺음말 2
  • 3. 정보 검색 시스템 정의 사용자가 필요로 하는 정보를 수집하고, 그 내용을 분석한 뒤 찾기 쉬운 형태로 조직해서, 정보에 대한 요구가 발생했을 때, 해당 정보를 찾아 제공하는 시스템 3
  • 4. 정보 검색 시스템 • 정보 망원경 [정보검색 시스템] 4
  • 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
  • 9. Text Operator • 순서 – 불용어(Stopword) 제거 • 이, 그, 저, 는, 가, …, a, an, the, …, – 어간/어근 추출(Stemming) • 연구했다 (연구 + 하 + 았 + 다)  연구 • fishing, fished, fish, fisher  fish – 명사류 추출 – 색인어의 출현 빈도(TF: Term Frequency) 계산 문서(DOCID) (추출된 색인어, TF) 001 (병렬, 4) (시스템, 3) 002 (정보, 2) (검색, 3) (시스템, 2) 003 (프로그램, 4) (시스템, 3) (성능, 1) 004 (병렬, 2) (프로그램, 2) 9
  • 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
  • 15. Searcher • Vector Model 쿼리: (병렬,2) (시스템,1) (프로그램,1) [문서] 0001: (병렬, 4) (시스템, 3) 0002: (정보, 2) (검색, 3) (시스템, 2) 0003: (프로그램, 4) (시스템, 3) (성능, 1) 0004: (병렬, 2) (프로그램, 2) 검색 병렬 성능 시스템 정보 프로그램 쿼리 0 2 0 1 0 1 0001 0 4 0 3 0 0 0002 3 0 0 2 2 0 0003 0 0 1 3 0 4 0004 0 2 0 0 0 2 (2 4 1 3) 8 3 (1 3 1 4) sim(q, d1 ) 0.90 sim(q, d 3 ) 0.57 2 2 12 12 4 2 32 2.45 5 2 2 12 12 12 32 42 (1 2) (2 2 1 2) sim(q, d 2 ) 0.20 sim(q, d 4 ) 0.87 2 2 12 12 32 22 22 2 2 12 12 22 22 0001 > 0004 > 0003 > 0002 15
  • 17. 키워드 검색 미국과 일본 일본과 미국의 반도체 미국의 반도체 수출 미국의 반도체 수입 일본의 항공기 수출 “일본의 반도체 수출과 일본, 반도체, 수출, 일본의 항공기 수입 미국의 항공기 수입” 미국, 항공기 수입 …… 17
  • 18. 중의성 • 주관적 정보 – 문맥 해석의 차이 유아 – 아기 • 예) 눈 제자 – 학생 구매 – 구입 기질 – 특성 슬픈 – 우울한 – 시대의 차이 미녀 – 미인 • 예) 차 인간 – 사람 …. [100년전] [지금] – 환경의 차이 • 예) 시간표 [버스] [기차] [일과] 18
  • 19. 그 밖의 어려움 • Numbers – 010-444-6567, 4105-1201-2310-2213, … • Hyphens – New-York New York – B-49  B 49 • Punctuation Marks – 510B.C  510BC – val.id  valid • Stopword (불용어, 성인) – a, the, this, that, where, when, …. – 성폭행, 조폭, 폭력, 단란주점, 소녀, 스타킹, … 19
  • 21. Solr 검색 엔진 • 검색 데모 URL – http://ncue.net:8983/solr/select/?q=%EC%95%88%EC%B2%A0 %EC%88%98+%EB%8C%80%EA%B6%8C&version=2.2&start =0&rows=10 • 서제스트 데모 URL – http://ncue.net:8983/solr/suggestion/suggest?q=%EB%AF%B8% EB%9E%98 21
  • 23. 검색 고도화 기법 신한은행 마스터즈 나이키 US오픈 메이저 롯데카드 대회 최경주 오픈챔피언십 후원사 SK텔레콤 PGA챔피언십 데니스골프 23
  • 24. 데이터 마이닝 • 검색쿼리: 신민아 • 검색 고도화 24
  • 27. 호모서치엔스 검색은 새로운 취미와 새로운 인관 관계를 가질 수 있는 기 회를 제공해주는 도구이자 창입니다. 27
  • 28. 질의/응답 dsyoon@ncue.net 28