KR20050102406A - 연관 검색 쿼리 추출 방법 및 시스템 - Google Patents

연관 검색 쿼리 추출 방법 및 시스템 Download PDF

Info

Publication number
KR20050102406A
KR20050102406A KR1020040027764A KR20040027764A KR20050102406A KR 20050102406 A KR20050102406 A KR 20050102406A KR 1020040027764 A KR1020040027764 A KR 1020040027764A KR 20040027764 A KR20040027764 A KR 20040027764A KR 20050102406 A KR20050102406 A KR 20050102406A
Authority
KR
South Korea
Prior art keywords
search query
information
association
address
search
Prior art date
Application number
KR1020040027764A
Other languages
English (en)
Inventor
최재걸
문상준
최병엽
이준호
Original Assignee
엔에이치엔(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔(주) filed Critical 엔에이치엔(주)
Priority to KR1020040027764A priority Critical patent/KR20050102406A/ko
Publication of KR20050102406A publication Critical patent/KR20050102406A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 상호 연관된 검색 쿼리(query)를 추출하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 각 검색 쿼리가 입력된 IP 주소의 수와 상기 검색 쿼리를 포함하는 검색 쿼리의 쌍이 입력된 IP 주소의 수를 측정하고, 이를 이용하여 검색 쿼리 간 연관 여부를 판단할 수 있는 연관 검색 쿼리 추출 방법 및 시스템에 관한 것이다.
본 발명에 따른 연관 검색 쿼리 추출 방법은 IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(상기 레코드는 소정의 시간 간격 마다 생성되어 상기 데이터베이스에 기록됨), 상기 데이터베이스를 참조하여 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 당 상기 제1 검색 쿼리 및 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성하는 단계, 상기 제1 IP 주소 수 정보 및 상기 제2 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계, 및 상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집, 분석하여 검색 쿼리 간 연관 여부를 자동적으로 판단함으로써 정확한 연관 검색 쿼리를 신속하게 추출하여 보다 질 높은 서비스를 사용자에게 제공할 수 있는 연관 검색 쿼리 추출 방법 및 시스템이 제공된다.

Description

연관 검색 쿼리 추출 방법 및 시스템{METHOD AND SYSTEM FOR IDENTIFYING RELATED SEARCH TERMS IN THE INTERNET SEARCH SYSTEM}
본 발명은 상호 연관된 검색 쿼리(query)를 추출하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 각 검색 쿼리가 입력된 IP 주소의 수와 상기 검색 쿼리를 포함하는 검색 쿼리의 쌍이 입력된 IP 주소의 수를 측정하고, 이를 이용하여 검색 쿼리 간 연관 여부를 판단할 수 있는 연관 검색 쿼리 추출 방법 및 시스템에 관한 것이다.
일반적으로 검색 서비스를 제공하는 검색 서비스 시스템은 사용자로부터 검색쿼리가 입력되면 상기 검색 쿼리에 대응하는 검색 결과(예를 들면, 상기 검색 쿼리를 포함하는 웹 사이트, 상기 검색 쿼리를 포함하는 기사, 상기 검색 쿼리를 포함하는 파일명을 갖는 이미지 등)를 사용자에게 제공한다.
한편, 최근의 검색 서비스 시스템은 사용자가 원하는 정보를 보다 빠르고 정확하게 찾을 수 있도록 하기 위해 사용자로부터 입력 받은 검색 쿼리와 연관 관계가 있는 검색 쿼리를 추출하여 사용자에게 제공하는 연관 검색 쿼리 제공 서비스를 제공하고 있다. 즉, 검색 서비스 시스템은 입력된 검색 쿼리에 따라 매우 다른 검색 결과를 사용자에게 제공하는 것이 보통이다. 예를 들어, 검색자가 "자동차"를 입력하여 얻은 검색 결과와 "승용차"를 입력하여 얻게 되는 검색 결과는 서로 상이하다. 따라서, 검색자는 자신이 원하는 정보를 얻기 위하여 자신이 원하는 정보와 좀 더 관련성이 높은 검색 쿼리를 입력하려고 하지만, 검색자 스스로 이러한 검색 쿼리를 떠 올리기가 어려운 경우들이 있다. 따라서, 최근의 검색 서비스 시스템은 사용자가 입력한 검색 쿼리 및 통계 정보를 이용하여 상기 입력된 검색 쿼리와 관련성이 있는 검색 쿼리들을 사용자에게 제공함으로써, 사용자가 다른 검색 쿼리를 이용하여 검색할 수 있도록 하는 서비스를 제공하고 있다.
여기서, 상기 연관 관계가 있는 검색 쿼리라 함은, 예를 들어 사용자로부터 입력 받은 검색 쿼리의 상위 개념 또는 하위 개념에 해당하는 검색 쿼리("일본어"를 입력 받은 경우 "외국어", 또는 역으로 "외국어"를 입력 받은 경우 "일본어"), 사용자로부터 입력 받은 검색 쿼리와 동의어 관계에 있는 검색 쿼리("책방"을 입력 받은 경우 "서점"), 사용자로부터 입력 받은 검색 쿼리와 유의어 관계에 있는 검색 쿼리("꼬리"를 입력 받은 경우 "꽁지"), 사용자로부터 입력 받은 검색 쿼리와 관계어 관계에 있는 검색 쿼리("see"를 입력 받은 경우 "saw, seen, seeing") 등 의미적으로 관련이 있는 검색 쿼리를 의미할 수 있다. 그러나, 상기 연관 관계가 있는 검색 쿼리는 단순히 의미적 관련이 있는 검색 쿼리만을 의미하는 것은 아니며, 예를 들어 사용자로부터 "박찬호"를 입력 받은 경우 그의 직업인 "야구", 그가 속한 리그인 "메이저 리그", 그의 출신 대학인 "한양대", 그가 속해 있는 소속팀인 "텍사스 레인저스", 같은 메이저 리그에 속한 한국인 야구 선수인 "김병현" 등 다양한 관점에서의 관련이 있는 검색 쿼리를 의미할 수 있다.
그런데, 종래 기술에 따른 연관 검색 쿼리 제공 서비스에 의하면, 서비스 운영자가 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장해야 했기 때문에, 이를 위해 시간적, 경제적 손실을 감수해야만 하는 문제점이 있었다.
또한, 보다 적은 시간과 비용으로 연관 검색 쿼리를 추출하기 위해, 용어들 간의 관련성을 동시에 발생활 확률로 정의한 동시 발생 분류 방법, 문서들을 분류한 후에 각 그룹에서만 주로 나타나는 용어들을 관련어로 정의하는 문서 분류 방법, 어학적 지식과 문서에서의 동시 발생 특성을 이용하여 용어들 간의 관계를 파악하는 문법 분류 방법이 등장하였으나, 상기 방법들은 주로 용어들 간의 의미적 관계는 고려하지 않고 통계적인 관계만 고려함으로 인해, 사용자가 추출된 연관 검색 쿼리 간의 연관 관계를 납득할 수 없는 경우가 발생하는 문제점이 있었다.
이에, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집하고, 상기 수집된 데이터를 체계적으로 분석하고 이를 이용하여 검색 쿼리 간 연관 여부를 정확하게 판단함으로써 사용자에게 보다 질 높은 서비스를 제공할 수 있는 새로운 기술의 출현이 요청되어 왔다.
본 발명은 상술한 바와 같은 종래 기술의 문제점을 해결하기 위해 안출된 것으로서, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집, 분석하여 검색 쿼리 간 연관 여부를 자동적으로 판단할 수 있는 시스템을 구축함으로써, 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장함으로 인해 서비스 운영자에게 야기되는 시간적, 경제적 손실을 줄일 수 있는 연관 검색 쿼리 추출 방법 및 시스템을 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템은 검색 쿼리 간 연관 지수 정보를 체계적으로 기록하는 데이터베이스를 유지함으로써, 사용자로부터 검색 쿼리가 입력된 경우 상기 연관 지수 정보를 이용하여 연관 정도가 더 높은 검색 쿼리를 우선적으로 상기 사용자에게 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템은 사용자들이 검색한 체계적인 전처리 과정을 거친 유용한 데이터만을 추출하여 적절한 수의 연관 검색 쿼리를 유지함으로써, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템은 일정 기간 동안 누적된 데이터를 종합하여 검색 쿼리 간 연관 여부를 판단함으로써, 장기간에 거쳐 일정한 연관 관계를 유지하고 있는 검색 쿼리를 사용자에게 제공하여 보다 정확한 연관 검색 쿼리 서비스를 제공 받기를 원하는 사용자의 욕구를 충족시키는 것을 그 목적으로 한다.
상기의 목적을 달성하고, 상술한 종래 기술의 문제점을 해결하기 위하여, 본 발명에 따른 연관 검색 쿼리 추출 방법은 IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(상기 레코드는 소정의 시간 간격 마다 생성되어 상기 데이터베이스에 기록됨), 상기 데이터베이스를 참조하여 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 당 상기 제1 검색 쿼리 및 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성하는 단계, 상기 제1 IP 주소 수 정보 및 상기 제2 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계, 및 상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 일측에 따르면, 상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 상기 단계는 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하고, 상기 수치는 상기 제1 IP 주소 수 정보를 변수로 하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다.
또한, 본 발명의 다른 일측에 따르면, 상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 상기 단계는 상기 조건부 확률 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 지수 정보를 생성하는 단계 및 상기 연관 지수 정보에 기초하여 상기 연관 여부를 판단하는 단계를 포함하고, 상기 연관 여부 판단 결과, 연관된 것으로 판단된 경우 상기 연관 지수 정보를 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 연관하여 제2 데이터베이스에 기록하는 단계, 사용자 단말기로부터 제3 검색 쿼리를 수신하는 단계, 상기 제2 데이터베이스를 참조하여 상기 제3 검색 쿼리와 연관된 하나 이상의 제4 검색 쿼리를 추출하는 단계, 상기 연관 지수 정보에 따라 상기 추출된 제4 검색 쿼리를 소팅(sorting)하여 연관 검색 쿼리 목록을 생성하는 단계, 및 상기 생성된 연관 검색 쿼리 목록을 상기 사용자 단말기로 제공하는 단계를 더 포함하는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 시스템은 IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스, 상기 레코드를 소정의 시간 간격 마다 생성하여 상기 데이터베이스에 기록하는 데이터베이스 관리 수단, 상기 데이터베이스를 참조하여, 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하고, 상기 시간 간격 당 상기 제1 검색 쿼리 및 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성하는 카운터 수단, 상기 제1 IP 주소 수 정보 및 상기 제2 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 조건부 확률 정보 생성 수단, 및 상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 연관 여부 판단 수단을 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 연관 검색 쿼리 추출 시스템의 네트워크 연결을 도시한 도면이다. 사용자들은 사용자 단말기(110a 또는 110b)를 이용하여 유무선 통신망을 통해 연관 검색 쿼리 추출 시스템(100)에 접속하여 검색 쿼리를 입력한다. 연관 검색 쿼리 추출 시스템(100)은 상기 검색 쿼리에 대응하는 연관 검색 쿼리를 사용자 단말기(110a 또는 110b)로 전송한다. 또한, 본 발명의 또 다른 실시예에 따른 연관 검색 쿼리 추출 시스템(100)은 상기 연관 검색 쿼리의 연관 지수 정보에 따른 순위 정보 등을 사용자 단말기(110a 또는 110b)에 더 전송할 수 있다. 본 발명의 연관 검색 쿼리 추출 시스템은 인터넷 검색 서비스 시스템에 통합되어 운영될 수 있고, 따라서, 사용자가 인터넷 검색 서비스 시스템에 접속하여 검색 쿼리를 입력한 경우, 상기 검색 쿼리에 대한 검색 결과를 사용자에게 제공할 때에 상기 검색 쿼리의 연관 검색 쿼리도 상기 사용자에게 제공될 수 있다.
도 2는 본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법을 도시한 흐름도이다. 본 실시예에 따른 연관 검색 쿼리 추출 방법은 소정의 연관 검색 쿼리 추출 시스템에서 제공된다.
단계(201)에서 본 발명에 따른 연관 검색 쿼리 추출 시스템은 IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지한다.
IP 주소라 함은 인터넷에 연결된 모든 통신망과 그 통신망에 연결된 컴퓨터에 부여되는 고유의 식별 주소를 의미한다. 이 주소는 내부에서 32비트(4byte)로 기억되지만 표기할 때에는 4개의 10진수를 점(.)으로 구분하여 표시한다.
이러한 IP 주소는 통신망의 크기, 즉 통신망에 연결되는 컴퓨터의 수에 따라 A, B, C 3등급으로 구분하고 있는데, 이는 통신망 주소를 나타내는 부분과 그 통신망에 연결되는 컴퓨터의 주소를 나타내는 부분의 비트 수에 따라 구분한다. 즉, A 등급은 7비트의 통신망 주소와 24비트의 컴퓨터 주소로 이루어져 있으며 컴퓨터가 매우 많이 연결되어 있는 통신망에서 사용한다. B 등급은 14비트의 통신망 주소와 16비트의 컴퓨터 주소로 이루어져 있고, C 등급은 21비트의 통신망 주소와 8비트의 컴퓨터 주소로 이루어져 있어 규모는 적으나 숫자가 많은 통신망들을 관리할 때에 사용한다. 이 이외에도 멀티캐스트를 위해 D 등급을 따로 정의하고 있는데, 전체 32비트의 주소 중 처음 4개의 비트는 1110으로 설정되어 있고 나머지 비트는 멀티캐스트 그룹을 식별하기 위하여 설정하고 있다.
IP 주소는 인터넷과 연결해 주는 서비스를 하고 있는 사업체에서 할당해 주고 있으나, 사실은 한국인터넷정보센터(KRNIC) 나아가서는 아시아태평양 인터넷 정보센터(APNIC)의 협조와 관리 아래서 최종 사용자에게 할당되고 있다.
본 발명의 일실시예에 따르면, IP 주소와 함께 시각 정보(time-stamp)를 이용하여 로그를 작성하고 이를 이용함으로써, 동일한 IP 주소를 통하여 검색 쿼리를 수신한 경우에도 상기 로그에 기록된 시각 정보에 따라 상기 수신된 검색 쿼리 간 연관성이 부인될 수 있는 연관 검색 쿼리 추출 방법이 제공된다.
본 실시예에 따르면, 사용자 단말기로 검색창이 최초로 제공될 때의 시작 시각 정보가 IP 주소와 함께 로그에 기록되고, 상기 시작 시각 정보로부터 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없는 경우, 그 후 상기 사용자 단말기로부터 상기 IP 주소를 통하여 새로운 검색 쿼리를 수신한 경우에도 새롭게 수신된 상기 검색 쿼리와 원 검색 쿼리 간 연관성은 부인될 수 있다. 예를 들어, 상기 시간이 5분이라고 하면, 사용자가 사용자 단말기를 통하여 검색 서비스 웹 페이지에 접속하여 검색창이 최초로 열릴 때의 시작 시각 정보가 IP 주소와 함께 제1 로그에 기록되고, 그 후 5분이 경과하기 전에 상기 사용자가 검색 쿼리를 입력하거나 검색 결과를 선택하는 등의 검색 활동을 수행한 경우, 그 활동의 최종 시각 정보가 상기 IP 주소와 함께 제2 로그에 기록된다. 상기 최종 시각 정보로부터 5분 동안 상기 사용자가 검색 활동을 전혀 수행하지 않고 대기하는 경우, 즉 사용자의 최종 검색 활동 시각으로부터 5분 동안 사용자가 아무 액션을 취하지 않고 대기하는 경우에는 상기 사용자 단말기로부터 동일한 IP 주소를 통하여 새로운 검색 쿼리를 수신한 경우에도 새롭게 수신된 상기 검색 쿼리와 상기 최종 검색 활동 시각 이전에 수신된 원 검색 쿼리와의 연관성은 부인될 수 있는 것이다.
검색 쿼리를 이용한 검색 결과가 사용자를 만족시키지 못할 경우, 상기 사용자는 상기 검색 쿼리와 관련된 다른 검색 쿼리를 입력하여 검색 활동을 수행하는 것이 일반적이므로, 본 실시예에 따른 연관 검색 쿼리 추출 시스템은 최종 검색 활동 시각으로부터 소정의 시간 동안 사용자가 아무 액션을 취하지 않고 대기한 것을 이미 특정 주제와 관련한 검색 활동을 마친 것으로 판단할 수 있다. 따라서, 상기 연관 검색 쿼리 추출 시스템은 상기 시간이 경과한 후 새로운 검색 쿼리가 입력된 경우, 새로운 특정 주제에 관한 검색 쿼리를 입력한 것으로 보고, 새롭게 입력된 상기 검색 쿼리와 최종 검색 활동 시각 이전에 입력된 원 검색 쿼리 간 연관성을 인정하지 않을 수 있다.
한편, 아무리 긴 시간이 경과하더라도 사용자로부터 계속적인 검색 활동이 수행되는 경우, 본 실시예에 따른 연관 검색 쿼리 추출 시스템은 상기 사용자가 하나의 의도에 따라 특정 주제와 관련된 다양한 검색 쿼리를 입력하고 있다고 판단할 수 있다. 따라서, 상기 연관 검색 쿼리 추출 시스템은 이러한 경우 검색 쿼리의 쌍이 등장한 IP 주소의 수를 카운팅하여 상기 검색 쿼리 간 연관 여부를 판단할 수 있는 하나의 인자로 활용할 수 있다.
이와 같이, 본 실시예에 의하면 IP 주소를 시각 정보와 함께 로그에 기록함으로써, 동일한 IP 주소로부터 수신한 검색 쿼리라 하여도 상기와 같은 효과적 기준에 따라 그 연관성을 인정하지 않을 수 있고, 이로써 검색 쿼리 간 연관성을 매우 높은 정도로 신뢰할 수 있는 효과를 얻을 수 있다.
본 발명에 따르면, 동일한 IP 주소에서 수신한 검색 쿼리를 모두 연관 검색 쿼리로 등록하는 것이 아니라, 후술하듯이 검색 쿼리의 쌍이 등장한 IP 주소의 수를 카운팅하여 상기 검색 쿼리 간 연관 여부를 판단할 수 있는 하나의 인자로 활용함으로써, 검색 쿼리 간 연관 여부를 보다 정확하게 판단할 수 있는 연관 검색 쿼리 추출 방법 및 시스템이 제공된다.
이하, IP 주소를 시각 정보와 함께 로그에 기록함으로써, IP 주소 및 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(201)의 일실시예에 대하여 설명한다.
본 실시예에 따른 연관 검색 쿼리 추출 시스템은 설정된 IP 주소와 연관된 제1 IP 주소 식별자를 생성하여 상기 데이터베이스에 기록한다. 상기 연관 검색 쿼리 추출 시스템은 사용자로부터 검색 활동이 이루어질 때마다 상기 제1 IP 주소 식별자 및 각각의 검색 시간에 관한 시각 정보를 사용자 단말기로 송신하고, 상기 사용자 단말기는 수신된 제1 IP 주소 식별자 및 상기 시각 정보를 쿠키(cookie)의 형태로 상기 사용자 단말기 내 소정의 위치에 저장할 수 있다.
상기 사용자로부터 최종적인 검색 활동이 이루어진 경우, 상기 연관 검색 쿼리 추출 시스템은 상기 제1 IP 주소 식별자 및 최종 검색 시각에 관한 제1 시각 정보를 사용자 단말기로 송신하고, 상기 사용자 단말기는 상기 제1 IP 주소 식별자 및 상기 제1 시각 정보를 역시 쿠키(cookie)의 형태로 상기 사용자 단말기 내 소정의 위치에 저장할 수 있다.
상기 연관 검색 쿼리 추출 시스템은 상기 사용자 단말기로부터 검색 쿼리를 수신하고, 상기 검색 쿼리가 수신된 제2 시각 정보 및 상기 제1 시각 정보를 비교한다. 상기 비교 결과 양 시각 정보 간 격차가 소정의 시간을 초과한 것으로 판단된 경우, 상기 연관 검색 쿼리 추출 시스템은 상기 제1 IP 주소 식별자와 상이한 제2 IP 주소 식별자를 생성하고 상기 제2 IP 주소 식별자 및 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록한다.
한편, 양 시각 정보 간 격차가 소정의 시간 이하인 것으로 판단된 경우, 상기 연관 검색 쿼리 추출 시스템은 상기 제1 IP 주소 식별자와 연관하여 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록한다.
본 실시예에 따른 연관 검색 쿼리 추출 방법에 의하면, 상기와 같은 체계적인 과정을 통하여 데이터베이스를 유지함으로써 IP 주소를 효율적으로 관리할 수 있고, 이렇게 효율적으로 관리된 IP 주소를 이용할 경우, 동일한 IP 주소로부터 수신한 검색 쿼리라 하여도 상기와 같은 효과적 기준에 따라 그 연관성을 인정하지 않을 수 있고, 이로써 검색 쿼리 간 연관성을 매우 높은 정도로 신뢰할 수 있는 효과를 얻을 수 있다.
도 3은 본 발명의 일실시예에 있어서, 데이터베이스에 포함된 레코드의 일례를 도시한 도면이다. 도 3에 도시한 것과 같이, 상기 레코드는 IP 주소 식별자(301) 및 상기 IP 주소 식별자(301)와 연관된 IP 주소를 통하여 수신된 검색 쿼리에 관한 정보를 포함할 수 있다. 도 3에 도시된 도면 부호(302)를 참조하면, "IPId1"이라는 IP 주소 식별자 및 "IPId1"이라는 IP 주소 식별자가 할당된 IP 주소를 통하여 수신된 검색 쿼리인 "박찬호", "메이저리그", "야구" 등이 레코드에 기록되어 있음을 알 수 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 상기 레코드를 소정의 시간 간격 마다 생성하여 상기 데이터베이스에 기록한다. 상기 시간 간격은 서비스 운영자에 의해서 "하루", "이틀", "일주일" 등과 같이 사전에 결정되어 있을 수 있고, 상기 서비스 운영자는 기존의 시간 간격을 다른 시간 간격으로 변경할 수도 있다. 본 실시예에 의하면, 일정한 시간 간격에 따라 데이터를 수합하여 검색 쿼리 간 연관 여부를 판단함에 있어 상기 데이터를 활용할 수 있게 되고, 시간의 경과에 따라 변경될 수 있는 검색 쿼리 간 연관 여부를 지속적으로 체크할 수 있게 된다. 예를 들어, 하루 간격으로 상기 레코드를 생성하는 경우, 이틀 전 레코드에는 "박찬호"와 "메이저리그"라는 검색 쿼리가 동시에 수신된 IP 주소가 다수 기록되어 있어 이에 기초하여 어제의 연관 검색 쿼리 추출 시스템은 "박찬호"와 "메이저리그"를 연관 검색 쿼리로 판단했을 수 있지만, 어제 레코드에는 "박찬호"와 "메이저리그"가 동시에 수신된 IP 주소가 거의 기록되지 않아 오늘의 연관 검색 쿼리 추출 시스템은 이에 기초하여 "박찬호"와 "메이저리그"를 연관 검색 쿼리가 아닌 것으로 판단할 수 있다. 따라서, 가장 최근의 데이터를 바탕으로 추출된 연관 검색 쿼리를 사용자에게 제공할 수 있는 장점이 있다.
본 발명의 일실시예에 따른 연관 검색 쿼리 추출 시스템은 단계(201)에서 상기 IP 주소 또는 상기 수신된 검색 쿼리를 숫자로 매핑(mapping)하고, 상기 매핑된 숫자를 이용하여 상기 레코드를 생성할 수 있다.
도 4는 본 실시예에 있어서, IP 주소 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다. 도 4에 도시된 도면 부호(401)을 참조하면, 도 3에 도시된 도면 부호(302)와 비교하여 "IPId1"이라는 IP 주소 식별자에 "56"이라는 숫자가 매핑되었고, "박찬호", "메이저리그", "야구"의 검색 쿼리에 "18759", "18760", "18761"이라는 숫자가 매핑되었음을 알 수 있다.
문자열로 이루어진 데이터를 이용하여 상호 연관된 검색 쿼리를 추출하는 것과 비교하여, 본 실시예에 따라 숫자로 매핑된 데이터를 이용하여 본 발명에 따른 각 단계를 수행하는 경우, 상기 데이터를 데이터베이스에 기록할 때 메모리를 더 적게 사용하게 되므로 메모리가 절약될 뿐 아니라, 문자열에 비해 그 처리가 매우 간단하므로 처리속도 향상을 꾀할 수 있는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 단계(201)에서 특정 IP 주소를 통하여 소정의 수를 초과하는 검색 쿼리가 수신된 경우, 상기 특정 IP 주소 및 상기 특정 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드는 상기 데이터베이스에 포함시키지 않는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다. 본 실시예에 있어서, 상기 연관 검색 쿼리 추출 시스템은 하나의 IP 주소에서 수신한 검색 쿼리의 수를 카운팅하여 상기 검색 쿼리의 수가 소정의 수를 초과하는 경우, 그 IP 주소에서 수신한 데이터는 일반적인 방식이 아닌 예상치 못한 방식으로 들어온 데이터로 판단할 수 있다. 하나의 IP 주소에서 수신한 검색 쿼리의 수가 너무 많은 경우, 그 검색 쿼리 모두가 연관 검색 쿼리일 가능성은 매우 낮기 때문에, 이러한 데이터는 데이터베이스에 기록하지 않음으로써 보다 정확한 연관 검색 쿼리를 추출해 낼 수 있는 효과를 얻기 위함이다.
단계(202)에서 상기 연관 검색 쿼리 추출 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 당 설정된 총 IP 주소의 수를 카운팅(counting)하여 총 IP 주소 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 연관 검색 쿼리 추출 시스템은 하루 동안 설정된 IP 주소의 총 수를 카운팅할 수 있다.
단계(203)에서 상기 연관 검색 쿼리 추출 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하고, 단계(204)에서 상기 데이터베이스를 참조하여 상기 시간 간격 당 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 연관 검색 쿼리 추출 시스템은 하루 동안 "박찬호"라는 검색 쿼리가 수신된 IP 주소의 수를 카운팅하고, "메이저리그"라는 검색 쿼리가 수신된 IP 주소의 수를 카운팅할 수 있다.
단계(205)에서 상기 연관 검색 쿼리 추출 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 당 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 모두 수신된 IP 주소의 수를 카운팅하여 제3 IP 주소 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 연관 검색 쿼리 추출 시스템은 하루 동안 "박찬호"라는 검색 쿼리 및 "메이저리그"라는 검색 쿼리가 모두 수신된 IP 주소의 수를 카운팅할 수 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 단계(205)에서 상기 제1 IP 주소 수 정보 및 상기 제2 IP 주소 수 정보가 소정의 수 이상인 경우에 한하여 상기 제3 IP 주소 수 정보를 생성하는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다. 즉, 본 실시예에 있어서, 상기 연관 검색 쿼리 추출 시스템은 상기 제1 IP 주소 수 정보 또는 상기 제2 IP 주소 수 정보가 소정의 수에 미치지 못하는 경우 상기 제3 IP 주소 수 정보를 생성하지 않을 수 있다. 각각의 검색 쿼리가 수신된 IP 주소의 수가 너무 적은 경우, 이러한 검색 쿼리들은 서로 연관 검색 쿼리가 될 가능성이 매우 낮기 때문에, 소정의 수 이상 등장하지 못하는 검색 쿼리들은 연관 검색 쿼리를 판단하기 위한 데이터로 생성하지 않음으로써, 상기 연관 검색 쿼리 추출 시스템의 수행 속도 향상에 크게 기여하는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 단계(205)에서 IP 주소 수를 카운팅함에 있어서 해쉬 트리(Hash-tree) 자료구조를 이용하는 연관 검색 쿼리 추출 방법이 제공된다.
해쉬 트리(Hash-tree) 자료구조라 함은 데이터를 저장하고 찾는 데 사용되는 자료 구조의 한 종류로서, 찾고자 하는 문자열을 특정한 함수(Hash function)로 처리하여 얻은 값을 이용하여 데이터의 위치를 찾는 방법으로 알려져 있다. 해쉬 트리(Hash-tree) 자료구조는 데이터를 찾는 속도에 데이터의 개수가 거의 영향을 주지 않는 특성을 지니고 있어, 이를 이용할 경우 효율적이고 빠르게 데이터의 위치를 찾을 수 있을 뿐만 아니라 시스템 내 메모리를 크게 절약할 수 있다.
도 5는 본 실시예에 있어서, IP 주소 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다. 도 5에서는 "대장금"이라는 검색 쿼리와 "이영애"라는 검색 쿼리로 이루어진 검색 쿼리의 쌍이 수신된 IP 주소가 상기 데이터베이스에 존재할 경우, 상기 IP 주소의 수를 해쉬 트리 자료구조를 사용하여 카운팅하는 일례가 도시되어 있다.
단계(206)에서 상기 연관 검색 쿼리 추출 시스템은 상기 제1 IP 주소 수 정보 및 상기 제3 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
상기 조건부 확률 정보는 검색 쿼리 간 연관 여부를 평가하는 하나의 인자로서 활용될 수 있다. 예를 들어, "대장금"이라는 검색 쿼리 및 "이영애"라는 검색 쿼리 간 연관 여부는, "대장금"을 수신한 IP 주소의 수 중 "이영애"를 수신한 IP 주소의 수가 얼마나 되는가에 관한 확률 정보를 하나의 인자로 활용하여 판단될 수 있다. 즉, "대장금"을 수신한 IP 주소에서 "이영애"도 다수 수신되었다면, 양 검색 쿼리 간 연관 여부를 판단함에 있어 강한 영향을 미칠 수 있는 하나의 인자로서 활용될 수 있는 것이다.
다음은 상기 조건부 확률 정보를 생성하는 데 이용될 수 있는 수식의 일례를 나타낸 것이다.
<수식 1. 조건부 확률 정보>
수식 1에서 보는 것과 같이, "A" 검색 쿼리와 "B" 검색 쿼리 모두가 같은 IP 주소에서 수신될 확률을 "B" 검색 쿼리가 IP 주소에서 수신될 확률로 나눔으로써, "B" 검색 쿼리를 수신한 IP 주소에서 "A" 검색 쿼리도 수신될 확률 정보를 생성할 수 있다.
단계(207)에서 상기 연관 검색 쿼리 추출 시스템은 상기 총 IP 주소 수 정보, 상기 제1 IP 주소 수 정보, 상기 제2 IP 주소 수 정보, 및 상기 제3 IP 주소 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
상기 상관 관계 정보는 검색 쿼리 간 연관 여부를 평가하는 또 하나의 인자로서 활용될 수 있다. 사용자로부터 입력되는 빈도가 매우 큰 검색 쿼리의 경우 실제적인 연관성은 없어도 상기 생성된 조건부 확률 정보의 값이 높을 수 있기 때문에, 상기 상관 관계 정보를 검색 쿼리 간 연관 여부를 평가하는 또 하나의 인자로서 활용하는 것은 보다 정확하게 연관 여부를 판단하는 데 크게 기여할 수 있다.
확률 이론 중에는 독립성 판단이라는 것이 존재하는데, 상기 상관 관계 정보는 상기 독립성 판단에 활용된다. 즉, 상기 상관 관계 정보가 1에 가까운 값을 갖는 경우 이를 양 검색 쿼리가 연관되어 있지 않고 독립적이라고 판단할 수 있는 강한 인자로서 활용할 수 있고, 상기 상관 관계 정보가 1보다 상당히 큰 값을 갖는 경우 이를 양 검색 쿼리가 상호 연관되어 있다고 판단할 수 있는 강한 인자로서 활용할 수 있다.
다음은 상기 상관 관계 정보를 생성하는 데 이용될 수 있는 수식의 일례를 나타낸 것이다.
<수식 2. 상관 관계 정보>
수식 2에서 보는 것과 같이, "A" 검색 쿼리와 "B" 검색 쿼리가 모두 같은 IP 주소에서 수신될 확률을 "A" 검색 쿼리가 IP 주소에서 수신될 확률과 "B" 검색 쿼리가 IP 주소에서 수신될 확률을 곱한 값으로 나누어줌으로써, 상관 관계 정보를 생성할 수 있다. 또한, 상기 수식을 전개할 경우 상기 상관 관계 정보는 "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 수신된 IP 주소의 수에 총 IP 주소 수를 곱한 값을 "A" 검색 쿼리가 수신된 IP 주소의 수와 "B" 검색 쿼리가 수신된 IP 주소의 수로 나누어준 값으로 산정된다. 따라서, 상기 연관 검색 쿼리 추출 시스템은 상기 총 IP 주소 수 정보, 상기 제1 IP 주소 수 정보, 상기 제2 IP 주소 수 정보, 및 상기 제3 IP 주소 수 정보를 이용하여 상관 관계(correlation) 정보를 생성할 수 있게 된다.
단계(208)에서 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보 또는 상기 상관 관계 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단한다. 예를 들어, 양 정보에 소정의 수치를 곱하고 이를 더하여 일정 지수를 산정하고, 상기 지수를 이용하여 연관 여부를 판단할 수 있다. 또한, 양 정보에 소정의 수치를 곱하고 이를 다시 곱하여 일정 지수를 산정하고, 상기 지수를 이용하여 연관 여부를 판단하는 것도 가능하다. 상기 방법 이외에도, 상기 조건부 확률 정보 또는 상기 상관 관계 정보를 이용하여 연관 여부를 판단하는 방법에는 다양한 실시예가 존재할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 있어 자명하다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 단계(208)에서 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다.
본 실시예에 있어서, 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보가 소정의 수치에 미달될 정도로 매우 낮은 수치에 해당하는 경우, 이미 검색 쿼리 간 연관성이 매우 낮다고 판단하여 연관 여부를 판단하지 않음으로써, 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 실시예에서의 상기 소정의 수치는 상기 제1 IP 주소 수 정보를 변수로 하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다.
상기 제1 IP 주소 수 정보가 매우 낮은 수치에 해당하는 경우, 상기 조건부 확률 정보가 정상적으로 구해지지 않아, 고정되어 있는 소정의 수치를 훨씬 초과할 가능성이 있기 때문이다. 예를 들어, "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 수신된 IP 주소의 수가 "1"이고, "A" 검색 쿼리가 수신된 IP 주소의 수가 "5"인 경우, 조건부 확률 정보가 "1/5"로 계산되어 매우 높은 수치를 기록할 수 있게 된다. 이 경우, 실제 "A" 검색 쿼리 및 "B" 검색 쿼리 간 연관 정도는 낮음에도 불구하고, 양 검색 쿼리 간 연관성이 인정되어 정확하지 않은 연관 검색 쿼리를 사용자에게 제공할 가능성이 있다. 따라서, 본 실시예와 같이, 상기 소정의 수치를 제1 IP 주소 수 정보에 따라서 변동해야 할 필요성이 있고, 이로써 보다 정확한 연관 검색 쿼리를 사용자에게 제공할 수 있게 된다.
본 발명의 일실시예에 따르면, 상기 실시예에서의 상기 소정의 함수는 100 퍼센트(값으로는 "1")를 상기 제1 IP 주소 수 정보의 제곱근으로 나눈 퍼센티지 값을 함수값으로 갖는 함수인 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다. 본 실시예에 따르면, 상기 함수는 "100/√(root)제1 IP 주소 수 정보"로 표현될 수 있다.
또한, 다른 실시예에 따르면, 상기 소정의 함수는 아래와 같은 일반적인 수식으로 표현될 수도 있다.
<수식 3. 함수>
수식 3에서, y는 상기 소정의 수치이고, x는 상기 제1 IP 주소 수 정보이다. 또한, 수식 3에 있어서, 상수 a와 차수 b는 상기 수치를 구하기 위한 최선의 식을 유도하는 실험 과정을 통해서 구해질 수 있다.
상기와 같은 실시예들에 의하면, 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하는 것을 특징으로 하는 본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법에 있어서, 상기 제1 IP 주소 수 정보가 낮은 수치에 해당할 수록 상기 소정의 수치는 높아지므로 상기 연관 검색 쿼리 추출 시스템은 연관 여부를 판단하지 않는 경우가 증가하게 되고, 이로써 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 단계(208)에서 상기 상관 관계 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하는 것을 특징으로 하는 연관 검색 쿼리 추출 방법이 제공된다.
본 실시예에 있어서, 상기 연관 검색 쿼리 추출 시스템은 상기 상관 관계 정보가 소정의 수치에 미달될 정도로 매우 낮은 수치에 해당하는 경우(예를 들어, "1"에 거의 근접한 경우), 이미 검색 쿼리 간 연관성이 매우 낮다고 판단하여 연관 여부를 판단하지 않음으로써, 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법에 의하면, 상기 연관 검색 쿼리 추출 시스템은 양 검색 쿼리가 연관된 것으로 판단된 경우 이를 기록하고, 토글 오류 검사를 수행함으로써 보다 정확한 연관 검색 쿼리를 추출할 수 있는데, 이하 본 실시예에 대하여 설명한다.
일반적으로 키보드에 있어서 토글키는 하나의 키로 두 가지 이상의 기능을 할 수 있는 키를 의미하는 용어이다. 이러한 토글키의 대표적인 예로는 "Insert", "한/영", "Caps Lock", "Num Lock", "Scroll Lock" 등이 있다.
본 명세서에서 사용되는 "토글 오류 검사"는 상기 토글키 중 "한/영" 변환키와 연관된 검사에 관한 것이다. 예를 들어, 한글 자판을 통하여 "다음"을 입력하고자 하는 사용자가, "한/영" 변환키의 설정에 따라 영어 자판을 통한 "ekdma"을 입력하는 경우가 있을 수 있다. 상기 예와 같이, 실제적으로 사용자가 "한/영" 변환키의 설정에 따라서 한글로 된 검색 쿼리를 영어 자판으로 입력하거나, 또는 영어로 된 검색 쿼리를 한글 자판으로 입력하게 되는 경우는 빈번히 발생할 수 있다. 이 경우, 사용자는 정확한 검색 쿼리를 다시 입력하게 되는데, 이로 인하여 원래의 검색 쿼리와 토글 오류로 인한 검색 쿼리가 동일한 IP 주소를 통하여 수신되어, 양 검색 쿼리 간 연관성이 인정되는 경우가 발생할 수 있다. 상기 예의 경우, "다음"의 토글 오류인 "ekdma"이 "다음"의 연관 검색 쿼리로 지정될 가능성이 있다.
토글 오류로 인해 실제적으로 아무 연관이 없는 검색 쿼리가 연관 검색 쿼리로 지정되는 경우, 이를 기록하기 위해 불필요한 메모리가 소요되고, 그로 인해 상기 시스템의 수행 속도가 저하되는 문제점이 발생할 수 있고, 또한 부정확한 연관 검색 쿼리가 사용자에게 제공되어 서비스의 신뢰도가 낮아지는 문제점 등도 발생할 수 있다. 그러나, 본 실시예에 따른 연관 검색 쿼리 추출 시스템은 상기와 같은 토글 오류 검사를 수행함으로써 상술한 문제점을 해결할 수 있다.
본 실시예에 따른 연관 검색 쿼리 추출 시스템은 단계(208)에서 연관 여부 판단 결과 연관된 것으로 판단된 경우, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리를 연관 검색 쿼리로 지정하여 제2 데이터베이스에 기록할 수 있다.
또한, 상기 연관 검색 쿼리 추출 시스템은 상기 제2 데이터베이스를 참조하여, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대한 토글 오류 검사를 수행할 수 있다. 본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 형태소 분석을 이용하여 상기 토글 오류 검사를 수행할 수 있다.
상기 검사 결과, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 토글 오류 관계에 있는 경우, 상기 연관 검색 쿼리 추출 시스템은 상기 제2 데이터베이스로부터 상기 연관 검색 쿼리 지정과 연관된 기록을 삭제할 수 있다.
본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법에 의하면, 상기 연관 검색 쿼리 추출 시스템은 검색 쿼리 간 연관 지수 정보를 생성하고 이에 기초하여 연관 여부를 판단하여 연관 검색 쿼리 목록을 사용자에게 제공할 수 있다.
도 6은 본 실시예에 있어서, 연관 지수 정보를 이용하여 연관 검색 쿼리 목록을 제공하기 위한 과정을 도시한 흐름도이다. 본 실시예에 따른 연관 검색 쿼리 추출 방법에 의하면, 단계(208)은 단계(601) 및 단계(602)를 포함할 수 있다.
단계(601)에서 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보 또는 상기 상관 관계 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 지수 정보를 생성한다. 예를 들어, 상기 연관 지수 정보는 양 정보에 소정의 수치를 곱하고 이를 더하거나, 양 정보에 소정의 수치를 곱하고 이를 다시 곱하는 방법으로 생성될 수 있다. 상기 방법 이외에도, 상기 조건부 확률 정보 또는 상기 상관 관계 정보를 이용하여 상기 연관 지수 정보를 생성하는 방법에는 다양한 실시예가 존재할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 있어 자명하다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보와 연관된 제1 가중치 정보를 생성하고, 상기 상관 관계 정보와 연관된 제2 가중치 정보를 생성하여, 상기 제1 가중치 정보 및 상기 제2 가중치 정보를 이용하여 상기 연관 지수 정보를 생성할 수 있는 연관 검색 쿼리 추출 방법이 제공된다. 이 경우, 상기 제1 가중치 정보 또는 상기 제2 가중치 정보는 소정의 기준에 따라 변동될 수 있다.
본 실시예에 의하면, 상기 조건부 확률 정보가 상기 연관 지수 정보에 미치는 영향 또는 상기 상관 관계 정보가 상기 연관 지수 정보에 미치는 영향을 상황에 따라 적절히 조정할 수 있게 되어, 보다 정확한 연관 지수 정보를 생성할 수 있는 효과를 얻을 수 있다. 또한, 상기 연관 검색 쿼리 추출 시스템은 상기 가중치 정보를 변동할 수도 있다. 예를 들어, 제1 IP 주소 수 정보 또는 제2 IP 주소 수 정보가 너무 낮은 수치에 해당할 경우, 상기 조건부 확률 정보 또는 상기 상관 관계 정보가 매우 커질 수 있고, 이 경우 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보 또는 상기 상관 관계 정보의 영향을 조정함으로써, 보다 정확한 연관 지수 정보를 생성할 수 있게 된다.
단계(602)에서 상기 연관 검색 쿼리 추출 시스템은 상기 연관 지수 정보에 기초하여 상기 연관 여부를 판단한다. 예를 들어, 상기 연관 지수 정보가 소정의 수치 이상인 경우 양 검색 쿼리 간 연관성을 인정할 수 있다.
본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법에 의하면, 상기 연관 검색 쿼리 추출 시스템은 단계(603) 내지 단계(607)을 더 수행할 수 있다.
단계(603)에서 상기 연관 검색 쿼리 추출 시스템은 상기 연관 여부 판단 결과, 연관된 것으로 판단된 경우 상기 연관 지수 정보를 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 연관하여 제2 데이터베이스에 기록한다.
도 7은 본 실시예에 있어서, 연관 지수 정보가 기록된 제2 데이터베이스의 일례를 도시한 도면이다. 도 7에 도시한 것과 같이, 검색 쿼리의 쌍과 연관하여 연관 지수 정보가 상기 제2 데이터베이스에 기록되어 있다.
단계(604)에서 상기 연관 검색 쿼리 추출 시스템은 사용자 단말기로부터 제3 검색 쿼리를 수신하고, 단계(605)에서 상기 제2 데이터베이스를 참조하여 상기 제3 검색 쿼리와 연관된 하나 이상의 제4 검색 쿼리를 추출한다.
단계(606)에서 상기 연관 검색 쿼리 추출 시스템은 상기 연관 지수 정보에 따라 상기 추출된 제4 검색 쿼리를 소팅(sorting)하여 연관 검색 쿼리 목록을 생성한다. 예를 들어, 연관 지수 정보가 소정의 수치 이상인 추출된 검색 쿼리만을 소팅하여 상기 연관 검색 쿼리 목록을 생성하는 방법을 이용할 수 있고, 또는 연관 지수 정보의 오름차순 또는 내림차순으로 추출된 검색 쿼리를 소팅하여 상기 연관 검색 쿼리 목록을 생성하는 방법을 이용할 수 있다. 상기 생성 방법 이외에도, 연관 지수 정보에 따라 추출된 검색 쿼리를 소팅(sorting)하여 연관 검색 쿼리 목록을 생성하는 방법에는 다양한 실시예가 존재할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 있어 자명하다.
단계(607)에서 상기 연관 검색 쿼리 추출 시스템은 상기 생성된 연관 검색 쿼리 목록을 상기 사용자 단말기로 제공한다.
본 실시예에 의하면, 사용자는 연관 정도가 높은 검색 쿼리만을 제공 받을 수 있고, 또한 연관 정도가 높거나 낮은 순서로 검색 쿼리를 제공 받을 수도 있게 되어, 제공된 연관 검색 쿼리를 이용하여 자신이 찾고자 하는 정보를 더 신속하게 찾을 수 있는 장점이 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 검색 쿼리 간 연관 지수 정보를 일정한 시간 간격 마다 생성하고 이를 소정의 데이터베이스에 누적 기록하며, 상기 누적 기록된 연관 지수 정보를 이용하여 검색 쿼리 간 연관 여부를 판단하는 연관 검색 쿼리 추출 방법이 제공된다.
도 8은 본 실시예에 있어서, 누적된 연관 지수 정보를 이용하여 연관 여부를 판단하는 과정을 도시한 흐름도이다. 본 실시예에 의하면, 단계(208)은 단계(801) 내지 단계(805)를 포함할 수 있다.
단계(801)에서 상기 연관 검색 쿼리 추출 시스템은 상기 조건부 확률 정보 및 상기 상관 관계 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 지수 정보를 제2 시간 간격 마다 생성한다. 이 때, 상기 제2 시간 간격은 IP 주소 및 검색 쿼리에 관한 레코드를 생성하는 상기 소정의 시간 간격과 동일하거나 또는 다를 수 있다.
단계(802)에서 상기 연관 검색 쿼리 추출 시스템은 상기 생성된 연관 지수 정보를 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 연관하여 상기 제2 시간 간격 마다 제2 데이터베이스에 누적 기록한다.
도 9는 본 실시예에 있어서, 누적 연관 지수 정보 및 그 기록 시점을 기록한 제2 데이터베이스의 일례를 도시한 도면이다. 도 9에 도시한 것과 같이, 상기 제2 데이터베이스에는 검색 쿼리의 쌍, 상기 검색 쿼리의 쌍에 해당하는 누적 연관 지수 정보, 상기 누적 연관 지수 정보가 기록된 각각의 기록 시점이 기록되어 있다. 도 9에서 상기 제2 시간 간격은 "1일"로 되어 있지만, 이는 하나의 예시에 불과하고 다양한 시간 간격 마다 상기 연관 지수 정보를 생성 및 기록할 수 있다.
단계(803)에서 상기 연관 검색 쿼리 추출 시스템은 상기 제2 데이터베이스를 참조하여 제1 누적 연관 지수 정보 및 제2 누적 연관 지수 정보를 추출하고, 단계(804)에서 상기 제1 누적 연관 지수 정보 및 상기 제2 누적 연관 지수 정보를 이용하여 제2 연관 지수 정보를 생성한다. 예를 들어, 상기 제2 연관 지수 정보는 양 정보에 소정의 수치를 곱하고 이를 더하거나, 양 정보에 소정의 수치를 곱하고 이를 다시 곱하는 방법으로 생성될 수 있다. 상기 방법 이외에도, 상기 제1 누적 연관 지수 정보 및 상기 제2 누적 연관 지수 정보를 이용하여 상기 제2 연관 지수 정보를 생성하는 방법에는 다양한 실시예가 존재할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 있어 자명하다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 상기 제1 누적 연관 지수 정보와 연관된 제1 가중치 정보를 생성하고, 상기 제2 누적 연관 지수 정보와 연관된 제2 가중치 정보를 생성하여, 상기 제1 가중치 정보 및 상기 제2 가중치 정보를 이용하여 상기 제2 연관 지수 정보를 생성할 수 있는 연관 검색 쿼리 추출 방법이 제공된다. 예를 들어, 상기 제2 시간 간격이 "1일"이라고 할 경우, 상기 제1 누적 연관지수 정보 및 상기 제2 누적 연관 지수 정보는 매일 생겨나는 결과물로서 하루만의 상태를 표현하므로, 상기 매일 생겨나는 결과물을 합성하는 방법을 택하는 것이다. 예를 들어, 7일 전 결과물부터 오늘의 결과물까지를 합성하여 최종 결과물로서의 연관 지수 정보를 만들어 낼 수 있다.
본 실시예에 의하면, 장기간에 거쳐 일정한 연관 관계를 유지하고 있는 검색 쿼리를 사용자에게 제공하여 보다 정확한 연관 검색 쿼리 서비스를 제공 받기를 원하는 사용자의 욕구를 충족시킬 수 있는 효과를 얻을 수 있다.
본 실시예에 있어서, 상기 제1 가중치 정보는 상기 제1 누적 연관 지수 정보가 상기 제2 데이터베이스에 기록된 시점에 기초하여 생성되고, 상기 제2 가중치 정보는 상기 제2 누적 연관 지수 정보가 상기 제2 데이터베이스에 기록된 시점에 기초하여 생성될 수 있다. 상기 가중치 정보를 생성할 때, 선형적(linear) 방식을 사용할 수도 있고, 비선형적(non-linear) 방식을 사용할 수도 있다.
본 실시예에 의하면 최근에 생성되어 기록된 누적 연관 지수 정보에 더 가중치를 두어 연관 지수 정보를 생성함으로써, 보다 최근의 연관 관계를 반영한 연관 검색 쿼리를 사용자에게 제공할 수 있게 되어 보다 정확한 연관 검색 쿼리 서비스를 제공 받기를 원하는 사용자의 욕구를 충족시킬 수 있는 효과를 얻을 수 있다.
단계(805)에서 상기 연관 검색 쿼리 추출 시스템은 상기 제2 연관 지수 정보에 기초하여 상기 연관 여부를 판단한다. 예를 들어, 상기 제2 연관 지수 정보가 소정의 수치 이상인 경우 양 검색 쿼리 간 연관성을 인정할 수 있다.
본 발명의 일실시예에 따르면, 상기 연관 검색 쿼리 추출 시스템은 검색 쿼리 간 연관 여부를 판단하여 기록하고, 이를 이용하여 연관 검색 쿼리를 사용자에게 제공할 수 있다. 본 실시예에 따른 연관 검색 쿼리 추출 방법은 단계(209) 내지 단계(212)를 더 포함할 수 있다.
단계(209)에서 상기 연관 검색 쿼리 추출 시스템은 단계(208)에서의 연관 여부 판단 결과, 연관된 것으로 판단된 경우 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리를 연관 검색 쿼리로 지정하여 제2 데이터베이스에 기록한다.
단계(210)에서 상기 연관 검색 쿼리 추출 시스템은 사용자 단말기로부터 제3 검색 쿼리를 수신하고, 단계(211)에서 상기 제2 데이터베이스를 참조하여 상기 제3 검색 쿼리와 연관된 하나 이상의 제4 검색 쿼리를 추출하는 한다.
단계(212)에서 상기 연관 검색 쿼리 추출 시스템은 상기 추출된 제4 검색 쿼리를 상기 사용자 단말기로 제공한다.
본 발명에 따른 연관 검색 쿼리 추출 방법에 의하면, 상기와 같은 일련의 과정을 통하여, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공할 수 있는 효과를 얻을 수 있다.
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체에 기록되는 프로그램은 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이하, 본 발명의 또 다른 실시예에 따른 연관 검색 쿼리 추출 시스템에 대하여 설명한다. 도 10은 본 실시예에 따른 연관 검색 쿼리 추출 시스템을 도시한 블록도이다.
본 실시예에 따른 연관 검색 쿼리 추출 시스템(1000)은 데이터베이스(1001), 데이터베이스 관리 수단(1002), 카운터 수단(1003), 조건부 확률 정보 생성 수단(1004), 상관 관계 정보 생성 수단(1005), 및 연관 여부 판단 수단(1006)을 포함한다.
데이터베이스(1001)는 IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함한다.
도 3은 데이터베이스(1001)에 포함된 레코드의 일례를 도시한 도면이다. 도 3에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
본 발명의 일실시예에 따르면, 연관 검색 쿼리 추출 시스템(1000)은 상기 IP 주소 또는 상기 수신된 검색 쿼리를 숫자로 매핑(mapping)하고, 상기 매핑된 숫자를 이용하여 생성된 레코드를 포함하는 데이터베이스(1001)를 유지할 수 있다. 도 4는 IP 주소 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다. 도 4에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
데이터베이스 관리 수단(1002)은 상기 레코드를 소정의 시간 간격 마다 생성하여 데이터베이스(1001)에 기록한다.
카운터 수단(1003)은 데이터베이스(1001)를 참조하여, 상기 시간 간격 당 설정된 총 IP 주소의 수를 카운팅(counting)하여 총 IP 주소 수 정보를 생성하고, 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하고, 상기 시간 간격 당 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성하며, 상기 시간 간격 당 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제3 IP 주소 수 정보를 생성한다.
본 발명의 일실시예에 따르면, 카운터 수단(1003)은 IP 주소 수를 카운팅함에 있어서 해쉬 트리(Hash-tree) 자료구조를 이용할 수 있다.
해쉬 트리(Hash-tree) 자료구조라 함은 데이터를 저장하고 찾는 데 사용되는 자료 구조의 한 종류로서, 찾고자 하는 문자열을 특정한 함수(Hash function)로 처리하여 얻은 값을 이용하여 데이터의 위치를 찾는 방법으로 알려져 있다. 도 5는 본 실시예에 있어서, IP 주소 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다. 도 5에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
조건부 확률 정보 생성 수단(1004)은 상기 제1 IP 주소 수 정보 및 상기 제3 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
상관 관계 정보 생성 수단(1005)은 상기 총 IP 주소 수 정보, 상기 제1 IP 주소 수 정보, 상기 제2 IP 주소 수 정보, 및 상기 제3 IP 주소 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
연관 여부 판단 수단(1006)은 상기 조건부 확률 정보 또는 상기 상관 관계 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단한다.
본 발명의 또 다른 실시예에 따른 연관 검색 쿼리 추출 시스템(1020)은 소정의 기록 수단(1007)을 더 포함할 수 있다. 기록 수단(1007)은 상기 제1 IP 주소 수 정보를 변수로 하는 소정의 함수를 기록할 수 있다.
본 실시예에 있어서, 연관 여부 판단 수단(1006)은 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하고, 상기 수치는 기록 수단(1007)에 기록된 상기 함수에 기초하여 변동될 수 있다.
본 실시예는 상기 제1 IP 주소 수 정보가 매우 낮은 수치에 해당하는 경우, 상기 조건부 확률 정보가 정상적으로 구해지지 않아, 고정되어 있는 소정의 수치를 훨씬 초과하는 경우에 대비하기 위한 것이다. 예를 들어, "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 수신된 IP 주소의 수가 "1"이고, "A" 검색 쿼리가 수신된 IP 주소의 수가 "5"인 경우, 조건부 확률 정보가 "1/5"로 계산되어 매우 높은 수치를 기록할 수 있게 된다. 이 경우, 실제 "A" 검색 쿼리 및 "B" 검색 쿼리 간 연관 정도는 낮음에도 불구하고, 양 검색 쿼리 간 연관성이 인정되어 정확하지 않은 연관 검색 쿼리를 사용자에게 제공할 가능성이 있다. 따라서, 본 실시예와 같이, 상기 소정의 수치를 제1 IP 주소 수 정보에 따라서 변동해야 할 필요성이 있고, 이로써 보다 정확한 연관 검색 쿼리를 사용자에게 제공할 수 있게 된다.
본 발명의 또 다른 실시예에 따르면, 검색 쿼리 간 연관 여부를 판단하여 기록하고, 이를 이용하여 연관 검색 쿼리를 사용자에게 제공할 수 있는 연관 검색 쿼리 추출 시스템이 제공된다. 본 실시예에 따른 연관 검색 쿼리 추출 시스템은 상기 실시예에 따른 연관 검색 쿼리 추출 시스템(1000)에 추가하여 도면 부호(1030)에 해당하는 소정의 장치들을 더 포함할 수 있다.
도면 부호(1030)에는 제2 데이터베이스(1008), 제2 데이터베이스 관리 수단(1009), 검색 쿼리 수신 수단(1010), 검색 쿼리 추출 수단(1010), 검색 쿼리 제공 수단(1012)가 도시되어 있다.
제2 데이터베이스(1008)는 연관 검색 쿼리에 관한 레코드를 포함한다. 도 7은 제2 데이터베이스(1008)의 일례를 도시한 도면이다. 도 7에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
제2 데이터베이스 관리 수단(1009)은 연관 여부 판단 수단(1006)이 상기 연관 여부 판단 결과, 연관된 것으로 판단한 경우 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리를 연관 검색 쿼리로 지정하여 제2 데이터베이스(1008)에 기록한다.
검색 쿼리 수신 수단(1010)은 사용자 단말기로부터 제3 검색 쿼리를 수신하고, 검색 쿼리 추출 수단(1010)은 제2 데이터베이스(1008)를 참조하여 상기 제3 검색 쿼리와 연관된 하나 이상의 제4 검색 쿼리를 추출한다.
검색 쿼리 제공 수단(1012)은 상기 추출된 제4 검색 쿼리를 상기 사용자 단말기로 제공한다.
본 실시예에 따른 연관 검색 쿼리 추출 시스템에 의하면, 상기와 같은 일련의 과정을 통하여, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공할 수 있는 효과를 얻을 수 있다.
도 11은 본 발명에 따른 연관 검색 쿼리 추출 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(1100)는 램(RAM: Random Access Memory)(1020)과 롬(ROM: Read Only Memory)(1130)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(1110)를 포함한다. 프로세서(1110)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(1130)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(1120)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(1120) 및 롬(1130)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(1140)는 양방향성으로 프로세서(1110)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(1140)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(1160)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(1110)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(1150)와 연결된다. 마지막으로, 프로세서(1110)는 네트워크 인터페이스(1170)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다.
상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템에 의하면, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집, 분석하여 검색 쿼리 간 연관 여부를 자동적으로 판단할 수 있는 시스템을 구축함으로써, 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장함으로 인해 서비스 운영자에게 야기되는 시간적, 경제적 손실을 줄일 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템에 의하면, 검색 쿼리 간 연관 지수 정보를 체계적으로 기록하는 데이터베이스를 유지함으로써, 사용자로부터 검색 쿼리가 입력된 경우 상기 연관 지수 정보를 이용하여 연관 정도가 더 높은 검색 쿼리를 우선적으로 상기 사용자에게 제공할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템에 의하면, 사용자들이 검색한 체계적인 전처리 과정을 거친 유용한 데이터만을 추출하여 적절한 수의 연관 검색 쿼리를 유지함으로써, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따른 연관 검색 쿼리 추출 방법 및 시스템에 의하면, 일정 기간 동안 누적된 데이터를 종합하여 검색 쿼리 간 연관 여부를 판단함으로써, 장기간에 거쳐 일정한 연관 관계를 유지하고 있는 검색 쿼리를 사용자에게 제공하여 보다 정확한 연관 검색 쿼리 서비스를 제공 받기를 원하는 사용자의 욕구를 충족시킬 수 있는 효과를 얻을 수 있다.
도 1은 본 발명의 일실시예에 따른 연관 검색 쿼리 추출 시스템의 네트워크 연결을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 연관 검색 쿼리 추출 방법을 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 데이터베이스에 포함된 레코드의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, IP 주소 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, IP 주소 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 연관 지수 정보를 이용하여 연관 검색 쿼리 목록을 제공하기 위한 과정을 도시한 흐름도이다.
도 7은 본 발명의 일실시예에 있어서, 연관 지수 정보가 기록된 제2 데이터베이스의 일례를 도시한 도면이다.
도 8은 본 발명의 일실시예에 있어서, 누적된 연관 지수 정보를 이용하여 연관 여부를 판단하는 과정을 도시한 흐름도이다.
도 9은 본 발명의 일실시예에 있어서, 누적 연관 지수 정보 및 기록 시점을 기록한 제2 데이터베이스의 일례를 도시한 도면이다.
도 10은 본 발명의 또 다른 실시예에 따른 연관 검색 쿼리 추출 시스템을 도시한 블록도이다.
도 11는 본 발명에 따른 연관 검색 쿼리 추출 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
1000 : 연관 검색 쿼리 추출 시스템
1001 : 데이터베이스 1002 : 데이터베이스 관리 수단
1003 : 카운터 수단 1004 : 조건부 확률 정보 생성 수단
1005 : 상관 관계 정보 생성 수단 1006 : 연관 여부 판단 수단

Claims (1)

  1. 상호 연관된 검색 쿼리(query)를 추출하는 방법에 있어서,
    IP 주소 및 상기 IP 주소를 통하여 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계 - 상기 레코드는 소정의 시간 간격 마다 생성되어 상기 데이터베이스에 기록됨 -;
    상기 데이터베이스를 참조하여 상기 시간 간격 당 제1 검색 쿼리가 수신된 IP 주소의 수를 카운팅(counting)하여 제1 IP 주소 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 당 상기 제1 검색 쿼리 및 제2 검색 쿼리가 수신된 IP 주소의 수를 카운팅하여 제2 IP 주소 수 정보를 생성하는 단계;
    상기 제1 IP 주소 수 정보 및 상기 제2 IP 주소 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계; 및
    상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 단계를 포함하고,
    상기 조건부 확률 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리 간 연관 여부를 판단하는 상기 단계는,
    상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 여부를 판단하고, 상기 수치는 상기 제1 IP 주소 수 정보를 변수로 하는 소정의 함수에 기초하여 변동되며, 상기 함수는 100 퍼센트를 상기 제1 IP 주소 수 정보의 제곱근으로 나눈 퍼센티지 값을 함수값으로 갖는 함수인 것을 특징으로 하는 연관 검색 쿼리 추출 방법.
KR1020040027764A 2004-04-22 2004-04-22 연관 검색 쿼리 추출 방법 및 시스템 KR20050102406A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040027764A KR20050102406A (ko) 2004-04-22 2004-04-22 연관 검색 쿼리 추출 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040027764A KR20050102406A (ko) 2004-04-22 2004-04-22 연관 검색 쿼리 추출 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020040027719A Division KR100525617B1 (ko) 2004-04-22 2004-04-22 연관 검색 쿼리 추출 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20050102406A true KR20050102406A (ko) 2005-10-26

Family

ID=37280616

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040027764A KR20050102406A (ko) 2004-04-22 2004-04-22 연관 검색 쿼리 추출 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR20050102406A (ko)

Similar Documents

Publication Publication Date Title
KR100544514B1 (ko) 검색 쿼리 연관성 판단 방법 및 시스템
US8290975B2 (en) Graph-based keyword expansion
US6389412B1 (en) Method and system for constructing integrated metadata
US7783476B2 (en) Word extraction method and system for use in word-breaking using statistical information
US6826576B2 (en) Very-large-scale automatic categorizer for web content
KR101201037B1 (ko) 키워드와 웹 사이트 콘텐츠 사이의 관련성 검증
US20100241647A1 (en) Context-Aware Query Recommendations
US8849787B2 (en) Two stage search
US20080195606A1 (en) Document matching engine using asymmetric signature generation
US8316026B2 (en) Method and system for keyword management
US20100131485A1 (en) Method and system for automatic construction of information organization structure for related information browsing
KR20150036117A (ko) 쿼리 확장
US20140324416A1 (en) Method of automated analysis of text documents
WO2017091985A1 (zh) 停用词识别方法与装置
US7752216B2 (en) Retrieval apparatus, retrieval method and retrieval program
US7739743B2 (en) Information presentation apparatus, and information presentation method and program for use therein
CN107085568A (zh) 一种文本相似度判别方法及装置
JP4569380B2 (ja) ベクトル生成方法及び装置及びカテゴリ分類方法及び装置及びプログラム及びプログラムを格納したコンピュータ読み取り可能な記録媒体
CN110019763B (zh) 文本过滤方法、系统、设备及计算机可读存储介质
JP3547074B2 (ja) データ検索方法、その装置および記録媒体
KR101096285B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR100525617B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
JP5292336B2 (ja) 検索システムユーザの分野ごとにおける知識量推定装置、知識量推定方法および知識量推定プログラム
KR100525616B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR100525618B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination