본 발명의 실시예에 대한 상세한 설명을 하기 이전에 본 발명에서 사용된 검색 세션이란 용어에 대해 간략히 설명한다.
검색 세션이란 하나의 검색 의도를 해결하기 위한 일련의 검색 행위가 수행되는 과정을 의미하는 것으로서, 일 실시예에 있어서 검색 세션은 소정 인터페이스를 통해 사용자 단말기로 제공된 검색 창을 통해 검색어가 최초로 입력되는 시점에서 시작하여 소정 시간 동안 사용자 단말기로부터 데이터 전송이 없는 시점에서 종료하게 된다.
예컨대, 소정 시간이 5분으로 설정되는 경우, 사용자가 사용자 단말기를 통하여 검색 창에 최초 검색어를 입력하는 시점에서 검색 세션이 시작되어 사용자가 검색어를 입력하거나 검색어에 대한 검색 결과를 선택하는 등의 검색 행위를 수행한 최종시각으로부터 5분 동안 검색 행위를 수행하지 않고 대기하는 경우 해당 검색 세션이 종료하게 되는 것이다. 따라서, 해당 검색 세션이 종료된 이후 사용자 단말기로부터 입력되는 검색어는 새로운 검색 세션에 포함되게 된다.
대표 키워드란 각 분야의 세부적인 키워드들을 대표할 수 있고 사용자의 검색 횟수가 많은 검색어를 말한다. 또한, 각 분야에서 검색 서비스 사용자에게 검색 의도 해결을 위해 바로 연상되는 특정 검색어를 말한다. 일 예로서, 검색 분야에서 사용자에게 검색 목적을 달성하기 위해 곧바로 연상되는 "네이버", 또는 게임 분야에서 사용자에게 곧바로 연상되는 "한게임"과 같은 사이트 명칭을 들 수 있다.
대표 키워드에 대한 사용자의 검색 횟수가 많으므로, 특정 시간 동안 여러 사용자들의 검색 서비스 이용에 의해 생성된 검색 세션들에 있어서, 대표 키워드가 입력된 검색 세션의 수가 다른 검색어가 입력된 검색 세션의 수보다 크다. 따라서, 대표 키워드는 검색 세션에 입력될 확률이 다른 검색어에 비해 높은 특징이 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 연관 검색어 판단 시스템의 개략적인 블록도이다.
도시된 바와 같이, 연관 검색어 판단 시스템(100)은 데이터베이스(102), 제1 연관도 산출부(104), 연관 검색어 판단부(106), 필터링부(108), 제2 연관도 산출부(110), 및 순위 판단부(112)를 포함하며, 사용자(114)와 소정의 네트워크(116)를 통해 연결된다.
이하, 사용자(114)에 의해 입력되어 연관 검색어 판단 시스템(100)이 그에 대한 연관 검색어를 제공하고자 하는 검색어를 사용자 검색어라 하고, 상기 사용자 검색어의 연관 검색어로서 제공될 가능성이 있는 검색어를 후보 검색어라 하겠다.
또한, 사용자 검색어, 후보 검색어, 및 사용자와 후보 검색어가 입력된 검색 세션의 수는 후보 검색어의 연관도 산출을 위한 자료로서 특정 시간 동안 연관 검색어 판단 시스템(100)에 의해 수집된다. 여기서, 사용자 검색어와 후보 검색어는 동일 검색 세션에서 입력될 수 있고, 한 검색 세션에서 어느 하나만 입력될 수도 있다.
데이터베이스(102)에는 특정 시간 동안 사용자(114)들의 검색 행위로 발생한 검색 세션에 있어서, 사용자 검색어가 입력되는 검색 세션의 수, 후보 검색어가 입력되는 검색 세션의 수, 및 사용자 검색어와 후보 검색어가 입력되는 검색 세션의 수가 누적되어 저장된다.
또한, 데이터베이스(102)에는 순위 판단부(112)에서 생성된 연관 검색어의 순위 정보를 통해 사용자 검색어, 연관 검색어, 연관 검색어의 제공 순위가 저장된다.
데이터베이스(102)에 저장된 상기 연관 검색어는 상기 제공 순위에 따라, 연관 검색어 판단 시스템(100)에 의해 사용자(114)의 사용자 검색어 입력 시 제공되게 된다.
상술한 실시예에서, 데이터베이스(102)는 연관 검색어 판단 시스템(100)에 포함된 것으로 설명하였으나, 변형된 실시예에서는 연관 검색어 판단 시스템(100) 과 분리된 구성 요소일 수 있다.
제1 연관도 산출부(104)는 데이터베이스(102)에 저장된 정보를 통해 사용자 검색어에 대한 후보 검색어의 제1 연관도를 산출한다. 여기서, 제1 연관도는 후보 검색어와 사용자 검색어의 연관성을 의미하는 지수로서 후보 검색어가 연관 검색어인지 판단하기 위해 필요한 지수이다.
제1 연관도 산출부(104)는 먼저 제1 검색어인 사용자 검색어 및 제2 검색어인 후보 검색어가 동일한 검색 세션에 입력될 제1 확률값인 P(사용자 검색어∩후보 검색어)를 획득한다. 이하에서 사용자 검색어는 제1 검색어, 후보 검색어는 제2 검색어로 가정하고 사용할 수 있다. 여기서, 상기 제1 확률값은 특정 시간 동안 사용자 검색어 및 후보 검색어가 입력된 검색 세션의 수에서 상기 특정 시간 동안 생성된 모든 검색 세션의 수를 나누어 산출한 값이다.
그리고, 제1 연관도 산출부(104)는 입력의 증가 비율에 비해 출력의 증가 비율이 작은 제1 함수에 있어서, 상기 사용자 검색어가 검색 세션에 입력될 제2 확률값을 입력으로 하는 상기 제1 함수의 결과값을 획득한다. 여기서, 상기 제2 확률값인 P(사용자 검색어)는 특정 시간 동안 사용자 검색어가 입력된 검색 세션의 수에서 상기 특정 시간 동안 생성된 모든 검색 세션의 수를 나누어 산출한 값이다.
일 실시예에 있어서, 상기 제1 함수는 상기 P(사용자 검색어)을 입력으로 하는 제1 지수함수일 수 있다. 여기서, 제1 지수함수의 지수값은 0보다 크고 1보다 작은 값일 수 있다.
일 실시예에 있어서, 상기 제1 연관도 산출부(104)는 특정 시간 동안 사용자 검색어가 입력된 검색 세션의 수, 후보 검색어가 입력된 검색 세션의 수, 또는 사 용자 검색어 및 후보 검색어가 입력된 검색 세션의 수를 참조하여, 연관 검색어 판단 시스템(100)이 제공할 연관 검색어의 수가 소정 값 이상이 되도록 상기 제1 함수의 지수값을 결정할 수 있다.
이하, 상기 제1 함수는 P(사용자 검색어)x 로 표현되는 제1 지수함수라 가정하고 설명하겠다. 여기서, x는 0보다 크고 1보다 작은 값이다.
제1 연관도 산출부(104)는 상기 제1 확률값을 상기 제1 지수함수의 결과값으로 나누어 제1 연관도를 산출한다. 결국 제1 연관도는 하기 <수학식 1>로 나타낼 수 있다.
상술한 제1 연관도 산출 방법은 상기 사용자 검색어가 검색 세션에 입력될 확률값에 입력의 변화율에 비해 출력의 변화율이 작아지게 하는 가중치를 부여하여, 상기 사용자 검색어가 입력된 검색 세션의 수가 큰 경우, 상기 사용자 검색어가 입력된 검색 세션의 수가 작은 경우보다 상기 <수학식 1>의 분모가 제1 연관도에 미치는 영향력이 작게 되고, 다른 한편으로는 제1 연관도를 크게 할 수 있다.
일반적인 연관 검색어 판단 방법에서 사용하는 신뢰도는 사용자 검색어가 대표 키워드일 경우, 사용자 검색어가 검색 세션에 입력될 확률인 P(사용자 검색어)도 클 것이므로, 분모인 P(사용자 검색어)에 의해 후보 검색어의 신뢰도가 낮아져 실제로 대표 키워드를 위해 제공되는 연관 검색어의 수가 작은 문제가 있다.
그러나, 본 발명의 일 실시예에 따른 연관 검색어 판단 방법에서는 상기 입력의 증가 비율에 비해 출력의 증가 비율이 작은 제1 지수함수를 사용함으로써, P(사용자 검색어)에 의해 제1 연관도가 작아지게 되는 영향을 감소 시켰다.
즉, P(사용자 검색어)가 작은 사용자 검색어에 대한 제1 연관도에 비해, P(사용자 검색어)가 큰 대표 키워드에 대한 제1 연관도가 감소하지 않기 때문에, 제공 되는 연관 검색어의 수도 감소하지 않는다.
따라서, 일반적인 신뢰도 계산법에 의한 결과와는 다르게 대표 키워드를 위해 제공되는 연관 검색어의 개수가 감소하는 현상을 방지할 수 있다.
도 2는 본 발명의 일 실시예에 따른 제1 지수함수의 지수값이 제1 연관도에 미치는 영향을 설명하기 위한 도면이다.
도시된 바와 같이, 제1 지수함수는 입력의 증가 비율에 비해 출력의 증가 비율이 작고, 상기 지수값은 0보다 크고 1보다 작은 값일 수 있다.
일반적인 연관 검색어 판단 방법의 경우 P(사용자 검색어)가 0.001, 0.01, 0.1의 순으로 10배씩 증가하면, 신뢰도의 분모의 증가 비율(202)은 10이 되므로 P(사용자 검색어)의 신뢰도에 대한 영향력이 크다.
그러나, 제1 연관도 산출부(104)에 의한 판단 방법의 경우 지수값이 0.1일 때, 제1 연관도의 분모의 증가 비율(204)은 약 1.25이므로, P(사용자 검색어)의 제1 연관도에 대한 영향력은 크지 않다.
또한. 제1 연관도 산출부(104)에 의한 판단 방법의 경우 지수값이 0.5일 때, 제1 연관도의 분모의 증가 비율(206)은 약 3.16이므로, P(사용자 검색어)의 제1 연관도에 대한 영향력이 지수값이 0.1일 때 보다 크다.
상술한 바와 같이, 상기 지수값을 통해 P(사용자 검색어)가 제1 연관도에 미치는 영향력을 조절하여, 대표 키워드에 제공되는 연관 검색어의 수를 조절할 수 있게 된다. 즉, 제1 연관도 산출부(104)는 제1 지수함수의 지수값을 결정하여 제1 연관도를 조절할 수 있게 된다.
다시 도1을 참조하면, 연관 검색어 판단부(106)는 제1 연관도 산출부(104)에서 생성한 제1 연관도를 이용하여, 상기 제1 연관도가 기준치 이상이면, 해당 후보 검색어를 사용자 검색어의 연관 검색어로 판단한다.
도 3은 본 발명의 일 실시예에 따라 연관 검색어 판단부(106)가 제1 연관도를 이용하여 연관 검색어를 판단하는 과정을 설명하기 위한 도면이다.
도 3은 P(사용자 검색어∩후보 검색어)가 증가하는 경우, P(사용자 검색어)가 어느 값 이상이어야 해당 후보 검색어가 연관 검색어로 선택되는지 나타낸다.
여기서, 기준치가 "0.000003"이라면, (사용자 검색어∩후보 검색어)=P(사용자 검색어)×0.002이고, P(사용자 검색어)가 "0.01"인 경우(302) 제1 연관도가 "0.00000317"이므로 해당 후보 검색어가 연관 검색어로 선택되며, "0.001"인 경우(304)는 해당 후보 검색어가 연관 검색어로 선택되지 않는다.
그리고, P(사용자 검색어∩후보 검색어)=P(사용자 검색어)×0.0002인 경우, P(사용자 검색어)가 "0.01"(306) 또는 "0.001"(308)이면, 해당 후보 검색어가 연관 검색어로 선택된다.
일반적인 판단 방법에 의할 경우 P(사용자 검색어)가 "0.001"인 경우(308)에 비해서 "0.01"인 경우(306)에 신뢰도가 변하지 않지만, 본 발명에 따른 일 실시예에 의하면, "0.01"인 경우(306)에 제1 연관도가 더 크다. 이는, P(사용자 검색어)가 큰 대표 키워드에 대해 <수학식 1>을 통해 가중치를 주었다는 것을 의미하며, 따라서, 대표 키워드의 경우 연관 검색어가 감소하는 현상을 방지할 수 있다.
다시 도 1을 참조하면, 필터링부(108)는 사용자 검색어에 대한 후보 검색어의 신뢰도가 임계치 이상이면, 상기 연관 검색어를 어뷰징 키워드(Abusing Keyword)로 판단하고 필터링 함으로써, 사용자(114)에게 제공될 연관 검색어 대상에서 제거한다.
연관 검색어 제공 서비스를 악용하여, 부당하게 경제적 또는 사회적으로 이익을 얻을 목적으로 특정 검색어와 자신의 영업 또는 사회적 목적과 관련된 검색어를 반복적으로 입력하는 경우, 이를 연관 검색 서비스에 대한 어뷰징으로 판단하고 필터링 해야 한다.
일 예로, 필터링부(108)는 하기 <수학식 2>를 통한 신뢰도를 산출하여, 신뢰도가 기준치 이상이면, 연관 검색어 판단부(106)에 의해 선택된 연관 검색어를 어뷰징 키워드로 판단하고 필터링한다. 따라서, 신뢰도가 임계치보다 높은 연관 검색어는 어뷰징 키워드로 판단하고 사용자(114)에게 제공하지 않게 된다.
제2 연관도 산출부(110)는 필터링부(108)에서 제거되지 않은 연관 검색어의 제공 순위를 결정하기 위해 필요한 제2 연관도를 산출한다. 여기서, 제2 연관도는 후보 검색어와 사용자 검색어의 연관성을 의미하는 지수이다.
제2 연관도 산출부(110)는 먼저 입력의 증가 비율에 비해 출력의 증가 비율이 작은 제2 함수에 있어서, 상기 후보 검색어가 검색 세션에 입력될 확률인 P(후보 검색어)를 입력으로 하는 상기 제2 함수의 결과값을 획득한다. 여기서, P(후보 검색어)는 특정 시간 동안 후보 검색어가 입력된 검색 세션의 수에서 상기 특정 시간 동안 생성된 모든 검색 세션의 수를 나누어 산출한 값이다.
일 실시예에 있어서, 상기 제2 함수는 상기 P(후보 검색어)를 입력으로 하는 제2 지수함수일 수 있다. 여기서, 제2 지수함수의 지수값은 0보다 크고 1보다 작은 값일 수 있다.
일 실시예에 있어서, 상기 제2 연관도 산출부(110)는 특정 시간 동안 사용자 검색어가 입력된 검색 세션의 수, 후보 검색어가 입력된 검색 세션의 수, 또는 사용자 검색어 및 후보 검색어가 입력된 검색 세션의 수를 참조하여, 상기 제2 함수의 지수값을 결정할 수 있다.
이하, 상기 제2 함수는 P(후보 검색어)y 로 표현되는 제2 지수함수라 가정하고 설명하겠다. 여기서, y는 0보다 크고 1보다 작은 값이다.
제2 연관도 산출부(110)는 제1 연관도를 상기 제2 지수함수의 결과값으로 나누어 제2 연관도를 산출한다. 결국 제2 연관도는 하기 <수학식 3>으로 나타낼 수 있다.
제2 연관도를 산출하는 이유는 입력된 검색 세션의 수가 많은 후보 검색어가 입력된 검색 세션의 수가 적은 후보 검색어에 비해 큰 제1 연관도를 갖는 경향 때문에 선 순위로 제공되므로, 입력된 검색 세션의 수가 적은 후보 검색어의 순위를 올려 주기 위함이다. 이는 입력된 검색 세션의 수가 적음에도 연관성이 인정되어 연관 검색어로 선택된 후보 검색어에게 가중치를 부여한 것으로 볼 수 있다.
이때, 제1 연관도를 단지 P(후보 검색어)로 나누어 제2 연관도를 산출하지 않는 이유는, 전술한 신뢰도 산출 시 나타나는 문제점을 똑같이 갖게 되기 때문이다. 즉, 후보 검색어가 대표성 키워드일 경우 순위가 감소하는 것을 막기 위함이다.
본 발명의 일 실시예에서, 제2 연관도를 계산하기 위한 <수학식 3>의 분모는 제2 지수함수의 형태를 가진다. 따라서, 후보 검색어가 대표성 키워드일 경우, 제1 연관도를 단순히 P(후보 검색어)로 나누어 제2 연관도를 산출할 때보다 연관 검색어 제공 순위가 감소하는 것을 방지할 수 있다.
이하, <수학식 3>의 분모가 제2 지수함수의 형태를 가짐으로 발생하는 효과 및 상기 제2 지수함수의 지수값이 미치는 효과는 전술한 <수학식 1> 또는 도 2에서 설명한 내용과 중복되므로 생략한다.
다시 도 1을 참조하면, 순위 판단부(112)는 제2 연관도 산출부(110)에서 산출된 제2 연관도를 통해, 제2 연관도가 높은 연관 검색어를 선 순위로 하는 순위 정보를 생성한다. 그리고, 생성한 순위 정보를 데이터베이스(102)에 저장한다.
상술한 연관 검색어 판단 시스템(100)을 이용하여 연관 검색어를 판단하는 방법을 도 4를 참조하여 구체적으로 설명한다.
도 4는 본 발명의 일 실시예에 따른 연관 검색어 판단 방법을 나타내는 순서도이다.
먼저, 특정 시간 동안 사용자 검색어가 입력되는 검색 세션의 수, 후보 검색어가 입력되는 검색 세션의 수, 및 사용자 검색어와 후보 검색어가 입력되는 검색 세션의 수를 누적하여 데이터베이스에 저장한다(S402).
다음으로, 상기 데이터베이스를 참조하여, 사용자 검색어 및 후보 검색어가 동일한 검색 세션에 입력될 제1 확률값을 획득하고, 입력의 증가 비율에 비해 출력의 증가 비율이 작은 제1 함수에 있어서, 상기 사용자 검색어가 검색 세션에 입력될 제2 확률값을 입력으로 하는 제1 함수의 결과값을 획득하고, 상기 제1 확률값을 상기 결과값으로 나누어 제1 연관도를 산출한다(S404).
일 실시예에 있어서, 상기 제1 확률값은 특정 시간 동안 상기 사용자 검색어 및 후보 검색어가 입력된 검색 세션의 수에서 상기 특정 시간 동안 생성된 모든 검색 세션의 수를 나누어 산출될 수 있다.
다음으로, 상기 산출 결과, 상기 제1 연관도가 기준치 이상인지 판단한다(S406). 이때, 기준치 이상이면, 상기 후보 검색어를 사용자 검색어의 연관 검색 어로 판단한다(S408). 그러나, 기준치 미만이면, 해당 후보 검색어를 연관 검색어에서 제외한다(S416).
일 실시예에 있어서, 제1 함수는 제1 지수함수이고, 제1 지수함수의 지수값은 0보다 크고 1보다 작은 값일 수 있다.
다음으로, 제1 연관도가 기준치 이상이면, 사용자 검색어에 대한 상기 연관 검색어의 신뢰도가 임계치 이상인지 판단한다(S410). 이때, 임계치 이상이면, 상기 연관 검색어를 어뷰징 키워드로 판단하고 필터링하여, 해당 연관 검색어를 사용자에게 제공될 연관 검색어 대상에서 제외한다(S416).
만약, 상기 신뢰도가 임계치 미만이면, 입력의 증가 비율에 비해 출력의 증가 비율이 작은 제2 함수에 있어서, 상기 연관 검색어가 검색 세션에 입력될 확률을 입력으로 하여 상기 제2 함수의 결과값을 획득하고, 상기 제1 연관도를 상기 제2 함수의 결과값으로 나누어 제2 연관도를 산출한다(S412).
일 실시예에 있어서, 제2 함수는 제2 지수함수이고, 제2 지수함수의 지수값은 0보다 크고 1보다 작은 값일 수 있다.
다음으로, 제2 연관도에 따라 상기 연관 검색어의 제공 순위를 판단한다(S414). 여기서, 제2 연관도가 높은 순으로 제공 순위가 정해 질 수 있다.
상술한 연관 검색어 판단 방법은 다양한 컴퓨터 수단을 이용하여 수행될 수 있는 프로그램 형태로도 구현될 수 있는데, 이때 연관 검색어 판단 방법을 수행하기 위한 프로그램은 하드 디스크, CD-ROM, DVD, 롬(ROM), 램, 또는 플래시 메모리와 같은 컴퓨터로 판독할 수 있는 기록 매체에 저장된다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.
그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.