검색 시스템은 크롤링, 색인, 속도 검색 알고리즘 등 검색을 위한 기본엔진을 담당.
검색 모델링은 검색엔진에서 나온 결과를 바탕으로 랭킹을 정하거나 구체적인 서비스로 만드는 일을 담당.
검색에 대해 기본적인 이해를 돕기 위해 좋은 영상
https://www.facebook.com/Code.org/videos/1360366930726273/
검색 엔진은 실시간 월드 와이드 웹에서 가져오는게 아니다.
인터넷에는 매일 수십개의 새로운 사이트가 생기기 때문이다.
검색 엔진은 지속적으로 웹을 스캔하여 나중에 검색에 도움이 될 수 있도록 정보를 기록한다.
인터넷은 하이퍼링크로 서로 연결된 페이지의 웹(거미줄)이다.
검색 엔진은 이 웹 페이지에서 정보를 수집하는 “스파이더(거미)”라고 불리우는 프로그램을 꾸준히 실행한다. 하이퍼링크를 찾으면 연결된 모든 페이지를 방문할때까지 따라갑니다.
스파이더가 페이지를 방문할때 마다 색인이라 불리우는 특수한 데이타베이스에 정보를 추가한다.
나중에 검색에 필요하죠.
자, 이제 검색 엔진이 어떻게 결과를 가져오는지 알아보기 위해 이전으로 되돌아가 본다.
화성까지 가는데 얼마나 걸리나요? 라고 질문하면 검색 엔진은
각 단어가 포함된 결과를 색인에서 즉시 뽑아서 페이지 목록을 구성합니다.
하지만 이렇게 검색어가 포함된 결과는 수백만 페이지에 달하므로 검색 엔진은 최적의 결과를 결정해야 해요.
이건 매우 까다로운 부분이다.
왜냐면, 검색 엔진은 여러분이 무엇을 찾고 있는지 추측해야 한다.
각 검색 엔진 마다 여러분이 원하는걸 생각해 페이지의 랭킹을 정하는 자체 알고리즘이 있다.
검색어가 제목에 있는지, 모든 단어가 나란히 표시되는지, 어떤 페이지를 원하고 원하지 않는지 잘 결정하기 위해 여러가지 계산을 한다.
구글은 얼마나 많은 웹 페이지가 링크하는지로 가장 적합한 결과를 판별하는 매우 유명한 알고리즘을 발명했다.
만약, 많은 웹 사이트가 이 웹 페이지가 흥미롭다고 가리킨다면 그게 아마 여러분이 찾고 있는 것일 거라는 아이디어이다..
구글의 알고리즘은 페이지 랭크.
방문자가 많을수록 웹 사이트는 돈을 벌 수 있기 때문에 스패머들은 상위에 노출되기 위한 검색 알고리즘을 찾아내려고 꾸준히 시도한다.
검색 엔진은 가짜나 신뢰할 수 없는 사이트가 상위에 노출되지 않도록 알고리즘을 정기적으로 업데이트 한다.
궁극적으로는 주소를 보고 믿을만 한지 신뢰할 수 있는 출처인지 주의를 기울이는건 여러분에게 달려 있다.
검색 프로그램은 경쟁사에 비해 더 좋은, 더 빠른 결과를 돌려주기 위해 알고리즘을 개선하고 끊임없이 진화한다.
오늘날의 검색 엔진은 검색 범위를 좁히기 위해 명시적으로 제공하지 않은 정보도 사용한다.
한 예로 만약 "강아지 공원" 검색 했다면, 많은 검색 엔진들은 위치 정보를 입력하지 않더라도 근처의 공원을 표시해준다.
요즘 검색 엔진들은 페이지의 단어들 뿐만 아니라 최적의 결과를 찾기 위해 실제로 의미하는 바가 무엇인지에 대해서도 이해한다.
예를 들어 빠른 피처 라고 검색 한다면 여러분이 운동 선수를 찾는다는걸 알겠지만 라지 피처를 검색 한다면 부엌을 위한 옵션을 찾아낸다.
'정보검색' 카테고리의 다른 글
Mean Average Precision(MAP), Precision at K, Recall at K (0) | 2019.12.24 |
---|---|
대용량 검색 처리를 위한 역색인 (0) | 2019.12.24 |
검색엔진 역색인 원리 (0) | 2019.12.23 |
형태소 분석이 필요한 이유 (0) | 2019.12.03 |
BM25 (0) | 2019.12.03 |