디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

구글 검색 알고리즘의 원리

...(141.223) 2007.04.24 09:40:33
조회 1313 추천 0 댓글 1


구글의 PageRank 알고리즘에 대해 내가 알고있는 것을 써보려고 해.
원리도 굉장히 직관적이고, 실질적인 성능까지 보여준 좋은 알고리즘이지.
이 알고리즘의 직관적인 내용은 프갤에 있는 횽들 대부분이 알고 있을 거야.
다른 page들로부터 link가 많이 걸린 사이트 (= inner link가 많은 사이트) 는 좋은 사이트,
다른 page들로의 link가 많은 사이트 (= outer link가 많은 사이트) 는 별 정보가 없는 사이트.
이런 식으로 해서 rank를 매긴다는 얘기.

그런데 이 알고리즘은 그보다 좀 더 깊은 원리가 있는데...
아마 검색 알고리즘에 관심이 많은 횽들에게 도움이 될 지도 몰러. (yundream횽 등등)

우선 문서 검색 (꼭 웹이 아니라도) 을 생각해 보자.
보통 (문서가 됐든 뭐가 됐든) 검색할 대상 데이터는 우선 벡터화를 하게 돼.
문서 데이터의 경우, 어떤 문서 벡터의 n 번째 원소의 값은, 대개 지정 단어가 해당 문서에 나오는 횟수를 의미해.
(횟수가 될 수도 있고 그에 준하는 어떤 상대적인 비율이 될 수도 있음)

예를 들면.
1번째 원소는 \"상상플러스\" 라는 단어의 빈도수를 나타내고,
2번째 원소는 \"김제동\",
3번째 원소는 \"무한도전\",
...
이렇게 10개의 원소들은 연예 방송과 관련된 단어들의 빈도수를 나타내도록 정의하고,
또 다른 10개의 원소들은
\"홈런\", \"타점\", \"삼진\", \"이승엽\", \"양키스\" 등등, 야구와 관련된 단어들의 빈도수로 정의하는 거야.

그러면 하나의 문서를 20개의 원소를 가지는 벡터로 나타낼 수 있겠지.

왜 이렇게 \"벡터화\"를 하느냐?
근본적인 이유는, 임의의 두 아이템에 대해 둘 사이의 유사성 (또는 거리) 를 구할 수 있어야 하기 때문이야.
사람이야 당연히, 눈으로 읽고 머리로 이해하고 \"야구 기사\"과 \"연예 기사\"를 분리해 낼 수 있겠지만
컴퓨터가 \"야구 기사의 string set\"과 \"연예 기사의 string set\"을 가지고
실제 각각이 어떤 내용인지 이해하는 건 불가능하잖아.

물론 벡터화 하는 방법은 꼭 이것 말고도 여러 가지 방법들이 있지만,
아무튼 어떤 식으로든 벡터화를 했다고 하자.
그러면 이제 임의의 두 문서간의 \"거리\"를 구할 수 있게 되는데,
벡터의 각 자리별로 차를 구하고, 각각의 차를 제곱해서 더하면 돼.

