26
알고리즘 권성현, 김민희, 이상윤, 송서하, 정현정 디렉터 : 최진호

[4차]구글 알고리즘 분석(151106)

  • Upload
    -its

  • View
    478

  • Download
    2

Embed Size (px)

Citation preview

Page 1: [4차]구글 알고리즘 분석(151106)

알고리즘

권성현, 김민희, 이상윤, 송서하, 정현정 디렉터 : 최진호

Page 2: [4차]구글 알고리즘 분석(151106)

1. 구글과 알고리즘

Page 3: [4차]구글 알고리즘 분석(151106)

알고리즘이란?1-1

알고리즘 : 업무의 프로세스에 따라 정의된 명령어들을적절한 순서로 나열 후 이것을 정확하게 수행하면같은 목표가 달성되도록 하는 방법.

입력 알고리즘 실행 결과물출처 : http://backjooboo0410.tistory.com/52

3/26

Page 4: [4차]구글 알고리즘 분석(151106)

구글의 핵심 알고리즘.1-2

구글의핵심역량중하나는정교한검색알고리즘.검색은어떤알고리즘으로구성되었는가?

4/26

Page 5: [4차]구글 알고리즘 분석(151106)

2. 검색엔진은 어떤 알고리즘으로 구성되는가

Page 6: [4차]구글 알고리즘 분석(151106)

Find documents relevant to an information need from a large document set

Document collection

Info. need

Query

Answer list

IR systemRetrieval

검색엔진이란?2-1

6/26

Page 7: [4차]구글 알고리즘 분석(151106)

→Find documents relevant to an information need from a large document set

Document collection

Info. need

Query

Answer list

IR systemRetrievalHow?

검색엔진이란?2-1

7/26

Page 8: [4차]구글 알고리즘 분석(151106)

Document collection

Info. need

Query

Answer list

IR systemRetrieval

Indexing Process Query Process

검색엔진의 구조2-2

8/26

Page 9: [4차]구글 알고리즘 분석(151106)

검색엔진의 구조 – 1) Indexing Process2-2

9/26

Page 10: [4차]구글 알고리즘 분석(151106)

검색엔진의 구조 – 1) Indexing Process2-2

Text Acquisition

Text Transformation

Index Creation

10/26

Page 11: [4차]구글 알고리즘 분석(151106)

Indexing Process – Text Acquisitoin2-3

Text Acquisition

Text Transformation

IndexCreation

Text Acquisition: Identifies and Stores document for Indexing

11/26

Page 12: [4차]구글 알고리즘 분석(151106)

Indexing Process – Text Transformation2-3

Text Acquisition

Text Transformation

IndexCreation

Text Transformation : Transforms documents into Index terms- Area of Natural Language Processing(자연어 처리)

Parser, Stopping, StemmingLink Analysis, Classifier

신문기사(원문)

“새해첫증권시장단일장으로열려”

새해첫증권시장이 3일오전 11시부터오후 1시까지 2시간동안당일장으로열렸다.

<DOCID>HKIB94-15<TI>새해 새해/NNG첫 첫/MM증권시장 증권/NNG + 시장/NNG단일장으로 단일/NNG + 장/NNG + 으로/JKB열려 열리/VV + 어/EC<TEXT>새해 새해/NNG첫 첫/MM증권시장이 증권/NNG + 시장/NNG + 이/JKS3일 3/SN + 일/NNB오전 오전/NNG11시부터 11/SN + 시/NNB + 부터/JX오후 오후/NNG1시까지 1/SN + 시/NNB + 까지/JX2시간동안 2/SN + 시간/NNG + 동안/NNG

12/26

Page 13: [4차]구글 알고리즘 분석(151106)

IndexCreation

Indexing Process –Index Creation2-3

Text Acquisition

Text Transformation

Index Creation : Take index terms and create data structuresTo support fast searching

Doc. 1

한국 ………. 대학 …..교육 …. 한국

Doc. 2

한국 ……대학 …..…. 교육 ….

Doc. 3

역사 ……….. 한국 …..고대 ….

고대 – Doc. 3한국 - Doc. 1, Doc. 2, Doc. 3교육 – Doc. 1, Doc. 2대학 - Doc. 1, Doc. 2

새해 새해/NNG첫 첫/MM증권시장 증권/NNG + 시장/NNG단일장으로 단일/NNG + 장/NNG + 으로/JKB열려 열리/VV + 어/EC

Inverted Index

Doc. 1 – 한국, 대학, 교육Doc. 2 – 한국, 대학, 교육Doc. 3 – 역사, 한국, 고대

Index

13/26

Page 14: [4차]구글 알고리즘 분석(151106)

검색엔진의 구조 – 2) Query Process2-4

14/26

Page 15: [4차]구글 알고리즘 분석(151106)

User Interaction Supports creation and Refinement of query & Display results

Query Process – User Interaction2-4

Evaluation

UserInteraction

Ranking

대표적인 알고리즘 : N-Gram

전체 문자열을 N개의 문자열로 나눈 후, 이 조각난 문자열들을 키워드로 검색수행,

검색 DB를 바탕으로 그 키워드 들 중 가장 높은 출현빈도를 가지는 결과물을 출력

한다.오늘은기분이좋다

