KR100544514B1 - 검색 쿼리 연관성 판단 방법 및 시스템 - Google Patents

검색 쿼리 연관성 판단 방법 및 시스템 Download PDF

Info

Publication number
KR100544514B1
KR100544514B1 KR1020050055750A KR20050055750A KR100544514B1 KR 100544514 B1 KR100544514 B1 KR 100544514B1 KR 1020050055750 A KR1020050055750 A KR 1020050055750A KR 20050055750 A KR20050055750 A KR 20050055750A KR 100544514 B1 KR100544514 B1 KR 100544514B1
Authority
KR
South Korea
Prior art keywords
search
search query
information
query
session
Prior art date
Application number
KR1020050055750A
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 KR1020050055750A priority Critical patent/KR100544514B1/ko
Application granted granted Critical
Publication of KR100544514B1 publication Critical patent/KR100544514B1/ko
Priority to US11/917,759 priority patent/US7693904B2/en
Priority to JP2008512225A priority patent/JP4741657B2/ja
Priority to PCT/KR2006/002323 priority patent/WO2007001128A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Abstract

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

Description

검색 쿼리 연관성 판단 방법 및 시스템{METHOD AND SYSTEM FOR DETERMINING RELATION BETWEEN SEARCH TERMS IN THE INTERNET SEARCH SYSTEM}
도 1은 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 시스템의 네트워크 연결을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 방법을 도시한 흐름도이다.
도 3은 본 발명의 일실시예에 있어서, 데이터베이스를 유지하는 과정을 도시한 흐름도이다.
도 4는 본 발명의 일실시예에 있어서, 데이터베이스에 포함된 레코드의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 검색 세션 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 검색 세션 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 연관 검색 쿼리가 기록된 제2 데이터베이스의 일례를 도시한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 검색 쿼리 연관성 판단 시스템을 도시한 블록도이다.
도 9는 본 발명에 따른 검색 쿼리 연관성 판단 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
<도면의 주요 부분에 대한 부호의 설명>
800 : 검색 쿼리 연관성 판단 시스템 801 : 데이터베이스
802 : 데이터베이스 관리 수단 803 : 카운터 수단
804 : 조건부 확률 정보 생성 수단 805 : 상관 관계 정보 생성 수단
806 : 연관성 판단 수단 807 : 기록 수단
본 발명은 복수의 검색 쿼리간 연관성을 판단하는 방법 및 시스템에 관한 것으로서, 더욱 상세하게는 각 검색 쿼리가 입력된 검색 세션의 수와 상기 검색 쿼리를 포함하는 검색 쿼리의 쌍이 입력된 검색 세션의 수를 측정하여 이를 이용하고, 각 검색 쿼리의 클릭율 정보를 추가적으로 활용하여 복수의 검색 쿼리 간 연관성을 판단할 수 있는 검색 쿼리 연관성 판단 방법 및 시스템에 관한 것이다.
일반적으로 검색 서비스를 제공하는 검색 서비스 시스템은 사용자로부터 검색쿼리가 입력되면 상기 검색 쿼리에 대응하는 검색 결과(예를 들면, 상기 검색 쿼리를 포함하는 웹 사이트, 상기 검색 쿼리를 포함하는 기사, 상기 검색 쿼리를 포함하는 파일명을 갖는 이미지 등)를 사용자에게 제공한다.
한편, 최근의 검색 서비스 시스템은 사용자가 원하는 정보를 보다 빠르고 정확하게 찾을 수 있도록 하기 위해 사용자로부터 입력 받은 검색 쿼리와 연관 관계가 있는 검색 쿼리를 추출하여 사용자에게 제공하는 연관 검색 쿼리 제공 서비스를 제공하고 있다. 즉, 검색 서비스 시스템은 입력된 검색 쿼리에 따라 매우 다른 검색 결과를 사용자에게 제공하는 것이 보통이다. 예를 들어, 검색자가 "자동차"를 입력하여 얻은 검색 결과와 "승용차"를 입력하여 얻게 되는 검색 결과는 서로 상이하다. 따라서, 검색자는 자신이 원하는 정보를 얻기 위하여 자신이 원하는 정보와 좀 더 관련성이 높은 검색 쿼리를 입력하려고 하지만, 검색자 스스로 이러한 검색 쿼리를 떠 올리기가 어려운 경우들이 있다. 따라서, 최근의 검색 서비스 시스템은 사용자가 입력한 검색 쿼리 및 통계 정보를 이용하여 상기 입력된 검색 쿼리와 관련성이 있는 검색 쿼리들을 사용자에게 제공함으로써, 사용자가 다른 검색 쿼리를 이용하여 검색할 수 있도록 하는 서비스를 제공하고 있다.
여기서, 상기 연관 관계가 있는 검색 쿼리라 함은, 예를 들어 사용자로부터 입력 받은 검색 쿼리의 상위 개념 또는 하위 개념에 해당하는 검색 쿼리("일본어"를 입력 받은 경우 "외국어", 또는 역으로 "외국어"를 입력 받은 경우 "일본어"), 사용자로부터 입력 받은 검색 쿼리와 동의어 관계에 있는 검색 쿼리("책방"을 입력 받은 경우 "서점"), 사용자로부터 입력 받은 검색 쿼리와 유의어 관계에 있는 검색 쿼리("꼬리"를 입력 받은 경우 "꽁지"), 사용자로부터 입력 받은 검색 쿼리와 관계어 관계에 있는 검색 쿼리("see"를 입력 받은 경우 "saw, seen, seeing") 등 의미적으로 관련이 있는 검색 쿼리를 의미할 수 있다. 그러나, 상기 연관 관계가 있는 검색 쿼리는 단순히 의미적 관련이 있는 검색 쿼리만을 의미하는 것은 아니며, 예를 들어 사용자로부터 "박찬호"를 입력 받은 경우 그의 직업인 "야구", 그가 속한 리그인 "메이저리그", 그의 출신 대학인 "한양대", 그가 속해 있는 소속팀인 "텍사스 레인저스", 같은 메이저리그에 속한 한국인 야구 선수인 "김병현" 등 다양한 관점에서의 관련이 있는 검색 쿼리를 의미할 수 있다.
그런데, 종래기술에 따른 연관 검색 쿼리 제공 서비스에 의하면, 서비스 운영자가 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장해야 했기 때문에, 이를 위해 시간적, 경제적 손실을 감수해야만 하는 문제점이 있었다.
또한, 보다 적은 시간과 비용으로 연관 검색 쿼리를 추출하기 위해, 용어들 간의 관련성을 동시에 발생활 확률로 정의한 동시 발생 분류 방법, 문서들을 분류한 후에 각 그룹에서만 주로 나타나는 용어들을 관련어로 정의하는 문서 분류 방법, 어학적 지식과 문서에서의 동시 발생 특성을 이용하여 용어들 간의 관계를 파악하는 문법 분류 방법이 등장하였으나, 상기 방법들은 주로 용어들 간의 의미적 관계는 고려하지 않고 통계적인 관계만 고려함으로 인해, 사용자가 추출된 연관 검색 쿼리 간의 연관 관계를 납득할 수 없는 경우가 발생하는 문제점이 있었다.
이러한 문제를 해결하기 위해, 한국특허등록 제 10-0372078 호는 사용자로부터 입력 받은 질의어 로그를 이용하여 관련어집을 자동으로 생성하고, 생성된 관련어집을 이용하여 의미적으로 관련성이 있는 관련어를 검색할 수 있도록 하는 관련어 검색 방법에 대해 개시하고 있다.
상기 관련어 검색 방법은 사용자가 입력한 질의어들 중 일정한 세션 내에 이루어진 질의어들 중 일부를 관련어로 등록하여 관련어집을 생성하고, 관련어 검색 장치에 질의어를 입력하면, 상기 질의어의 관련어들을 식별하여 정렬하고 이를 사용자에게 제공한다.
그러나, 상기 관련어 검색 방법은 일정한 세션 내에 이루어진 질의어 로그를 이용하여 질의어 간 연관성을 판단할 수는 있지만, 아래와 같은 종래 기술의 문제를 그대로 안고 있다.
즉, 상기 관련어 검색 방법을 이용하는 경우에도 1) 같은 세션에서 1회 이상 출현한 용어라면 이를 모두 관련어로 등록함으로 인해 사용자가 추출된 관련어 간의 연관 관계를 납득할 수 없는 경우가 발생한다는 점, 2) 일정 기간 동안 누적된 데이터를 체계적으로 분석하여 관련어 등록을 수행하는 것이 아님으로 인해 우연히 같은 세션에서 출현한 용어 모두가 관련어로 등록된다는 점, 3) 통상 사용자로부터 입력 되는 것은 질의어가 아닌 검색 쿼리임에 불구하고, 질의어로부터 용어를 추출하는 방법을 채택함으로 인해 검색 쿼리 간 연관 관계를 파악하기 위해 불필요한 시간이 소비된다는 점, 4) 같은 세션에서 1회 이상 출현한 용어라면 이를 모두 관련어로 등록함으로 인해 너무 많은 관련어가 존재할 수 있다는 점 등의 문제점이 여전히 존재한다.
결국, 상기 관련어 검색 방법에 의하더라도, 사용자로부터 입력 받은 검색 쿼리와 연관 관계가 없는 검색 쿼리가 추출될 가능성이 여전히 높고, 이로 인해 질 높은 서비스를 제공 받아 원하는 정보를 보다 빠르고 정확하게 찾기를 원하는 사용 자의 욕구를 충족시킬 수 없는 단점이 있다.
이에, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집하고, 상기 수집된 데이터를 체계적으로 분석하고 이를 이용하여 검색 쿼리 간 연관성을 정확하게 판단함으로써 사용자에게 보다 질 높은 서비스를 제공할 수 있는 새로운 기술의 출현이 요청되어 왔다.
본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집, 분석하여 검색 쿼리 간 연관성을 자동적으로 판단할 수 있는 시스템을 구축함으로써, 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장함으로 인해 서비스 운영자에게 야기되는 시간적, 경제적 손실을 줄일 수 있는 검색 쿼리 연관성 판단 방법 및 시스템을 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템은 검색 쿼리간 연관성을 판단함에 있어서 각 검색 쿼리의 클릭율 정보를 이용하여, 실제로 검색 결과가 존재하지 않음에도 사용자가 같은 검색 세션에서 입력한 횟수가 많아서 연관 검색 쿼리로 결정되는 검색 쿼리를 제외하고, 검색 쿼리의 클릭율을 추가적으로 고려하여 사용자가 실제로 검색 결과에 만족할 가능성이 높은 검색 쿼리를 사용자에게 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템은 연관성 판단의 대상을 확장하여 어느 검색 쿼리와 다른 검색 쿼리간의 연관성을 판단함에 있어 서 상기 검색 쿼리의 입력 전에 입력된 검색 쿼리가 어느 것인지를 고려한 연관성 판단을 함으로써, 셋 이상의 검색 쿼리간의 연관성을 판단하여 사용자의 쿼리 입력 경과에 따라 같은 검색 쿼리에 대해서도 상이한 연관 검색 쿼리를 제공할 수 있도록 하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템은 검색 쿼리 간 연관 지수 정보를 체계적으로 산정하여, 사용자로부터 검색 쿼리가 입력된 경우 상기 연관 지수 정보를 이용하여 연관 정도가 더 높은 검색 쿼리를 추출하고 이를 우선적으로 사용자에게 제공하는 것을 그 목적으로 한다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템은 사용자들이 검색한 체계적인 전처리 과정을 거친 유용한 데이터만을 추출하여 적절한 수의 연관 검색 쿼리를 유지함으로써, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공하는 것을 그 목적으로 한다.
상기의 목적을 달성하고, 상술한 종래 기술의 문제점을 해결하기 위하여, 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 방법은 검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨), 각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하는 단계, 상기 데이터베 이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 단계, 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계, 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 단계, 상기 기록 수단을 참조하여 상기 제2 검색 쿼리의 클릭율 정보를 조회하는 단계, 및 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 실시예에 따른 검색 쿼리 연관성 판단 방법은 검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨), 상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 후 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성 하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하는 단계, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리와 상기 제2 검색 쿼리가 수신된 후 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 단계, 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계, 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 단계, 및 상기 조건부 확률 정보 및 상기 상관 관계 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 단계를 포함하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템을 상세히 설명하기로 한다.
도 1은 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 시스템의 네트워크 연결을 도시한 도면이다. 사용자들은 사용자 단말기(80a 또는 110b)를 이용하여 유무선 통신망을 통해 검색 쿼리 연관성 판단 시스템(100)에 접속하여 검색 쿼리를 입력한다. 검색 쿼리 연관성 판단 시스템(100)은 상기 검색 쿼리에 대응하는 연관 검색 쿼리를 사용자 단말기(80a 또는 110b)로 전송한다. 또한, 본 발명의 또 다른 실시예에 따른 검색 쿼리 연관성 판단 시스템(100)은 상기 연관 검색 쿼리의 연관 지수 정보에 따른 순위 정보 등을 사용자 단말기(80a 또는 110b)에 더 전송할 수 있다.
본 발명의 검색 쿼리 연관성 판단 시스템은 인터넷 검색 서비스 시스템에 통합되어 운영될 수 있고, 따라서 사용자가 인터넷 검색 서비스 시스템에 접속하여 검색 쿼리를 입력한 경우, 상기 검색 쿼리에 대한 검색 결과를 사용자에게 제공할 때에 상기 검색 쿼리의 연관 검색 쿼리도 상기 사용자에게 제공될 수 있다.
도 2는 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 방법을 도시한 흐름도이다. 본 실시예는 검색 쿼리간 연관성을 판단함에 있어서 각 검색 쿼리의 클릭율 정보를 이용하여, 실제로 검색 결과가 존재하지 않음에도 사용자가 같은 검색 세션에서 입력한 횟수가 많아서 연관 검색 쿼리로 결정되는 검색 쿼리를 제외하고, 검색 쿼리의 클릭율을 추가적으로 고려하여 사용자가 실제로 검색 결과에 만족할 가능성이 높은 검색 쿼리를 사용자에게 제공하는 검색 쿼리 연관성 판단 방법에 관한 것이다. 본 실시예에 따른 검색 쿼리 연관성 판단 방법은 소정의 검색 쿼리 연관성 판단 시스템에서 수행될 수 있다.
단계(201)에서 본 발명에 따른 검색 쿼리 연관성 판단 시스템은 검색 세션(session) 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지한다. 또한, 상기 검색 쿼리 연관성 판단 시스템은 단계(201)에서 각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지한다.
본 발명의 일실시예에 따르면, 상기 검색 세션은 상기 사용자 단말기로 검색창이 최초로 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데 이터 전송이 없을 때 종료되며, 상기 검색 세션의 종료 후 상기 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우에는 새로운 검색 세션을 시작하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다.
본 실시예에 있어서, 상기 검색 세션은 종래의 검색 세션과는 다른 방식으로 설정된 새로운 방식의 검색 세션이다. 종래의 검색 세션은 단순히 임의의 사용자가 소정의 시간 동안 수행한 검색 활동을 의미하는 것으로, 검색 세션이 설정되어 종료되기까지의 시간이 사전에 결정되어 있었다. 예를 들어, 상기 시간이 10분이라고 하면, 사용자가 10분 동안 검색 활동을 수행한 순간 종래의 검색 세션은 종료되고, 상기 종료 후 10분 동안의 검색 활동은 새로운 검색 세션에서 수행된 것으로 보는 것이 종래의 검색 세션 설정 방식이다.
이에 반해, 본 실시예에 있어서의 검색 세션은 사용자 단말기로 검색창이 최초로 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료되는 것을 특징으로 한다. 예를 들어, 상기 시간이 5분이라고 하면, 사용자가 사용자 단말기를 통하여 검색 서비스 웹 페이지에 접속하여 검색창이 최초로 열릴 때 상기 검색 세션이 시작되고, 상기 사용자가 검색 쿼리를 입력하거나 검색 결과를 선택하는 등의 검색 활동을 수행한 "최종 시각"으로부터 5분 동안 검색 활동을 전혀 수행하지 않고 대기하는 경우 상기 검색 세션이 종료된다. 즉, 사용자의 최종 검색 활동 시각으로부터 5분 동안 사용자가 아무 액션을 취하지 않고 대기하는 경우 검색 세션이 종료되도록 하는 것이다. 또한, 상기 검색 세션의 종료 후 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우에는 새로운 검색 세션을 시작한다.
검색 쿼리를 이용한 검색 결과가 사용자를 만족시키지 못할 경우, 상기 사용자는 상기 검색 쿼리와 관련된 다른 검색 쿼리를 입력하여 검색 활동을 수행하는 것이 일반적이므로, 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 최종 검색 활동 시각으로부터 소정의 시간 동안 사용자가 아무 액션을 취하지 않고 대기한 것을 이미 특정 주제와 관련한 검색 활동을 마친 것으로 판단한다. 따라서, 상기 검색 쿼리 연관성 판단 시스템은 상기 시간이 경과한 후 새로운 검색 쿼리가 입력된 경우, 새로운 특정 주제에 관한 검색 쿼리를 입력한 것으로 보고, 새로운 세션을 시작한다.
한편, 아무리 긴 시간이 경과하더라도 사용자로부터 계속적인 검색 활동이 수행되는 경우, 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 상기 사용자가 하나의 의도에 따라 특정 주제와 관련된 다양한 검색 쿼리를 입력하고 있다고 판단한다. 따라서, 상기 검색 쿼리 연관성 판단 시스템은 이러한 경우 새로운 검색 세션을 시작하지 않고, 하나의 검색 세션을 유지한다.
검색 세션의 시작에서 종료까지 시간을 고정적으로 정해 놓고 그 검색 세션에서 등장한 검색 쿼리를 모두 연관 검색 쿼리로 등록하는 종래의 방식과 비교할 때, 본 실시예에 의하면 검색 세션을 상기와 같은 새로운 방식으로 정의함으로써, 동일한 검색 세션에서 수신한 검색 쿼리 간 연관성을 매우 높은 정도로 신뢰할 수 있는 효과를 얻을 수 있다.
또한, 본 발명에 따르면, 동일한 검색 세션에서 수신한 검색 쿼리를 모두 연 관 검색 쿼리로 등록하는 것이 아니라, 후술하듯이 검색 쿼리의 쌍이 등장한 검색 세션의 수를 카운팅하여 상기 검색 쿼리 간 연관성을 판단할 수 있는 하나의 인자로 활용함으로써, 검색 쿼리 간 연관성을 보다 정확하게 판단할 수 있는 검색 쿼리 연관성 판단 방법 및 시스템이 제공된다.
이하, 상기와 같은 검색 세션의 새로운 정의를 이용하여, 검색 세션 및 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계(201)의 일실시예에 대하여 상세히 설명한다. 도 3은 본 실시예에 따라 데이터베이스를 유지하는 과정을 도시한 흐름도이다.
단계(301)에서 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 제1 검색 세션과 연관된 제1 검색 세션 식별자를 생성하여 상기 데이터베이스에 기록한다. 상기 검색 쿼리 연관성 판단 시스템은 사용자로부터 검색 활동이 이루어질 때마다 상기 제1 검색 세션 식별자 및 각각의 검색 시간에 관한 시각 정보를 사용자 단말기로 송신하고, 상기 사용자 단말기는 수신된 제1 검색 세션 식별자 및 상기 시각 정보를 쿠키(cookie)의 형태로 상기 사용자 단말기 내 소정의 위치에 저장할 수 있다.
상기 사용자로부터 최종적인 검색 활동이 이루어진 경우, 단계(302)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 제1 검색 세션 식별자 및 최종 검색 시각에 관한 제1 시각 정보를 사용자 단말기로 송신하고, 상기 사용자 단말기는 상기 제1 검색 세션 식별자 및 상기 제1 시각 정보를 역시 쿠키(cookie)의 형태로 상기 사용자 단말기 내 소정의 위치에 저장할 수 있다.
단계(303)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 사용자 단말기로부터 검색 쿼리를 수신하고, 단계(304)에서 상기 검색 쿼리가 수신된 제2 시각 정보 및 상기 제1 시각 정보를 비교한다.
단계(305)에서 상기 비교 결과 양 시각 정보 간 격차가 소정의 시간을 초과한 것으로 판단된 경우, 상기 검색 쿼리 연관성 판단 시스템은 단계(306)에서 제2 검색 세션과 연관된 제2 검색 세션 식별자를 생성하고 단계(307)에서 상기 제2 검색 세션 식별자 및 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록한다.
한편, 단계(305)에서 양 시각 정보 간 격차가 소정의 시간 이하인 것으로 판단된 경우, 상기 검색 쿼리 연관성 판단 시스템은 단계(308)에서 상기 제1 검색 세션 식별자와 연관하여 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록한다.
본 실시예에 따른 검색 쿼리 연관성 판단 방법에 의하면, 상기와 같은 체계적인 과정을 통하여 데이터베이스를 유지함으로써 검색 세션을 효율적으로 관리할 수 있고, 이렇게 효율적으로 관리된 검색 세션을 이용할 경우, 동일한 검색 세션에서 수신한 검색 쿼리 간 연관성을 매우 높은 정도로 신뢰할 수 있는 효과를 얻을 수 있다.
도 4는 본 발명의 일실시예에 있어서, 데이터베이스에 포함된 레코드의 일례를 도시한 도면이다. 도 4에 도시한 것과 같이, 상기 레코드는 검색 세션 식별자(401) 및 상기 검색 세션 식별자(401)와 연관된 검색 세션 동안 사용자 단말기로부 터 수신된 검색 쿼리에 관한 정보를 포함할 수 있다. 도 4에 도시된 도면 부호(402)를 참조하면, "sessionId1"이라는 검색 세션 식별자 및 "sessionId1"이라는 검색 세션 식별자가 할당된 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리인 "박찬호", "메이저리그", "야구" 등이 레코드에 기록되어 있음을 알 수 있다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 상기 레코드를 소정의 시간 간격 마다 생성하여 상기 데이터베이스에 기록한다. 상기 시간 간격은 서비스 운영자에 의해서 "하루", "이틀", "일주일" 등과 같이 사전에 결정되어 있을 수 있고, 상기 서비스 운영자는 기존의 시간 간격을 다른 시간 간격으로 변경할 수도 있다. 본 실시예에 의하면, 일정한 시간 간격에 따라 데이터를 수합하여 검색 쿼리 간 연관성을 판단함에 있어 상기 데이터를 활용할 수 있게 되고, 시간의 경과에 따라 변경될 수 있는 검색 쿼리 간 연관성을 지속적으로 체크할 수 있게 된다. 예를 들어, 하루 간격으로 상기 레코드를 생성하는 경우, 이틀 전 레코드에는 "박찬호"와 "메이저리그"라는 검색 쿼리가 동시에 수신된 검색 세션이 다수 기록되어 있어 이에 기초하여 어제의 검색 쿼리 연관성 판단 시스템은 "박찬호"와 "메이저리그"를 연관 검색 쿼리로 판단했을 수 있지만, 어제 레코드에는 "박찬호"와 "메이저리그"가 동시에 수신된 검색 세션이 거의 기록되지 않아 오늘의 검색 쿼리 연관성 판단 시스템은 이에 기초하여 "박찬호"와 "메이저리그"를 연관 검색 쿼리가 아닌 것으로 판단할 수 있다. 따라서, 가장 최근의 데이터를 바탕으로 추출된 연관 검색 쿼리를 사용자에게 제공할 수 있는 장점이 있다.
본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 시스템은 단계(201)에서 상기 검색 세션 또는 상기 수신된 검색 쿼리를 숫자로 매핑(mapping)하고, 상기 매핑된 숫자를 이용하여 상기 레코드를 생성할 수 있다.
도 5는 본 실시예에 있어서, 검색 세션 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다. 도 5에 도시된 도면 부호(501)을 참조하면, 도 4에 도시된 도면 부호(402)와 비교하여 "sessionId1"이라는 검색 세션 식별자에 "56"이라는 숫자가 매핑되었고, "박찬호", "메이저리그", "야구"의 검색 쿼리에 "18759", "18760", "18761"이라는 숫자가 매핑되었음을 알 수 있다.
문자열로 이루어진 데이터를 이용하여 상호 연관된 검색 쿼리를 추출하는 것과 비교하여, 본 실시예에 따라 숫자로 매핑된 데이터를 이용하여 본 발명에 따른 각 단계를 수행하는 경우, 상기 데이터를 데이터베이스에 기록할 때 메모리를 더 적게 사용하게 되므로 메모리가 절약될 뿐 아니라, 문자열에 비해 그 처리가 매우 간단하므로 처리속도 향상을 꾀할 수 있는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 단계(201)에서 특정 검색 세션 동안 소정의 수를 초과하는 검색 쿼리가 수신된 경우, 상기 특정 검색 세션 및 상기 특정 검색 세션 동안 수신된 검색 쿼리에 관한 레코드는 상기 데이터베이스에 포함시키지 않는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다. 본 실시예에 있어서, 상기 검색 쿼리 연관성 판단 시스템은 하나의 검색 세션에서 발생한 검색 쿼리의 수를 카운팅하여 상기 검색 쿼리의 수가 소정의 수를 초과하는 경우, 그 검색 세션에서 수신한 데이터는 일반적인 방식이 아닌 예상치 못한 방식으로 들어온 데이터로 판단할 수 있다. 하나의 검색 세션에서 수신한 검색 쿼리의 수가 너무 많은 경우, 그 검색 쿼리 모두가 연관 검색 쿼리일 가능성은 매우 낮기 때문에, 이러한 데이터는 데이터베이스에 기록하지 않음으로써 보다 정확한 연관 검색 쿼리를 추출해 낼 수 있는 효과를 얻기 위함이다.
또한, 앞서 간단히 기술한 바와 같이, 상기 검색 쿼리 연관성 판단 시스템은 단계(201)에서 각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지할 수 있다.
실제로 그 검색 쿼리를 이용한 검색 시에 검색 결과가 존재하지 않거나 제대로 출력되지 않는 무용한 검색 쿼리임에도, 많은 사용자들이 동일한 검색 세션에서 그 검색 쿼리를 입력한 횟수가 많아서 연관 검색 쿼리로 결정되는 경우가 있을 수 있다. 이러한 검색 쿼리는 사용자에게 불필요한 검색 쿼리이므로 연관 검색 쿼리에서 제거할 필요가 있으며, 이를 위해 본 발명에서는 각 검색 쿼리의 클릭율 정보를 이용한다. 클릭은 실제로 사용자가 그 검색 쿼리를 이용한 검색 결과에 만족했을 경우 발생하기 때문에, 클릭율이 높을 수록 사용자의 그 검색 쿼리에 대한 만족도가 높은 것으로 판단할 수 있다. 따라서, 본 발명에서는 클릭율 정보를 검색 쿼리간 연관성을 판단하는 데에 하나의 요소로서 사용한다.
상기 기록 수단에 기록되는 상기 클릭율 정보는 상기 각 검색 쿼리의 검색횟수 대비 검색결과 클릭횟수에 기초하여 생성될 수 있고, 이를 수식으로 나타내면 다음과 같다.
(클릭율 정보) = (검색결과 클릭횟수)특정 쿼리 / (검색횟수)특정 쿼리
<수식 1. 클릭율 정보>
단계(202)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅(counting)하여 총 검색 세션 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 검색 쿼리 연관성 판단 시스템은 하루 동안 설정된 검색 세션의 총 수를 카운팅할 수 있다.
단계(203)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 검색 세션의 수를 카운팅(counting)하여 제1 검색 세션 수 정보를 생성하고, 단계(204)에서 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 검색 쿼리 연관성 판단 시스템은 하루 동안 "박찬호"라는 검색 쿼리가 수신된 검색 세션의 수를 카운팅하고, "메이저리그"라는 검색 쿼리가 수신된 검색 세션의 수를 카운팅할 수 있다.
단계(205)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 모두 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 검색 쿼리 연관성 판단 시스템은 하루 동안 "박찬호"라는 검색 쿼리 및 "메이저리그"라는 검색 쿼리가 모두 수신된 검색 세션의 수를 카운팅할 수 있다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 단계(205)에서 상기 제1 검색 세션 수 정보 및 상기 제2 검색 세션 수 정보가 소정의 수 이상인 경우에 한하여 상기 제3 검색 세션 수 정보를 생성하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다. 즉, 본 실시예에 있어서, 상기 검색 쿼리 연관성 판단 시스템은 상기 제1 검색 세션 수 정보 또는 상기 제2 검색 세션 수 정보가 소정의 수에 미치지 못하는 경우 상기 제3 검색 세션 수 정보를 생성하지 않을 수 있다. 각각의 검색 쿼리가 수신된 검색 세션의 수가 너무 적은 경우, 이러한 검색 쿼리들은 서로 연관 검색 쿼리가 될 가능성이 매우 낮기 때문에, 소정의 수 이상 등장하지 못하는 검색 쿼리들은 연관 검색 쿼리를 판단하기 위한 데이터로 생성하지 않음으로써, 상기 검색 쿼리 연관성 판단 시스템의 수행 속도 향상에 크게 기여하는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 단계(205)에서 검색 세션 수를 카운팅함에 있어서 해쉬 트리(Hash-tree) 자료구조를 이용하는 검색 쿼리 연관성 판단 방법이 제공된다.
해쉬 트리(Hash-tree) 자료구조라 함은 데이터를 저장하고 찾는 데 사용되는 자료 구조의 한 종류로서, 찾고자 하는 문자열을 특정한 함수(Hash function)로 처리하여 얻은 값을 이용하여 데이터의 위치를 찾는 방법으로 알려져 있다. 해쉬 트리(Hash-tree) 자료구조는 데이터를 찾는 속도에 데이터의 개수가 거의 영향을 주지 않는 특성을 지니고 있어, 이를 이용할 경우 효율적이고 빠르게 데이터의 위치를 찾을 수 있을 뿐만 아니라 시스템 내 메모리를 크게 절약할 수 있다.
도 6은 본 실시예에 있어서, 검색 세션 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다. 도 6에서는 "대장금"이라는 검색 쿼리와 "이영애"라는 검색 쿼리로 이루어진 검색 쿼리의 쌍이 수신된 검색 세션이 상기 데이터베이스에 존재할 경우, 상기 검색 세션의 수를 해쉬 트리 자료구조를 사용하여 카운팅하는 일례가 도시되어 있다.
단계(206)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
상기 조건부 확률 정보는 검색 쿼리 간 연관성을 평가하는 하나의 인자로서 활용될 수 있다. 예를 들어, "대장금"이라는 검색 쿼리 및 "이영애"라는 검색 쿼리 간 연관성은, "대장금"이 등장한 검색 세션의 수 중 "이영애"가 등장한 검색 세션의 수가 얼마나 되는가에 관한 확률 정보를 하나의 인자로 활용하여 판단될 수 있다. 즉, "대장금"이 등장한 검색 세션에 "이영애"가 다수 등장했다면, 양 검색 쿼리 간 연관성을 판단함에 있어 강한 영향을 미칠 수 있는 하나의 인자로서 활용될 수 있는 것이다.
다음은 상기 조건부 확률 정보를 생성하는 데 이용될 수 있는 수식의 일례를 나타낸 것이다.
Figure 112005034252892-pat00001
<수식 2. 조건부 확률 정보>
수식 2에서 보는 것과 같이, "A" 검색 쿼리와 "B" 검색 쿼리 모두가 같은 검색 세션에 등장할 확률을 "B" 검색 쿼리가 검색 세션에 등장할 확률로 나눔으로써, "B" 검색 쿼리가 등장한 세션에 "A" 검색 쿼리도 등장할 확률 정보를 생성할 수 있다.
단계(207)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
상기 상관 관계 정보는 검색 쿼리 간 연관성을 평가하는 또 하나의 인자로서 활용될 수 있다. 사용자로부터 입력되는 빈도가 매우 큰 검색 쿼리의 경우 실제적인 연관성은 없어도 상기 생성된 조건부 확률 정보의 값이 높을 수 있기 때문에, 상기 상관 관계 정보를 검색 쿼리 간 연관성을 평가하는 또 하나의 인자로서 활용하는 것은 보다 정확하게 연관성을 판단하는 데 크게 기여할 수 있다.
확률 이론 중에는 독립성 판단이라는 것이 존재하는데, 상기 상관 관계 정보는 상기 독립성 판단에 활용된다. 즉, 상기 상관 관계 정보가 1에 가까운 값을 갖는 경우 이를 양 검색 쿼리가 연관되어 있지 않고 독립적이라고 판단할 수 있는 강한 인자로서 활용할 수 있고, 상기 상관 관계 정보가 1보다 상당히 큰 값을 갖는 경우 이를 양 검색 쿼리가 상호 연관되어 있다고 판단할 수 있는 강한 인자로서 활용할 수 있다.
다음은 상기 상관 관계 정보를 생성하는 데 이용될 수 있는 수식의 일례를 나타낸 것이다.
Figure 112005034252892-pat00002
<수식 3. 상관 관계 정보>
수식 3에서 보는 것과 같이, "A" 검색 쿼리와 "B" 검색 쿼리가 모두 같은 검색 세션에 등장할 확률을 "A" 검색 쿼리가 검색 세션에 등장할 확률과 "B" 검색 쿼리가 검색 세션에 등장할 확률을 곱한 값으로 나누어줌으로써, 상관 관계 정보를 생성할 수 있다. 또한, 상기 수식을 전개할 경우 상기 상관 관계 정보는 "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 등장한 검색 세션의 수에 총 검색 세션 수를 곱한 값을 "A" 검색 쿼리가 등장한 검색 세션의 수와 "B" 검색 쿼리가 등장한 검색 세션의 수로 나누어준 값으로 산정된다. 따라서, 상기 검색 쿼리 연관성 판단 시스템은 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성할 수 있게 된다.
단계(208)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 기록 수단을 참조하여 상기 제2 검색 쿼리의 클릭율 정보를 조회한다.
단계(209)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단한다.
예를 들어, 상기 검색 쿼리 연관성 판단 시스템은 각 정보에 소정의 수치를 곱하고 이를 더하여 일정 지수를 산정하고, 상기 지수를 이용하여 연관성을 판단할 수 있다.
다른 예로, 상기 검색 쿼리 연관성 판단 시스템은 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보의 곱셈 연산값에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단할 수도 있다. 이 경우, 각 정보에 소정의 수치를 곱하고 이를 다시 곱하여 일정 지수를 산정하고, 상기 지수를 이용하여 연관성을 판단하는 것도 가능하다. 이와 같이 곱셈 연산값에 기초하여 검색 쿼리간 연관성을 판단하는 경우, 클릭율 정보가 0에 가까울수록 산정되는 지수도 0에 가까울 것이므로 자연스럽게 클릭율이 낮은 검색 쿼리는 다른 검색 쿼리와의 관계에서 연관성이 낮은 것으로 판단될 수 있다.
또 다른 예로, 상기 검색 쿼리 연관성 판단 시스템은 상기 클릭율 정보가 소정의 기준 수치 이상인 경우에 상기 제1 검색 쿼리와 상기 제2 검색 쿼리의 연관성을 판단하고, 상기 클릭율 정보가 상기 기준 수치 미만인 경우에는 상기 제1 검색 쿼리와 상기 제2 검색 쿼리의 연관성을 판단하지 않음으로써 클릭율이 일정 수치에 미치지 못하는 무용한 검색 쿼리가 다른 검색 쿼리와의 관계에서 연관 검색 쿼리로 제공되는 것을 미연에 방지하는 것도 가능하다.
상기 방법 이외에도, 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보를 이용하여 연관성을 판단하는 방법에는 다양한 실시예가 존재할 수 있음은 본 발명이 속하는 기술분야의 당업자에게 있어 자명하다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 단계(209)에서 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관 성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다.
본 실시예에 있어서, 상기 검색 쿼리 연관성 판단 시스템은 상기 조건부 확률 정보가 소정의 수치에 미달될 정도로 매우 낮은 수치에 해당하는 경우, 이미 검색 쿼리 간 연관성이 매우 낮다고 판단하여 연관성을 판단하지 않음으로써, 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 실시예에서의 상기 소정의 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다.
이는 상기 제1 검색 세션 수 정보가 매우 낮은 수치에 해당하는 경우, 상기 조건부 확률 정보가 정상적으로 구해지지 않아, 고정되어 있는 소정의 수치를 훨씬 초과할 가능성이 있기 때문이다. 예를 들어, "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 등장한 검색 세션의 수가 "1"이고, "A" 검색 쿼리가 등장한 검색 세션의 수가 "5"인 경우, 조건부 확률 정보가 "1/5"로 계산되어 매우 높은 수치를 기록할 수 있게 된다. 이 경우, 실제 "A" 검색 쿼리 및 "B" 검색 쿼리 간 연관 정도는 낮음에도 불구하고, 양 검색 쿼리 간 연관성이 인정되어 정확하지 않은 연관 검색 쿼리를 사용자에게 제공할 가능성이 있다. 따라서, 본 실시예와 같이, 상기 소정의 수치를 제1 검색 세션 수 정보에 따라서 변동해야 할 필요성이 있고, 이로써 보다 정확한 연관 검색 쿼리를 사용자에게 제공할 수 있게 된다.
본 발명의 일실시예에 따르면, 상기 실시예에서의 상기 소정의 함수는 100 퍼센트(값으로는 "1")를 상기 제1 검색 세션 수 정보의 제곱근으로 나눈 퍼센티지 값을 함수값으로 갖는 함수인 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다. 본 실시예에 따르면, 상기 함수는 "100/√(root)제1 검색 세션 수 정보"로 표현될 수 있다.
또한, 다른 실시예에 따르면, 상기 소정의 함수는 아래와 같은 일반적인 수식으로 표현될 수도 있다.
y(%) = a * x-b
<수식 4. 함수>
수식 4에서, y는 상기 소정의 수치이고, x는 상기 제1 검색 세션 수 정보이다. 또한, 수식 4에 있어서, 상수 a와 차수 b는 상기 수치를 구하기 위한 최선의 식을 유도하는 실험 과정을 통해서 구해질 수 있다. 예를 들어, a는 80, b는 1의 값이 사용될 수 있다.
상기와 같은 실시예들에 의하면, 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 한하여 상기 연관성을 판단하는 것을 특징으로 하는 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 방법에 있어서, 상기 제1 검색 세션 수 정보가 낮은 수치에 해당할 수록 상기 소정의 수치는 높아지므로 상기 검색 쿼리 연관성 판단 시스템은 연관성을 판단하지 않는 경우가 증가하게 되고, 이로써 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 단계 (209)에서 상기 상관 관계 정보가 소정의 수치 이상인 경우에 한하여 상기 연관성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법이 제공된다.
본 실시예에 있어서, 상기 검색 쿼리 연관성 판단 시스템은 상기 상관 관계 정보가 소정의 수치에 미달될 정도로 매우 낮은 수치에 해당하는 경우(예를 들어, "1"에 거의 근접한 경우), 이미 검색 쿼리 간 연관성이 매우 낮다고 판단하여 연관성을 판단하지 않음으로써, 불필요한 메모리의 소요를 줄이고 상기 시스템의 수행 속도를 향상시키는 효과를 얻을 수 있다.
본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 방법에 의하면, 상기 검색 쿼리 연관성 판단 시스템은 양 검색 쿼리가 연관된 것으로 판단된 경우 이를 기록하고, 토글 오류 검사를 수행함으로써 보다 정확한 연관 검색 쿼리를 추출할 수 있는데, 이하 본 실시예에 대하여 설명한다.
일반적으로 키보드에 있어서 토글키는 하나의 키로 두 가지 이상의 기능을 할 수 있는 키를 의미하는 용어이다. 이러한 토글키의 대표적인 예로는 "Insert", "한/영", "Caps Lock", "Num Lock", "Scroll Lock" 등이 있다.
본 명세서에서 사용되는 "토글 오류 검사"는 상기 토글키 중 "한/영" 변환키와 연관된 검사에 관한 것이다. 예를 들어, 한글 자판을 통하여 "다음"을 입력하고자 하는 사용자가, "한/영" 변환키의 설정에 따라 영어 자판을 통한 "ekdma"을 입력하는 경우가 있을 수 있다. 상기 예와 같이, 실제적으로 사용자가 "한/영" 변환키의 설정에 따라서 한글로 된 검색 쿼리를 영어 자판으로 입력하거나, 또는 영어로 된 검색 쿼리를 한글 자판으로 입력하게 되는 경우는 빈번히 발생할 수 있다. 이 경우, 사용자는 정확한 검색 쿼리를 다시 입력하게 되는데, 이로 인하여 원래의 검색 쿼리와 토글 오류로 인한 검색 쿼리가 동일한 검색 세션에서 등장하게 되어, 양 검색 쿼리 간 연관성이 인정되는 경우가 발생할 수 있다. 상기 예의 경우, "다음"의 토글 오류인 "ekdma"이 "다음"의 연관 검색 쿼리로 지정될 가능성이 있다.
토글 오류로 인해 실제적으로 아무 연관이 없는 검색 쿼리가 연관 검색 쿼리로 지정되는 경우, 이를 기록하기 위해 불필요한 메모리가 소요되고, 그로 인해 상기 시스템의 수행 속도가 저하되는 문제점이 발생할 수 있고, 또한 부정확한 연관 검색 쿼리가 사용자에게 제공되어 서비스의 신뢰도가 낮아지는 문제점 등도 발생할 수 있다. 그러나, 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 상기와 같은 토글 오류 검사를 수행함으로써 상술한 문제점을 해결할 수 있다.
본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 단계(209)에서 연관성 판단 결과 연관된 것으로 판단된 경우, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리를 연관 검색 쿼리로 지정하여 제2 데이터베이스에 기록할 수 있다.
또한, 상기 검색 쿼리 연관성 판단 시스템은 상기 제2 데이터베이스를 참조하여, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대한 토글 오류 검사를 수행할 수 있다. 본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 형태소 분석을 이용하여 상기 토글 오류 검사를 수행할 수 있다.
상기 검사 결과, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 토글 오류 관계에 있는 경우, 상기 검색 쿼리 연관성 판단 시스템은 상기 제2 데이터베이스로부터 상기 연관 검색 쿼리 지정과 연관된 기록을 삭제할 수 있다.
이하에서는 다시 도 2를 참조하여, 본 발명의 다른 실시예에 따른 검색 쿼리 연관성 판단 방법에 대하여 설명한다. 본 실시예에 따른 검색 쿼리 연관성 판단 방법도 소정의 검색 쿼리 연관성 판단 시스템에서 수행될 수 있다.
본 실시예는 연관성 판단의 대상을 확장하여 어느 검색 쿼리와 다른 검색 쿼리간의 연관성을 판단함에 있어서 상기 검색 쿼리의 입력 전에 입력된 검색 쿼리가 어느 것인지를 고려한 연관성 판단을 함으로써, 셋 이상의 검색 쿼리간의 연관성을 판단하여 사용자의 쿼리 입력 경과에 따라 같은 검색 쿼리에 대해서도 상이한 연관 검색 쿼리를 제공할 수 있도록 하는 검색 쿼리 연관성 판단 방법에 관한 것이다.
즉, 앞선 실시예에서는 "대장금"과 "이영애"의 2개 검색 쿼리 사이의 연관성을 판단하였으나, 본 실시예에서는 이를 확장하여 "대장금, 이영애"가 검색된 이후에는 어떤 검색 쿼리가 검색되는지에 대한 데이터를 분석하여 3개 이상의 검색 쿼리간 연관성을 판단한다. 예를 들어, 사용자가 "대장금", "이영애"의 순으로 검색 쿼리를 입력한 후에는 "지진희"라는 검색 쿼리를 입력하는 경우가 더 많고, "마몽드", "이영애"의 순으로 검색 쿼리를 입력한 후에는 "화장품"이라는 검색 쿼리를 입력하는 경우가 더 많다는 데이터 분석 결과가 나온 경우를 상정한다. 이 경우, 2개의 검색 쿼리간 연관성만을 고려한다면 "이영애"와 "지진희"의 연관 정도가 "이영애"와 "화장품"의 연관 정도에 비해 더 높다고 하더라도, 만일 사용자가 "이영애" 이전에 "마몽드"라는 검색 쿼리를 입력하였다면 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 "지진희"가 아닌 "화장품"을 연관 검색 쿼리로서 제공하게 된다.
이하 구체적인 구성에 대해서 설명하도록 한다.
단계(201)에서 본 발명에 따른 검색 쿼리 연관성 판단 시스템은 검색 세션(session) 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지한다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 상기 레코드를 소정의 시간 간격 마다 생성하여 상기 데이터베이스에 기록한다. 상기 시간 간격은 서비스 운영자에 의해서 "하루", "이틀", "일주일" 등과 같이 사전에 결정되어 있을 수 있고, 상기 서비스 운영자는 기존의 시간 간격을 다른 시간 간격으로 변경할 수도 있다. 본 실시예에 의하면, 일정한 시간 간격에 따라 데이터를 수합하여 검색 쿼리 간 연관성을 판단함에 있어 상기 데이터를 활용할 수 있게 되고, 시간의 경과에 따라 변경될 수 있는 검색 쿼리 간 연관성을 지속적으로 체크할 수 있게 된다.
또한, 상기 검색 쿼리 연관성 판단 시스템은 단계(201)에서 각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지한다.
단계(202)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅(counting)하여 총 검색 세션 수 정보를 생성한다. 예를 들어, 상기 시간 간격이 하루인 경우, 상기 검색 쿼리 연관성 판단 시스템은 하루 동안 설정된 검색 세션의 총 개수를 카운팅할 수 있다.
단계(203)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 후 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성한다. 이 경우, 상기 검색 쿼리 연관성 판단 시스템은 상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제1 검색 세션 수 정보를 생성할 수 있다.
단계(204)에서 상기 데이터베이스를 참조하여 상기 시간 간격 동안 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성한다.
단계(205)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리와 상기 제2 검색 쿼리가 수신된 후 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성한다. 이 경우, 상기 검색 쿼리 연관성 판단 시스템은 상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리, 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제3 검색 세션 수 정보를 생성할 수 있다.
단계(206)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
단계(207)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
단계(208)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 기록 수단을 참조하여 상기 제3 검색 쿼리의 클릭율 정보를 조회한다.
단계(209)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단한다. 이 경우, 상기 검색 쿼리 연관성 판단 시스템은 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관 지수 정보를 생성할 수 있다.
본 발명의 일실시예에 따르면, 상기 검색 쿼리 연관성 판단 시스템은 검색 쿼리 간 연관성을 판단하여 기록하고, 이를 이용하여 연관 검색 쿼리를 사용자에게 제공할 수 있다. 본 실시예에 따른 검색 쿼리 연관성 판단 방법은 단계(209) 내지 단계(212)를 더 포함할 수 있다.
단계(210)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 연관 지수 정보의 내림차순에 따라 소정 개수의 상기 제3 검색 쿼리를 선정 및 소팅하여, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리로 제2 데이터베이스에 기록한다.
도 7은 상기 제2 데이터베이스의 일례를 도시한 도면이다. 상기 제2 데이터베이스는 도면부호(701)과 같이 제1 검색 쿼리 및 제2 검색 쿼리를 이전 검색 쿼리와 현재 검색 쿼리로서 기록하고, 도면부호(702)와 같이 이에 대응하는 소정 개수의 연관어 1, 연관어 2, 연관어 3 등의 연관 검색 쿼리를 기록할 수 있다. 도면부 호(703)을 참조하면, "박찬호, 텍사스"라는 제1, 제2 검색 쿼리에 대응하는 연관 검색 쿼리로 "다저스", "메이저리그", "야구" 등이 상기 제2 데이터베에스에 기록되어 있으며, 이는 사용자가 검색창에 "박찬호", "텍사스"를 순차적으로 입력한 이후 재차 입력할 가능성이 높은 검색 쿼리가 "다저스", "메이저리그", "야구"의 순이라는 것을 의미할 수 있다.
단계(211)에서 상기 검색 쿼리 연관성 판단 시스템은 사용자 단말기로부터 상기 제1 검색 쿼리를 수신한 후 상기 제2 검색 쿼리를 수신한다.
단계(212)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 제2 데이터베이스를 참조하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리를 추출한다.
단계(213)에서 상기 검색 쿼리 연관성 판단 시스템은 상기 추출된 연관 검색 쿼리를 상기 사용자 단말기로 제공한다.
이와 같이, 본 실시예에 따른 검색 쿼리 연관성 판단 방법에 의하면, 연관성 판단의 대상을 확장하여 어느 검색 쿼리와 다른 검색 쿼리간의 연관성을 판단함에 있어서 상기 검색 쿼리의 입력 전에 입력된 검색 쿼리가 어느 것인지를 고려한 연관성 판단을 함으로써, 셋 이상의 검색 쿼리간의 연관성을 판단하여 사용자의 쿼리 입력 경과에 따라 같은 검색 쿼리에 대해서도 상이한 연관 검색 쿼리를 제공할 수 있다.
또한, 본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판 독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이하, 본 발명의 또 다른 실시예에 따른 검색 쿼리 연관성 판단 시스템에 대하여 설명한다.
도 8은 본 발명의 일실시예에 따른 검색 쿼리 연관성 판단 시스템을 도시한 블록도이다. 본 실시예에 따른 검색 쿼리 연관성 판단 시스템(800)은 데이터베이스(801), 데이터베이스 관리 수단(802), 카운터 수단(803), 조건부 확률 정보 생성 수단(804), 상관 관계 정보 생성 수단(805), 연관성 판단 수단(806) 및 기록 수단(807)을 포함한다.
데이터베이스(801)는 검색 세션(session) 및 상기 검색 세션 동안 사용자 단 말기로부터 수신된 검색 쿼리에 관한 레코드를 포함한다.
상기 검색 세션은 상기 사용자 단말기로 검색창이 최초로 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료될 수 있다. 또한, 상기 검색 세션의 종료 후 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우에는 새로운 검색 세션을 시작한다.
도 3은 데이터베이스(801)를 유지하는 과정에 관한 일실시예를 도시한 흐름도이고, 도 4는 데이터베이스(801)에 포함된 레코드의 일례를 도시한 도면이다. 도 3 및 도 4에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
본 발명의 일실시예에 따르면, 검색 쿼리 연관성 판단 시스템(800)은 상기 검색 세션 또는 상기 수신된 검색 쿼리를 숫자로 매핑(mapping)하고, 상기 매핑된 숫자를 이용하여 생성된 레코드를 포함하는 데이터베이스(801)를 유지할 수 있다. 도 5는 검색 세션 및 검색 쿼리를 숫자로 매핑한 레코드의 일례를 도시한 도면이다. 도 5에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
데이터베이스 관리 수단(802)은 상기 레코드를 소정의 시간 간격 마다 생성하여 데이터베이스(801)에 기록한다.
기록 수단(807)은 각 검색 쿼리별 클릭율 정보를 기록하여 유지한다.
카운터 수단(803)은 데이터베이스(801)를 참조하여, 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅(counting)하여 총 검색 세션 수 정보를 생성하 고, 상기 시간 간격 동안 제1 검색 쿼리가 수신된 검색 세션의 수를 카운팅(counting)하여 제1 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하며, 상기 시간 간격 동안 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성한다.
본 발명의 일실시예에 따르면, 카운터 수단(803)은 검색 세션 수를 카운팅함에 있어서 해쉬 트리(Hash-tree) 자료구조를 이용할 수 있다.
해쉬 트리(Hash-tree) 자료구조라 함은 데이터를 저장하고 찾는 데 사용되는 자료 구조의 한 종류로서, 찾고자 하는 문자열을 특정한 함수(Hash function)로 처리하여 얻은 값을 이용하여 데이터의 위치를 찾는 방법으로 알려져 있다. 도 6은 본 실시예에 있어서, 검색 세션 수를 카운팅하는 데 사용되는 해쉬 트리 자료구조의 일례를 도시한 도면이다. 도 6에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
조건부 확률 정보 생성 수단(804)은 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
상관 관계 정보 생성 수단(805)은 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
연관성 판단 수단(806)은 기록 수단(807)을 상기 제2 검색 쿼리의 클릭율 정 보를 조회하고, 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단한다.
본 발명의 일실시예에 따르면, 연관성 판단 수단(806)은 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 상기 연관성을 판단하고, 상기 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동하도록 한다.
본 실시예는 상기 제1 검색 세션 수 정보가 매우 낮은 수치에 해당하는 경우, 상기 조건부 확률 정보가 정상적으로 구해지지 않아, 고정되어 있는 소정의 수치를 훨씬 초과하는 경우에 대비하기 위한 것이다. 예를 들어, "A" 검색 쿼리 및 "B" 검색 쿼리가 모두 등장한 검색 세션의 수가 "1"이고, "A" 검색 쿼리가 등장한 검색 세션의 수가 "5"인 경우, 조건부 확률 정보가 "1/5"로 계산되어 매우 높은 수치를 기록할 수 있게 된다. 이 경우, 실제 "A" 검색 쿼리 및 "B" 검색 쿼리 간 연관 정도는 낮음에도 불구하고, 양 검색 쿼리 간 연관성이 인정되어 정확하지 않은 연관 검색 쿼리를 사용자에게 제공할 가능성이 있다. 따라서, 본 실시예와 같이, 상기 소정의 수치를 제1 검색 세션 수 정보에 따라서 변동해야 할 필요성이 있고, 이로써 보다 정확한 연관 검색 쿼리를 사용자에게 제공할 수 있게 된다.
이하, 다시 도 8을 참조하여 본 발명의 또 다른 실시예에 따른 검색 쿼리 연관성 판단 시스템에 대하여 설명한다.
본 실시예에 따른 검색 쿼리 연관성 판단 시스템(800)도 데이터베이스(801), 데이터베이스 관리 수단(802), 카운터 수단(803), 조건부 확률 정보 생성 수단 (804), 상관 관계 정보 생성 수단(805), 연관성 판단 수단(806) 및 기록 수단(807)을 포함한다.
데이터베이스(801)는 검색 세션(session) 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함한다.
데이터베이스 관리 수단(802)은 상기 레코드를 소정의 시간 간격 마다 생성하여 데이터베이스(801)에 기록한다.
기록 수단(807)은 각 검색 쿼리별 클릭율 정보를 기록하여 유지한다.
카운터 수단(803)은 데이터베이스(801)를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제1 검색 쿼리가 수신된 후 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하며, 상기 시간 간격 동안 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하고, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리와 상기 제2 검색 쿼리가 수신된 후 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성한다.
이 경우, 카운터 수단(803)은 상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제1 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리, 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제3 검색 세션 수 정보를 생성할 수 있다.
조건부 확률 정보 생성 수단(804)은 상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성한다.
상관 관계 정보 생성 수단(805)은 상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성한다.
연관성 판단 수단(806)은 상기 기록 수단을 참조하여 상기 제3 검색 쿼리의 클릭율 정보를 조회하고, 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단한다. 이 경우, 연관성 판단 수단(806)은 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관 지수 정보를 생성할 수 있다.
본 발명의 또 다른 실시예에 따르면, 검색 쿼리 간 연관성을 판단하여 기록하고, 이를 이용하여 연관 검색 쿼리를 사용자에게 제공할 수 있는 검색 쿼리 연관성 판단 시스템이 제공된다. 본 실시예에 따른 검색 쿼리 연관성 판단 시스템은 상기 실시예에 따른 검색 쿼리 연관성 판단 시스템(800)에 추가하여 도면 부호(830)에 해당하는 소정의 장치들을 더 포함할 수 있다.
도면 부호(830)에는 제2 데이터베이스(808), 제2 데이터베이스 관리 수단(809), 검색 쿼리 수신 수단(810), 검색 쿼리 추출 수단(811), 검색 쿼리 제공 수단(812)이 도시되어 있다.
제2 데이터베이스(808)는 연관 검색 쿼리에 관한 레코드를 포함한다. 도 7은 제2 데이터베이스(808)의 일례를 도시한 도면이다. 도 7에 관하여는 본 명세서에서 이미 설명한 바 있으므로, 자세한 설명을 생략한다.
제2 데이터베이스 관리 수단(809)은 상기 연관 지수 정보의 내림차순에 따라 소정 개수의 상기 제3 검색 쿼리를 선정 및 소팅하여, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리로 제2 데이터베이스(808)에 기록한다.
검색 쿼리 수신 수단(810)은 사용자 단말기로부터 상기 제1 검색 쿼리를 수신한 후 상기 제2 검색 쿼리를 수신한다.
검색 쿼리 추출 수단(811)은 제2 데이터베이스(808)를 참조하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리를 추출한다.
검색 쿼리 제공 수단(812)은 상기 추출된 연관 검색 쿼리를 상기 사용자 단말기로 제공한다.
이와 같이, 본 실시예에 따른 검색 쿼리 연관성 판단 시스템에 의하면, 연관성 판단의 대상을 확장하여 어느 검색 쿼리와 다른 검색 쿼리간의 연관성을 판단함에 있어서 상기 검색 쿼리의 입력 전에 입력된 검색 쿼리가 어느 것인지를 고려한 연관성 판단을 함으로써, 셋 이상의 검색 쿼리간의 연관성을 판단하여 사용자의 쿼리 입력 경과에 따라 같은 검색 쿼리에 대해서도 상이한 연관 검색 쿼리를 제공할 수 있다.
도 9는 본 발명에 따른 검색 쿼리 연관성 판단 방법을 수행하는 데 채용될 수 있는 범용 컴퓨터 장치의 내부 블록도이다.
컴퓨터 장치(900)는 램(RAM: Random Access Memory)(920)과 롬(ROM: Read Only Memory)(930)을 포함하는 주기억장치와 연결되는 하나 이상의 프로세서(910)를 포함한다. 프로세서(910)는 중앙처리장치(CPU)로 불리기도 한다. 본 기술분야에서 널리 알려져 있는 바와 같이, 롬(930)은 데이터(data)와 명령(instruction)을 단방향성으로 CPU에 전송하는 역할을 하며, 램(920)은 통상적으로 데이터와 명령을 양방향성으로 전송하는 데 사용된다. 램(920) 및 롬(930)은 컴퓨터 판독 가능 매체의 어떠한 적절한 형태를 포함할 수 있다. 대용량 기억장치(Mass Storage)(940)는 양방향성으로 프로세서(910)와 연결되어 추가적인 데이터 저장 능력을 제공하며, 상기된 컴퓨터 판독 가능 기록 매체 중 어떠한 것일 수 있다. 대용량 기억장치(940)는 프로그램, 데이터 등을 저장하는데 사용되며, 통상적으로 주기억장치보다 속도가 느린 하드 디스크와 같은 보조기억장치이다. CD 롬(960)과 같은 특정 대용량 기억장치가 사용될 수도 있다. 프로세서(910)는 비디오 모니터, 트랙볼, 마우스, 키보드, 마이크로폰, 터치스크린 형 디스플레이, 카드 판독기, 자기 또는 종이 테이프 판독기, 음성 또는 필기 인식기, 조이스틱, 또는 기타 공지된 컴퓨터 입출력장치와 같은 하나 이상의 입출력 인터페이스(950)와 연결된다. 마지막으로, 프로세서(910)는 네트워크 인터페이스(970)를 통하여 유선 또는 무선 통신 네트워크에 연결될 수 있다. 이러한 네트워크 연결을 통하여 상기된 방법의 절차를 수행할 수 있다. 상기된 장치 및 도구는 컴퓨터 하드웨어 및 소프트웨어 기술 분야의 당업자에게 잘 알려져 있다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며, 후술하는 특허 청구의 범위뿐 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.
본 발명에 따르면, 사용자로부터 입력 받은 검색 쿼리에 관한 데이터를 효과적으로 수집, 분석하여 검색 쿼리 간 연관성을 자동적으로 판단할 수 있는 시스템을 구축함으로써, 하나의 검색 쿼리와 연관성이 있는 다른 검색 쿼리를 일일이 분류하여 저장함으로 인해 서비스 운영자에게 야기되는 시간적, 경제적 손실을 줄일 수 있는 검색 쿼리 연관성 판단 방법 및 시스템이 제공된다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템에 의하면, 검색 쿼리간 연관성을 판단함에 있어서 각 검색 쿼리의 클릭율 정보를 이용하여, 실제로 검색 결과가 존재하지 않음에도 사용자가 같은 검색 세션에서 입력한 횟수가 많아서 연관 검색 쿼리로 결정되는 검색 쿼리를 제외하고, 검색 쿼리의 클릭율을 추가적으로 고려하여 사용자가 실제로 검색 결과에 만족할 가능성이 높은 검색 쿼리를 사용자에게 제공할 수 있다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템에 의하면, 연관성 판단의 대상을 확장하여 어느 검색 쿼리와 다른 검색 쿼리간의 연관성을 판단 함에 있어서 상기 검색 쿼리의 입력 전에 입력된 검색 쿼리가 어느 것인지를 고려한 연관성 판단을 함으로써, 셋 이상의 검색 쿼리간의 연관성을 판단하여 사용자의 쿼리 입력 경과에 따라 같은 검색 쿼리에 대해서도 상이한 연관 검색 쿼리를 제공할 수 있다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템에 의하면, 검색 쿼리 간 연관 지수 정보를 체계적으로 산정하여, 사용자로부터 검색 쿼리가 입력된 경우 상기 연관 지수 정보를 이용하여 연관 정도가 더 높은 검색 쿼리를 추출하고 이를 우선적으로 사용자에게 제공할 수 있다.
또한, 본 발명에 따른 검색 쿼리 연관성 판단 방법 및 시스템에 의하면, 사용자들이 검색한 체계적인 전처리 과정을 거친 유용한 데이터만을 추출하여 적절한 수의 연관 검색 쿼리를 유지함으로써, 진정으로 의미 있는 연관 검색 쿼리를 추출하여 보다 질 높은 연관 검색 쿼리 서비스를 사용자에게 제공할 수 있다.