이때 주제가 서로 다른 문서들은 주제가 같은 문서들에 비해 거리가 커지게 되는데,
예를 들어 상상플러스에 관한 두 문서(A,B)와 야구에 관한 문서(C)가 있고,
A의 첫 번째 원소값(\"상상플러스\" 빈도수)은 10, 두 번째 원소값(\"김제동\" 빈도수)은 5라고 하고,
B는 각각 8, 9라고 하자.
C는 야구 관련 문서니까 둘 다 0이겠지? (물론 이승엽과 김제동이 친구 사이긴 하지만;)
그럼 이 원소들에 대한 차이만 계산하더라도,
A와 B 사이의 차(이걸 d(A,B)라고 할께)는 2^2 + 4^2 = 20.
d(A,C) = 10^2 + 5^2 = 125.
d(B,C) = 8^2 + 9^2 = 145.

확실히 차이가 나지?
이처럼 비슷한 주제의 문서들끼리는 대체로 거리가 가깝고,
상이한 주제끼리는 거리가 멀어지고 그러는 경향이 나타나게 돼.

그런데 문제가 있으니, 뭐가 문제냐...
나머지는 다음 글에서;;;
아놔 본론의 ㅂ자도 아직 안꺼냈는데 글이 이렇게 길어지네;;;

추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 리플 0
등록순정렬 기준선택

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
AD [삼성 디지털프라자] 가전을 나답게 BESPOKE&그랑데AI 운영자 20/10/23 - -
공지 프로그래밍 관련 내용이 있어야 합니다. [14] 운영자 20.09.28 810 16
1505424 리액트 네이티브도 충분히 매력적임 [1] ㅇㅇ(220.120) 11:41 10 0
1505423 초급개발자의 기준이 뭐임? 또릿(121.162) 11:41 8 0
1505422 집중 잘하는법 찾아냈다 헬마스터갤로그로 이동합니다. 11:35 18 0
1505421 8년전 지인한테 갑자기 연락하면 양심없냐? [2] ㅇㅇ(106.101) 11:35 26 0
1505420 객체지향 끝판왕은 프레임워크 만들기지 NamepeN갤로그로 이동합니다. 11:34 19 0
1505419 삼성 미국가면 직원은 어디까지 데려감? [2] ㅇㅇ(39.7) 11:31 25 0
1505418 자바 질문이야야야 알려줘엉 [9] ㅇㅇ(121.190) 11:30 32 0
1505417 근데 서버 등 장비납품하면 매출 쎄고, 인력공급은 매출 약하고 그러냐? [1] ㅇㅇ(121.183) 11:29 19 0
1505416 나는 프갤에서 제일 부자 될거다 언어성지능200리보갤로그로 이동합니다. 11:26 21 0
1505415 게이들아..이거 프로그래밍돌려줄수잇냐?? [5] ㅇㅇ(118.235) 11:24 52 2
1505414 NoSQL 니들 뭐 쓰냐? [2] ㅇㅇ(106.101) 11:21 34 0
1505413 자동로그인원리가 ㅇㅇ(222.232) 11:19 21 0
1505412 고졸 지잡 국비새끼들이 이재용 상속세를 걱정하네 ㅇㅇ(119.194) 11:19 20 0
1505411 리누스 토발즈 이새끼 오라클 혼자서 짤 수 있냐? [4] ㅇㅇ(106.101) 11:16 48 0
1505410 객체 지향에서 상속 개념도 모르는 새끼들이 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ [3] ㅇㅇ(112.171) 11:10 68 3
1505409 유튜브에서 움짤따는 앱 토이프로젝트로 하고잇는데 ㅇㅇ(110.70) 11:09 19 0
1505408 외향적 성격을 고쳐라 손발이시립니다갤로그로 이동합니다. 11:07 17 0
1505406 타입이없음 불안함 [1] 피에로는배달원갤로그로 이동합니다. 11:06 23 0
1505405 사전 번호 등록필요 없는 sms api 없어? 인증할때만 쓸라고하는데 코린이(1.238) 11:05 20 0
1505404 디씨같은 똥글 오지게 많은건 NoSQL 좋지않냐? ㅇㅇ(106.101) 11:02 28 0
1505403 정보보안(해킹) 단기과정 국비 가능 냠냠이(61.253) 11:00 32 0
1505402 상속세 [1] ㅇㅇ(218.234) 10:56 43 1
1505401 상속세 좆도 관심 없으면 개추 ㅋㅋ [1] ??하세요갤로그로 이동합니다. 10:52 46 2
1505400 개발자들이 리듬게임에 환장하는 이유는 대체 뭔가요 ㅇㅅㅇ [1] 초코냥갤로그로 이동합니다. 10:52 48 0
1505399 알고리즘 공부하고싶은데 좋은책이나 강의 없긔? 표창장(124.51) 10:52 22 0
1505398 앱 만들려면 뚝딱 할 수 있는데 , 안하는 이유가 멀까 [1] ㅇㅇ(218.234) 10:51 28 0
1505397 근데 상속세 폐지는 능력주의에 위배되는거 아니냐? [8] ㅇㅇ(175.196) 10:49 103 1
1505396 RN, Flutter 바를 크로스 플랫폼 프레임웍 [3] ㅇㅇ(113.130) 10:45 56 1
1505395 상속세 찬성 == 사회주의 [7] ㅇㅇ(223.39) 10:43 57 0
1505394 회사가 어디나라껀지는 뭘로 정해짐? [5] ㅇㅇ(223.39) 10:41 57 0
1505393 자바스크립트 질문좀 받아주실 수 있나요? ㅜㅜ [7] 개늅늅(58.76) 10:40 47 0
1505392 NHN애들이 쓰는 weekly pick 재밌지않냐 [3] ㅇㅇ(122.249) 10:39 34 0
1505391 파이썬 문법으로 설명한 data structure 좋은책이나 강의 바리악갤로그로 이동합니다. 10:37 16 0
1505390 한국 게임업계는 진짜 개병신새끼들 모아둔곳인가 [2] ㅇㅇ(112.151) 10:33 72 0
1505389 세이버 모음 ㅇㅅㅇ 초코냥갤로그로 이동합니다. 10:32 33 0
1505388 PHP 공식문서 ㅠ [2] 피치피(220.95) 10:31 42 0
1505387 상속세 때문에 기업이 해외로 간다는건 뭔 논리냐 [14] ㅇㅇ(182.210) 10:29 88 0
1505386 ㄷㄷ 668이 나오네 왜그러지 ㅇㅇ(223.39) 10:27 26 0
1505385 여기 c++ 초고수도 있나요? ㅇㅇ(106.101) 10:25 26 0
1505384 암만 봐도 플러터가 희망인데 생태계 좆망임 [1] ㅇㅇ(128.134) 10:22 41 0
1505383 String Extension으로 죄다 추상화시켜버리는거 어떻게 생각함? 11(92.222) 10:21 21 0
1505382 외향적 성격을 고쳐라 손발이시립니다갤로그로 이동합니다. 10:18 24 0
1505381 C++시험 문제 오류같은데 내가 틀린지 알려줄 횽 있어? [13] ㅇㅇ(223.39) 10:17 80 0
1505380 앱플레이어로 돌릴만한 게임 추천좀ㅇㅇ [6] 17번갤로그로 이동합니다. 10:15 34 0
1505379 으 짜증 (175.196) 10:14 17 0
1505378 프로그래밍에서 슬로씽킹을 어떻게 활용해야함 이스미갤로그로 이동합니다. 10:12 24 0
1505377 이런 말하면 싸이코패스라고 생각하냐? [22] 11(92.222) 10:11 108 0
1505376 나 외주 처음 해본 경험.txt [2] 이스미갤로그로 이동합니다. 10:10 76 1
1505375 광운대 좋냐? [3] 꺼억갤로그로 이동합니다. 10:10 34 0
갤러리 내부 검색
전체게시물 정렬 옵션

오른쪽 컨텐츠 영역

힛(HIT)NEW

그때 그 힛

1/3