검색엔진의 작동원리
위키백과에 따르면, 검색엔진은 컴퓨터 시스템에 저장된 정보를 찾아주는 것을 도와주도록 설계된 정보 검색 시스템이다. 검색엔진을 사용하면 정보를 찾는데 필요한 시간을 최소화할 수 있다. 좋은 검색을 위해 검색 엔진 최적화(SEO) 방법을 고려한다. 웹에서 원하는 정보를 찾아주는 웹 검색 엔진에는 우리가 아는 네이버, 구글, 위키 등이 있다. 검색엔진이 있기 때문에 사용자는 원하는 정보를 보다 빠르게 찾을 수 있다.
검색 엔진은 정보를 수집하고, 색인화하고 이를 검색하여 활용하는 순서로 작동한다. 검색 엔진은 사용자가 검색 엔진을 사용하기 전에 미리 웹 상에서 정보를 수집해 색인을 만들어 놓는다. 이때 색인은 크롤러를 통해 만들어낸다. 검색엔진은 기본적으로 링크와 텍스트 기반으로 인식한다. 크롤러는 매번 수집한 URL 에서 단어와 문구를 분리해 저장한다. 저장 과정에서 각 단어와 문구(쿼리)에 가중치와 연관도를 부여하고 최종 결과 값을 색인(indexing)한다. 즉, 사용자가 검색창에 검색어를 입력하면 그때마다 필요한 것을 검색하고 꺼내는 것이 아니라, 검색엔진이 미리 만들어두었던 색인을 검색하는 것이다. 이때 크롤러는 24/7로 일하며 웹 상에 새로 추가된 url을 발견해 색인을 만든다. 크롤러는 구글검색~봇으로 부르기도 한다. (자동적으로 일을 하는 프로그램에 대해 봇bot이라 한다)
검색엔진의 인덱스는 주기적으로 업데이트되는데 가중치에 대한 기준과 업데이트 주기는 검색엔진마다 다르다. 또한 검색순위 산정 기준과 검색 알고리즘은 구체적으로 공개되지 않는다. 검색순위 산정기준에는 웹 페이지에 등장한 단어(키워드)의 출현 빈도에 가중치를 두거나, 문서 상단에 나타난 키워드에 가중치를 주거나, 네이버처럼 검색문구(쿼리)가 접수되면 특정 형태소에 가중치를 두는 등의 방법이 있다. 구글은 200여 개 항목으로 연 평균 500회 정도 업데이트하는데 거의 매일 크고 작은 순위 변화가 있다.
검색엔진최적화(Search Engine Optimazation, SEO)란 각각의 검색 엔진에 맞춰 웹 페이지 내의 키워드나 링크 등을 최적화하는 작업을 의미한다.
네이버의 라이브 검색
네이버는 2016년 1월에 '라이브 검색'을 베타로 도입했다. 그리고 '라이브 검색'은 2017년에 공식 네이버 검색에 적용되었다.
1. TALK 영역 : Temporal Searching 기술 적용
방송시작, 이벤트 등으로 검색횟수(Query Count)가 급증하거나, 일정 시간 동안 검색어가 꾸준하게 들어는 시점에 맞춰 검색어를 자동으로 분석해 노출 여부를 판단하는 Temporal Searching 기술로 구현했다.
2. 식당 리뷰 : C-RANK 기술 적용
C-RANK 기술은 좋은 출처의 좋은 문서를 찾는 기술이다. 식당, 맛집을 검색했을 때 해당 키워드를 문서 태그로 작성하거나, 관련 주제로 꾸준히 글을 작성했는지 여부, 좋아요, 공유, 댓글, 구독 등의 수치적 요소를 포괄적으로 활용한다. 이를 통해 문서의 신뢰도와 인기도를 측정하고 상위 노출 랭킹을 자동으로 분류한다. 수없이 많은 리뷰 광고들을 조금이나마 배제할 수 있는 알고리즘인가보다.
3. 여행가이드 : ConA 기술, C-RANK 적용
위의 C-RANK 기술 + 사용자들이 방문하는 장소를 이해하기 위한 인공지능 기술(ConA; Context Recognition AI)을 적용했다. 딥러닝으로 여행지, 식당 등에 대한 네이버 컨텐츠 빅데이터로부터 이용자들이 해당 장소에 가는 목적이나 분위기 등과 같은 테마를 자동으로 추출해주는 기술이다.
4. 게임인기 공략글 : 시맨틱 태깅, C-RANK, 자동 토픽 구조화 기술 적용
지금 많이 찾는 캐릭터들을 순서대로 분류하고(자동 토픽 구조화 기술), 특정 캐릭터 공략 중 질 좋은 문서를 상위 노출해주고(C-RANK), 딥러닝을 통해 질의와 문서에 사용된 단어들의 의미를 분석해(시맨틱) 사용자 검색 의도에 적합한 문서들을 선별해 제공한다(태깅).
5. 스타 타임라인 : 이미지 타임라인 기술 적용
딥러닝 기법 중 CNN을 활용해 셀럽들의 뉴스 기사 등 데이터베이스 내 이미지와 텍스트를 자동으로 추출해 누가 / 언제 / 어디서 발생했던 일인지 탐지하며 유사 이미지들을 묶어 시간 순으로 제공하는 기술이다. 좋아하는 연예인을 검색하면 실시간으로 수집한 출연방송, 공연, 활동 정보, 공식 스케쥴, 화보, 독점 뉴스 등을 시간순으로 볼 수 있다.
출처
'Today I Learned' 카테고리의 다른 글
[파이썬을 이용한 웹 크롤링과 스크레이핑] URL과 퍼머링크 (0) | 2021.07.12 |
---|---|
[TIL] 210507 - 파이썬 for ~ else문, gcd 알고리즘 (0) | 2021.05.07 |
[TIL] XXS 크로스 사이트 스크립팅 (웹 취약점 공부) (0) | 2021.01.14 |
[TIL] 쇼단(Shodan)과 센시스(Censys)로 웹 보안취약점 체크 (1) | 2021.01.10 |