Claims (20)

  1. 검색 쿼리간 연관성을 판단하는 방법에 있어서,
    검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계 - 상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨 -;
    각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지하는 단계 - 상기 클릭율 정보는 상기 각 검색 쿼리의 검색횟수 대비 검색결과 클릭횟수에 기초하여 생성됨 -;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 단계;
    상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계;
    상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 단계;
    상기 기록 수단을 참조하여 상기 제2 검색 쿼리의 클릭율 정보를 조회하는 단계; 및
    상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단하는 단계
    를 포함하고,
    상기 연관성을 판단하는 상기 단계는,
    상기 조건부 확률 정보가 소정의 수치 이상인 경우에 상기 연관성을 판단하고,
    상기 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  2. 제1항에 있어서,
    상기 검색 세션은 상기 사용자 단말기로 검색창이 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료되며,
    상기 검색 세션의 종료 후 상기 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우 새로운 검색 세션을 시작하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  3. 제2항에 있어서,
    제1 검색 쿼리와 제2 검색 쿼리간 연관성을 판단하는 상기 단계는,
    상기 클릭율 정보가 소정의 기준 수치 이상인 경우, 상기 제1 검색 쿼리와 상기 제2 검색 쿼리의 연관성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  4. 제2항에 있어서,
    제1 검색 쿼리와 제2 검색 쿼리간 연관성을 판단하는 상기 단계는,
    상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보의 곱셈 연산값에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  5. 검색 쿼리간 연관성을 판단하는 방법에 있어서,
    검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 단계 - 상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨 -;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 제1 검색 쿼리가 수신된 후 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하는 단계;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리와 상기 제2 검색 쿼리가 수신된 후 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 단계;
    상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 단계;
    상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 단계; 및
    상기 조건부 확률 정보 및 상기 상관 관계 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 단계
    를 포함하고,
    상기 연관성을 판단하는 상기 단계는,
    상기 조건부 확률 정보가 소정의 수치 이상인 경우에 상기 연관성을 판단하고,
    상기 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  6. 제5항에 있어서,
    상기 검색 세션은 상기 사용자 단말기로 검색창이 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료되며,
    상기 검색 세션의 종료 후 상기 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우 새로운 검색 세션을 시작하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  7. 제6항에 있어서,
    제1 검색 세션 수 정보를 생성하는 상기 단계는,
    상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제1 검색 세션 수 정보를 생성하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  8. 제7항에 있어서,
    제3 검색 세션 수 정보를 생성하는 상기 단계는,
    상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리, 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제3 검색 세션 수 정보를 생성하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  9. 제6항에 있어서,
    각 검색 쿼리별 클릭율 정보를 소정의 기록 수단에 기록하여 유지하는 단계; 및
    상기 기록 수단을 참조하여 상기 제3 검색 쿼리의 클릭율 정보를 조회하는 단계
    를 더 포함하고,
    상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 상기 단계는,
    상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  10. 제9항에 있어서,
    상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 상기 단계는,
    상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보를 이용하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관 지수 정보를 생성하는 단계를 포함하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  11. 삭제
  12. 제10항에 있어서,
    상기 연관 지수 정보의 내림차순에 따라 소정 개수의 상기 제3 검색 쿼리를 선정 및 소팅하여, 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리로 제2 데이터베이스에 기록하는 단계
    사용자 단말기로부터 상기 제1 검색 쿼리를 수신한 후 상기 제2 검색 쿼리를 수신하는 단계;
    상기 제2 데이터베이스를 참조하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리에 대응하는 연관 검색 쿼리를 추출하는 단계; 및
    상기 추출된 연관 검색 쿼리를 상기 사용자 단말기로 제공하는 단계
    를 더 포함하는 것을 특징으로 하는 연관 검색 쿼리 추출 방법.
  13. 제2항 또는 제6항에 있어서,
    검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하는 데이터베이스를 유지하는 상기 단계는,
    제1 검색 세션과 연관된 제1 검색 세션 식별자를 생성하여 상기 데이터베이스에 기록하는 단계;
    상기 제1 검색 세션 식별자 및 최종 검색 시각에 관한 제1 시각 정보를 사용자 단말기로 송신하는 단계;
    상기 사용자 단말기로부터 검색 쿼리를 수신하는 단계;
    상기 검색 쿼리가 수신된 제2 시각 정보 및 상기 제1 시각 정보를 비교하는 단계; 및
    상기 비교 결과, 상기 제1 시각 정보 및 상기 제2 시각 정보 간 격차가 소정의 시간을 초과하는 경우 제2 검색 세션과 연관된 제2 검색 세션 식별자를 생성하여 상기 제2 검색 세션 식별자 및 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록하고, 상기 격차가 소정의 시간 이하인 경우 상기 제1 검색 세션 식별자와 연관하여 상기 수신된 검색 쿼리에 관한 레코드를 상기 데이터베이스에 기록하는 단계
    를 포함하는 것을 특징으로 하는 검색 쿼리 연관성 판단 방법.
  14. 제1항 내지 제10항, 제12항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체.
  15. 검색 쿼리간 연관성을 판단하는 시스템에 있어서,
    검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하여 유지하는 데이터베이스 - 상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨 -;
    각 검색 쿼리별 클릭율 정보를 기록하여 유지하는 기록 수단 - 상기 클릭율 정보는 상기 각 검색 쿼리의 검색횟수 대비 검색결과 클릭횟수에 기초하여 생성됨 -;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제1 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하며, 상기 시간 간격 동안 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 카운터 수단;
    상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 조건부 확률 정보 생성 수단;
    상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 상관 관계 정보 생성 수단; 및
    상기 기록 수단을 참조하여 상기 제2 검색 쿼리의 클릭율 정보를 조회하고, 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리와 상기 제2 검색 쿼리간 연관성을 판단하는 연관성 판단 수단
    을 포함하고,
    상기 연관성 판단 수단은, 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 상기 연관성을 판단하고,
    상기 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
  16. 제15항에 있어서,
    상기 검색 세션은 상기 사용자 단말기로 검색창이 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료되며,
    상기 검색 세션의 종료 후 상기 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우 새로운 검색 세션을 시작하는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
  17. 검색 쿼리간 연관성을 판단하는 시스템에 있어서,
    검색 세션 및 상기 검색 세션 동안 사용자 단말기로부터 수신된 검색 쿼리에 관한 레코드를 포함하여 유지하는 데이터베이스 - 상기 레코드는 소정의 시간 간격마다 생성되어 상기 데이터베이스에 기록됨 -;
    상기 데이터베이스를 참조하여 상기 시간 간격 동안 설정된 총 검색 세션의 수를 카운팅하여 총 검색 세션 수 정보를 생성하고, 상기 시간 간격 동안 제1 검색 쿼리가 수신된 후 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제1 검색 세션 수 정보를 생성하며, 상기 시간 간격 동안 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제2 검색 세션 수 정보를 생성하고, 상기 데이터베이스를 참조하여 상기 시간 간격 동안 상기 제1 검색 쿼리와 상기 제2 검색 쿼리가 수신된 후 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 제3 검색 세션 수 정보를 생성하는 카운터 수단;
    상기 제1 검색 세션 수 정보 및 상기 제3 검색 세션 수 정보를 이용하여 조건부 확률(conditional probability) 정보를 생성하는 조건부 확률 정보 생성 수단;
    상기 총 검색 세션 수 정보, 상기 제1 검색 세션 수 정보, 상기 제2 검색 세션 수 정보, 및 상기 제3 검색 세션 수 정보를 이용하여 상관 관계(correlation) 정보를 생성하는 상관 관계 정보 생성 수단; 및
    상기 조건부 확률 정보 및 상기 상관 관계 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 연관성 판단 수단을 포함하고,
    상기 연관성 판단 수단은, 상기 조건부 확률 정보가 소정의 수치 이상인 경우에 상기 연관성을 판단하고,
    상기 수치는 상기 제1 검색 세션 수 정보의 상승에 따라 감소하는 소정의 함수에 기초하여 변동되는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
  18. 제17항에 있어서,
    상기 검색 세션은 상기 사용자 단말기로 검색창이 제공될 때 설정되고, 소정의 시간 동안 상기 사용자 단말기로부터 데이터 전송이 없을 때 종료되며,
    상기 검색 세션의 종료 후 상기 사용자 단말기로부터 새로운 검색 쿼리를 수신한 경우 새로운 검색 세션을 시작하는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
  19. 제18항에 있어서,
    상기 카운터 수단은,
    상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제1 검색 세션 수 정보를 생성하고,
    상기 시간 간격 동안 순차적으로 상기 제1 검색 쿼리, 상기 제2 검색 쿼리, 상기 제3 검색 쿼리가 수신된 검색 세션의 수를 카운팅하여 상기 제3 검색 세션 수 정보를 생성하는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
  20. 제18항에 있어서,
    각 검색 쿼리별 클릭율 정보를 기록하여 유지하는 기록 수단을 더 포함하고,
    상기 연관성 판단 수단은 상기 기록 수단을 참조하여 상기 제3 검색 쿼리의 클릭율 정보를 조회하고, 상기 조건부 확률 정보, 상기 상관 관계 정보 및 상기 클릭율 정보에 기초하여 상기 제1 검색 쿼리 및 상기 제2 검색 쿼리와 상기 제3 검색 쿼리간 연관성을 판단하는 것을 특징으로 하는 검색 쿼리 연관성 판단 시스템.
