2012년 현재의 시대에 정보검색의 방법으로 학계나 현업에서 인정받는 기술은 바로 구글의 페이지랭크 알고리즘이다. 때문에 사람들은 구글의 페이지랭크가 검색엔진 결과에 대한 랭킹을 가장 잘 표현하는 것으로 생각하기 쉽지만 어떻게 보면 그것 자체가 가장 큰 맹신일 지도 모른다. 때문에 많은 사람들이 검색쿼리 이면의 뜻을 알기 위해 노력하고 있고 그 문맥을 찾아내는 시맨틱 검색을 비롯한 3세대 검색기술이 점차 발전되고 있다.
물론 새로운 기술이 도입되었다 하더라고 기술이라는 것은 항상 완벽한 것은 아니고 어제가 있었기 때문에 오늘이 있었다는 사실을 간과해서는 안된다. 특히 검색엔진 기술에 있어서 벡터 스페이스 모델(Vector Space Model)은 지금도 대부분 검색엔진에서 사용하고 있는 기술이라는 점에서 구시대의 기술이라고 치부할 수 없는 우수한 기술이 되겠다.
- 벡터 스페이스(Vector Space Model)은 말그대로 검색쿼리로 입력된 단어들을 웹페이지에서 찾아 벡터 형태로 배열을 구성하여 점수를 구성하는 것이다. 점수를 구성하는 방법은 TF-IDF(Term Frequency - Inverted Document Frequency)이다. http://en.wikipedia.org/wiki/Vector_space_model
- TF-IDF(Term Frequency - Inverted Document Frequency)를 구할 때는 단어 뜻대로 웹페이지에서 검색쿼리 단어의 빈도의 수와 전체 웹페이지에서의 단어의 빈도수(계산방식은 여러가지임)의 곱의 값(w)를 이용하여 코싸인 유사도를 계산하여 그 값을 통해서 쿼리에 대한 코싸인 유사도와 다큐멘트에 대한 코싸인 유사도를 비교하여 쿼리에 대하여 값이 근사한 다큐멘트 순으로 검색결과를 출력한다. http://en.wikipedia.org/wiki/Tf*idf
- 코싸인 유사도(Cosine Similirity)는 일반적으로 두 벡터의 각도의 코싸인값을 측정하여 두 벡터의 유사도를 측정하는 방법이다. 예를들어 위 그림에서 q의 벡터값과 d1, d3의 벡터값을 기준으로 q에 가까운 순으로 검색결과를 출력하게 된다. 코싸인 유사도는 일반수학에서 벡터의 내적을 구하는 것과 같다. http://en.wikipedia.org/wiki/Cosine_similarity
겉으로보면 벡터 등이 출현하여 마치 어려운 수학 같지만 실질적 내용은 그렇게 어려운 내용은 아니다. 중요한 것은 이러한 내용을 어떻게 생각해냈느냐 이다. 굳이 수학이 들어가지 않아도 좋다. 모두가 수긍하고 납득할 만한 내용이기만 해도 된다. 이것은 비단 과학 뿐만이 아니라 다른 모든 분야도 마찬가지다. 사람들을 편리하게 하거나 나만의 철학으로 무장하여 무언가 창조적인 것을 만들어내는 것이다.
No comments:
Post a Comment