검색엔진

Similar documents
PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Æí¶÷4-¼Ö·ç¼Çc03ÖÁ¾š

untitled

PowerPoint Presentation

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

(......).hwp

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

EndNote X2 초급 분당차병원도서실사서최근영 ( )

Index

비식별화 기술 활용 안내서-최종수정.indd

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

슬라이드 1

Observational Determinism for Concurrent Program Security

Microsoft PowerPoint - 27.pptx

PowerPoint 프레젠테이션

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

PHP & ASP

RUCK2015_Gruter_public

놀이동산미아찾기시스템

슬라이드 1

160322_ADOP 상품 소개서_1.0

e- 11 (Source: IMT strategy 1999 'PERMISSION ' ) The World Best Knowledge Providers Network

1217 WebTrafMon II

김기남_ATDC2016_160620_[키노트].key

PowerPoint 프레젠테이션

인터넷 검색엔진

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

MySQL-.. 1

로거 자료실

Social Network

UML

출원국 권 리 구 분 상 태 권리번호 KR 특허 등록

Microsoft PowerPoint - MonthlyInsighT-2018_9월%20v1[1]

CRM Fair 2004

11강-힙정렬.ppt

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

많이 이용하는 라면,햄버그,과자,탄산음료등은 무서운 병을 유발하고 비만의 원인 식품 이다. 8,등겨에 흘려 보낸 영양을 되 찾을 수 있다. 도정과정에서 등겨에 흘려 보낸 영양 많은 쌀눈과 쌀껍질의 영양을 등겨를 물에 우러나게하여 장시간 물에 담가 두어 영양을 되 찾는다

목 차 요약문 I Ⅰ. 연구개요 1 Ⅱ. 특허검색 DB 및시스템조사 5

도서관 소식 6호

별지 제10호 서식

DBMS & SQL Server Installation Database Laboratory

NoSQL

C# Programming Guide - Types

1701_ADOP-소개서_3.3.key

제목을 입력하세요.

Yggdrash White Paper Kr_ver 0.18

컴파일러

2017 년 6 월한국소프트웨어감정평가학회논문지제 13 권제 1 호 Abstract

결과보고서

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

(주)나우프로필의 이동형 대표 개편의 방향이 시민참여를 많이 하는 방향이라, 홈페이지 시안 이 매우 간편해져서 소통이 쉬워질 것 같다. 다만 웹보다 모바일 이용자가 지속적으로 급증하는 추세이므로 이에 적합한 구조가 되도록 보장해야 한다. 소셜미디어전략연구소 배운철 대표

PowerPoint 프레젠테이션

ecorp-프로젝트제안서작성실무(양식4)

What is ScienceDirect? ScienceDirect는 세계 최대의 온라인 저널 원문 데이터베이스로 엘스비어에서 발행하는 약,00여 종의 Peer-reviewed 저널과,000여권 이상의 도서를 수록하고 있습니다. Peer review Subject 수록된

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

歯스왑노트1

chap 5: Trees

게시판 스팸 실시간 차단 시스템

Multi-pass Sieve를 이용한 한국어 상호참조해결 반-자동 태깅 도구

강의 개요

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

레이아웃 1

초보자를 위한 ADO 21일 완성

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

을 할 때, 결국 여러 가지 단어를 넣어서 모두 찾아야 한다는 것이다. 그 러나 가능한 모든 용어 표현을 상상하기가 쉽지 않고, 또 모두 찾기도 어 렵다. 용어를 표준화하여 한 가지 표현만 쓰도록 하여야 한다고 하지만, 말은 쉬워도 모든 표준화된 용어를 일일이 외우기는

PowerPoint 프레젠테이션

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

PowerPoint Presentation

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

3. 네이버검색 제 3장에서는네이버검색서비스에대한내용을살펴본다. 네이버검색은네이버에서가장대표적인서비스이다. 네이버검색서비스는계속진화하여다양하고정교한검색방법을제공하고, 다양한영역에서추출된검색결과를제공하고있다. 특히다양한영역의검색결과를한꺼번에보여주는 통합검색 방식은네이버검

