Ch4. 검색엔진: 구글이 세상을 검색하는 법
- 검색엔진의 등장
- 검색창에 검색을 하는 행위 = 쿼리(query)를 날리는 것
- 검색 서비스 종류: 해외-구글, 한국-네이버, 중국-바이두, 일본-야후, 러시아-얀덱스
- 인터넷 초창기: 디렉토리 서비스(주제별로 인터넷 사이트를 정리하여 제공)가 첫 관문이었음. 초기에는 사람이 직접 분류했으나, 인터넷의 성장 속도가 지나치게 빨라서 한계가 생겼음. => 검색 엔진 서비스로 넘어감
- 엄청난 돈을 벌어들이다
- 검색엔진이 시장의 흐름을 주도하면서 본격적으로 검색광고를 도입했으며, 광고는 구글 매출의 약 80%를 차지하게 됨.
- 항상 똑같은 광고가 아니라, 쿼리에 적합한 광고를 보여줌(=타깃 마케팅). CPC(cost per click)방식을 도입하여 사용자 피드백에 의해 광고료가 산정됨(클릭율에 따라 비용이 책정)
- 따라서, 클릭할 가능성을 높여야 하므로 사용자에게 맞춤형 광고 노출이 중요함.
- 엄청난 문서를 수집하다
- 색인(Index): 검색엔진이 인터넷에 있는 문서를 수집하여 검색에 적합하도록 보관하고 있는 것
- 구글 파일 시스템: 분산 파일 시스템. 큰 파일도 여러 대의 서버에 나누어 저렴한 비용으로 저장이 가능해짐. 빅데이터 플랫폼을 구축해 많은 문서를 저장 가능.
- 검색을 위해서는 우선적으로 많은 문서 수집이 필요함. 검색 능력이 좋으려면 방대한 데이터 처리 능력이 뒷받침되어야 함.
- 문서를 수집하기 위해서는 웹 사이트를 구석구석 돌아다녀야 함 => 크롤러(Crawler, 웹 페이지를 갈고리처럼 긁어온다는 의미)
- 검색엔진은 어떻게 검색할까?
- 단순 색인만으로 결과를 노출하게 되는 경우, 공통적인 부분에 한해서는 어떤 우선순위로 노출을 해야할지 순서 결정이 필요함 => 랭킹 알고리즘이 필요.
(검색 서비스 기획은 정말 어려운 기획 중 하나라고 생각한다. 도메인별로 랭킹 정책이 다를 필요가 있으며, 끊임없는 개선이 필요하기 때문에 애먹은 경험이 있다ㅜ)
- 단순 색인만으로 결과를 노출하게 되는 경우, 공통적인 부분에 한해서는 어떤 우선순위로 노출을 해야할지 순서 결정이 필요함 => 랭킹 알고리즘이 필요.
- 랭킹, 수십 조 가치의 줄 세우기 기술
- 서로 다른 특성을 가진 대상을 비교할 때, 순위 부여는 매우 복잡한 문제임.
- "측정할 수 없다면 관리할 수 없고, 관리할 수 없다면 개선할 수도 없다"
=> data-driven 기획 시 항상 등장하는 문장이다😅 - 구글의 경우, 약 20가지의 랭킹 조건을 이용하는 것으로 알려져 있음
- 쿼리가 문서 제목에 포함되어 있는지
- 긴 문서인지 (품질 점수 높음)
- 문서 로딩 빠른지
- 사이트의 안정성(접속 끊김의 빈도 등)
- 모바일에서도 잘 보이는지
- 문서 내 쿼리 빈도수(density)
- 원본 문서인지
- etc...
- 최신 문서를 찾아서
- 최신 문서일수록 항상 점수가 더 높음. 하지만 최신 점수 외에도 다른 점수들이 더 많으므로 항상 검색 결과의 상단에 노출되는 것은 아님.
- 품질 좋은 문서를 찾아서
- 품질이 좋다는 것에는 다양한 기준이 있음.
- 그 중, 권위 있는 사이트에 실려 있다면 비교적 품질이 좋다고 판단이 가능. 사이트나 문서의 권위는 어떻게 측정?
=> 인용 횟수
- 페이지 랭크, 구글의 시대를 열다
- 페이지 랭크: 문서의 품질을 평가하는 알고리즘. 권위 있는 사이트에 가중치를 높임.
- 댐핑 팩터(Damping Factor): 사용자들이 싫증을 낼 확률을 반영한 값. 페이지 랭크에서는 댐핑 팩터 기본값이 0.85로 설정되어 있음(=해당 문서를 읽다가 어느 순간 흥미를 잃어 벗어날 확률이 15%)
- 쿼리에 딱 맞는 문서 찾는 법
- 유사도 점수: 쿼리와 직접적인 관련이 있으며, 쿼리에 딱 맞는 문서를 불러오기 위해 사용
- 사용자가 입력한 쿼리가 문서 어디쯤에 위치하는지? => 제목에 위치한 경우 더 높은 점수
- 근접도가 높은지(단어와 단어 사이의 간격이 좁은지)
- TF-IDF(Term Frequency-Inverse Document Frequency) : 정보 검색 분야의 주요 발명품. 검색 엔진과 추천 시스템을 대표하는 알고리즘.
해당 문서에 많이 출현하고, 다른 문서에는 적게 출현할수록 점수가 커짐.
(참고: https://wikidocs.net/31698)
- 유사도 점수: 쿼리와 직접적인 관련이 있으며, 쿼리에 딱 맞는 문서를 불러오기 위해 사용
- 검색 결과의 개선을 어떻게 확인할까?
- 랭킹의 결과는 검색엔진 기술의 꽃. 그렇다면 최종 순위를 정하는 방법은?
=> A/B 테스트가 가장 확실함.
- 랭킹의 결과는 검색엔진 기술의 꽃. 그렇다면 최종 순위를 정하는 방법은?
- 검색엔진 최적화와의 싸움
- SEO(Search Engine Optimization): 여러 실험을 하며 랭킹을 올리는 것.
- 키워드 분석, 사이트맵 최적화, 소스코드 최적화, 메타 태그, 트래픽 모니터링, 성능 최적화 등의 과정이 필요함.
- 반면 검색엔진은 쉽게 랭킹을 올릴 수 없도록 계속 알고리즘을 진화시킴. 작은 변화로 랭킹이 쉽게 변하면 안되기 때문.
- 점점 더 똑똑하게, 구글 MUM
- 사람들은 더 똑똑한 검색엔진을 원함. 이제는 쿼리의 맥락을 파악하여 적절한 문서를 제시하고 있음.
- 딥러닝을 통해 문장의 의미를 이해하여 유사도를 분석하고 가중치를 부여.
- 맞춤법이 틀린 경우에도 정상적인 검색 결과를 얻을 수 있음.
- MUM(Multitask Unified Model): 복잡한 질문에 답하기 위해 딥러닝을 결합한 새로운 기술.
- 언어의 장벽 제거, 문서 외의 이미지/동영상 정보도 제공 등
반응형
'북클럽' 카테고리의 다른 글
[책 요약] 비전공자도 이해할 수 있는 AI지식_Ch6. 기계번역 (2) | 2024.10.27 |
---|---|
[책 요약] 비전공자도 이해할 수 있는 AI지식_Ch5. 스마트 스피커 (2) | 2024.10.21 |
[책 요약] 비전공자도 이해할 수 있는 AI지식_Ch3. 자율주행 (3) | 2024.10.06 |
[책 요약] 비전공자도 이해할 수 있는 AI지식_Ch1. 인공지능 (0) | 2024.09.21 |
[책 리뷰] '구글이 목표를 달성하는 방식 OKR' (0) | 2023.10.19 |