KR101621735B1 - 추천 검색어 제공 방법 및 시스템 - Google Patents
추천 검색어 제공 방법 및 시스템 Download PDFInfo
- Publication number
- KR101621735B1 KR101621735B1 KR1020150002224A KR20150002224A KR101621735B1 KR 101621735 B1 KR101621735 B1 KR 101621735B1 KR 1020150002224 A KR1020150002224 A KR 1020150002224A KR 20150002224 A KR20150002224 A KR 20150002224A KR 101621735 B1 KR101621735 B1 KR 101621735B1
- Authority
- KR
- South Korea
- Prior art keywords
- search
- word
- score
- words
- calculating
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G06F17/30864—
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
추천 검색어 제공 방법 및 시스템이 제공된다. 상기 추천 검색어 제공 방법은 인터넷 네트워크에 존재하는 코퍼스(corpus) 내의 복수의 워드(word)들의 벡터 값을 산출하는 단계, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계, 로그 데이터를 이용하여 상기 복수의 워드별로 적어도 하나의 특징 값들을 산출하는 단계, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 단계, 및 상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 단계를 포함하고, 상기 실시간 이슈 점수를 산출하는 단계는, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 단계와, 상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 단계와, 상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 단계를 포함한다.
Description
본 발명은 추천 검색어 제공 방법 및 시스템에 관한 것이다.
검색 서버는 사용자로부터 입력된 검색 쿼리에 응답하여, 웹 문서, 이미지, 음악, 영상, 파일 등의 콘텐츠를 포함하는 검색 결과를 제공한다.
이슈 검색어 선별 서비스는 사용자로부터 입력된 검색 쿼리를 분석하여, 쿼리의 증가량이 높은 후보 검색어들을 선출하고, 시스템 운영자가 후보 검색어들로부터 이슈 검색어를 선별하여 노출하는 서비스이다.
종래의 이슈 검색어 선별 서비스는 단순하게 쿼리의 증가량을 계산하여 후보 검색어들을 선출하므로 어뷰저 및 스패머들의 공격에 매우 취약하고, 시스템 운영자가 직접적으로 이슈 검색어를 선별하여야 하기 때문에 시스템 운영자에 대한 의존도가 높으며, 실시간으로 데이터를 처리해야 하나 인간의 정신 작용에 의해서 대응이 늦어지는 문제점이 존재하였다.
그리고, 추천 검색어 제공 서비스는 사용자로부터 입력된 검색 쿼리를 분석하여, 사용자의 검색어 입력시 또는 검색 결과 제공시 관련성이 높은 검색어를 추천하여 제공하는 서비스이다.종래의 추천 검색어 제공 서비스는 협업 필터링(collaborative filtering)과 같은 방법을 사용하여 추천 검색어를 제공하였으나, 스파스(sparse)하고 대규모 데이터를 갖는 검색어의 경우에는 비슷한 패턴을 갖는 교집합이 없거나 적기 때문에 정확도가 떨어지는 문제점이 존재하였다.
본 발명이 해결하고자 하는 과제는 시스템 운영자에 대한 의존도를 최소화하고, 어뷰저(abuser) 및 스패머(spammer)들의 공격에 대응할 수 있고, 실시간으로 데이터를 처리하여 빠른 시간 내에 실시간 이슈 검색어를 선별할 수 있는 실시간 이슈 검색어 선별 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 스파스하고 대규모 데이터를 갖는 검색어의 경우에도 단순하면서 정확하게 추천 검색어를 제공할 수 있는 추천 검색어 제공 방법 및 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급하지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 측면(aspect)에 따른 실시간 이슈 검색어 선별 방법은 복수의 사용자 단말기들로부터 입력된 복수의 검색어들을 포함하는 로그 데이터를 수신하는 단계, 상기 수신한 로그 데이터를 이용하여 각각의 검색어별로 적어도 하나의 특징 값들을 산출하는 단계, 상기 각각의 검색어별로 상기 적어도 하나의 특징 값들을 합산하여 점수를 산출하는 단계, 상기 복수의 검색어들 중 검색의도가 동일한 복수의 검색어들을 하나의 검색어 군집으로 군집화하여 적어도 하나의 검색어 군집을 생성하는 단계, 및 상기 적어도 하나의 검색어 군집의 점수-상기 검색어 군집에 포함되는 복수의 검색어들의 점수의 합-와 상기 군집화되지 않은 복수의 검색어들의 점수를 비교하여 검색어 순위를 산정하는 단계를 포함한다.
일부 실시예에서, 상기 검색어 순위를 산정하는 단계는, 점수가 높은 순서로 검색어 순위를 할당하되, 검색어 군집의 경우, 해당 검색어 군집에 포함되는 복수의 검색어들 중 점수가 가장 높은 검색어에 대하여 해당 검색어 순위를 할당하고, 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
일부 실시예에서, 상기 적어도 하나의 검색어 군집을 생성하는 단계는, 복수의 검색어들의 검색 결과 내에 동일한 웹문서가 소정의 비율 이상으로 노출되는 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
일부 실시예에서, 상기 적어도 하나의 검색어 군집을 생성하는 단계는, 복수의 검색어들의 문자가 소정의 비율 이상으로 동일한 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
또한, 상기 적어도 하나의 검색어 군집을 생성하는 단계는, 복수의 검색어들의 편집거리(edit distance)가 소정의 값 이하인 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
일부 실시예에서, 상기 적어도 하나의 특징 값들을 산출하는 단계는, 소정의 단위 시간 동안의 로그 데이터의 통계량을 이용하여 각각의 검색어 별로 상기 적어도 하나의 특징 값들을 산출하되, 상기 단위 시간에 상응하는 슬라이딩 윈도우(sliding window)를 이용하여 로그 데이터의 시간 범위를 결정할 수 있다.
일부 실시예에서, 상기 실시간 이슈 검색어 선별 방법은 상기 수신한 로그 데이터로부터 사용자의 중복된 행동에 의한 값을 제거하여 상기 수신한 로그 데이터를 필터링하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 실시간 이슈 검색어 선별 방법은 상기 수신한 로그 데이터로부터 어뷰징(abusing)에 의한 값을 제거하여 상기 수신한 로그 데이터를 필터링하는 단계를 더 포함할 수 있다.
일부 실시예에서, 상기 로그 데이터는, 상기 복수의 검색어들과 상기 복수의 검색어들의 검색 결과에 대한 사용자 피드백 데이터를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 측면(aspect)에 따른 실시간 이슈 검색어 선별 시스템은 복수의 사용자 단말기들로부터 입력된 복수의 검색어들을 포함하는 로그 데이터를 수신하는 로그 데이터 수신부, 상기 수신한 로그 데이터를 이용하여 각각의 검색어별로 적어도 하나의 특징 값들을 산출하는 특징 값 산출부, 상기 각각의 검색어별로 상기 적어도 하나의 특징 값들을 합산하여 점수를 산출하는 점수 산출부, 상기 복수의 검색어들 중 검색의도가 동일한 복수의 검색어들을 하나의 검색어 군집으로 군집화하여 적어도 하나의 검색어 군집을 생성하는 군집 생성부, 및 상기 적어도 하나의 검색어 군집의 점수-상기 검색어 군집에 포함되는 복수의 검색어들의 점수의 합-와 상기 군집화되지 않은 복수의 검색어들의 점수를 비교하여 검색어 순위를 산정하는 순위 산정부를 포함한다.
일부 실시예에서, 상기 순위 산정부는, 점수가 높은 순서로 검색어 순위를 할당하되, 검색어 군집의 경우, 해당 검색어 군집에 포함되는 복수의 검색어들 중 점수가 가장 높은 검색어에 대하여 해당 검색어 순위를 할당하고, 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
일부 실시예에서, 상기 군집 생성부는, 복수의 검색어들의 검색 결과 내에 동일한 웹문서가 소정의 비율 이상으로 노출되는 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
일부 실시예에서, 상기 군집 생성부는, 복수의 검색어들의 문자가 소정의 비율 이상으로 동일한 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
또한, 상기 군집 생성부는, 복수의 검색어들의 편집거리(edit distance)가 소정의 값 이하인 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
일부 실시예에서, 상기 특징 값 산출부는, 소정의 단위 시간 동안의 로그 데이터의 통계량을 이용하여 각각의 검색어 별로 상기 적어도 하나의 특징 값들을 산출하되, 상기 단위 시간에 상응하는 슬라이딩 윈도우(sliding window)를 이용하여 로그 데이터의 시간 범위를 결정할 수 있다.
일부 실시예에서, 상기 실시간 이슈 검색어 선별 시스템은 상기 수신한 로그 데이터로부터 사용자의 중복된 행동에 의한 값을 제거하여 상기 수신한 로그 데이터를 필터링하는 필터링부를 더 포함할 수 있다.
일부 실시예에서, 상기 실시간 이슈 검색어 선별 시스템은 상기 수신한 로그 데이터로부터 어뷰징(abusing)에 의한 값을 제거하여 상기 수신한 로그 데이터를 필터링하는 필터링부를 더 포함할 수 있다.
일부 실시예에서, 상기 로그 데이터는, 상기 복수의 검색어들과 상기 복수의 검색어들의 검색 결과에 대한 사용자 피드백 데이터를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 측면에 따른 추천 검색어 제공 방법은 인터넷 네트워크에 존재하는 코퍼스(corpus) 내의 복수의 워드(word)들의 벡터 값을 산출하는 단계, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계, 로그 데이터를 이용하여 상기 복수의 워드별로 적어도 하나의 특징 값들을 산출하는 단계, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 단계, 및 상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 단계를 포함하고, 상기 실시간 이슈 점수를 산출하는 단계는, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 단계와, 상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 단계와, 상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 단계를 포함한다.
일부 실시예에서, 상기 거리 점수를 산출하는 단계는, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들의 중심 좌표를 산출하는 단계와, 상기 복수의 검색어의 벡터들의 중심 좌표와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 거리 점수를 산출하는 단계는, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하는 단계와, 상기 각각 산출한 거리를 합산하고 합산한 거리를 이용하여 거리 점수를 산출하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 거리 점수를 산출하는 단계는, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하는 단계와, 상기 각각 산출한 거리 중 최소 값 또는 최대 값을 이용하여 거리 점수로 산출하는 단계를 포함할 수 있다.
일부 실시예에서, 상기 추천 검색어를 상기 사용자 단말기에 제공하는 단계는, 상기 거리 점수 및 상기 실시간 이슈 점수에 각각 가중치를 부여하여 추천 점수를 산출하는 단계와, 상기 추천 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 선별하는 단계를 포함할 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 측면에 따른 추천 검색어 제공 시스템은 인터넷 네트워크에 존재하는 코퍼스(corpus) 내의 복수의 워드(word)들의 벡터 값을 산출하고, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 거리 점수 산출 모듈, 로그 데이터를 이용하여 상기 복수의 워드별로 적어도 하나의 특징 값들을 산출하고, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출 모듈, 및 상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 추천 검색어 제공부를 포함하고, 상기 실시간 이슈 점수 산출 모듈은, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 특징 점수 산출부와, 상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 군집 생성부와, 상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출부를 포함한다.
일부 실시예에서, 상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들의 중심 좌표를 산출하고, 상기 복수의 검색어의 벡터들의 중심 좌표와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출할 수 있다.
일부 실시예에서, 상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리를 합산하고 합산한 거리를 이용하여 거리 점수를 산출할 수 있다.
일부 실시예에서, 상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리 중 최소 값 또는 최대 값을 이용하여 거리 점수로 산출할 수 있다.
일부 실시예에서, 상기 추천 검색어 제공부는, 상기 거리 점수 및 상기 실시간 이슈 점수에 각각 가중치를 부여하여 추천 점수를 산출하고, 상기 추천 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 선별할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기 본 발명의 실시간 이슈 검색어 선별 방법 및 시스템에 따르면, 검색어 군집을 생성함으로써, 사용자의 검색의도를 정확하게 분석할 수 있고, 쿼리량 및 사용자 행동과 관련된 다양한 특징 값들을 고려하므로, 실시간 이슈 검색어의 정확도를 높여, 시스템 운영자에 대한 의존도를 최소화할 수 있다.
또한, 상기 본 발명의 실시간 이슈 검색어 선별 방법 및 시스템에 따르면, 로그 데이터를 필터링함으로써, 실시간 이슈 검색어에 특정 검색어를 악의적으로 노출하려는 어뷰저(abuser) 및 스패머(spammer)들의 공격에 대응할 수 있다.
또한, 상기 본 발명의 실시간 이슈 검색어 선별 방법 및 시스템에 따르면, 슬라이딩 윈도우 방식으로 실시간 이슈 검색어 선별을 위한 로그 데이터의 시간 범위를 결정하므로, 실시간으로 데이터를 처리하여 빠른 시간 내에 실시간 이슈 검색어를 선별할 수 있다.
상기 본 발명의 추천 검색어 제공 방법 및 시스템에 따르면, 검색어의 벡터와 워드의 벡터 사이의 거리 점수 및 상기 워드의 실시간 이슈 점수에 따라 추천 검색어를 선별하므로, 스파스하고 대규모 데이터를 갖는 검색어의 경우에도 단순하면서 정확하게 추천 검색어를 제공할 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템을 설명하기 위한 블록도이다.
도 3은 도 2의 특징 값 산출부가 로그 데이터의 시간 범위를 결정하는 방법을 설명하기 위한 도면이다.
도 4 내지 도 6은 도 2의 순위 산정부가 검색어 순위를 할당하는 방법을 설명하기 위한 도면이다.
도 7은 검색 서버의 웹 문서 상에서 노출되는 실시간 이슈 검색어를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 거리 점수 산출 모듈을 설명하기 위한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 실시간 이슈 점수 산출 모듈을 설명하기 위한 블록도이다.
도 12 내지 13은 검색 서버의 웹 문서 상에서 노출되는 추천 검색어를 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 추천 검색어 제공 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템을 설명하기 위한 블록도이다.
도 3은 도 2의 특징 값 산출부가 로그 데이터의 시간 범위를 결정하는 방법을 설명하기 위한 도면이다.
도 4 내지 도 6은 도 2의 순위 산정부가 검색어 순위를 할당하는 방법을 설명하기 위한 도면이다.
도 7은 검색 서버의 웹 문서 상에서 노출되는 실시간 이슈 검색어를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 방법을 설명하기 위한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 10은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 거리 점수 산출 모듈을 설명하기 위한 블록도이다.
도 11은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 실시간 이슈 점수 산출 모듈을 설명하기 위한 블록도이다.
도 12 내지 13은 검색 서버의 웹 문서 상에서 노출되는 추천 검색어를 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 추천 검색어 제공 방법을 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
하나의 구성요소(elements)가 다른 구성요소와 "연결된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 구성요소와 직접 연결 또는 커플링된 경우 또는 중간에 다른 구성요소를 개재한 경우를 모두 포함한다. 반면, 하나의 구성요소가 다른 구성요소와 "직접 연결된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 구성요소를 개재하지 않은 것을 나타낸다.
본 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 명세서에서 "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 구성요소, 모듈 및/또는 섹션들을 서술하기 위해서 사용되나, 구성요소, 모듈 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소, 모듈 또는 섹션들을 다른 구성요소, 모듈 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소, 제1 모듈 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 구성요소, 제2 모듈 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 모듈 및/또는 섹션 외에 하나 이상의 다른 구성요소, 모듈 및/또는 섹션의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는 도 1 내지 도 7을 참조하여 본 발명의 실시예에 따른 실시간 이슈 검색어 선별 시스템을 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 1을 참조하면, 사용자 단말기(110), 검색 서버(120), 실시간 이슈 검색어 선별 시스템(130)이 네트워크를 통해 서로 연결된다. 사용자 단말기(110), 검색 서버(120), 실시간 이슈 검색어 선별 시스템(130)은 서로 데이터 및/또는 정보를 송수신할 수 있다.
네트워크는 근거리 네트워크(Local Area Network; LAN), 도시권 네트워크(Metropolitan Area Network; MAN), 광대역 네트워크(Wide Area Network; WAN) 등과 같은 다양한 크기의 네트워크로 구성될 수 있다. 네트워크는 유선 또는 무선 네트워크로 구성될 수 있다.
사용자 단말기(110)는 데스크톱(desk top), 랩톱(lap top) 등과 같은 개인용 컴퓨터(Personal Computer; PC)일 수 있다. 또는, 사용자 단말기(110)는 스마트폰(smartphone), PDA(Personal Digital Assistant), 태블릿 PC(tablet PC) 등과 같은 휴대용 전자 장치일 수 있다. 사용자 단말기(110)는 프로세서, 입출력 수단, 통신 수단을 포함하는 예시되지 않은 다른 컴퓨팅 장치일 수도 있다.
검색 서버(120)는 사용자 단말기(110)로부터 수신한 검색 쿼리(search query)에 응답하여, 사용자 단말기(110)에 검색 결과를 제공한다. 검색 결과는 웹 문서, 이미지, 음악, 영상, 파일 등의 콘텐츠를 포함할 수 있다. 검색 서버(120)는 검색 쿼리에 포함되어 있는 검색어(search word 또는 keyword) 및 검색 조건에 따라 콘텐츠를 선별할 수 있다. 검색 서버(120)는 검색어에 가장 적합한 순위에 따라 콘텐츠가 나열된 검색 결과를 제공할 수 있다. 예를 들어, 검색 서버(120)는 검색어와 웹 문서 등의 데이터 간의 유사성(similarity)이 높은 순위로 검색 결과를 제공할 수 있다. 또는, 검색 서버(120)는 데이터의 최신성(freshness), 데이터 고유의 품질(quality), 사용자의 검색 로그(log) 등에 따라 순위를 결정할 수도 있다.
검색 서버(120)는 검색 엔진 서비스를 제공하는 것 외에 카페, 메일, 블로그, 쇼핑, 지도, 사전, 뉴스, 증권, 부동산, 영화, 음악, 게시판 등의 다양한 콘텐츠 서비스를 제공하는 포털 사이트 서버일 수 있다. 즉, 검색 서버(120)는 검색 엔진과 포털 사이트가 결합된 형태일 수 있다.
도 1에서는 하나의 검색 서버(120)만을 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 복수의 검색 서버(120)가 사용자 단말기(110), 실시간 이슈 검색어 선별 시스템(130)과 네트워크를 통해 서로 연결될 수 있다.
도 1에서는 검색 서버(120)와 실시간 이슈 검색어 선별 시스템(130)을 별개로 도시하였으나, 실시예에 따라, 검색 서버(120)는 실시간 이슈 검색어 선별 시스템(130)과 결합된 형태로 제공될 수 있다.
실시간 이슈 검색어 선별 시스템(130)은 검색 서버(120)로부터 로그 데이터를 수신하고, 수신한 로그 데이터를 분석하여 실시간 이슈 검색어를 선별한다. 실시간 이슈 검색어는 현재 시점에서 이슈(issue)가 되고, 쿼리가 급격하게 증가하는 검색어를 의미한다. 실시간 이슈 검색어 선별 시스템(130)은 실시간 이슈 검색어 정보를 검색 서버(120)에 송신하여, 검색 서버(120)가 실시간 이슈 검색어를 웹 문서에 노출하도록 한다.
본 발명의 실시예에서, 실시간 이슈 검색어 선별 시스템(130)은 시스템 운영자에 대한 의존도를 최소화하고, 어뷰저(abuser) 및 스패머(spammer)들의 공격에 대응할 수 있고, 실시간으로 데이터를 처리하여 빠른 시간 내에 실시간 이슈 검색어를 선별할 수 있다.
도 2는 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템을 설명하기 위한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 시스템(130)은 로그 데이터 수신부(131), 필터링부(132), 특징 값 산출부(133), 점수 산출부(134), 군집 생성부(135), 순위 산정부(136)를 포함한다.
로그 데이터 수신부(131)는 검색 서버(120)로부터 로그 데이터를 수신한다. 로그 데이터는 사용자의 검색 행위를 기록한 데이터를 의미한다.
로그 데이터는 복수의 사용자 단말기(110)들로부터 입력된 복수의 검색어들을 포함할 수 있다. 여기서, 검색어는 검색 엔진의 검색창에 입력된 단어들을 기초로 정의될 수 있다. 즉, 검색어는 하나 이상의 단어를 포함할 수 있다.
또한, 로그 데이터는 복수의 검색어들의 검색 결과에 대한 사용자 피드백 데이터를 포함할 수 있다. 사용자 피드백 데이터는 사용자가 검색 결과로 제공되는 웹 문서 등의 콘텐츠를 선택(또는, 클릭)하였는지 여부, 사용자가 검색 결과 화면에 머무르는 시간, 검색의도가 동일한 다른 검색어를 포함하는 재쿼리(re-query) 여부 등과 같이 사용자 행동과 관련된 데이터를 포함할 수 있다.
로그 데이터에는 복수의 검색어들 및 검색 결과에 대한 사용자 피드백에 관련된 시간이 함께 기록될 수 있다.
필터링부(132)는 로그 데이터 수신부(131)로부터 로그 데이터를 수신하고, 수신한 로그 데이터를 필터링한다.
일부 실시예에서, 필터링부(132)는 필터링 과정에서 수신한 로그 데이터로부터 사용자의 중복된 행동에 의한 값을 제거할 수 있다. 예를 들어, 소정의 단위 시간 동안 동일한 사용자가 동일한 검색어의 쿼리가 반복해서 입력되거나, 동일한 사용자가 검색 결과로 제공되는 동일한 웹 문서 등의 콘텐츠를 반복해서 클릭한 경우, 필터링부(132)는 각각의 행위가 1회로 카운팅(counting)할 수 있다.
다른 일부 실시예에서, 필터링부(132)는 필터링 과정에서 수신한 로그 데이터로부터 어뷰징(abusing)에 의한 값을 제거할 수 있다. 예를 들어, 소정의 단위 시간 동안 쿼리만 입력되고 검색 결과로 제공되는 웹 문서의 클릭이 발생하지 않는 경우, 검색 결과로 제공되는 웹 문서 등의 콘텐츠의 클릭 횟수가 비정상적인 범위인 경우, 쿼리 또는 클릭의 주기가 일정하여 봇(bot)에 의한 행위로 추정되는 경우, 필터링부(132)는 이러한 행위를 어뷰징으로 판단하여 카운팅하지 않을 수 있다.
이와 같이, 로그 데이터를 필터링함으로써, 실시간 이슈 검색어에 특정 검색어를 악의적으로 노출하려는 어뷰저 및 스패머들의 공격에 대응할 수 있다. 상술한 필터링 과정은 예시적인 것이므로, 로그 데이터를 필터링하기 위하여 본 발명이 속하는 기술분야에서 잘 알려진 예시되지 않은 다른 필터링 방법이 사용될 수 있음은 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
특징 값 산출부(133)는 필터링부(132)로부터 필터링된 로그 데이터를 수신하고, 수신한 로그 데이터를 이용하여 각각의 검색어별로 적어도 하나의 특징 값들을 산출한다.
특징 값 산출부(133)는 적어도 하나의 특징 값들을 산출하기 위하여 소정의 단위 시간 동안의 로그 데이터의 통계량을 이용할 수 있다. 소정의 단위 시간은 시스템 운영자에 의해 설정될 수 있으며, 실시간으로 그리고 빠른 시간 내에 데이터를 처리할 수 있도록 적절한 시간으로 설정될 수 있다. 예를 들어, 소정의 단위 시간은 15초일 수 있으나, 실시예에 따라 다양하게 변형될 수 있으며, 본 발명이 이에 한정되는 것은 아니다.
본 발명의 실시예에서, 특징 값 산출부(133)는 로그 데이터의 시간 범위를 결정하기 위해서, 단위 시간에 상응하는 슬라이딩 윈도우(sliding window)를 이용할 수 있다. 구체적으로, 특징 값 산출부(133)는, 종래의 시간 분할 방식으로 시간 범위를 결정하는 방법(예를 들어, 0초 내지 15초 구간, 16초 내지 30초 구간, 31초 내지 45초 구간 별 로그 데이터를 이용)을 이용하지 않고, 도 3에 도시된 바와 같이 슬라이딩 윈도우 방식으로 시간 범위를 결정하는 방법(예를 들어, 0초 내지 15초 구간, 1초 내지 16초 구간, 2초 내지 17초 구간 별 로그 데이터를 이용)을 이용하므로, 실시간 이슈 검색어가 실시간으로(매초 또는 매단위초/분마다) 처리되고 갱신될 수 있다.
본 발명의 실시예에서, 특징 값 산출부(133)는 아래와 같은 특징 값들을 산출할 수 있다.
1. 이동 평균에 따른 쿼리량
2. 뉴스 등 언론에의 노출량
3. 실시간 커뮤니티 노출량
4. 웹 문서의 클릭 량
5. 세션별 활동량 및 활동 시간
6. 편집된 검색 결과 노출량
7. 사이트 및 바로가기 등의 컬렉션 노출량
8. 사이트 및 바로가기 등의 컬렉션 클릭량
9. 과거 동일 시간대 쿼리량
10. 과거 소정 기간 쿼리량
11. 동일한 검색의도의 재쿼리량
이동 평균에 따른 쿼리량은 소정의 시간(예를 들어, 1분, 5분, 15분, 30분, 1시간, 3시간 등) 동안 발생한 평균 쿼리량을 나타낼 수 있다. 이동 평균에 따른 쿼리량에 따라 해당 검색어의 쿼리의 입력 빈도, 지속 정도 등이 분석될 수 있다. 뉴스 등 언론에의 노출량은 검색 결과의 뉴스 섹션에서 해당 검색어와 관련된 뉴스가 얼마나 많이 노출되고 있는지를 나타낼 수 있다. 실시간 커뮤니티 노출량은 트위터 등과 같은 실시간 커뮤니티에서 해당 검색어와 관련된 글(또는, 트윗(tweet))이 얼마나 많이 노출되고 있는지를 나타낼 수 있다. 웹 문서의 클릭량은 검색 결과로 제공되는 웹 문서 등의 콘텐츠의 클릭 횟수를 나타낼 수 있다. 세션별 활동량 및 활동시간은 사용자가 검색 결과 화면에 머무르는 시간을 나타낼 수 있다. 편집된 검색 결과 화면 노출량은 “날씨” 또는 “증권” 등의 검색어와 같이, 검색 서버(120)에 의해 편집된 검색 결과가 제공되는 경우를 고려하기 위한 것이다. 위와 같이 편집된 검색 결과가 제공되는 검색어들은 실시간 이슈 검색어로 볼 수 없기 때문이다. 사이트 및 바로가기 등의 컬렉션 노출량 및 클릭량은 각각 검색 결과의 사이트 섹션 및 바로가기 섹션 등의 컬렉션에 얼마나 많이 노출되고 있는지 및 클릭 횟수를 나타낼 수 있다. 검색 결과의 바로가기 섹션을 클릭하여 소정의 사이트로 이동하는 경우, 해당 검색어는 실시간 이슈 검색어로 볼 수 없다. 그러나, 검색 결과에 바로가기 섹션이 포함되더라도, 바로가기 섹션을 클릭하지 않고 다른 섹션(예를 들어, 뉴스, 블로그, 게시판, 카페글 등)을 클릭하는 경우, 해당 검색어는 실시간 이슈 검색어로 선별될 수 있을 것이다.
이와 같이, 단순하게 쿼리량만을 고려하지 않고, 사용자 행동과 관련된 다양한 특징 값들을 함께 고려하므로, 실시간 이슈 검색어의 정확도를 높일 수 있고, 결과적으로, 시스템 운영자가 직접적으로 실시간 이슈 검색어를 선별할 필요가 없으므로, 시스템 운영자에 대한 의존도를 최소화할 수 있다.
점수 산출부(134)는 특징 값 산출부(133)로부터 각각의 검색어별 특징 값들을 수신하고, 각각의 검색어별로 특징 값들을 합산하여 점수를 산출한다. 검색어별로 산출된 점수는 후술하는 바와 같이 검색어 순위를 산정하기 위하여 이용될 수 있다. 예를 들어, 점수 산출부(134)는 선형 회귀(linear regression) 모델을 이용하여 특징 값들을 합산할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
군집 생성부(135)는 점수 산출부(134)로부터 검색어별로 산출된 점수를 수신한다.
군집 생성부(135)는 복수의 검색어들 중 검색의도가 동일한 복수의 검색어들을 하나의 검색어 군집으로 군집화하여 적어도 하나의 검색어 군집을 생성한다. 검색의도는 사용자가 검색 쿼리를 통해서 획득하고자 하는 사항(또는, 목적, 생각 등)을 나타낼 수 있다. 예를 들어, “마이피플”과 “다음 마이피플”은 검색 의도가 동일하므로 하나의 검색어 군집으로 군집화될 수 있다.
일부 실시예에서, 군집 생성부(135)는 복수의 검색어들의 검색 결과 내에 동일한 웹 문서가 소정의 비율 이상으로 노출되는 경우, 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다. 예를 들어, 서로 다른 검색어의 쿼리에 대한 검색 결과 내에서, 동일한 뉴스, 블로그 포스트, 카페글 등이 노출된다면, 상기 검색어들을 군집화할 수 있다.
다른 일부 실시예에서, 군집 생성부(135)는 복수의 검색어들의 문자가 소정의 비율 이상으로 동일한 경우, 복수의 검색어를 하나의 검색어 군집으로 군집화할 수 있다. 예를 들어, 군집 생성부(135)는 복수의 검색어들의 편집거리(edit distance)가 소정의 값 이하인 경우, 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다. 이 경우, 오탈자 또는 외래어 표기 오류 등으로 인해서 서로 다른 데이터로 처리된 검색어들이 군집화될 수 있을 것이다. 또한, 특정 검색어와 특정 검색어에 하나 이상의 단어가 더 결합된 검색어들도 함께 군집화될 수 있다.
이 같은 방법으로 군집화된 검색어 군집의 점수는 해당 검색어 군집에 포함되는 복수의 검색어들의 점수의 합으로 나타낼 수 있다.
검색어 군집을 생성함으로써, 사용자의 검색의도를 정확하게 분석할 수 있으므로, 실시간 이슈 검색어의 정확도를 높일 수 있고, 결과적으로, 시스템 운영자가 직접적으로 실시간 이슈 검색어를 선별할 필요가 없으므로, 시스템 운영자에 대한 의존도를 최소화할 수 있다. 검색어 군집을 생성하기 위하여 예시되지 않은 다른 방법이 이용될 수 있음은 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
순위 산정부(136)는 군집 생성부(135)로부터 검색어별로 산출된 점수 및 검색어 군집 정보를 수신하고, 적어도 하나의 검색어 군집의 점수와 군집화되지 않은 복수의 검색어들의 점수를 비교하여 검색어 순위를 산정한다.
순위 산정부(136)는 점수가 높은 순서로 검색어 순위를 할당할 수 있다.
검색어 군집에 대하여 순위를 할당하는 때에, 순위 산정부(136)는 해당 검색어 군집에 포함되는 복수의 검색어들 중 점수가 가장 높은 검색어에 대하여 해당하는 검색어 순위를 할당할 수 있다. 그리고, 순위 산정부(136)는 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
예를 들어, 제1 검색어(Q1)의 점수가 100이고, 제2 검색어(Q2)의 점수가 33이고, 제3 검색어(Q3)의 점수가 66이고, 제4 검색어(Q4)의 점수가 77이고, 제2 검색어(Q2)와 제3 검색어(Q3)가 하나의 검색어 군집에 포함된다고 가정하자.
도 4 내지 도 6을 참조하면, 순위 산정부(136)는 제1 검색어(Q1)의 점수가 100으로 가장 높으므로, 제1 검색어(Q1)에 1등을 할당할 수 있다.
이어서, 순위 산정부(136)는 제2 검색어(Q2) 및 제3 검색어(Q3)를 포함하는 검색어 군집의 점수 99가 제4 검색어(Q4)의 점수 77보다 높고, 제3 검색어(Q3)의 점수 66이 제2 검색어(Q2)의 점수 33보다 높으므로, 제3 검색어(Q3)에 다음 순위인 2등을 할당할 수 있다.
이어서, 같은 검색어 군집에 포함되었던 제3 검색어(Q3)에 순위가 할당되었고, 해당 검색어 군집에 포함되는 나머지 검색어는 제2 검색어(Q2)뿐이므로, 제2 검색어(Q2)는 자기의 점수 33에 따라 순위를 할당받게 된다. 즉, 순위 산정부(136)는 제4 검색어(Q4)의 점수 77이 제2 검색어(Q2)의 점수 33보다 높으므로, 제4 검색어(Q4)에 다음 순위인 3등을 할당하고, 제2 검색어(Q2)에 그 다음 순위인 4등을 할당할 수 있다.
결과적으로, 검색어 군집에 포함되는 검색어들의 점수의 합을 이용하여 해당 검색어 군집 내의 점수가 가장 높은 검색어의 순위를 산정하므로, 제4 검색어(Q4)보다 점수가 낮은 제3 검색어(Q3)의 순위가 더 높을 수 있다.
순위 산정부(136)는 상술한 방법으로 검색어 순위를 산정하고, 미리 정해진 순위(예를 들어, 10등)까지의 검색어를 실시간 이슈 검색어로 선별할 수 있다.
실시간 이슈 검색어는 검색 서버(120)의 웹 문서 상에 도 7에 도시된 바와 같이 노출될 수 있다. 실시간 이슈 검색어는 산정된 순위에 따라 나열되고, 실시예에 따라, 그 우측에 점수의 상승폭이 함께 표시될 수 있다.
이하에서는 도 8을 참조하여 본 발명의 실시예에 따른 실시간 이슈 검색어 선별 방법을 상세하게 설명하기로 한다. 설명의 편의를 위하여, 도 1 내지 도 7을 참조하여 설명한 실시간 이슈 검색어 선별 시스템(130)과 중복되는 내용에 대해서는 생략하기로 한다.
도 8은 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 실시간 이슈 검색어 선별 방법은, 단계 S210에서, 로그 데이터 수신부(131)가 검색 서버(120)로부터 로그 데이터를 수신한다. 로그 데이터는 복수의 사용자 단말기(110)들로부터 입력된 복수의 검색어들과 상기 복수의 검색어들의 검색 결과에 대한 사용자 피드백 데이터를 포함할 수 있다. 로그 데이터에는 복수의 검색어들 및 검색 결과에 대한 사용자 피드백에 관련된 시간이 함께 기록될 수 있다.
이어서, 단계 S220에서, 필터링부(132)가 로그 데이터를 필터링한다. 이 때, 필터링부(132)는 수신한 로그 데이터로부터 사용자의 중복된 행동에 의한 값을 제거하거나, 수신한 로그 데이터로부터 어뷰징(abusing)에 의한 값을 제거할 수 있다.
이어서, 단계 S230에서, 특징 값 산출부(133)가 필터링된 로그 데이터를 이용하여 각각의 검색어 별로 적어도 하나의 특징 값들을 산출한다. 이 때, 특징 값 산출부(133)는 적어도 하나의 특징 값들을 산출하기 위하여 소정의 단위 시간 동안의 로그 데이터의 통계량을 이용할 수 있다. 특징 값 산출부(133)는 로그 데이터의 시간 범위를 결정하기 위해서, 단위 시간에 상응하는 슬라이딩 윈도우(sliding window)를 이용할 수 있다.
이어서, 단계 S240에서, 점수 산출부(134)가 각각의 검색어별 특징 값들을 합산하여 점수를 산출한다.
이어서, 단계 S250에서, 군집 생성부(135)가 복수의 검색어들 중 검색의도가 동일한 복수의 검색어들을 하나의 검색어 군집으로 군집화하여 적어도 하나의 검색어 군집을 생성한다. 이 때, 군집 생성부(135)는 복수의 검색어들의 검색 결과 내에 동일한 웹 문서가 소정의 비율 이상으로 노출되는 경우, 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다. 또는, 군집 생성부(135)는 복수의 검색어들의 문자가 소정의 비율 이상으로 동일한 경우, 복수의 검색어를 하나의 검색어 군집으로 군집화할 수 있다. 예를 들어, 군집 생성부(135)는 복수의 검색어들의 편집거리(edit distance)가 소정의 값 이하인 경우, 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다. 군집화된 검색어 군집의 점수는 해당 검색어 군집에 포함되는 복수의 검색어들의 점수의 합으로 나타낼 수 있다.
이어서, 단계 S260에서, 순위 산정부(136)가 적어도 하나의 검색어 군집의 점수와 군집화되지 않은 복수의 검색어들의 점수를 비교하여 검색어 순위를 산정한다. 이 때, 순위 산정부(136)는 점수가 높은 순서로 검색어 순위를 할당할 수 있다. 특히, 검색어 군집에 대하여 순위를 할당하는 때에, 순위 산정부(136)는 해당 검색어 군집에 포함되는 복수의 검색어들 중 점수가 가장 높은 검색어에 대하여 해당하는 검색어 순위를 할당하고, 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
이하에서는 도 9 내지 도 13을 참조하여 본 발명의 실시에에 따른 추천 검색어 제공 시스템을 상세하게 설명하기로 한다. 설명의 편의를 위하여, 도 1 내지 도 7을 참조하여 설명한 실시간 이슈 검색어 선별 시스템(130)과 중복되는 내용에 대해서는 생략하기로 한다.
도 9는 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 9를 참조하면, 사용자 단말기(110), 검색 서버(120), 추천 검색어 제공 시스템(1000)이 네트워크를 통해 서로 연결된다. 사용자 단말기(110), 검색 서버(120), 추천 검색어 제공 시스템(1000)은 서로 데이터 및/또는 정보를 송수신할 수 있다.
사용자 단말기(110)는 개인용 컴퓨터(Personal Computer; PC) 또는 스마트폰(smartphone) 등과 같은 휴대용 전자 장치일 수 있다.
검색 서버(120)는 웹 문서의 수집, 처리 및 검색 기능을 제공하는 검색 엔진을 포함할 수 있다. 즉, 검색 서버(120)는 인터넷 네트워크에 존재하는 웹 문서들을 크롤링(crawling), 색인화(indexing), 검색(searching)하여, 웹 문서들의 정보를 데이터베이스에 저장할 수 있다.
본 명세서에서 “웹 문서”는 임의의 컴퓨팅 장치로 판독 및 저장 가능한 객체를 나타낸다. 예를 들어, 웹 문서는 텍스트뿐만 아니라, 이미지, 소리, 동영상 등을 포함할 수 있다. 또한, 웹 문서는 스크립트와 같은 명령어들을 포함할 수도 있다. 웹 문서에는 다른 웹 문서에 대한 링크가 삽입될 수 있다. 본 명세서에서 웹 문서는 “웹 페이지”로 대체될 수도 있다.
검색 서버(120)는 사용자 단말기(110)로부터 수신한 검색 쿼리(search query)에 응답하여, 사용자 단말기(110)에 검색 결과를 제공한다.
검색 서버(120)는 검색 엔진 서비스를 제공하는 것 외에 카페, 메일, 블로그, 쇼핑, 지도, 사전, 뉴스, 증권, 부동산, 영화, 음악, 게시판 등의 다양한 콘텐츠 서비스를 제공하는 포털 사이트 서버일 수 있다.
도 9에서는 하나의 검색 서버(120)만을 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 복수의 검색 서버(120)가 사용자 단말기(110), 추천 검색어 제공시스템(1000)과 네트워크를 통해 서로 연결될 수 있다.
도 9에서는 검색 서버(120)와 추천 검색어 제공 시스템(1000)을 별개로 도시하였으나, 실시예에 따라, 검색 서버(120)는 추천 검색어 제공 시스템(10000)과 결합된 형태로 제공될 수 있다.
추천 검색어 제공 시스템(1000)은 사용자 단말기로부터 입력된 검색어를 분석하고, 입력된 검색어와 관련성이 높은 추천 검색어를 선별한다. 추천 검색어 제공 시스템(1000)은 추천 검색어 정보를 검색 서버(120)에 송신하여, 검색 서버(120)가 추천 검색어를 웹 문서에 노출하도록 한다.
추천 검색어 제공 시스템(1000)은 거리 점수 산출 모듈(1100), 실시간 이슈 점수 산출 모듈(1200), 추천 검색어 제공부(1300)를 포함한다.
거리 점수 산출 모듈(1100)은 사용자 단말기로부터 입력된 검색어의 벡터 값을 산출하고, 인터넷 네트워크에 존재하는 웹 문서 내의 복수의 워드들의 벡터 값을 산출한다. 거리 점수 산출 모듈(1100)은 검색어의 벡터와 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출한다.
실시간 이슈 점수 산출 모듈(1200)은, 도 1 내지 도 7을 참조하여 설명한 실시간 이슈 검색어 선별 시스템(130)과 실질적으로 동일하게 구성되어, 상기 복수의 워드들의 실시간 이슈 점수를 산출한다.
추천 검색어 제공부(1300)는 거리 점수 산출 모듈(1100)로부터 산출된 거리 점수를 수신하고, 실시간 이슈 점수 산출 모듈(1200)로부터 산출된 실시간 이슈 점수를 수신한다. 추천 검색어 제공부(1300)는 거리 점수 및 실시간 이슈 점수를 이용하여 추천 검색어를 선별하고, 사용자 단말기(110)에 선별된 추천 검색어를 제공한다.
본 발명의 실시예에서, 추천 검색어 제공 시스템(1000)은 검색어의 벡터와 워드의 벡터 사이의 거리 점수 및 상기 워드의 실시간 이슈 점수에 따라 추천 검색어를 선별하므로, 스파스하고 대규모 데이터를 갖는 검색어의 경우에도 단순하면서 정확하게 추천 검색어를 제공할 수 있다.
도 10은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 거리 점수 산출 모듈을 설명하기 위한 블록도이다.
도 10을 참조하면, 거리 점수 산출 모듈(1100)은 데이터 수집부(1110), 벡터 값 산출부(1120), 거리 점수 산출부(1130)를 포함한다.
데이터 수집부(1110)는 인터넷 네트워크에 존재하는 웹 문서의 정보 및/또는 데이터를 수집한다. 구체적으로, 데이터 수집부(1110)는 검색 엔진이 정보 검색에 활용하는 모든 데이터(예를 들어, 카페, 블로그, 쇼핑, 지도, 사전, 뉴스, 증권, 부동산, 영화, 음악, 게시판, 트위터와 같은 SNS 등의 콘텐츠 서비스로부터의 데이터)를 수집할 수 있다. 상술한 정보 검색에 활용되는 데이터는 “컬렉션(collection)”이라는 용어로 대체될 수도 있다.
벡터 값 산출부(1120)는 데이터 수집부(1110)로부터 수집된 데이터를 수신한다. 벡터 값 산출부(1120)는 수집된 데이터의 코퍼스(corpus) 내의 복수의 워드들의 벡터 값을 산출한다. 본 명세서에서 “코퍼스”는, 본 발명이 속하는 기술분야에서 잘 알려진 바와 같이, 의의 컴퓨팅 장치로 판독 및 저장 가능한 텍스트의 집합을 나타낸다. 예를 들어, 벡터 값 산출부(1120)는 NPLM(Neural Probabilistic Language Model)을 이용하여 벡터 값을 산출할 수 있으나, 본 발명이 이에 한정되는 것은 아니다. 벡터 값 산출부(1120)는 Word2Vec과 같은 다른 언어처리 알고리즘을 이용할 수도 있다.
또한, 벡터 값 산출부(1120)는 사용자 단말기로부터 입력된 검색어의 벡터 값을 산출한다.
거리 점수 산출부(1130)는 각각의 워드 별로 거리 점수를 산출한다. 거리 점수 산출부(1130)는 검색어의 벡터와 워드의 벡터를 N차원(단, N은 2보다 큰 자연수)의 공간 상에 표현하고, 검색어의 벡터와 워드의 벡터 사이의 거리(검색어-워드 거리)를 산출할 수 있다. 여기서, 산출된 거리는 유사도 또는 관련도를 나타낼 수 있다.
예를 들어, 사용자 단말기로부터 검색어 “사과”가 입력되었고, 검색어의 벡터 값 및 컬렉션으로부터 수집된 복수의 워드들의 벡터 값이 아래와 같다고 가정하자.
[검색어 및 워드들의 벡터 값]
사과(0, 0, 5)
배(0, 0, 6)
과일(0, 1, 5)
정치(13, 4, 0)
위의 예시에서, 사과 벡터와 배 벡터 사이의 거리는 1이고, 사과 벡터와 과일 벡터 사이의 거리는 1이고, 사과 벡터와 정치 벡터 사이의 거리는 약 14.5로 산출된다.
한편, 사용자 단말기로부터 입력된 검색어가 복수인 경우 거리 점수 산출부(1130)는 다음과 같이 거리를 산출할 수 있다. 일부 실시예에서, 거리 점수 산출부(1130)는 먼저 복수의 검색어들의 중심 좌표를 산출하고, 중심 좌표와 워드의 벡터 사이의 거리를 검색어-워드 거리로 산출할 수 있다. 다른 실시예에서, 거리 점수 산출부(1130)는 복수의 검색어의 벡터들과 워드의 벡터 사이의 거리를 각각 산출하고, 각각 산출한 거리를 합산하여 검색어-워드 거리로 산출할 수 있다. 또 다른 실시예에서, 거리 점수 산출부(1130)는 각각 산출한 거리 중 최소 값 또는 최대 값을 검색어-워드 거리로 산출할 수 있다. 그러나, 본 발명의 검색어-워드 거리 산출 방법이 예시된 실시예에 한정되는 것은 아니다.
예를 들어, 사용자 단말기로부터 검색어 “사과”와 “배”가 입력되었다고 가정하자.
위의 예시에서, 사과 벡터와 과일 벡터 사이의 거리는 1이고, 배 벡터와 과일 벡터 사이의 거리는 약 1.5로 산출된다. 그리고, 사과 벡터와 정치 벡터 사이의 거리는 약 14.5이고, 배 벡터와 정치 벡터 사이의 거리는 약 14.7로 산출된다. 거리 점수 산출부(1130)는, 상술한 실시예 중 세번째 방법을 이용하여, 사과 및 배?과일 거리는 1로 산출하고 사과 및 배-정치 거리는 14.5로 산출할 수 있다.
거리 점수 산출부(1130)는 거리 자체를 거리 점수로 산출할 수도 있고, 산출된 거리에 가중치를 부여하는 등의 추가적인 처리를 수행하고 그 결과를 거리 점수로 산출할 수도 있다.
예를 들어, 거리 점수 산출부(1130)는 아래와 같이 거리 점수를 산출할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
[거리 점수 산출 식]
거리 점수 = 1 ? (당해 검색어-워드 거리 / 검색어-워드 거리의 최대 값)
도 11은 본 발명의 일 실시예에 따른 추천 검색어 제공 시스템의 실시간 이슈 점수 산출 모듈을 설명하기 위한 블록도이다.
도 11을 참조하면, 실시간 이슈 점수 산출 모듈(1200)은 로그 데이터 수신부(1210), 필터링부(1220), 특징 값 산출부(1230), 특징 점수 산출부(1240), 군집 생성부(1250), 실시간 이슈 점수 산출부(1260)를 포함한다.
로그 데이터 수신부(1210), 필터링부(1220), 특징 값 산출부(1230), 특징 점수 산출부(1240), 군집 생성부(1250), 실시간 이슈 점수 산출부(1260)는 도 1 내지 도 7을 참조하여 설명한 실시간 이슈 검색어 선별 시스템(130)의 로그 데이터 수신부(131), 필터링부(132), 특징 값 산출부(133), 점수 산출부(134), 군집 생성부(135), 순위 산정부(136)와 각각 실질적으로 동일한 기능을 수행한다.
이로써, 실시간 이슈 점수 산출 모듈(1200)은 컬렉션으로부터 수집된 복수의 워드들이 사용자들에 의해 검색어로 입력된 바 있는 경우, 당해 워드들의 실시간 이슈 점수를 산출할 수 있게 된다.
특징 점수 산출부(1240)는 특징 값 산출부(1230)로부터 각각의 워드별 특징 값들을 수신하고, 각각의 워드별로 특징 값들을 합산하여 특징 점수를 산출한다. 워드별로 산출된 특징 점수는 후술하는 바와 같이 실시간 이슈 점수를 산출하기 위하여 이용될 수 있다.
군집 생성부(1250)는 특징 점수 산출부(1240)로부터 워드별로 산출된 특징 점수를 수신한다.
군집 생성부(1250)는 복수의 검색어들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성한다.
이 같은 방법으로 군집화된 워드 군집의 특징 점수는 해당 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합으로 나타낼 수 있다.
실시간 이슈 점수 산출부(1260)는 군집 생성부(1250)로부터 워드별로 산출된 특징 점수 및 워드 군집 정보를 수신하고, 적어도 하나의 워드 군집의 특징 점수와 군집화되지 않은 복수의 워드들의 특징 점수를 비교하여 검색어 순위를 산정한다.
실시간 이슈 점수 산출부(1260)는 특징 점수가 높은 순서로 검색어 순위를 할당할 수 있다.
워드 군집에 대하여 순위를 할당하는 때에, 실시간 이슈 점수 산출부(1260)는 해당 워드 군집에 포함되는 복수의 워드들 중 특징 점수가 가장 높은 워드에 대하여 해당하는 검색어 순위를 할당할 수 있다. 그리고, 실시간 이슈 점수 산출부(1260)는 해당 워드 군집의 특징 점수를 해당 워드 군집에 포함되는 나머지 워드들의 특징 점수의 합으로 재산정할 수 있다.
실시간 이슈 점수 산출부(1260)는 상술한 방법으로 검색어 순위를 산정할 수 있다. 그리고, 복수의 워드들은 검색어 순위에 대응하는 실시간 이슈 점수를 가질 수 있다.
추천 검색어 제공부(1300)는 거리 점수 산출 모듈(1100)로부터 산출된 거리 점수를 수신하고, 실시간 이슈 점수 산출 모듈(1200)로부터 산출된 실시간 이슈 점수를 이용하여 추천 점수를 산출할 수 있다.
예를 들어, 추천 검색어 제공부(1300)는 아래와 같이 추천 점수를 산출할 수 있으나, 본 발명이 이에 한정되는 것은 아니다.
[추천 점수 산출 식]
추천 점수 = a * 거리 점수 + b * 실시간 이슈 점수
여기서, a 및 b는 거리 점수 및 실시간 이슈 점수에 각각 부여되는 가중치를 나타낸다.
추천 검색어 제공부(1300)는 복수의 워드들 중 추천 점수가 미리 정해진 점수 이상인 워드들 또는 미리 정해진 순위 이상인 워드들을 추천 검색어로 선별할 수 있다.
도 12에 도시된 바와 같이, 추천 검색어로 선별된 워드들은 검색 서버(120)의 웹 문서의 검색 창으로부터 연장된 공간 상에 노출될 수 있다(사용자의 검색어 입력시). 또는, 도 13에 도시된 바와 같이, 추천 검색어로 선별된 워드들은 검색 서버(120)의 웹 문서의 검색 창과 검색 결과 사이의 공간 상에 노출될 수 있다(검색 결과 제공시).
이하에서는 도 14를 참조하여 본 발명의 실시예에 따른 추천 검색어 제공 방법을 상세하게 설명하기로 한다. 설명의 편의를 위하여, 도 9 내지 도 13을 참조하여 설명한 추천 검색어 제공 시스템(1000)과 중복되는 내용에 대해서는 생략하기로 한다.
도 14는 본 발명의 일 실시예에 따른 추천 검색어 제공 방법을 설명하기 위한 흐름도이다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 추천 검색어 제공 방법은, 단계 S2100에서, 거리 점수 산출 모듈(1100)이 컬렉션으로부터 수집된 복수의 워드들의 벡터 값을 산출한다. 이 때, 거리 점수 산출 모듈(1100)은 사용자 단말기로부터 입력된 검색어의 벡터 값을 산출할 수도 있다.
이어서, 단계 S2200에서, 거리 점수 산출 모듈(1100)이 각각의 워드 별로 거리 점수를 산출한다. 거리 점수 산출 모듈(1100)은 검색어의 벡터와 워드의 벡터를 N차원(단, N은 2보다 큰 자연수)의 공간 상에 표현하고, 검색어의 벡터와 워드의 벡터 사이의 거리(검색어-워드 거리)를 산출할 수 있다. 거리 점수 산출 모듈(1100)은 거리 자체를 거리 점수로 산출할 수도 있고, 산출된 거리에 가중치를 부여하는 등의 추가적인 처리를 수행하고 그 결과를 거리 점수로 산출할 수도 있다.
이어서, 단계 S2300에서, 실시간 이슈 점수 산출 모듈(1200)이 각각의 워드 별로 특징 값들을 산출한다.
이어서, 단계 S2400에서, 실시간 이슈 점수 산출 모듈(1200)이 각각의 워드 별로 실시간 이슈 점수를 산출한다. 이 때, 실시간 이슈 점수 산출 모듈(1200)은 복수의 워드들의 특징 점수를 비교하여 검색어 순위를 산정하고, 각각의 워드 별로 검색어 순위에 대응하는 실시간 이슈 점수를 산출할 수 있다. 검색어 순위를 산정하는 과정에서, 실시간 이슈 점수 산출 모듈(1200)은 상술한 바와 같이 검색 의도가 동일한 복수의 워드들을 군집화하는 방법을 이용할 수 있다.
이어서, 단계 S2500에서, 추천 검색어 제공부(1300)가 거리 점수 및 실시간 이슈 점수를 이용하여 각각의 워드 별로 추천 점수를 산출한다. 추천 검색어 제공부(1300)는 추천 점수에 따라 복수의 워드들 중 추천 검색어를 선별할 수 있다.
이어서, 단계 S2600에서, 추천 검색어 제공부(1300)가 사용자 단말기(110)에 추천 검색어를 제공한다.
본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM, EPROM, EEPROM, 플래시 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 상기 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
110: 사용자 단말기
120: 검색 서버
130: 실시간 이슈 검색어 선별 시스템
1000: 추천 검색어 제공 시스템
1100: 거리 점수 산출 모듈
1200: 실시간 이슈 점수 산출 모듈
1300: 추천 검색어 제공부
120: 검색 서버
130: 실시간 이슈 검색어 선별 시스템
1000: 추천 검색어 제공 시스템
1100: 거리 점수 산출 모듈
1200: 실시간 이슈 점수 산출 모듈
1300: 추천 검색어 제공부
Claims (10)
- 인터넷 네트워크에 존재하는 코퍼스(corpus) 내의 복수의 워드(word)들의 벡터 값을 산출하는 단계;
상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계;
로그 데이터를 이용하여 상기 복수의 워드별로 사용자 행동과 관련된 적어도 하나의 특징 값들을 산출하는 단계;
상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 단계; 및
상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 단계를 포함하고,
상기 실시간 이슈 점수를 산출하는 단계는,
상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 단계와,
상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 단계와,
상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 단계를 포함하는, 추천 검색어 제공 방법. - 제1항에 있어서,
상기 거리 점수를 산출하는 단계는,
상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들의 중심 좌표를 산출하는 단계와,
상기 복수의 검색어의 벡터들의 중심 좌표와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계를 포함하는, 추천 검색어 제공 방법. - 제1항에 있어서,
상기 거리 점수를 산출하는 단계는,
상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하는 단계와,
상기 각각 산출한 거리를 합산하고 합산한 거리를 이용하여 거리 점수를 산출하는 단계를 포함하는, 추천 검색어 제공 방법. - 제1항에 있어서,
상기 거리 점수를 산출하는 단계는,
상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하는 단계와,
상기 각각 산출한 거리 중 최소 값 또는 최대 값을 이용하여 거리 점수로 산출하는 단계를 포함하는, 추천 검색어 제공 방법. - 제1항에 있어서,
상기 추천 검색어를 상기 사용자 단말기에 제공하는 단계는,
상기 거리 점수 및 상기 실시간 이슈 점수에 각각 가중치를 부여하여 추천 점수를 산출하는 단계와,
상기 추천 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 선별하는 단계를 포함하는, 추천 검색어 제공 방법. - 인터넷 네트워크에 존재하는 코퍼스(corpus) 내의 복수의 워드(word)들의 벡터 값을 산출하고, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 거리 점수 산출 모듈;
로그 데이터를 이용하여 상기 복수의 워드별로 사용자 행동과 관련된 적어도 하나의 특징 값들을 산출하고, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출 모듈; 및
상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 추천 검색어 제공부를 포함하고,
상기 실시간 이슈 점수 산출 모듈은,
상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 특징 점수 산출부와,
상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 군집 생성부와,
상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출부를 포함하는, 추천 검색어 제공 시스템. - 제6항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들의 중심 좌표를 산출하고, 상기 복수의 검색어의 벡터들의 중심 좌표와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는, 추천 검색어 제공 시스템. - 제6항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리를 합산하고 합산한 거리를 이용하여 거리 점수를 산출하는, 추천 검색어 제공 시스템. - 제6항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리 중 최소 값 또는 최대 값을 이용하여 거리 점수로 산출하는, 추천 검색어 제공 시스템. - 제6항에 있어서,
상기 추천 검색어 제공부는, 상기 거리 점수 및 상기 실시간 이슈 점수에 각각 가중치를 부여하여 추천 점수를 산출하고, 상기 추천 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 선별하는, 추천 검색어 제공 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150002224A KR101621735B1 (ko) | 2015-01-07 | 2015-01-07 | 추천 검색어 제공 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150002224A KR101621735B1 (ko) | 2015-01-07 | 2015-01-07 | 추천 검색어 제공 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101621735B1 true KR101621735B1 (ko) | 2016-05-17 |
Family
ID=56109707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150002224A KR101621735B1 (ko) | 2015-01-07 | 2015-01-07 | 추천 검색어 제공 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101621735B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402937A (zh) * | 2016-05-20 | 2017-11-28 | 北京搜狗科技发展有限公司 | 一种搜索方法、装置及电子设备 |
KR101970978B1 (ko) * | 2018-02-09 | 2019-04-22 | 주식회사 클라우드앤티나 | 상품 카테고리별 추천 키워드 추출 방법 |
CN111368025A (zh) * | 2020-02-24 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 智能语音设备的热词推荐方法、设备及存储介质 |
KR102372432B1 (ko) * | 2021-09-28 | 2022-03-08 | 주식회사 노티플러스 | 클릭 및 노출 정보를 활용한 추천 콘텐츠 제공 방법, 장치 및 시스템 |
-
2015
- 2015-01-07 KR KR1020150002224A patent/KR101621735B1/ko active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107402937A (zh) * | 2016-05-20 | 2017-11-28 | 北京搜狗科技发展有限公司 | 一种搜索方法、装置及电子设备 |
CN107402937B (zh) * | 2016-05-20 | 2021-01-05 | 北京搜狗科技发展有限公司 | 一种搜索方法、装置及电子设备 |
KR101970978B1 (ko) * | 2018-02-09 | 2019-04-22 | 주식회사 클라우드앤티나 | 상품 카테고리별 추천 키워드 추출 방법 |
CN111368025A (zh) * | 2020-02-24 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 智能语音设备的热词推荐方法、设备及存储介质 |
CN111368025B (zh) * | 2020-02-24 | 2023-12-22 | 百度在线网络技术(北京)有限公司 | 智能语音设备的热词推荐方法、设备及存储介质 |
KR102372432B1 (ko) * | 2021-09-28 | 2022-03-08 | 주식회사 노티플러스 | 클릭 및 노출 정보를 활용한 추천 콘텐츠 제공 방법, 장치 및 시스템 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107862022B (zh) | 文化资源推荐系统 | |
JP6293642B2 (ja) | 推薦エンジンに基づく汎用グラフ、ルール及び空間構造 | |
US11615079B1 (en) | Graphical user interface for recurring searches | |
US9317613B2 (en) | Large scale entity-specific resource classification | |
CN107341268B (zh) | 一种热搜榜排序方法及系统 | |
CN111143655B (zh) | 一种新闻热度的计算方法 | |
CN107153656B (zh) | 一种信息搜索方法和装置 | |
US11347758B2 (en) | Method and apparatus for processing search data | |
KR101621735B1 (ko) | 추천 검색어 제공 방법 및 시스템 | |
US20160170993A1 (en) | System and method for ranking news feeds | |
US20160012454A1 (en) | Database systems for measuring impact on the internet | |
JP4569380B2 (ja) | ベクトル生成方法及び装置及びカテゴリ分類方法及び装置及びプログラム及びプログラムを格納したコンピュータ読み取り可能な記録媒体 | |
KR20180075234A (ko) | 컨텐츠에 대한 유입검색어 및 연관검색어 기반의 컨텐츠 추천방법 및 추천장치 | |
JP5424393B2 (ja) | 単語テーマ関連度算出装置、単語テーマ関連度算出用プログラムおよび情報検索装置 | |
CN106708871A (zh) | 一种社交业务特征用户的识别方法和装置 | |
US20130108180A1 (en) | Information processing device, information processing method, and program | |
KR101568800B1 (ko) | 실시간 이슈 검색어 선별 방법 및 시스템 | |
US20190205341A1 (en) | Systems and methods for measuring collected content significance | |
CN104063514B (zh) | 垂直搜索方法 | |
CN111723273A (zh) | 一种智慧云检索系统及方法 | |
KR20190005494A (ko) | 검색 행동 패턴에 기반한 검색어 추천 시스템 | |
CN116610853A (zh) | 搜索推荐方法、搜索推荐系统、计算机设备及存储介质 | |
Wang et al. | News Insider: Innovating News Understanding to Improve the Quality of Reading Experience | |
KR101098870B1 (ko) | 사용자 랭크 유사성 기반 포스트 검색 방법 및 장치 | |
Mounika et al. | Advanced Graph Analytics Algorithms On Genre Based Recommending System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190329 Year of fee payment: 6 |