초보자를 위한 분산 캐시 활용 전략

음악의 구성 형식에 따라 추출된 대표 선율을 이용한 내용 기반 음악 검색 시스템

[Brochure] KOR_TunA

intro

elastic-meetup

Web Scraper in 30 Minutes 강철

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

UNIST_교원 홈페이지 관리자_Manual_V1.0

와플-4년-2호-본문-15.ps

Database Search 편 * Database Explorer 8개의카테고리로구성되어있으며, 데이터베이스의폴더역할을하는 subset ( 혹은 subbase) 을생성하여데이터를조직및관리하게된다. 클릭! DNA/RNA Molecules : feature map의데이터

I I-1 I-2 I-3 I-4 I-5 I-6 GIS II II-1 II-2 II-3 III III-1 III-2 III-3 III-4 III-5 III-6 IV GIS IV-1 IV-2 (Complement) IV-3 IV-4 V References * 2012.

DocsPin_Korean.pages

4.18.국가직 9급_전산직_컴퓨터일반_손경희_ver.1.hwp

PowerPoint 프레젠테이션

교육실습 소감문

PowerPoint 프레젠테이션

Network seminar.key

Database Applications - 멀티미디어 데이터베이스 – 제6장 텍스트 색인과 검색

슬라이드 1

Microsoft Word - privacypolicy_bk4.docx

Open Cloud Engine Open Source Big Data Platform Flamingo Project Open Cloud Engine Flamingo Project Leader 김병곤

기타자료.PDF

BSC Discussion 1

Microsoft Word - How to make a ZigBee Network_kr

PowerPoint 프레젠테이션

Transcription:

elaborate 2014.10.08 INTRODUCTION TO 검색엔진

들어가기전에 이 ppt 는전혀화려하지않음 ( 테마가 DeepDark 함 ) 그래도최대한정갈하게하려고함 검색엔진은생각보다배경지식이좀많이필요하긴함 그래도부담적게언급하고만넘어가는수준으로하려고함 수학적인부분없음 제가수학을못함 그리고생각보다준비를못함ㅜㅜ 이점후회 ing

다룰내용 검색엔진이란? 용어 오픈소스검색엔진 (Lucene) 간단한실험 다른이야기

검색엔진이란 일반적으로는웹검색엔진을의미 서비스측면에서검색엔진의역할이큼 하지만검색엔진이필요한곳은의외로많음 DB, 메일, 문서내용검색, 데이터분석솔루션, 그룹웨어등등 주로 Full Text Search 에특화된기능을의미

검색엔진이란 말그대로검색을위한엔진 검색 찾고자하는내용을보여주는것 검색엔진의측면에서 Exact matching 만을의미할이유는없음 소위말해개떡같이물어도철썩같이대답하기위함 이게매우많이나아가면 knowledge search 가되겠죠?? 기술적으로말하면 matching score 가높은순서로 top rank 를뽑는작업 엔진 어떠한기능 ( 공통적인 ) 을쉽게구현할수있도록도와주는 software 검색은보통색인과검색으로나뉨 어떤색인도공통적인과정과방법들이있을것이요, 어떤검색도공통적인과정과방법들이있을것이라

의문점 아니 DB Index 를그냥쓰면안돼요? 원하는것만색인하고싶은마음 ( 은접시에놓은포도 ) 은접시 의 은 은의미가있으나, 놓은 의 은 은조사에불구한현실 ex) satisfy, satisfied, satisfying Phrase 검색같은고차원검색이안됨 ( 혹은느림 ) Ex) 안병욱아이유 ~3 ( 문서내의 Token 간거리가 3 이하 ) 다양한통계가쿼리단에서쉽게처리안됨 그래도쓰고싶은데요? DB TEXT Field 는색인이안됨 (prefix 값을주어야만함 ) -- mysql 내가찾는내용이만일 prefix 쪽에없다면망함