KR1020050055750A 2005-06-27 2005-06-27 검색 쿼리 연관성 판단 방법 및 시스템 KR100544514B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020050055750A KR100544514B1 (ko) 2005-06-27 2005-06-27 검색 쿼리 연관성 판단 방법 및 시스템
US11/917,759 US7693904B2 (en) 2005-06-27 2006-06-16 Method and system for determining relation between search terms in the internet search system
JP2008512225A JP4741657B2 (ja) 2005-06-27 2006-06-16 検索クエリ連関性判断方法及びシステム
PCT/KR2006/002323 WO2007001128A1 (en) 2005-06-27 2006-06-16 Method and system for determining relation between search terms in the internet search system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050055750A KR100544514B1 (ko) 2005-06-27 2005-06-27 검색 쿼리 연관성 판단 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100544514B1 true KR100544514B1 (ko) 2006-01-24

Family

ID=37178276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050055750A KR100544514B1 (ko) 2005-06-27 2005-06-27 검색 쿼리 연관성 판단 방법 및 시스템

Country Status (4)

Country Link
US (1) US7693904B2 (ko)
JP (1) JP4741657B2 (ko)
KR (1) KR100544514B1 (ko)
WO (1) WO2007001128A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910515B1 (ko) 2008-01-02 2009-07-31 엔에이치엔(주) 연관 검색어 판단 방법 및 시스템
KR101045955B1 (ko) 2008-11-14 2011-07-04 한국과학기술정보연구원 문맥의 의미적 연관관계 추출 방법 및 그 장치와 그 프로그램 소스를 저장한 기록 매체
KR101523450B1 (ko) * 2010-11-10 2015-05-27 라쿠텐 인코포레이티드 관련어 등록 장치, 관련어 등록 방법, 기록 매체 및, 관련어 등록 시스템

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747607B2 (en) * 2006-09-21 2010-06-29 Yahoo! Inc. Determining logically-related sub-strings of a string
US7912560B2 (en) * 2006-09-29 2011-03-22 Rockwell Automation Technologies, Inc. Module and controller operation for industrial control systems
US8818757B2 (en) * 2008-09-30 2014-08-26 Rockwell Automation Technologies, Inc. Modular object and host matching
US9058032B2 (en) * 2006-09-29 2015-06-16 Rockwell Automation Technologies, Inc. Hosting requirements for services
US9217998B2 (en) * 2006-09-29 2015-12-22 Rockwell Automation Technologies, Inc. Management and development of an industrial environment
US7856279B2 (en) * 2006-09-29 2010-12-21 Rockwell Automation Technologies, Inc. Module structure and use for industrial control systems
US7920482B2 (en) * 2006-09-29 2011-04-05 Verint Americas Inc. Systems and methods for monitoring information corresponding to communication sessions
US8265775B2 (en) * 2008-09-30 2012-09-11 Rockwell Automation Technologies, Inc. Modular object publication and discovery
US9261877B2 (en) * 2006-09-29 2016-02-16 Rockwell Automation Technologies, Inc. Multiple machine interface
US8041435B2 (en) * 2008-09-30 2011-10-18 Rockwell Automation Technologies, Inc. Modular object dynamic hosting
US20080082577A1 (en) * 2006-09-29 2008-04-03 Rockwell Automation Technologies, Inc. Module classification and searching for industrial control systems
US8776092B2 (en) * 2006-09-29 2014-07-08 Rockwell Automation Technologies, Inc. Multiple interface support
US7835805B2 (en) * 2006-09-29 2010-11-16 Rockwell Automation Technologies, Inc. HMI views of modules for industrial control systems
US8078296B2 (en) * 2006-09-29 2011-12-13 Rockwell Automation Technologies, Inc. Dynamic procedure selection
US8732658B2 (en) * 2006-09-29 2014-05-20 Rockwell Automation Technologies, Inc. Layered interface in an industrial environment
US7676279B2 (en) * 2006-09-29 2010-03-09 Rockwell Automation Technologies, Inc. Services for industrial control systems
JP2008203997A (ja) * 2007-02-16 2008-09-04 Toshiba Corp 文書検索装置及びプログラム
US8655868B2 (en) 2007-09-12 2014-02-18 Ebay Inc. Inference of query relationships based on retrieved attributes
US8832098B2 (en) * 2008-07-29 2014-09-09 Yahoo! Inc. Research tool access based on research session detection
JP5327784B2 (ja) * 2008-07-30 2013-10-30 株式会社日立製作所 計算機システム、情報収集支援装置及び情報収集支援方法
JP2010102385A (ja) * 2008-10-21 2010-05-06 Kddi Corp ユーザ分類装置、広告配信装置、ユーザ分類方法、広告配信方法、およびプログラム
US8055638B2 (en) * 2008-12-11 2011-11-08 Microsoft Corporation Providing recent history with search results
US20110184802A1 (en) * 2010-01-25 2011-07-28 Microsoft Corporation Auction format selection using historical data
CN103034665B (zh) 2011-10-10 2016-01-06 阿里巴巴集团控股有限公司 信息查询方法和装置
CN103577416B (zh) * 2012-07-20 2017-09-22 阿里巴巴集团控股有限公司 扩展查询方法及系统
US20140136295A1 (en) 2012-11-13 2014-05-15 Apptio, Inc. Dynamic recommendations taken over time for reservations of information technology resources
US10417591B2 (en) 2013-07-03 2019-09-17 Apptio, Inc. Recursive processing of object allocation rules
US10325232B2 (en) 2013-09-20 2019-06-18 Apptio, Inc. Allocating heritage information in data models
US11244364B2 (en) 2014-02-13 2022-02-08 Apptio, Inc. Unified modeling of technology towers
WO2017003496A1 (en) 2015-06-30 2017-01-05 Apptio, Inc. Infrastructure benchmarking based on dynamic cost modeling
US10268979B2 (en) 2015-09-28 2019-04-23 Apptio, Inc. Intermediate resource allocation tracking in data models
US10387815B2 (en) 2015-09-29 2019-08-20 Apptio, Inc. Continuously variable resolution of resource allocation
US10726367B2 (en) 2015-12-28 2020-07-28 Apptio, Inc. Resource allocation forecasting
EP3188038B1 (en) * 2015-12-31 2020-11-04 Dassault Systèmes Evaluation of a training set
US10474974B2 (en) 2016-09-08 2019-11-12 Apptio, Inc. Reciprocal models for resource allocation
US10936978B2 (en) 2016-09-20 2021-03-02 Apptio, Inc. Models for visualizing resource allocation
US10482407B2 (en) 2016-11-14 2019-11-19 Apptio, Inc. Identifying resource allocation discrepancies
US10157356B2 (en) * 2016-12-14 2018-12-18 Apptio, Inc. Activity based resource allocation modeling
US10268980B1 (en) * 2017-12-29 2019-04-23 Apptio, Inc. Report generation based on user responsibility
US11775552B2 (en) 2017-12-29 2023-10-03 Apptio, Inc. Binding annotations to data objects
US10324951B1 (en) 2017-12-29 2019-06-18 Apptio, Inc. Tracking and viewing model changes based on time
US11599538B2 (en) * 2019-09-13 2023-03-07 Oracle International Corporation Associating search results, for a current query, with a recently executed prior query

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1011458A (ja) * 1996-06-25 1998-01-16 Hitachi Ltd 情報検索装置
US6208988B1 (en) * 1998-06-01 2001-03-27 Bigchalk.Com, Inc. Method for identifying themes associated with a search query using metadata and for organizing documents responsive to the search query in accordance with the themes
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6490577B1 (en) * 1999-04-01 2002-12-03 Polyvista, Inc. Search engine with user activity memory
US6772150B1 (en) * 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
KR100372078B1 (ko) 2000-04-11 2003-02-17 이은미 관련어 검색 방법
KR100408965B1 (ko) 2000-06-26 2003-12-06 주식회사쓰리소프트 검색조건을 추천하는 검색결과 제공방법 및 검색서버
KR100493688B1 (ko) 2003-01-08 2005-06-03 주식회사 옵투스 키워드확장장치 및 방법과 키워드확장장치를 이용한검색시스템
JP2004348554A (ja) * 2003-05-23 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> 検索キーワード情報提供装置、検索キーワード情報提供方法、及び検索キーワード情報提供プログラム
US7509313B2 (en) * 2003-08-21 2009-03-24 Idilia Inc. System and method for processing a query
US7716219B2 (en) * 2004-07-08 2010-05-11 Yahoo ! Inc. Database search system and method of determining a value of a keyword in a search
US20060212265A1 (en) * 2005-03-17 2006-09-21 International Business Machines Corporation Method and system for assessing quality of search engines

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910515B1 (ko) 2008-01-02 2009-07-31 엔에이치엔(주) 연관 검색어 판단 방법 및 시스템
KR101045955B1 (ko) 2008-11-14 2011-07-04 한국과학기술정보연구원 문맥의 의미적 연관관계 추출 방법 및 그 장치와 그 프로그램 소스를 저장한 기록 매체
KR101523450B1 (ko) * 2010-11-10 2015-05-27 라쿠텐 인코포레이티드 관련어 등록 장치, 관련어 등록 방법, 기록 매체 및, 관련어 등록 시스템
US9442976B2 (en) 2010-11-10 2016-09-13 Rakuten, Inc. Related-word registration device, information processing device, related-word registration method, program for related-word registration device, recording medium, and related-word registration system

