초대 구글 페이지 랭크 산출 알고리즘 [랭킹알고리즘]

The Anatomy of a Search Engine
http://www-db.stanford.edu/~backrub/google.html

Google 의 획기적인 순위매김의 방법이 수식에 의한 전자동의 페이지 랭크라고 하는 것은 (들)물었던 적이 있다고 생각합니다만 , 그 수식이 처음은 도대체 어떠한 것이었는가? 그렇다고 하는 것은 아마 본 것도 (들)물은 적도 없을 것이므로 , 해설.

우선 이하가Google의 페이지 랭크 산출 수식입니다. 모든 근원이 되는 수식입니다.

PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

PR그렇다고 하는 것은 페이지 랭크. 좌측의 것PR(A)이라고 하는 것이 ,A라 고 하는 페이지의 페이지 랭크를 나타냅니다. Google(은)는 회수한 전 페이지를 인덱스화 , 즉 정리해 서로의 링크 관계를 밝혀내 다시 늘어놓고 나서 이 수식에 넣어 , 어느 페이지가 어느 정도의 페이지 랭크일까를 결정한다는 것. 이 페이지 랭크가 비싸면 높을수록 , 상위에 표시되는 것입니다.

다음 ,(1-d)라고 하는 중에 있는d은 , 경우에 의해 결정할 수 있던 수치로 , 최종적인 페이지 랭크를 산출할 때에 그 수치를 약하게 한다 , 혹은 감소시키기 위해서(때문에) 사용됩니다. 이 수치는0으로부터1까지의 사이의 수치가 되어 있어 , 이번은 이 수치를 「0.85」으로서 일어납니다. 이 수치의 근거는 그리고 잠시 후에.

다음 ,T1및Tn이라고 하는 것은 , 페이지A의 내용을 인용하고 있는 페이지의 수. 즉 , 페이지A를 지시하고 있는 페이지의 수라는 것이 됩니다. 페이지A의 내용을 인용해 , 게다가 페이지A로 향해 링크하고 있는 페이지라고 하는 것입니다.

최후 ,C(A)라고 하는 것은 , 페이지A(으)로부터 나와 가고 있는 링크의 수. 상기 수식에서는 이A에T1및Tn까지 의 각 페이지가 들어갑니다.

즉 , 페이지A로부터 다른 페이지X에 링크하고 있어 , 게다가 그 페이지X가 페이지A의 내용을 인용해 링크도 하고 있으면 , 페이지 랭크가 상승합니다. 페이지A로부터 페이지X에 링크하고 있지만 , 페이지X로부터 의 링크가 없는 경우는 페이지A의 페이지 랭크는 조금 밖에 오르지 않습니다만 , 반대로 페이지X는 상승합니다. 그리고 , 페이지A에 링크되는 수가 많으면 많을수록 페이지 랭크는 상승해 , 반대로 페이지A로부터 일방적으로 링크하면 칠수록 페이지 랭크의 상승률은 떨어져 갑니다.

요컨데 , 페이지 랭크라고 하는 것은 단순한 상호 링크가 아니고 , 인용되고 있는 페이지의 캐릭터 라인도 어느 정도 고려에 넣는 것으로 단순한 기계적 상호 링크에서는 카운트 하지 않게 되어 있는 것입니다. 그러니까 , 브로그와 같이 인용처의 내용에 접하면서 , 트럭 백으로 링크를 되돌리고 있으면(자) , 페이지 랭크가 상승해 나가 , 검색 결과의 탑에 나온다는 것.

그럼 , 방금전 말한 이 페이지 랭크를 감소시킨다d라 고 하는 것은 무엇인가 말하면(자) , 막다른 곳의 페이지의 경우나 비슷한 페이지군이 되어 있는 경우에 적용되는 것입니다. 링크를 더듬어 가면(자) 최종적으로는 드코까지도 드코까지도 갈 수 있을 것입니다만 , 한 번 다닌 페이지에는 돌아오지 않는다고 하는 룰로 페이지를 랜덤에 순회해 나가면(자) , 최종적으로 「막다른 곳」이 되는 페이지가 나옵니다. 즉 , 어디에도 링크하고 있지 않는 페이지입니다. 어디에도 링크하고 있지 않다고 하는 것은 페이지 랭크의 시스템으로부터 말하면 「빠졌다」페이지이며 , 다른 페이지에 영향을 굳이 주고 없기는 커녕 , 어디에도 갈 수가 없기 때문에 「가치가 없다」라고 생각합니다. 그 때문에 ,d의 수치가 커져 , 페이지 랭크가 내린다는 것입니다. 예를 들면 , 메인 페이지로부터 밖에 링크되어 있지 않은 고립한 페이지이면 , 상기 수식에 의해 도출되는 대답은 페이지 랭크 제로에 가까운 것이 될 것입니다. 이렇게 하는 것으로 ,Google의 크롤러 ,Google보트가 회수한 페이지로부터 가치가 없는 페이지를 제외해 가는 것입니다. 이것을 「직관적 조정」이라고 부릅니다.