의문점 FULLTEXT Field 는 FullText Index 이되는걸요? http://dev.mysql.com/doc/refman/5.7/en/fulltext-restrictions.html 파티션테이블에서지원안됨 색인 component 를바꾸기가힘듬 DB가한글, 일본어, 중국어에대해잘알거같아요? Exact Match만찾아줌 Data가바뀌면 Index Tree 전체가흔들흔들 ~ 되는애도있지않아요? 그럼그거쓰세요. PostgreSQL 거의검색엔진과비슷하더이다 http://www.postgresql.org/docs/9.3/static/textsearch.html

그럼이점은뭐가있죠? 데이터따로색인따로 INSERT 도많아죽겠는데그때마다 indexing 들어가면 Transaction 이매우느려질수있음 검색의반영이좀 delay(minutes) 되어도문제없으면분리하는게서비스가원활히될수있음 Fault Tolerance?? 당장 DB 가죽어도서비스가내려가지않음 색인이살아있어서마지막색인까지는검색을제공함 색인방식의 customize 색인하는방식을통해원하는데이터를원하는방법으로추출이가능해데이터분석측면에서쉽게시도가가능 다양한쿼리제공 다차원쿼리를이용해서검색을가능하게함 검색결과에 weight 를주는것도가능

용어 Document Field Value 기본색인단위 Document의내용을구분하는단위각 field는 type을가지고있다 (int, date, text_ko, text_en ) Field 에들어가있는값 Indexing 색인 검색을빠르게하기위해미리하는작업 Querying 질의 만들어진색인을이용해검색을하는작업

용어 Crawling ( 생략 ) Get Raw Data Indexing Parsing Analyzing Tokenizing Filtering Querying Parsing Analyzing Tokenizing Filtering Result!!! ( 생략 )

용어 Parsing Raw Data 를 Document 를생성하기위한작업 cf) 꼭 HTML 일이유는없음 DB Tuple 도가능, PDF 도가능, 뭐든 Document 생성전단계 ex) Tuple : (postid, link, rawhtml, crawldate) Document : (postid, link, domain, tag removed HTML, date, email address, hyperlink count, )

용어 Tokenizing 주어진값을쪼개어분석의단위 Token을만드는작업 Regex 를사용하는게흔함 (sketch regex) 한글 [ ㄱ-ㅎ ㅏ-ㅣ 가-힣 ] 영어 [a-za-z] Email { 영어 }@{ 영어 }.{ 영어 } Twitter Hash #{ 영어 한글 몇몇특수문자 } 가격 { 숫자,}{ 가격단위 } Ex) 안병욱과아이유 (IU) 는아무런사이가아니다 ( 안병욱와, 아이유, (IU), 아무런, 사이가, 아니다 ) Ex) 아!!!!!!! DB 퀴즈가아주쫄깃하구나ㅋㅋㅋㅋ ( 아, DB, 퀴즈가, 아주, 쫄깃하구나 )

용어 Filtering Token 가지고색인될값을뽑아내는작업각 token의종류 (token type) 에따라알맞은처리작업을진행 변형, 삭제, 새로운값삽입 Ex) ( 안병욱와, 아이유 (IU) 는, 아무런, 사이가, 아니다 ) ( 안병욱, 아이유, 아무런, 사이, 아니 ) ( IU ) ( 안병욱, 아이유, 아무런, 사이, 아니 ) ( iu ) Ex) ( 아, DB, 퀴즈가, 아주, 쫄깃하구나 ) (DB, 퀴즈, 아주, 쫄깃 ) (db, 퀴즈, 아주, 쫄깃 )

Token Position Term text Start offset End offset Type

유의 Indexing 과 Querying 은모두각각 Tokenizing 과 Filtering 을진행한다 보통같은 Field 에대해서는같은 Tokenizing 과 Filtering 을거치게설정하지만다르게하는것도충분히가능 원하면 Tokenizing 전체그대로넘겨도됨 원하면 Filtering 안해도됨 요즘은검색엔진을포함해 Crawling, Data Analyzing 까지같이하는검색서버가많다 (search and analyze) Solr, Elasticsearch 이들은앞서말한것들을각각구현체들은자기들의철학에구현하였다

