KR20190005494A - 검색 행동 패턴에 기반한 검색어 추천 시스템 - Google Patents
검색 행동 패턴에 기반한 검색어 추천 시스템 Download PDFInfo
- Publication number
- KR20190005494A KR20190005494A KR1020170086223A KR20170086223A KR20190005494A KR 20190005494 A KR20190005494 A KR 20190005494A KR 1020170086223 A KR1020170086223 A KR 1020170086223A KR 20170086223 A KR20170086223 A KR 20170086223A KR 20190005494 A KR20190005494 A KR 20190005494A
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
- G06F16/3323—Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명의 일 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템은, 인터넷 네트워크에 존재하는 복수의 워드들의 벡터 값을 산출하는 단계, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 단계, 로그 데이터를 이용하여 상기 복수의 워드별로 적어도 하나의 특징 값들을 산출하는 단계, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 단계, 및 상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 단계를 포함하고, 상기 실시간 이슈 점수를 산출하는 단계는, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 단계와, 상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 단계와, 상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 단계를 포함한다.
Description
본 발명은 검색 행동 패턴에 기반한 검색어 추천 시스템에 관한 것으로, 더욱 상세하게는 복수의 사용자로부터 수집한 검색 데이터로부터 행동 패턴을 추출하여 구성되는 검색 행동 패턴에 기반한 검색어 추천 시스템에 관한 것이다.
검색어 추천의 기본적인 방법은 사용자가 입력한 질의를 포함하는(substring) 후보 질의들을 그 빈도에 따라서 보여주는 방법이다. 이는 사용자의 컨텍스트를 전혀 고려하지 않으므로 좋은 성능을 기대하기 어렵다.
RECQ(Real-World Context Aware Querying)라는 연구는 모바일 검색의 컨텍스트를 고려하여 질의를 확장해주는 방법을 제안한 연구이다. RECQ는 질의 추천 후보들과 함께 현재 사용자의 위치명을 넣었을 때의 페이지수와 구글 검색엔진에 넣었을 때의 전체 검색엔진의 코퍼스(corpus)의 문서수와의 비율을 가중치로 하여 가중치가 높은순으로 추천 후보들을 선별하는 방법을 제안하였다.
기존의 추천 검색어 제공 서비스는 사용자로부터 입력된 검색 쿼리를 분석하여, 사용자의 검색어 입력시 또는 검색 결과 제공시 관련성이 높은 검색어를 추천하여 제공하는 서비스이다. 종래의 추천 검색어 제공 서비스는 협업 필터링(collaborative filtering)과 같은 방법을 사용하여 추천 검색어를 제공하였으나, 스파스(sparse)하고 대규모 데이터를 갖는 검색어의 경우에는 비슷한 패턴을 갖는 교집합이 없거나 적기 때문에 정확도가 떨어지는 문제점이 존재하였다.
본 발명이 해결하고자 하는 과제는, 실시간으로 검색되는 키워드 데이터를 처리하여 빠른 시간 내에 키워드로부터 검색 패턴을 선별할 수 있는 실시간 검색 행동 패턴에 기반한 검색어 추천 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 대규모 데이터를 갖는 검색어의 경우에도 단순하면서 정확하게 추천 검색어를 제공할 수 있는 추천 검색어 제공 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템은, 복수의 사용자 단말기들로부터 입력된 복수의 검색어들을 포함하는 로그 데이터를 수신하는 단계, 상기 수신한 로그 데이터를 이용하여 각각의 검색어별로 적어도 하나의 특징 값들을 산출하는 단계, 상기 각각의 검색어별로 상기 적어도 하나의 특징 값들을 합산하여 점수를 산출하는 단계, 상기 복수의 검색어들 중 검색의도가 동일한 복수의 검색어들을 하나의 검색어 군집으로 군집화하여 적어도 하나의 검색어 군집을 생성하는 단계, 및 상기 적어도 하나의 검색어 군집의 점수-상기 검색어 군집에 포함되는 복수의 검색어들의 점수의 합-와 상기 군집화되지 않은 복수의 검색어들의 점수를 비교하여 검색어 순위를 산정하는 단계를 포함한다.
일부 실시예에서, 상기 검색어 순위를 산정하는 단계는, 점수가 높은 순서로 검색어 순위를 할당하되, 검색어 군집의 경우, 해당 검색어 군집에 포함되는 복수의 검색어들 중 점수가 가장 높은 검색어에 대하여 해당 검색어 순위를 할당하고, 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
일부 실시예에서, 상기 적어도 하나의 검색어 군집을 생성하는 단계는, 복수의 검색어들의 검색 결과 내에 동일한 웹문서가 소정의 비율 이상으로 노출되는 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
일부 실시예에서, 상기 적어도 하나의 검색어 군집을 생성하는 단계는, 복수의 검색어들의 문자가 소정의 비율 이상으로 동일한 경우, 상기 복수의 검색어들을 하나의 검색어 군집으로 군집화할 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템은, 검색어 군집을 생성함으로써, 사용자의 검색의도를 정확하게 분석할 수 있고, 쿼리량 및 사용자 행동과 관련된 다양한 특징 값들을 고려하므로, 실시간 이슈 검색어의 정확도를 높여, 시스템 운영자에 대한 의존도를 최소화할 수 있다.
검색어의 벡터와 워드의 벡터 사이의 거리 점수 및 상기 워드의 실시간 이슈 점수에 따라 추천 검색어를 선별하므로, 스파스하고 대규모 데이터를 갖는 검색어의 경우에도 단순하면서 정확하게 추천 검색어를 제공할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템이 제공되는 환경을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템을 설명하기 위한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 검색 행동 패턴에 기반한 검색어 추천 시스템을 설명하기 위한 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성요소와 다른 구성요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 구성요소들의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들어, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있으며, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
도 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)은 시스템 운영자에 대한 의존도를 최소화하고, 부정사용자들의 공격에 대응할 수 있고, 실시간으로 데이터를 처리하여 빠른 시간 내에 실시간 이슈 검색어를 선별할 수 있다.
도 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초 구간 별 로그 데이터를 이용)을 이용하지 않고, 슬라이딩 윈도우 방식으로 시간 범위를 결정하는 방법(예를 들어, 0초 내지 15초 구간, 1초 내지 16초 구간, 2초 내지 17초 구간 별 로그 데이터를 이용)을 이용하므로, 실시간 이슈 검색어가 실시간으로(매초 또는 매단위초/분마다) 처리되고 갱신될 수 있다.
이동 평균에 따른 쿼리량은 소정의 시간(예를 들어, 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)는 해당 검색어 군집의 점수를 해당 검색어 군집에 포함되는 나머지 검색어들의 점수의 합으로 재산정할 수 있다.
순위 산정부(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)의 웹 문서상에 노출될 수 있다. 실시간 이슈 검색어는 산정된 순위에 따라 나열되고, 실시예에 따라, 그 우측에 점수의 상승폭이 함께 표시될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
Claims (5)
- 인터넷 네트워크에 존재하는 복수의 워드들의 벡터 값을 산출하고, 상기 각각의 워드별로 사용자 단말기로부터 입력된 검색어의 벡터와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는 거리 점수 산출 모듈;
로그 데이터를 이용하여 상기 복수의 워드별로 사용자 행동과 관련된 적어도 하나의 특징 값들을 산출하고, 상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 이용하여 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출 모듈; 및
상기 거리 점수 및 상기 실시간 이슈 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 상기 사용자 단말기에 제공하는 추천 검색어 제공부를 포함하고,
상기 실시간 이슈 점수 산출 모듈은,
상기 각각의 워드별로 상기 적어도 하나의 특징 값들을 합산하여 특징 점수를 산출하는 특징 점수 산출부와,
상기 복수의 워드들 중 검색의도가 동일한 복수의 워드들을 하나의 워드 군집으로 군집화하여 적어도 하나의 워드 군집을 생성하는 군집 생성부와,
상기 적어도 하나의 워드 군집의 특징 점수-상기 워드 군집에 포함되는 복수의 워드들의 특징 점수의 합-와 상기 군집화하지 않은 복수의 워드들의 특징 점수를 비교하여 상기 실시간 이슈 점수를 산출하는 실시간 이슈 점수 산출부를 포함하는, 검색 행동 패턴에 기반한 검색어 추천 시스템. - 제1항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우, 상기 복수의 검색어의 벡터들의 중심 좌표를 산출하고, 상기 복수의 검색어의 벡터들의 중심 좌표와 상기 워드의 벡터 사이의 거리를 이용하여 거리 점수를 산출하는, 검색 행동 패턴에 기반한 검색어 추천 시스템. - 제1항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리를 합산하고 합산한 거리를 이용하여 거리 점수를 산출하는, 검색 행동 패턴에 기반한 검색어 추천 시스템. - 제1항에 있어서,
상기 거리 점수 산출 모듈은, 상기 사용자 단말기로부터 입력된 검색어가 복수인 경우,
상기 복수의 검색어의 벡터들과 상기 워드의 벡터 사이의 거리를 각각 산출하고, 상기 각각 산출한 거리 중 최소값 또는 최대값을 이용하여 거리 점수로 산출하는, 검색 행동 패턴에 기반한 검색어 추천 시스템. - 제1항에 있어서,
상기 추천 검색어 제공부는, 상기 거리 점수 및 상기 실시간 이슈 점수에 각각 가중치를 부여하여 추천 점수를 산출하고, 상기 추천 점수에 따라 상기 복수의 워드들 중 적어도 하나의 워드를 포함하는 추천 검색어를 선별하는, 검색 행동 패턴에 기반한 검색어 추천 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170086223A KR20190005494A (ko) | 2017-07-07 | 2017-07-07 | 검색 행동 패턴에 기반한 검색어 추천 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170086223A KR20190005494A (ko) | 2017-07-07 | 2017-07-07 | 검색 행동 패턴에 기반한 검색어 추천 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190005494A true KR20190005494A (ko) | 2019-01-16 |
Family
ID=65281104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170086223A KR20190005494A (ko) | 2017-07-07 | 2017-07-07 | 검색 행동 패턴에 기반한 검색어 추천 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20190005494A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897921A (zh) * | 2020-08-04 | 2020-11-06 | 广西财经学院 | 基于词向量学习和模式挖掘融合扩展的文本检索方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120094562A (ko) | 2011-02-11 | 2012-08-27 | 에스케이플래닛 주식회사 | 번역문에서 키워드 추출에 의해 부가 정보를 검색하는 시스템 및 방법 |
-
2017
- 2017-07-07 KR KR1020170086223A patent/KR20190005494A/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120094562A (ko) | 2011-02-11 | 2012-08-27 | 에스케이플래닛 주식회사 | 번역문에서 키워드 추출에 의해 부가 정보를 검색하는 시스템 및 방법 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111897921A (zh) * | 2020-08-04 | 2020-11-06 | 广西财经学院 | 基于词向量学习和模式挖掘融合扩展的文本检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847612B2 (en) | Social media profiling for one or more authors using one or more social media platforms | |
CN107862022B (zh) | 文化资源推荐*** | |
JP5575902B2 (ja) | クエリのセマンティックパターンに基づく情報検索 | |
US20170140038A1 (en) | Method and system for hybrid information query | |
CN107526807B (zh) | 信息推荐方法及装置 | |
JP6293642B2 (ja) | 推薦エンジンに基づく汎用グラフ、ルール及び空間構造 | |
CN107341268B (zh) | 一种热搜榜排序方法及*** | |
US10387435B2 (en) | Computer application query suggestions | |
US9477747B2 (en) | Method and apparatus for acquiring hot topics | |
US9069880B2 (en) | Prediction and isolation of patterns across datasets | |
US10002187B2 (en) | Method and system for performing topic creation for social data | |
US11347758B2 (en) | Method and apparatus for processing search data | |
CN107896153B (zh) | 一种基于移动用户上网行为的流量套餐推荐方法及装置 | |
US9996529B2 (en) | Method and system for generating dynamic themes for social data | |
KR20180075234A (ko) | 컨텐츠에 대한 유입검색어 및 연관검색어 기반의 컨텐츠 추천방법 및 추천장치 | |
KR101621735B1 (ko) | 추천 검색어 제공 방법 및 시스템 | |
CN114330329A (zh) | 一种业务内容搜索方法、装置、电子设备及存储介质 | |
CN104615723B (zh) | 查询词权重值的确定方法和装置 | |
US11373103B2 (en) | Artificial intelligence based system and method for predicting and preventing illicit behavior | |
CN115062013A (zh) | 信息推荐方法、装置、设备及存储介质 | |
KR101568800B1 (ko) | 실시간 이슈 검색어 선별 방법 및 시스템 | |
JP2011248762A (ja) | 分類装置、コンテンツ検索システム、コンテンツ分類方法、コンテンツ検索方法及びプログラム | |
JP2012008899A (ja) | 検索クエリ推薦方法、検索クエリ推薦装置及び検索クエリ推薦プログラム | |
WO2018022333A1 (en) | Cross-platform computer application query categories | |
CN111882224A (zh) | 对消费场景进行分类的方法和装置 |