한 층 더Google독자적인 알고리즘이 , 페이지의 링크 캐릭터 라인 , 즉 엥커 텍스트의 취급입니다. 페이지로부터 페이지로의 링크때의 링크 캐릭터 라인에 무엇이 써 있는지를 중요시합니다. 페이지A에 링크하는 캐릭터 라인은 아마 「페이지A에의 링크」라고, 페이지A가 사과에 관한 페이지라면 「사과의 페이지로」 등과 같이 , 지시하는 페이지의 특징을 꽤 적확하게 파악하고 있을 것입니다. 그 때문에 ,Google그럼 링크 중(안)에서도 특히 엥커 텍스트를 보관 유지하는 링크 캐릭터 라인에 주목해 , 페이지 랭크 산출의 기초로서 중요시하고 있습니다.

그 밖에도 페이지 랭크와는 관계가 없는 다른 독립한Google독자적인 알고리즘 요소로서 이하의3개가 있습니다.

1.지리적 정보
페 이지의 존재하는 서버의IP주소로부터 생각해 , 지리적으로 가까운 페이지끼리를 정리해 갑니다. 이렇게 하는 것으로 , 관계가 있는 페이지끼리는 반드시 지리적으로도 같은 언어권일 것임에 틀림없다고 하도록(듯이) 하고 있습니다. 일본으로부터 검색하면 , 일본에 할당할 수 있고 있는IP주소 권내의 페이지로의 랭크를 상승 하게 한다고 하는 느낌입니다. 단순하게 일본어나 영어만으로 나누지 않은 이유는 , 일본어권이어도 영어를 사용하는 일이 있어 , 영어권이어도 로마자 표기로 일본어를 쓰거나 하기 위한(해) , 단순하게 문자 코드나 문자의 종류만으로 판별하면(자) 정확한 결과가 나오지 않기 때문이라고 생각됩니다.

2.비주얼 요소
Google 는 인간이 그 페이지를 봐 드코에 주목하는지 , 즉 비주얼 요소를 중시하고 있습니다. 예를 들면 , 큰 문자이면 그것은 보다 눈에 띄고 있는 것으로부터 , 다른 캐릭터 라인보다 중요하다라고 말하도록(듯이) 파악합니다. 요컨데 font size군요. 브로그의 경우 , 자동적으로 제목의 font size를 크게 하거나 하므로 효과가 있다는 것입니다. (와)과 같이 해 , 페이지 위에 위치하는 것일 만큼 중요하다라고 말하도록(듯이) 위치적 해석도 더하고 있는 것 같습니다.

3.캐쉬
Google 최대의 특징인 캐쉬 기능은 , 이렇게 산출한 페이지 랭크를 계산하기 위해서 사용되고 있어 그것을 그대로 제공하는 것으로 , 검색 결과로 나온 페이지 랭크시의 내용을 표시하기 위한 의 것입니다. 예를 들면 최신의 페이지의 내용에서는 페이지 랭크가100하지만 , 이전에Google로 순회했을 때는 페이지 랭크1만이었다고 합니다. 그렇다면 , 검색 결과에는 페이지 랭크1만때의 데이터를 바탕으로 해 최상정도에 나옵니다만 , 최신은 페이지 랭크100정도의 내용이므로 , 검색 결과와 내용이 합치하지 않게 됩니다. 그 때문에 , 캐쉬를 보는 것으로 올바른 페이지 랭크시의 페이지 내용을 볼 수가 있다…라고 하는 것입니다. 결코 , 염상 해 삭제된 브로그를 한번 더 쬐어 사람으로 하는 기능은 아닙니다(쓴웃음)

그 밖에도 , 검색된 프레이즈와 클릭된 페이지로부터 랭킹을 보정하거나 리얼타임에 회수한 새로운 페이지에 따라 재귀적으로 재계산해 보거나 그 갱신 타이밍을 어떻게 하는지 , 회수한 페이지를 어떻게 보존해 재이용하는지 , 등 등 , 여러가지 요소가 얽히고 있는 것.

이만큼 알면 , 이른바 검색 엔진 대책이라고 하는 것이 , 어떤 도리에 근거하고 있는지가 용이하게 추측할 수 있다고 생각합니다. 요컨데 , 인기가 있는 페이지의 후리를 하는 페이지를 만들면Google의 페이지 랭크는 속일 수 있는 것입니다. 그 때문에 , 최신의 것Google의 알고리즘은 페이지 랭크 이외의 요소가 가지는 비중을 때와 경우에 응해 조정하는 것으로 , 검색 엔진 대책을 성립시키지 않게 하고 있다고 여겨지고 있습니다.

즉 , 모두로부터 링크되는 것 같은 가치 있는 페이지를 만들면 되는 , 이라고 하는 것습니다.

마지막에 덤 , 이것이 초대Google입니다.