KR101649146B1 - 검색 방법 및 검색 서버 - Google Patents

검색 방법 및 검색 서버 Download PDF

Info

Publication number
KR101649146B1
KR101649146B1 KR1020150007547A KR20150007547A KR101649146B1 KR 101649146 B1 KR101649146 B1 KR 101649146B1 KR 1020150007547 A KR1020150007547 A KR 1020150007547A KR 20150007547 A KR20150007547 A KR 20150007547A KR 101649146 B1 KR101649146 B1 KR 101649146B1
Authority
KR
South Korea
Prior art keywords
search
document
parameters
web documents
features
Prior art date
Application number
KR1020150007547A
Other languages
English (en)
Other versions
KR20160088503A (ko
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 KR1020150007547A priority Critical patent/KR101649146B1/ko
Publication of KR20160088503A publication Critical patent/KR20160088503A/ko
Application granted granted Critical
Publication of KR101649146B1 publication Critical patent/KR101649146B1/ko

Links

Images

Classifications

    • G06F17/30011
    • 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/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (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

검색 방법 및 검색 서버가 제공된다. 상기 검색 방법은 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계, 상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계, 각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계, 및 상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고, 상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하는 것을 특징으로 한다.

Description

검색 방법 및 검색 서버{METHOD AND SERVER FOR SEARCHING}
본 발명은 검색 방법 및 검색 서버에 관한 것이다.
검색 엔진은 인터넷에 존재하는 수 많은 웹 문서들을 수집하고, 웹 문서들에 포함된 내용들을 분석하여 색인화(indexing)한다. 사용자는 사용자 단말기를 이용하여 검색어를 포함하는 검색 요청을 검색 엔진에 전송하고, 검색 엔진은 사용자의 검색 요청에 응답하여 검색어와 관련된 복수의 웹 문서들을 검색한다. 검색 엔진은 사전에 색인화된 웹 문서들의 정보를 조회하여 어떤 웹 문서들이 검색어와 매칭되는지를 판단한다. 검색 엔진은 검색어와 매칭되는 복수의 웹 문서들을 일정한 순위에 따라 정렬하여 검색 결과로 제공한다. 이 때, 복수의 웹 문서들의 순위를 결정하기 위하여, 검색 엔진은 각각의 웹 문서들의 문서 순위 점수를 산출할 수 있다.
한국등록특허공보 제10-0923505호, 2009년 10월 19일
본 발명이 해결하고자 하는 과제는 사용자의 검색 요청에 응답하여 사용자에게 보다 정확한 검색 결과를 제공하는 검색 방법 및 검색 서버를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 사용자의 검색 요청에 응답하여 사용자에게 사용자 만족도가 보다 높은 검색 결과를 제공하는 검색 방법 및 검색 서버를 제공하는 것이다.
본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제로 제한되지 않으며, 언급하지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 해결하기 위한 본 발명의 일 측면(aspect)에 따른 검색 방법은 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계, 상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계, 각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계, 및 상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고, 상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 몇몇 실시예에서, 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 복수의 사용자를 포함하는 사용자 그룹 또는 복수의 검색어를 포함하는 검색어 그룹에 따라 상기 복수의 모수 중 적어도 하나를 업데이트할 수 있다.
본 발명의 몇몇 실시예에서, 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 특징 중 검색 만족도가 기준 값보다 높거나 낮은 특징을 판단하고, 상기 판단된 특징에 대응하는 모수를 상향 조정하거나 하향 조정할 수 있다.
또한, 상기 검색 만족도는 CTR(Click-Through Rate), VTR(View-Through Rate) 중 적어도 하나를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 중 적어도 하나를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 중 적어도 하나를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출할 수 있다.
본 발명의 몇몇 실시예에서, 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트할 수 있다.
또한, 상기 업데이트되는 복수의 모수 중 적어도 하나의 변화량은 상기 오차의 그라디언트 및 학습률을 이용하여 결정될 수 있다.
상기 과제를 해결하기 위한 본 발명의 일 측면에 따른 검색 서버는 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부, 상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부, 각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부, 및 상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고, 상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 것을 특징으로 한다.
본 발명의 몇몇 실시예에서, 상기 검색 순위부는 복수의 사용자를 포함하는 사용자 그룹 또는 복수의 검색어를 포함하는 검색어 그룹에 따라 상기 복수의 모수 중 적어도 하나를 업데이트할 수 있다.
본 발명의 몇몇 실시예에서, 상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 특징 중 검색 만족도가 기준 값보다 높거나 낮은 특징을 판단하고, 상기 판단된 특징에 대응하는 모수를 상향 조정하거나 하향 조정할 수 있다.
또한, 상기 검색 만족도는 CTR(Click-Through Rate), VTR(View-Through Rate) 중 적어도 하나를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 중 적어도 하나를 포함할 수 있다.
본 발명의 몇몇 실시예에서, 상기 순위 결정부는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 중 적어도 하나를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출할 수 있다.
본 발명의 몇몇 실시예에서, 상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트할 수 있다.
또한, 상기 업데이트되는 복수의 모수 중 적어도 하나의 변화량은 상기 오차의 그라디언트 및 학습률을 이용하여 결정될 수 있다.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
상기 본 발명의 검색 방법 및 검색 서버에 의하면, 문서 순위 점수를 산출하기 위하여 이용되는 모수를 고정시키지 않고 사용자 또는 검색어에 따라 업데이트하므로, 사용자에게 보다 정확하고 사용자 만족도가 보다 높은 검색 결과를 제공할 수 있다.
본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 검색 서버가 제공되는 환경을 설명하기 위한 도면이다.
도 2는 도 1의 검색 서버의 세부 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 검색 방법을 설명하기 위한 흐름도이다.
도 4는 도 3의 문서 순위 점수 결정 단계를 세부적으로 설명하기 위한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
하나의 구성요소(elements)가 다른 구성요소와 "연결된(connected to)"이라고 지칭되는 것은, 다른 구성요소와 직접 연결 또는 중간에 다른 구성요소를 개재한 경우를 모두 포함한다. 반면, 하나의 구성요소가 다른 구성요소와 "직접 연결된(directly connected to)"으로 지칭되는 것은 중간에 다른 구성요소를 개재하지 않은 것을 나타낸다.
본 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.
본 명세서에서 "및/또는"은 언급된 구성요소의 각각 및 하나 이상의 모든 조합을 포함한다.
비록 제1, 제2 등이 다양한 구성요소, 모듈 및/또는 섹션들을 서술하기 위해서 사용되나, 구성요소, 모듈 및/또는 섹션들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소, 모듈 또는 섹션들을 다른 구성요소, 모듈 또는 섹션들과 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소, 제1 모듈 또는 제1 섹션은 본 발명의 기술적 사상 내에서 제2 구성요소, 제2 모듈 또는 제2 섹션일 수도 있음은 물론이다.
본 명세서에서 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
본 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 모듈 및/또는 섹션 외에 하나 이상의 다른 구성요소, 모듈 및/또는 섹션의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 검색 서버가 제공되는 환경을 설명하기 위한 도면이다.
도 1을 참조하면, 복수의 사용자 단말기(100)가 검색 서버(200)와 네트워크를 통해 서로 연결된다. 사용자 단말기(100)와 검색 서버(200)는 서로 데이터 및/또는 정보를 송수신할 수 있다.
네트워크는 근거리 네트워크(Local Area Network; LAN), 도시권 네트워크(Metropolitan Area Network; MAN), 광대역 네트워크(Wide Area Network; WAN) 등과 같은 다양한 크기의 네트워크로 구성될 수 있다. 네트워크는 유선 또는 무선 네트워크로 구성될 수 있다.
사용자 단말기(100)는 데스크톱(desk top), 랩톱(lap top) 등과 같은 개인용 컴퓨터(Personal Computer; PC)일 수 있다. 또는, 사용자 단말기(100)는 스마트폰(smartphone), PDA(Personal Digital Assistant), 태블릿 PC(tablet PC) 등과 같은 휴대용 통신 장치일 수 있다. 사용자 단말기(100)는 프로세서, 입출력 수단, 통신 수단을 포함하는 예시되지 않은 다른 컴퓨팅 장치일 수도 있다.
검색 서버(200)는 웹 문서의 수집, 처리 및 검색 기능을 제공하는 검색 엔진을 포함할 수 있다. 즉, 검색 서버(200)는 인터넷에 존재하는 웹 문서들을 크롤링(crawling), 색인화(indexing), 검색(searching)하여, 웹 문서들의 정보를 데이터베이스에 저장할 수 있다.
본 명세서에서 “웹 문서”는 임의의 컴퓨팅 장치로 판독 및 저장 가능한 객체를 나타낸다. 예를 들어, 웹 문서는 텍스트뿐만 아니라, 이미지, 소리, 동영상 등을 포함할 수 있다. 또한, 웹 문서는 스크립트와 같은 명령어들을 포함할 수도 있다. 웹 문서에는 다른 웹 문서에 대한 링크가 삽입될 수 있다. 본 명세서에서 웹 문서는 “웹 페이지”로 대체될 수도 있다.
검색 서버(200)는 사용자 단말기(100)로부터 검색 요청을 수신하고, 검색 요청에 응답하여 검색어에 관련된 복수의 웹 문서들을 검색하고, 검색된 복수의 웹 문서들의 문서 순위 점수를 산출하고, 문서 순위 점수에 따라 사용자 단말기(100)에 검색 결과를 제공할 수 있다.
검색 서버(200)는 검색 엔진의 기능 외에 카페, 메일, 블로그, 쇼핑, 지도, 사전, 뉴스, 증권, 부동산, 영화, 음악, 게시판 등의 다양한 콘텐츠 서비스를 제공하는 포털 사이트 서버일 수 있다. 즉, 검색 서버(200)는 검색 엔진과 포털 사이트가 결합된 형태일 수 있다.
도 1에서는 하나의 검색 서버(200)만을 도시하였으나, 본 발명이 이에 한정되는 것은 아니고, 복수의 검색 서버(200)가 사용자 단말기(100)와 네트워크를 통해 서로 연결될 수 있음은 통상의 기술자에게 자명할 것이다. 예를 들어, 크롤링하는 서버, 색인화하는 서버, 검색하는 서버가 각각 하나의 서버로 구성될 수 있다.
본 발명의 실시예에서, 검색 서버(200)는 문서 순위 점수를 산출하기 위하여 이용되는 모수를 고정시키지 않고 사용자 또는 검색어에 따라 업데이트할 수 있다. 이로써, 검색 서버(200)는 사용자에게 보다 정확하고 사용자 만족도가 높은 검색 결과를 제공할 수 있다. 모수의 업데이트 방법에 관하여는 이하에서 보다 상세하게 설명하기로 한다.
도 2는 도 1의 검색 서버의 세부 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 도 1의 검색 서버(200)는 검색 요청 수신부(210), 정보 검색부(220), 검색 순위부(230), 검색 결과 제공부(240), 문서 데이터베이스(250), 학습 데이터(260)을 포함한다.
검색 요청 수신부(210)는 사용자 단말기(100)로부터 검색어를 포함하는 검색 요청을 수신한다. 사용자의 검색 요청은 복수의 검색어를 포함할 수 있다.
정보 검색부(220)는 전체 웹 문서 중 검색어에 관련된(또는, 매칭되는) 복수의 웹 문서를 검색한다. 정보 검색부(220)는 문서 데이터베이스(250)에 저장된 웹 문서들의 정보를 조회하여 어떤 웹 문서들이 검색어와 관련되는지를 판단할 수 있다. 이를 위하여, 정보 검색부(220)는 역색인화(reverse-indexing)를 이용할 수 있다.
검색 순위부(230)는 검색된 복수의 웹 문서의 문서 순위 점수를 산출한다. 문서 순위 점수는 각각의 웹 문서가 검색어와 얼마나 관련되는지를 나타낸다.
문서 순위 점수를 산출하기 위하여, 검색 순위부(230)는 각각의 웹 문서의 복수의 특징(feature)을 이용할 수 있다. 본 명세서에서, 웹 문서의 “특징”은 문서 순위 점수를 산출하기 위하여 산출 방법(또는, 공식)에서 이용되는 요소(element)를 나타낸다. 예를 들어, 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 등을 포함할 수 있다.
실시예에 따라, 복수의 특징은 각각의 웹 문서 자체에서 유래된 요소, 각각의 웹 문서와 검색어와의 관계에서 유래된 요소, 각각의 웹 문서와 사용자와의 관계에서 유래된 요소, 상술한 요소들의 조합에 의해 유래된 요소 등으로 구성될 수 있다.
복수의 특징은 예시되지 않은 다른 요소를 포함할 수도 있다.
또한, 문서 순위 점수를 산출하기 위하여, 검색 순위부(230)는 복수의 모수(parameter)를 이용할 수 있다. 본 명세서에서, “모수”는 웹 문서의 문서 순위 점수 산출 방법에서 각각의 특징에 부여되는 가중치를 나타낸다. 복수의 모수는 상술한 복수의 특징에 각각 대응할 수 있다.
검색 순위부(230)는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 등을 이용하여 문서 순위 점수를 산출할 수 있다. 이하에서는, 설명의 편의를 위하여, Pointwise 접근법 중 Regression 방법을 이용하는 것을 예시로 하여 설명기로 한다.
검색 순위부(230)는 아래 수학식 1에 따라 문서 순위 점수를 산출할 수 있다.
[수학식 1]
Figure 112015004445119-pat00001
수학식 1에서, H(x)는 문서 순위 점수를 나타내고, x, x’, x’’는 특징을 나타내고, a, b, c는 모수를 나타낸다.
x는 최신성 확률이고, x’’는 유사 비율이고, x’’’는 품질 점수라고 가정하자. 최신성 확률은 웹 문서가 얼마나 최근에 생성된 것인지를 나타내는 지표이고, 유사 비율은 웹 문서에 포함된 내용들이 검색어와 얼마나 관련되는지를 나타내는 지표이고, 품질 점수는 웹 문서의 생성자, 출처 등을 평가한 점수를 나타낸다. 품질 점수가 이용되는 것은 스패머(spamer)에 의해 생성된 웹 문서를 필터링하기 위함이다.
모수 a, b, c는 학습 데이터를 이용하여 산출될 수 있다. 예를 들어, 사용자가 뉴스 문서를 검색하는 경우, 최신성 확률과 유사 비율이 품질 점수에 비하여 상대적으로 중요하므로, 모수 a, b, c는 a>=b>c와 같이 산출될 수 있다. 다른 예를 들어, 사용자가 블로그 문서를 검색하는 경우, 품질 점수가 최신성 확률 및 유사 비율에 비하여 상대적으로 중요하게 고려될 수 있으므로, 모수 a, b, c는 a<=b<=c와 같이 산출될 수 있다.
본 예시에서, a, b, c는 각각 0.3, 0.4, 0.5라고 가정하자.
정보 검색부(220)가 검색어와 관련된 문서로 두 개의 문서(문서 1 및 문서 2)를 검색하였다고 가정하자. 문서 1은 x=0.5, x’=0.7, x’’=0.8의 특징 값을 가진다고 가정하고, 문서 2는 x=0.8, x’=0.7, x’’=0.5의 특징 값을 가진다고 가정하면, 문서 1 및 문서 2의 문서 순위 점수는 다음과 같다.
문서 1의 문서 순위 점수:
0.3*0.5 + 0.4*0.7 + 0.5*0.8 = 0.83
문서 2의 문서 순위 점수:
0.3*0.8 + 0.4*0.7 + 0.5*0.5 = 0.77
여기서, 모수가 a=0.3, b=0.4, c=0.5로 계속 고정된다고 하면, 시간이 경과하거나 또는 모수를 산출했던 학습 데이터와 다른 양상이 나타나는 경우 검색 정확도가 낮아지게 되는 문제점이 발생하게 된다.
이 같은 문제점을 해결하기 위하여, 본 발명의 검색 순위부(230)는 모수의 우도(likelihood)값을 산출하여 모수를 업데이트한다. 즉, 검색 순위부(230)는 문서 순위 점수를 산출하는 때에 가변적인 모수를 이용한다.
검색 순위부(230)는 복수의 모수 전부를 업데이트하거나, 복수의 모수 중 일부를 업데이트할 수 있다.
검색 순위부(230)는 사용자 또는 검색어에 따라 모수를 업데이트할 수 있다.
예를 들어, 검색어에 따른 모수의 업데이트값이 최신성 확률의 경우 2, 유사 비율의 경우 1, 품질 점수의 경우 0.5로 산출되었다고 가정하고, 검색 요청을 전송한 사용자에 따른 모수의 업데이트 값이 최신성 확률의 경우 3, 유사 비율의 경우 2, 품질 점수의 경우 1로 산출되었다고 가정하자.
위의 모수의 업데이트값을 고려하여 문서 1 및 문서 2의 문서 순위 점수를 산출하면 다음과 같다.
문서 1의 문서 순위 점수:
0.3*2*3*0.5 + 0.4*1*2*0.7 + 0.5*0.5*1*0.8 = 1.66
문서 2의 문서 순위 점수:
0.3*2*3*0.8 + 0.4*1*2*0.7 + 0.5*0.5*1*0.5 = 2.125
실시예에 따라, 업데이트값은 음의 값을 가질 수도 있다.
검색어가 복수 개 존재하는 경우, 일부 검색어 또는 검색어 전부가 고려될 수 있다. 이 경우, 검색어에 따른 모수의 업데이트값은 각각의 검색어에 대응하여 존재하거나, 일부 검색어에 대응하여 존재할 수 있다. 검색어에 따른 모수의 업데이트값은 검색어 전부를 고려하여 하나만 존재할 수도 있다.
위의 예시에서, 검색 순위부(230)는 현재의 모수에 검색어에 따른 모수의 업데이트값과 사용자에 따른 모수의 업데이트값을 각각 이용하였으나, 실시예에 따라, 현재의 모수에 검색어 및 사용자를 고려한 하나의 모수의 업데이트값을 이용할 수도 있다.
이상의 예시에서는 현재의(또는, 디폴트(default)) 모수에 모수의 업데이트값을 곱하여 모수를 업데이트하였으나, 본 발명이 이에 한정되는 것은 아니고, 현재의 모수에 모수의 변화량을 더하거나 빼서 모수를 업데이트할 수 있다. 또는, 현재의 모수를 요소로 하는 함수를 이용하여 모수를 업데이트할 수도 있다.
이상에서 설명한 모수의 업데이트를 위하여, 검색 순위부(230)는 검색 만족도를 이용할 수 있다. 검색 만족도는 검색 로그를 분석하여 획득될 수 있다. 검색 로그는 사용자 단말기(100)가 검색 서버(200)에 접속하여 요청, 처리 또는 이용하는 과정에서 발생한 일련의 정보가 기록된 자료를 나타낸다. 이와 같은 검색 로그는 어떤 사용자가 접속했는지, 어떤 검색어를 입력하였는지, 어떤 웹 문서를 클릭하거나 열람하였는지, 웹 브라우저의 종류는 무엇인지 등의 정보를 포함할 수 있다. 검색 순위부(230)는 이와 같은 검색 로그를 분석하여 획득되는 CTR(Click-Through Rate) 또는 VTR(View-Through Rate) 등의 검색 만족도를 이용할 수 있다.
검색 순위부(230)는 사용자별 검색 만족도 또는 검색어별 검색 만족도를 고려하여 소정의 모수를 상향 조정할 수 있다. 검색 순위부(230)는 웹 문서의 복수의 특징 중 검색 만족도가 기준 값(reference value)보다 높은 특징을 판단하고, 해당하는 특징에 대응하는 모수를 상향 조정할 수 있다.
이를 위하여, 웹 문서의 각각의 특징의 검색 만족도를 산출하기 위한 다양한 방법들이 이용될 수 있을 것이다. 예를 들어, 복수의 웹 문서가 검색 결과에 포함되어 제공될 때, 어느 웹 문서는 다른 특징들보다 최신성 확률이 상대적으로 높다는 이유로 제공되고, 다른 웹 문서는 다른 특징들보다 유사 비율이 상대적으로 높다는 이유로 제공될 수 있다. 위의 예시에서, 각각의 웹 문서의 검색 만족도(CTR 등)는 서로 다르게 측정될 것이고, 이를 이용하면 각각의 특징의 검색 만족도가 산출될 수 있을 것이다.
한편, 기준 값은 복수의 특징의 검색 만족도의 통계에 따른 값(예를 들어, 평균 값 또는 중간 값 등)으로 사전 설정되거나, 검색 서버(200)의 운영자가 입력한 임의의 값으로 사전 설정될 수 있다.
위의 예시에서, 특정 사용자와 관련하여 품질 점수의 검색 만족도가 기준 값보다 높다고 가정하면, 검색 순위부(230)는 품질 점수에 대응하는 모수 c를 상향조정할 수 있다. 또는, 특정 검색어와 관련하여 최신성 확률의 검색 만족도가 기준 값보다 높다고 가정하면, 검색 순위부(230)는 최신성 확률에 대응하는 모수 a를 상향조정할 수 있다.
또한, 검색 순위부(230)는 사용자별 검색 만족도 또는 검색어별 검색 만족도를 고려하여 소정의 모수를 하향 조정할 수 있다. 검색 순위부(230)는 웹 문서의 복수의 특징 중 검색 만족도가 기준 값보다 낮은 특징을 판단하고, 해당하는 특징에 대응하는 모수를 하향 조정할 수 있다.
실시예에 따라, 검색 만족도를 (기준 값이 아닌) 복수의 레벨로 구분하고, 각각의 레벨에 따라 모수를 조정할 수도 있다. 또는, 복수의 특징 중 검색 만족도가 가장 높거나 가장 낮은 특징에 대응하는 모수만을 조정할 수도 있다.
한편, (예를 들어, 사용자의 검색 로그의 데이터량이 너무 적거나, 또는 분석 결과에 따른 모수의 없데이트값이 너무 작거나 하는 등의 이유로) 사용자의 검색 만족도 분석 결과가 무의미하다면, 검색 순위부(230)는 해당 사용자와 유사한 다른 사용자들의 검색 만족도 분석 결과를 이용할 수도 있다. 즉, 검색 순위부(230)는 복수의 사용자를 포함하는 사용자 그룹의 검색 만족도를 이용할 수 있다. 하나의 사용자 그룹에 포함되는 복수의 사용자는 소정의 유사도를 가질 수 있다. 사용자 간의 유사도는 사용자의 프로파일 정보(연령, 성별, 주소, 학력, 직업, 결혼 여부 등) 또는 사용자의 행동 정보(입력 검색어, 브라우징 활동에 관한 정보, 구매 정보 등) 등을 이용하여 산출될 수 있다.
또한, 검색 순위부(230)는 복수의 검색어를 포함하는 검색어 그룹의 검색 만족도를 이용할 수도 있다. 하나의 검색어 그룹에 포함되는 복수의 검색어는 소정의 유사도를 가질 수 있다. 검색어 간의 유사도는 입력 사용자, 입력 시점, 편집 거리, 검색 결과의 유사성 등을 이용하여 산출될 수 있다.
이로써, 검색 순위부(230)의 모수의 업데이트 방법은 (지나치게 치우치지 않는) 적절한 학습률(learning rate)을 찾고, 재현율(recall)을 증가시킬 수 있다.
검색 만족도를 이용하여 모수를 업데이트하기 위하여, 검색 순위부(230)는 역전파(backpropagation) 알고리즘과 유사한 알고리즘을 이용할 수 있다. 역전파 알고리즘은 오차가 최소가 되도록 가중치를 조정하는 방법으로, 본 발명이 속하는 기술분야에서 잘 알려진 다른 알고리즘이 이용될 수도 있을 것이다.
검색 순위부(230)는 아래 수학식 2에 따라 추정된 검색 만족도와 실제 검색 만족도의 평균제곱오차(MSE; Mean Square Error)를 산출할 수 있다.
[수학식 2]
Figure 112015004445119-pat00002
수학식 2에서, C는 오차를 나타내고, H(x)는 과거 문서 순위 점수(즉, 공식에 의해 추정된 검색 만족도), y는 측정된 검색 만족도(즉, 실제 만족도)를 나타낸다. 그리고, w는 모수의 행렬, x는 특징의 행렬을 나타내고, b는 대응하는 모수가 존재하지 않는 바이패스(bypass) 특징을 나타낸다.
모수의 행렬 w의 상태는 아래 수학식 3과 같이 정의될 수 있다.
[수학식 3]
Figure 112015004445119-pat00003
수학식 3에서, w(h+1)은 다음의(업데이트된) 모수의 행렬, w(h)는 현재의 모수의 행렬, Δw는 모수의 변화량을 나타낸다.
검색 순위부(230)는 오차의 그라디언트(gradient)를 이용하여 모수의 변화량을 결정할 수 있다. 이 때, 오차의 그라디언트는 오차의 크기가 작아지는 방향으로 이동하므로, 검색 순위부(230)는 현재의 모수로부터 오차의 그라디언트를 빼서 오차 C가 작아지게 할 수 있다. 그리고, 모수를 얼마나 변화시켜야 오차 C가 작아지는지 불명확하므로, 학습률(learning rate) r이 오차의 그라디언트에 곱해질 수 있다. 학습률은 모수의 변화량을 조절하기 위하여 사전 설정된 상수(constant) 비율을 나타내며, 오차의 그라디언트의 변화량이 모수의 변화량에 미치는 영향을 제어하도록 기능한다. 예를 들어, 학습률은 0 내지 1 사이의 값을 가질 수 있다. 학습률의 산출 방법은 기계 학습 또는 인공 지능의 기술분야에서 잘 알려진 다양한 알고리즘이 이용될 수 있을 것이다. 이와 같이 모수의 변화량을 결정하는 방법은 아래 수학식 4와 같이 표현될 수 있다.
[수학식 4]
Figure 112015004445119-pat00004
검색 결과 제공부(240)는 산출된 문서 순위 점수에 따라 사용자 단말기(100)에 검색 결과를 제공한다. 검색 결과 제공부(240)는 검색어에 관련된 복수의 웹 문서를 문서 순위 점수에 따라 정렬하여 검색 결과로 제공할 수 있다.
문서 데이터베이스(250)와 학습 데이터(260)는 데이터베이스의 형태로 구성될 수 있다.
도 2에서 검색 서버(200)의 일부 구성요소가 다른 구성요소와 결합되어 하나의 구성요소로 구성될 수 있음은 통상의 기술자에게 자명할 것이다.
도 3은 본 발명의 일 실시예에 따른 검색 방법을 설명하기 위한 흐름도이고, 도 4는 도 3의 문서 순위 점수 결정 단계를 세부적으로 설명하기 위한 흐름도이다. 설명의 편의를 위하여 도 1과 중복되는 설명은 생략하기로 한다.
도 3을 참조하면, 단계 S310에서, 검색 서버(200)는 사용자 단말기(100)로부터 검색어를 포함하는 검색 요청을 수신한다.
이어서, 단계 S320에서, 검색 서버(200)는 전체 웹 문서 중 검색어에 관련된 복수의 웹 문서를 검색한다.
이어서, 단계 S330에서, 검색 서버(200)는 검색된 복수의 웹 문서의 문서 순위 점수를 결정한다. 상술한 바와 같이, 문서 순위 점수는 각각의 웹 문서가 검색어와 얼마나 관련되는지를 나타낸다. 검색 서버(200)는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 등을 이용하여 문서 순위 점수를 산출할 수 있다.
도 4를 참조하면, 검색 서버(200)는 문서 순위 점수를 산출하기 위하여, 단계 S331에서, 웹 문서의 복수의 특징(feature)을 획득하고, 단계 S332에서 복수의 특징에 대응하는 복수의 모수를 획득할 수 있다. 상술한 바와 같이, 예를 들어, 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 등을 포함할 수 있고, 복수의 모수는 상술한 복수의 특징에 각각 대응할 수 있다.
이어서, 단계 S333에서, 검색 서버(200)는 사용자 또는 적어도 하나의 검색어에 따라 복수의 모수 중 적어도 하나를 업데이트할 수 있다.
모수의 업데이트를 위하여, 검색 서버(200)는 검색 만족도를 이용할 수 있다. 검색 서버(200)는 검색 로그를 분석하여 검색 만족도를 획득할 수 있다. 검색 서버(200)는 검색 로그를 분석하여 획득되는 CTR(Click-Through Rate) 또는 VTR(View-Through Rate) 등의 검색 만족도를 이용할 수 있다.
검색 서버(200)는 사용자별 검색 만족도 또는 검색어별 검색 만족도를 고려하여 소정의 모수를 상향 조정하거나 하향 조정할 수 있다. 검색 서버(200)는 웹 문서의 복수의 특징 중 검색 만족도가 기준 값(reference value)보다 높거나 낮은 특징을 판단하고, 해당하는 특징에 대응하는 모수를 상향 조정하거나 하향 조정할 수 있다.
실시예에 따라, 검색 만족도를 (기준 값이 아닌) 복수의 레벨로 구분하고, 각각의 레벨에 따라 모수를 조정할 수도 있다. 또는, 복수의 특징 중 검색 만족도가 가장 높거나 가장 낮은 특징에 대응하는 모수만을 조정할 수도 있다.
한편, (예를 들어, 사용자의 검색 로그의 데이터량이 너무 적거나, 또는 분석 결과에 따른 모수의 없데이트값이 너무 작거나 하는 등의 이유로) 사용자의 검색 만족도 분석 결과가 무의미하다면, 검색 서버(200)는 해당 사용자와 유사한 다른 사용자들의 검색 만족도 분석 결과를 이용할 수도 있다. 즉, 검색 서버(200)는 복수의 사용자를 포함하는 사용자 그룹의 검색 만족도를 이용할 수 있다. 또한, 검색 서버(200)는 복수의 검색어를 포함하는 검색어 그룹의 검색 만족도를 이용할 수도 있다.
검색 서버(200)는 과거 문서 순위 점수(추정된 검색 만족도)와 측정된 검색 만족도(실제 만족도)의 평균제곱오차(MSE; Mean Square Error)를 산출할 수 있다. 이는 역전파 알고리즘과 유사한 알고리즘을 이용하여 오차가 최소가 되도록 가중치를 조정하기 위한 것이다. 검색 서버(200)는 오차의 그라디언트를 이용하여 모수의 변화량을 결정할 수 있다. 모수를 얼마나 변화시켜야 오차가 작아지는지 불명확하므로, 검색 서버(200)는 학습률(learning rate)을 오차의 그라디언트에 곱하여 모수의 변화량을 결정할 수 있다. 이상에서 설명한 모수의 변화량의 결정 방법은 수학식 2 내지 4를 이용하여 상술한 바와 같다.
이어서, 단계 S334에서, 검색 서버(200)는 복수의 특징 및 업데이트된 복수의 모수를 이용하여 문서 순위 점수를 산출할 수 있다.
이어서, 다시 도 3을 참조하면, 단계 S340에서, 검색 서버(200)는 산출된 문서 순위 점수에 따라 사용자 단말기(100)에 검색 결과를 제공한다. 검색 서버(200)는 검색어에 관련된 복수의 웹 문서를 문서 순위 점수에 따라 정렬하여 검색 결과로 제공할 수 있다.
이상에서 본 발명의 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는, 프로세서에 의해 실행되는 하드웨어 모듈, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM, EPROM, EEPROM, 플래시 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체에 상주할 수도 있다. 예시적인 기록 매체는 프로세서에 연결되며, 상기 프로세서는 기록 매체로부터 정보를 독출할 수 있고 기록 매체에 정보를 기입할 수 있다. 다른 방법으로, 기록 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 기록 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 기록 매체는 사용자 단말기 내에 개별 구성 요소로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 사용자 단말기
200: 검색 서버
210: 검색 요청 수신부
220: 정보 검색부
230: 검색 순위부
240: 검색 결과 제공부
250: 문서 데이터베이스
260: 학습 데이터

Claims (16)

  1. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고,
    상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하며,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하는 것을 특징으로 하는, 검색서버에서 수행되는 검색 방법.
  2. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고,
    상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하고,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 복수의 사용자를 포함하는 사용자 그룹 또는 복수의 검색어를 포함하는 검색어 그룹에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는, 검색서버에서 수행되는 검색 방법.
  3. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고,
    상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하고,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 특징 중 검색 만족도가 기준 값보다 높거나 낮은 특징을 판단하고, 상기 판단된 특징에 대응하는 모수를 상향 조정하거나 하향 조정하는, 검색서버에서 수행되는 검색 방법.
  4. 제3항에 있어서,
    상기 검색 만족도는 CTR(Click-Through Rate), VTR(View-Through Rate) 중 적어도 하나를 포함하는, 검색 방법.
  5. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고,
    상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하고,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 중 적어도 하나를 포함하는, 검색서버에서 수행되는 검색 방법.
  6. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 단계;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 단계;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 단계를 포함하고,
    상기 문서 순위 점수를 산출하는 단계는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는 단계를 포함하고,
    상기 복수의 모수 중 적어도 하나를 업데이트하는 단계는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 복수의 웹 문서의 문서 순위 점수를 산출하는 단계는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 중 적어도 하나를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는, 검색서버에서 수행되는 검색 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 업데이트되는 복수의 모수 중 적어도 하나의 변화량은 상기 오차의 그라디언트 및 학습률을 이용하여 결정되는, 검색 방법.
  9. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하며,
    상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하는 것을 특징으로 하는, 검색 서버.
  10. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하고,
    상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 검색 순위부는 복수의 사용자를 포함하는 사용자 그룹 또는 복수의 검색어를 포함하는 검색어 그룹에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하는, 검색 서버.
  11. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하고,
    상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 특징 중 검색 만족도가 기준 값보다 높거나 낮은 특징을 판단하고, 상기 판단된 특징에 대응하는 모수를 상향 조정하거나 하향 조정하는, 검색 서버.
  12. 제11항에 있어서,
    상기 검색 만족도는 CTR(Click-Through Rate), VTR(View-Through Rate) 중 적어도 하나를 포함하는, 검색 서버.
  13. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하고,
    상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 복수의 특징은 최신성(freshness), 유사성(similarity), 품질(quality), 검색 로그(search log) 중 적어도 하나를 포함하는, 검색 서버.
  14. 사용자 단말기로부터 적어도 하나의 검색어를 포함하는 검색 요청을 수신하는 검색 요청 수신부;
    상기 검색 요청에 응답하여 상기 적어도 하나의 검색어에 관련된 복수의 웹 문서를 검색하는 정보 검색부;
    각각의 웹 문서의 복수의 특징(feature) 및 상기 복수의 특징에 각각 대응하는 복수의 모수(parameter)를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는 검색 순위부; 및
    상기 문서 순위 점수에 따라 상기 사용자 단말기에 검색 결과를 제공하는 검색 결과 제공부를 포함하고,
    상기 검색 순위부는 상기 사용자 또는 상기 적어도 하나의 검색어에 따라 상기 복수의 모수 중 적어도 하나를 업데이트하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하고,
    상기 검색 순위부는 상기 복수의 웹 문서의 과거 문서 순위 점수와 검색 만족도의 오차를 이용하여 상기 복수의 모수 중 적어도 하나를 업데이트하며,
    상기 검색 순위부는 Pointwise 접근법, Pairwise 접근법, Listwise 접근법 중 적어도 하나를 이용하여 상기 복수의 웹 문서의 문서 순위 점수를 산출하는, 검색 서버.
  15. 삭제
  16. 제9항에 있어서,
    상기 업데이트되는 복수의 모수 중 적어도 하나의 변화량은 상기 오차의 그라디언트 및 학습률을 이용하여 결정되는, 검색 서버.
KR1020150007547A 2015-01-15 2015-01-15 검색 방법 및 검색 서버 KR101649146B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150007547A KR101649146B1 (ko) 2015-01-15 2015-01-15 검색 방법 및 검색 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150007547A KR101649146B1 (ko) 2015-01-15 2015-01-15 검색 방법 및 검색 서버

Publications (2)

Publication Number Publication Date
KR20160088503A KR20160088503A (ko) 2016-07-26
KR101649146B1 true KR101649146B1 (ko) 2016-08-19

Family

ID=56680765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150007547A KR101649146B1 (ko) 2015-01-15 2015-01-15 검색 방법 및 검색 서버

Country Status (1)

Country Link
KR (1) KR101649146B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114418568A (zh) * 2018-04-02 2022-04-29 创新先进技术有限公司 一种支付方式推荐方法、装置及设备
KR102452777B1 (ko) * 2019-11-28 2022-10-07 미쓰비시덴키 가부시키가이샤 정보 처리 장치, 정보 처리 방법, 및 기록 매체
KR102147999B1 (ko) * 2020-01-14 2020-08-25 주식회사 미디어윌 부동산 정보를 제공하기 위한 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100923505B1 (ko) 2007-04-30 2009-11-02 주식회사 이스트엠엔에스 사용자 관심도를 반영한 정보검색 랭킹 시스템 및 그 방법
US9495460B2 (en) * 2009-05-27 2016-11-15 Microsoft Technology Licensing, Llc Merging search results
KR101072691B1 (ko) * 2009-07-23 2011-10-11 포항공과대학교 산학협력단 연관성 피드백을 이용한 데이터베이스 검색 방법 및 이를 수행하는 프로그램을 기록한 기록매체
KR101061201B1 (ko) * 2009-09-03 2011-08-31 주식회사 다음커뮤니케이션 검색 랭킹 모델 시뮬레이션 시스템 및 그 방법
KR101120641B1 (ko) * 2010-06-10 2012-03-16 주식회사 다음커뮤니케이션 검색 서비스 제공 장치 및 검색 서비스 제공 방법

Also Published As

Publication number Publication date
KR20160088503A (ko) 2016-07-26

Similar Documents

Publication Publication Date Title
US10515424B2 (en) Machine learned query generation on inverted indices
RU2696230C2 (ru) Поиск, основанный на комбинировании пользовательских данных отношений
JP5984917B2 (ja) 提案される語を提供するための方法および装置
US8751511B2 (en) Ranking of search results based on microblog data
TWI636416B (zh) 內容個人化之多相排序方法和系統
US9720913B1 (en) Automatic generation of snippets based on context and user interest
US9501575B2 (en) Search result ranker
US8762326B1 (en) Personalized hot topics
US9953049B1 (en) Producing a ranking for pages using distances in a web-link graph
US8631002B2 (en) Web-relevance based query classification
US9594809B2 (en) System and method for compiling search results using information regarding length of time users spend interacting with individual search results
JP2012069171A (ja) 階層を考慮したウェブページのランク付け
CA2861898C (en) Download resource recommendation method, system and storage medium
US20030101286A1 (en) Inferring relations between internet objects
US8732165B1 (en) Automatic determination of whether a document includes an image gallery
US20100257169A1 (en) Method and system for generating search collection of query
US20120158710A1 (en) Multi-tiered information retrieval training
US10007732B2 (en) Ranking content items based on preference scores
KR101649146B1 (ko) 검색 방법 및 검색 서버
KR20190058086A (ko) 행복큐레이션 서비스 기반 문화 생활 추천 방법 및 시스템
KR101621735B1 (ko) 추천 검색어 제공 방법 및 시스템
KR100682552B1 (ko) 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는시스템, 장치, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을수 있는 기록 매체
JP5820784B2 (ja) 検索結果出力装置、検索結果出力方法及びプログラム
JP5803912B2 (ja) 情報提供装置、システム、方法、及びプログラム
JP5813559B2 (ja) 検索条件提示装置、方法、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190329

Year of fee payment: 6