유의 synonyms stopwords elevate facet http://143.248.234.137:8983/solr/pp/select?q=*%3a*&wt=json&in dent=true&facet=true&facet.date=proposed_date&facet.date.ga p=%2b1month&facet.date.start=1900-01- 01T00:00:00Z&facet.date.end=2014-12- 31T00:00:00Z&facet.date.include=lower

오픈소스검색엔진 Lucene Solr Elasticsearch 그이외에매우많음

Lucene 검색엔진임 그냥쓰기는어려워서 ( 구현할게좀많아짐 ) Solr 혹은 Elasticsearch 를이용해서쉽게 manipulation 을함 http://lucene.apache.org/core/ http://lucene.apache.org/solr/ http://www.elasticsearch.org/

Solr 이거은근히편함. 이걸쓰자 요즘은 Elasticsearch 가대세이긴함 Nested document 가능 Parent child Relation 가능 더다양한 field type 있음 근데그건얘네돈벌려고하다보니발전한것. RedHat 같은비즈니스모델 http://lucene.apache.org/solr/tutorial.html

Solr Plug-ins https://wiki.apache.org/solr/solrplugins Solr Plugin 들을만들기위한가이드 Interface 를잘맞춰주고설정에잘알맞게넣으면됨 ( 참쉽죠?) One Tokenizer Token을뽑아내는작업예 ) 웹내용분석기 (WebContentTokenizer) 각 Token 별로 Position, Text, Type, Start, End 값들을부여한다 Type은 KOREAN, EMAIL, PRICE 같이부여할수있음 Jflex 이용하면은근편리함 Multiple TokenFilters 분리된 Token 을조작 ( 주로 Text 값을이용해서 ) 예 ) KoreanFilter 형태소분석을해서조사를없애는작업을진행

간단한실험 강철회원이준데이터를한번써보겠습니다 아근데문제는제가 Relationship 을잘몰라서 ;;; 단순히한 Table 만해보도록하겠습니다 http://lucene.apache.org/core/2_9_4/queryparsersyntax.html https://wiki.apache.org/solr/solrquerysyntax https://github.com/toastdriven/pysolr/ http://143.248.234.137/~elaborate/search_engine/ schema.xml

다른이야기 다른분야의활용 Carrot2 http://project.carrot2.org/ 한글 NLP KAIST 한나눔프로젝트 http://semanticweb.kaist.ac.kr/home/index.php/hannanum 서울대꼬꼬마프로젝트 http://kkma.snu.ac.kr/ 국민대 http://nlp.kookmin.ac.kr/ham/kor/ 부산대 http://urimal.cs.pusan.ac.kr/urimal_new/board/board_oo/main.asp 형태소 -> 문구 -> 문맥의분석에서인류가한것은문구조금까지 http://nlp.stanford.edu/software/lex-parser.shtml

알면좋을만한거 Large Scale Search ( 분산 Index) Sharding Hadoop base Solr (SolrCloud) 어떤이가 Solandra 하다가 SolrCloud 나오고망함 ( 지못미 ) Knowledge Search (Graph Search) 지금까지본건매우기초적인검색엔진포맷 Flatten Search Engine 하지만우리의현실은 Graph 천지 Nested, Parent/Child Denormalization

업계에서는? 웹검색 구글, 네이버, 다음등등 Full Text Data 분석 다음소프트닐슨코리아코난테크 현실괴리 이거생각보다노동많이함 데이터뽑고수작업수작업수작업 데이터가좋아도 Domain Knowledge 없으면시무룩 결국데이터소유자가장땡

동아리에서쓸방법은? 아라어떻습니까아라 내가알기로는 DB Query 라고알고있음 로드가높음그리고정확하지않을확률이큼 KSearch? 글쎄? 잘모르겠음 뭔가모종의문제가있었던걸로기억 ( 형태소분석저작권 ) 어쨌든검색이필요한많은곳에서활용이가능하지않을까

Q&A