Also Published As

Publication number Publication date
US20080201297A1 (en) 2008-08-21
WO2007001128A1 (en) 2007-01-04
US7693904B2 (en) 2010-04-06
JP2008541292A (ja) 2008-11-20
JP4741657B2 (ja) 2011-08-03

Similar Documents

Publication Publication Date Title
KR100544514B1 (ko) 검색 쿼리 연관성 판단 방법 및 시스템
JP4726528B2 (ja) マルチセンスクエリについての関連語提案
KR101201037B1 (ko) 키워드와 웹 사이트 콘텐츠 사이의 관련성 검증
JP6007088B2 (ja) 大量のコメント文章を用いた質問回答プログラム、サーバ及び方法
KR102080362B1 (ko) 쿼리 확장
US8478737B2 (en) Segmentation of search topics in query logs
US20100241647A1 (en) Context-Aware Query Recommendations
JP2009151760A (ja) オブジェクト間競合指標計算方法およびシステム
WO2017091985A1 (zh) 停用词识别方法与装置
JP5057474B2 (ja) オブジェクト間の競合指標計算方法およびシステム
US9971828B2 (en) Document tagging and retrieval using per-subject dictionaries including subject-determining-power scores for entries
KR100525616B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
JP3249743B2 (ja) 文書検索システム
KR101096285B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR20040098889A (ko) 웹사이트 검색 서비스 제공 방법 및 그 시스템
KR100525618B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR100525617B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR20050100907A (ko) 연관 검색 쿼리 추출 방법 및 시스템
JP2013084216A (ja) 定型文判別装置及び定型文判別方法
JP5903370B2 (ja) 情報検索装置、情報検索方法、及びプログラム
JP5761033B2 (ja) 文書分析装置、文書分析方法、およびプログラム
KR100994326B1 (ko) 중요도 정보를 반영한 검색 결과 리스트 제공 방법 및 그시스템
JP3799447B2 (ja) 文書検索処理方法および文書検索システム
KR100931775B1 (ko) 웹사이트 검색 서비스 제공 방법 및 그 시스템
KR20050102406A (ko) 연관 검색 쿼리 추출 방법 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130111

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131231

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151223

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 15