=> A[오늘, 늘은, 은기, 기분, 분이, 이좋, 좋다]

=> P(오 늘은기 분이 좋다) < P(오늘은 기분이 좋다)15/26

Page 16: [4차]구글 알고리즘 분석(151106)

User Interaction Supports creation and Refinement of query & Display results

Query Process – User Interaction2-4

Evaluation

UserInteraction

Ranking 오늘은기분이좋다

=> A[오늘, 늘은, 은기, 기분, 분이, 이좋, 좋다]

=> P(오 늘은기 분이 좋다) < P(오늘은 기분이 좋다)

대표적인 알고리즘 : N-Gram

전체 문자열을 N개의 문자열로 나눈 후, 이 조각난 문자열들을 키워드로 검색수행,

검색 DB를 바탕으로 그 키워드 들 중 가장 높은 출현빈도를 가지는 결과물을 출력

16/26

Page 17: [4차]구글 알고리즘 분석(151106)

Query Process –Ranking2-2

IndexCreation

Text Transformation

Text Acquisition

Evaluation

UserInteraction

Ranking

17/26

Page 18: [4차]구글 알고리즘 분석(151106)

이 문서가 쿼리가 원하는(Relevant) 문서일 확률을 점수화(Scoring)하는 과정.

Language Model (Algorithm)

Query Likelihood Retrieval Model : ‘문서’와 ‘질문 문장’과의 언어적 유사도를 기준으로확률을 계산, 랭킹을 매기는 모델.

||)|(

)|()|(

,

1

D

fDqP

DqPDQP

Dq

i

n

i

i

i

𝒒𝒊 - 쿼리(query) 단어를 대표하고, 쿼리에 n개의 단어가 존재한다고 가정

𝒇𝒒𝒊,𝑫 - 문서 D에 존재하는 단어(명사) 중 쿼리 단어 𝑞𝑖 의 출현 빈도

𝑫 - 문서 D 내에 모든 단어(명사)의 수

Ex) Dirichlet Smoothing model

Query Process –Ranking2-4

Evaluation

UserInteraction

Ranking

18/26

Page 19: [4차]구글 알고리즘 분석(151106)

B의 페이지랭크 =B를 링크하는 사이트들의 페이지 랭크의 총합

1. 각 페이지가 서로에게 가지는 링크들의 수를 계산

2. 위의 계산결과를 바탕으로 다시 한 번 페이지 랭크를 계산한다.

Evaluation

UserInteraction

Ranking

Query Process –Ranking2-4

19/26

Page 20: [4차]구글 알고리즘 분석(151106)

• PR(A) = (1-d)/n + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))

사이트 A의페이지랭크

A를 링크하는페이지 T1의페이지랭크

페이지 T1의총 링크 수

• 웹페이지의 T1부터 Tn까지의 페이지랭크/총링크수의 합

Query Process –Ranking2-4

Evaluation

UserInteraction

Ranking방문한 페이지에서

멈추고 다른 페이지로넘어가지 않을 확률

20/26

Page 21: [4차]구글 알고리즘 분석(151106)

• PR(A) = (1-d)/N + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))

Query Process –Ranking2-4

Evaluation

UserInteraction

Ranking

영향력 있는 페이지가 인용할수록 페이지랭크는 올라간다사람들이 올바르게 인용하지 않을 경우 페이지랭크는 작동하지 않는다.

21/26

Page 22: [4차]구글 알고리즘 분석(151106)

Evaluation Monitors and measures Effectiveness and efficiency

검색엔진의 구조 – 2) Query Process2-4

Evaluation

UserInteraction

Ranking

클릭한 횟수거주 시간

무슨 질문을 했는지? 어떤 사이트를 클릭했는지?

로그 데이터를 기반으로검색결과를 최적화, 이 결과를 Ranking에 반영한다

22/26

Page 23: [4차]구글 알고리즘 분석(151106)

3. 경쟁업체와의 비교

Page 24: [4차]구글 알고리즘 분석(151106)

경쟁업체 - 야후3-1

글의 맥락을 파악하여 인간이 카테고리를 분류, 정렬.전통적인 도서(미디어)분류 방법에 하이퍼텍스트 적용

24/26

Page 25: [4차]구글 알고리즘 분석(151106)

경쟁업체 - 야후3-1

“야후는 기술기업이 아닌 미디어 기업이다.”그러나 서브 카테고리가 2만개를 넘어서며 정렬에 한계

25/26

Page 26: [4차]구글 알고리즘 분석(151106)

야후 VS 구글3-2

YAHOO Google

정보의 정렬기계는 판단하지 못하는 맥락을

인간이 읽고, 이를 분류해야 한다.모든 내용을 DB화,

그것에 순위를 매기는 방법 고안.

검색기능초기에는 지원하지 않음.

서비스 개선을 위해 외부기술 도입처음부터 검색이 핵심

사업구조 초기화면에 배너광고를 제공 검색결과에 광고를 제공.

핵심역량 주제에 따라 분류된 카테고리 효율적인 검색 알고리즘.

■야후

■구글

구글 vs 야후의순이익비교1996년 Q1부터 2011년Q2까지http://www.theguardian.com/uk/technology/blog/2011/jul/18/all

26/26