KR20200081565A - Apparatus and method for providing a searching service - Google Patents

Apparatus and method for providing a searching service Download PDF

Info

Publication number
KR20200081565A
KR20200081565A KR1020180170342A KR20180170342A KR20200081565A KR 20200081565 A KR20200081565 A KR 20200081565A KR 1020180170342 A KR1020180170342 A KR 1020180170342A KR 20180170342 A KR20180170342 A KR 20180170342A KR 20200081565 A KR20200081565 A KR 20200081565A
Authority
KR
South Korea
Prior art keywords
search
keyword
frequency
document
user
Prior art date
Application number
KR1020180170342A
Other languages
Korean (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 KR1020180170342A priority Critical patent/KR20200081565A/en
Publication of KR20200081565A publication Critical patent/KR20200081565A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to a search service providing device for providing search results which improved search ranking based on a user log and to a method thereof. According to one embodiment of the present invention, the search service providing device comprises: a setting unit which sets weights for incoming keywords and stores the weights in a database by using a search frequency and an occurrence frequency of incoming keywords included in each document based on the user log; a processing unit which extracts a plurality of documents matching the search keyword input by the user from the database, and calculates a sum of weights in accordance with the number of incoming keywords which are the same as the search keyword in the document; and a providing unit which provides a search result obtained by arranging documents in an order in which the sum of weights is high.

Description

검색 서비스 제공 장치 및 방법{APPARATUS AND METHOD FOR PROVIDING A SEARCHING SERVICE}Search service providing device and method {APPARATUS AND METHOD FOR PROVIDING A SEARCHING SERVICE}

본 발명은 사용자 로그를 기반으로 검색 랭킹을 개선한 검색 결과를 제공하는 검색 서비스 제공 장치 및 방법에 관한 것이다.The present invention relates to a search service providing apparatus and method for providing search results with improved search ranking based on user logs.

검색 모델링을 통해 검색 랭킹을 튜닝할 때 수많은 작업이 필요하다. 하나의 랭킹 모델을 통해 전체 의도를 대응하기는 매우 어려우며, 이를 위해 각 의도에 맞는 랭킹 모델을 상세히 설계해야 하며, 이마저도 시간이 지남에 따라 트렌드와 사용자들의 의도는 조금씩 변해가므로 많은 유지 보수 노력이 필요하게 된다. 또한 지도 검색과 같이 길이가 짧은 상호명, 주소명과 같은 경우, 상대적으로 단어의 가중치가 검색 랭킹에 많은 영향을 미친다.Tuning search rankings through search modeling requires a lot of work. It is very difficult to respond to the entire intention through a single ranking model, and for this purpose, it is necessary to design a ranking model that fits each intention, and even this tends to change little by little over time, so it requires a lot of maintenance effort. Is done. In addition, in the case of a short name such as a map search or a short name, the weight of words has a large influence on the search ranking.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-mentioned background technology is technical information acquired by the inventor for the derivation of the present invention or acquired in the derivation process of the present invention, and is not necessarily a known technology disclosed to the general public prior to the filing of the present invention.

국내 공개특허공보 제2018-0027278호Domestic Patent Publication No. 2018-0027278

본 발명은 전술한 문제점 및/또는 한계를 해결하기 위해 안출된 것으로, 일 측면에 따른 본 발명의 목적은 사용자 로그를 기반으로 검색 랭킹을 개선한 검색 결과를 제공하는데 있다.The present invention has been devised to solve the problems and/or limitations described above, and an object of the present invention according to an aspect is to provide a search result with improved search ranking based on a user log.

본 발명의 일 실시 예에 따른 검색 서비스 제공 장치는, 사용자 로그를 기반으로 다큐먼트 각각의 검색 빈도와 상기 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 상기 유입 키워드에 가중치를 설정하여 데이터베이스에 저장하는 설정부; 상기 데이터베이스로부터 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 상기 다큐먼트 내에서 상기 검색 키워드와 동일한 상기 유입 키워드의 개수에 따른 가중치의 합을 산출하는 처리부; 및 상기 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 제공하는 제공부;를 포함할 수 있다.The apparatus for providing a search service according to an embodiment of the present invention sets a weight in the keyword by using the search frequency of each document based on the user log and the frequency of occurrence of the incoming keyword included in each of the documents, and sets the weight in the keyword. A setting unit for storing; A processing unit for extracting a plurality of documents matching the search keyword input by the user from the database, and calculating a sum of weights according to the number of the incoming keywords equal to the search keyword in the document; And a providing unit that provides a search result in which the documents are sorted in the order in which the sum of the weights is high.

상기 설정부는, 상기 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출하고, 상기 다큐먼트의 검색 빈도와 상기 유입 확률값을 곱하여 상기 유입 키워드별 가중치를 산출하고 상기 가중치를 상기 유입 키워드에 설정할 수 있다.The setting unit may calculate an inflow probability value using a softmax function to the frequency of occurrence of the inflow keyword, multiply the search frequency of the document and the inflow probability value to calculate the weight for each inflow keyword, and set the weight to the inflow keyword have.

상기 처리부는, 상기 사용자가 입력한 검색 키워드에 대한 형태소 분석 후 하나 이상의 유의미한 단어를 추출할 수 있다.The processing unit may extract one or more meaningful words after morpheme analysis of the search keyword input by the user.

본 발명의 일 실시 예에 따른 검색 서비스 제공 방법은, 설정부에 의해, 사용자 로그를 기반으로 다큐먼트 각각의 검색 빈도와 상기 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 상기 유입 키워드에 가중치를 설정하여 데이터베이스에 저장하는 단계; 처리부에 의해, 상기 데이터베이스로부터 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 상기 다큐먼트 내에서 상기 검색 키워드와 동일한 상기 유입 키워드의 개수에 따른 가중치의 합을 산출하는 단계; 및 제공부에 의해, 상기 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 제공하는 단계;를 포함할 수 있다.The method for providing a search service according to an embodiment of the present invention, by a setting unit, uses a search frequency of each document based on a user log and a frequency of appearance of an incoming keyword included in each of the documents, to weight the incoming keyword Setting and storing in a database; Extracting, by the processing unit, a plurality of documents matching the search keyword input by the user from the database, and calculating a sum of weights according to the number of the inflow keywords equal to the search keyword in the document; And providing a search result obtained by arranging the documents in the order in which the sum of the weights is high by the providing unit.

상기 방법은, 상기 설정부에 의해, 상기 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출하고, 상기 다큐먼트의 검색 빈도와 상기 유입 확률값을 곱하여 상기 유입 키워드별 상기 가중치를 산출하는 단계;를 더 포함할 수 있다.The method includes: calculating, by the setting unit, an inflow probability value using a softmax function to the frequency of occurrence of the inflow keyword, and multiplying the search frequency of the document and the inflow probability value to calculate the weight for each inflow keyword; It may further include.

상기 방법은, 상기 처리부에 의해, 상기 사용자가 입력한 검색 키워드에 대한 형태소 분석 후 하나 이상의 유의미한 단어를 추출하는 단계;를 더 포함할 수 있다.The method may further include, by the processing unit, extracting one or more meaningful words after morpheme analysis of the search keyword input by the user.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 더 제공될 수 있다.In addition to this, other methods for implementing the present invention, other systems, and computer programs for executing the methods may be further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims and detailed description of the invention.

실시 예들에 따르면, 사용자 로그를 기반으로 검색 랭킹을 개선한 검색 결과를 제공하여 사용자가 좀더 정확한 검색 결과를 확인할 수 있다.According to embodiments, a user can check a more accurate search result by providing a search result with improved search ranking based on a user log.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시 예에 따른 검색 서비스 제공 시스템을 개략적으로 설명하기 위하여 도시한 도면이다.
도 2는 도 1의 검색 서비스 제공 시스템 중 검색 서비스 제공 장치의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다.
도 3 및 도 4는 본 발명의 일 실시 예에 따른 검색 서비스 제공 방법을 설명하기 위한 흐름도이다.
1 is a view schematically illustrating a search service providing system according to an embodiment of the present invention.
FIG. 2 is a diagram schematically illustrating a detailed configuration of a search service providing device among the search service providing systems of FIG. 1.
3 and 4 are flowcharts illustrating a method for providing a search service according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments presented below, but may be implemented in various different forms, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. . The embodiments presented below are provided to complete the disclosure of the present invention and to fully inform the scope of the invention to those skilled in the art to which the present invention pertains. In the description of the present invention, when it is determined that a detailed description of related known technologies may obscure the subject matter of the present invention, the detailed description will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described herein, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance. Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components.

이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings, and in describing with reference to the accompanying drawings, identical or corresponding components are assigned the same reference numbers, and redundant description thereof is omitted. I will do it.

도 1은 본 발명의 일 실시 예에 따른 검색 서비스 제공 시스템을 개략적으로 설명하기 위하여 도시한 도면이다. 도 1을 참조하면 검색 서비스 제공 시스템(1)은 사용자 단말기(100), 검색 서비스 제공 장치(200) 및 통신망(300)을 포함할 수 있다.1 is a view schematically illustrating a search service providing system according to an embodiment of the present invention. Referring to FIG. 1, the search service providing system 1 may include a user terminal 100, a search service providing device 200, and a communication network 300.

사용자 단말기(100)는 검색 서비스 제공 장치(200)에 접속하여 처리한 일련의 정보로서의 사용자 로그를 생성할 수 있다. 여기서 사용자 로그는 검색어 입력과 같은 검색 로그와, 문서, 웹페이지, 컨텐츠(이미지, 동영상, 텍스트 등) 등의 열람과 같은 인터넷 사용자 로그를 포함할 수 있다. 이하, 문서, 웹페이지, 컨텐츠를 다큐먼트라 표기하기로 한다. 이러한 사용자 로그는 검색어 입력 히스토리 정보(예를 들어, 과거 입력한 검색어 종류와, 일정 시간 반복 입력한 검색어의 횟수와, 검색어를 입력한 시간 등)와, 사용자가 열람한 인터넷 다큐먼트 정보(예를 들어, 사용자가 다큐먼트를 열람한 시간, 열람한 다큐먼트에 포함된 키워드, 다큐먼트의 검색 빈도, 다큐먼트의 검색 빈도에 의해 설정된 선호 다큐먼트, 비선호 다큐먼트 등) 등을 포함할 수 있다. 본 실시 예에서 사용자 단말기(100)는 검색결과를 제공받기 위해 검색 서비스 제공 장치(200)가 제공하는 검색 서비스 어플리케이션 또는 프로그램을 탑재하고 실행할 수 있다.The user terminal 100 may generate a user log as a series of information processed by accessing the search service providing apparatus 200. Here, the user log may include a search log such as entering a search term, and an internet user log such as viewing documents, web pages, content (images, videos, texts, etc.). Hereinafter, documents, web pages, and contents will be referred to as documents. The user log includes search term input history information (for example, the type of search terms entered in the past, the number of search terms entered repeatedly over a period of time, the time at which the search terms were entered, etc.), and Internet document information viewed by the user (for example, , The time the user viewed the document, the keywords included in the document read, the search frequency of the document, the preferred document set by the search frequency of the document, non-preferred document, etc.). In this embodiment, the user terminal 100 may mount and execute a search service application or program provided by the search service providing apparatus 200 in order to receive search results.

이러한 사용자 단말기(도 1의 100)는 사용자가 조작하는 데스크 탑 컴퓨터(도 1의 101), 스마트폰(도 1의 102), 노트북(도 1의 103), 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(100)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 또한 사용자 단말기(100)는 목적지까지의 주행 경로를 생성하여 제공하는 네비게이션 단말기 일 수 있다. 본 실시 예에서, 사용자 단말기(100)가 네비게이션 단말기인 경우, 차량의 위치를 결정하는 GPS 수신부(미도시)와, 지도 DB(미도시)와, 목적지까지의 주행경로를 디스플레이 하는 디스플레이부(미도시) 및 주행경로를 음성으로 안내하는 음성 안내부(미도시)를 포함할 수 있고, 검색어는 목적지 일 수 있으며, 다큐먼트는 목적지 입력 시에 검색 결과로 제공받는 목적지의 위치 정보를 포함할 수 있다. 사용자 단말기(100)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.The user terminal (100 in FIG. 1) is a desktop computer (101 in FIG. 1) operated by a user, a smartphone (102 in FIG. 1), a laptop (103 in FIG. 1), a tablet PC, a smart TV, a mobile phone, a PDA (personal digital assistant), laptops, media players, micro servers, global positioning system (GPS) devices, e-book terminals, digital broadcasting terminals, navigation, kiosks, MP3 players, digital cameras, consumer electronics and other mobile or non-mobile computing devices It may be, but is not limited thereto. Further, the user terminal 100 may be a wearable terminal such as a watch, glasses, hair band, and ring equipped with a communication function and a data processing function. In addition, the user terminal 100 may be a navigation terminal that generates and provides a driving route to a destination. In this embodiment, when the user terminal 100 is a navigation terminal, a GPS receiver (not shown) for determining the location of the vehicle, a map DB (not shown), and a display unit for displaying the driving route to the destination (not shown) City) and a voice guidance unit (not shown) for guiding the driving route by voice, a search word may be a destination, and a document may include location information of a destination provided as a search result when entering a destination. . The user terminal 100 is not limited to the above, and a terminal capable of web browsing can be borrowed without limitation.

검색 서비스 제공 장치(200)는 사용자 단말기(100)로부터 사용자 로그를 수집하고, 사용자 로그 기반으로 수집한 다큐먼트 각각의 검색 빈도와 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 유입 키워드에 가중치를 설정하여 내부에 저장할 수 있다.The search service providing apparatus 200 collects user logs from the user terminal 100 and uses the search frequency of each document collected based on the user log and the frequency of appearance of the incoming keywords included in each of the documents, and weights the incoming keywords You can set it and save it inside.

또한 검색 서비스 제공 장치(200)는 사용자 단말기(100)를 이용하여 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 다큐먼트 내에서 검색 키워드와 동일한 유입 키워드의 개수에 따른 가중치의 합을 산출하며, 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 사용자 단말기(100)에 제공할 수 있다.In addition, the search service providing apparatus 200 uses the user terminal 100 to extract a plurality of documents matching the search keyword input by the user, and sums the weights according to the number of incoming keywords equal to the search keyword in the document Calculation, and the search results obtained by arranging the documents in the order of the highest sum of weights may be provided to the user terminal 100.

통신망(300)은 사용자 단말기(100)와 검색 서비스 제공 장치(200)를 연결하는 역할을 수행한다. 즉, 통신망(300)은 사용자 단말기(100)가 검색 서비스 제공 장치(200)에 접속한 후 소정의 정보 송수신할 수 있도록 접속 경로를 제공하는 통신망을 의미할 수 있다. 통신망(300)은 예컨대 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 통신망(300)은 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.The communication network 300 serves to connect the user terminal 100 and the search service providing device 200. That is, the communication network 300 may mean a communication network that provides a connection path so that the user terminal 100 can transmit and receive predetermined information after accessing the search service providing device 200. The communication network 300 includes, for example, wired networks such as Local Area Networks (LANs), Wide Area Networks (WANs), Metropolitan Area Networks (MANs), and Integrated Service Digital Networks (ISDNs), wireless LANs, CDMA, Bluetooth, satellite communication, etc. It may cover a wireless network, but the scope of the present invention is not limited thereto. Also, the communication network 300 may transmit and receive information using short-range communication and/or long-distance communication. Here, the short-range communication may include Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee, Wi-Fi (wireless fidelity) technology, and remote Communication includes code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA), and single carrier frequency division multiple access (SC-FDMA) technology. Can be.

도 2는 도 1의 검색 서비스 제공 시스템 중 검색 서비스 제공 장치의 상세 구성을 개략적으로 설명하기 위하여 도시한 도면이다. 도 2를 참조하면, 검색 서비스 제공 장치(200)는 통신부(210), 데이터베이스(220), 수집부(230), 설정부(240), 처리부(250), 제공부(260) 및 제어부(270)를 포함할 수 있다.FIG. 2 is a diagram schematically illustrating a detailed configuration of a search service providing device among the search service providing systems of FIG. 1. Referring to FIG. 2, the search service providing apparatus 200 includes a communication unit 210, a database 220, a collection unit 230, a setting unit 240, a processing unit 250, a provision unit 260, and a control unit 270 ).

통신부(210)는 통신망(300)과 연동하여 사용자 단말기(100)와 검색 서비스 제공 장치(200) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 나아가, 통신부(210)는 사용자 단말기(100)로부터 사용자 로그 및/또는 검색어를 수신하는 역할을 할 수 있고, 검색 서비스 제공 장치(200)가 처리한 검색 결과를 사용자 단말기(100)로 전송하는 역할을 수행할 수 있다. 여기서 통신망이라 함은, 사용자 단말기(100)와 검색 서비스 제공 장치(200)를 연결하는 역할을 수행하는 매개체로써, 사용자 단말기(100)가 검색 서비스 제공 장치(200)에 접속한 후 정보를 송수신할 수 있도록 접속 경로를 제공하는 경로를 포함할 수 있다. 또한 통신부(210)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication unit 210 may provide a communication interface necessary to provide a transmission/reception signal between the user terminal 100 and the search service providing device 200 in packet data form in conjunction with the communication network 300. Furthermore, the communication unit 210 may serve to receive a user log and/or search word from the user terminal 100, and transmit the search results processed by the search service providing apparatus 200 to the user terminal 100 You can do Here, the communication network is a medium that plays a role of connecting the user terminal 100 and the search service providing device 200, and transmits and receives information after the user terminal 100 accesses the search service providing device 200. It may include a path to provide a connection path. Also, the communication unit 210 may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal through a wired or wireless connection with another network device.

데이터베이스(220)는 사용자 정보를 저장하는 유저 데이터베이스를 포함할 수 있다. 여기서, 사용자 정보는 제1 및 제2 사용자의 이름, 소속, 인적 사항, 성별, 나이, 연락처, 이메일, 주소 등 사용자에 대한 기본적인 정보와, 아이디(ID) (또는 이메일) 및 패스워드(password) 등 인증(로그인)에 대한 정보, 접속 국가, 접속 위치, 접속에 이용한 장치에 대한 정보, 접속된 네트워크 환경 등 접속과 관련된 정보 등을 포함할 수 있다. The database 220 may include a user database that stores user information. Here, the user information includes basic information about the user such as first, second user's name, affiliation, personal information, gender, age, contact information, email, address, and ID (or email) and password (password). It may include information on authentication (login), access country, access location, information on a device used for access, information related to access such as a connected network environment, and the like.

또한 유저 데이터베이스에는 사용자의 고유정보, 검색 서비스 어플리케이션 또는 검색 서비스 사이트에 접속한 사용자가 제공받은 정보 및/또는 카테고리 이력, 사용자가 설정한 환경 설정 정보, 사용자가 이용한 자원 사용량 정보, 사용자의 자원 사용량에 대응한 과금 및 결제 정보가 저장될 수 있다. 또한 유저 데이터베이스에는 검색 로그 및 인터넷 사용자 로그를 포함하는 사용자 로그가 저장될 수 있다.In addition, the user database includes user-specific information, information and/or category history provided by a user accessing a search service application or a search service site, environment setting information set by the user, resource usage information used by the user, and resource usage of the user. Corresponding billing and payment information may be stored. In addition, a user log including a search log and an internet user log may be stored in the user database.

또한 데이터베이스(220)는 사용자 로그를 기반으로 하여 다큐먼트 별 유입 키워드에 가중치가 설정되어 저장되는 유입 키워드 데이터베이스와, 사용자 로그를 기반으로 하여 다큐먼트별 검색 빈도를 산출하여 저장하는 다큐먼트 데이터베이스와, 검색 서비스를 제공하는 일련의 정보가 저장된 검색 서비스 데이터베이스를 더 포함할 수 있다.In addition, the database 220 includes an inflow keyword database in which weights are set and stored in the inflow keywords for each document based on the user log, a document database for calculating and storing the search frequency for each document based on the user log, and a search service. The search service database may store a series of information provided.

수집부(230)는 사용자 단말기(100)로부터 사용자 정보와 사용자 로그 정보를 수집하여 데이터베이스(220)에 저장할 수 있다. 상술한 바와 같이, 사용자 로그는 검색어 입력과 같은 검색 로그와, 다큐먼트의 열람과 같은 인터넷 사용자 로그를 포함할 수 있다. 이러한 사용자 로그는 검색어 입력 히스토리 정보(예를 들어, 과거 입력한 검색어 종류와, 일정 시간 반복 입력한 검색어의 횟수와, 검색어를 입력한 시간 등)와, 사용자가 열람한 인터넷 다큐먼트 정보(예를 들어, 사용자가 다큐먼트를 열람한 시간, 열람한 다큐먼트에 포함된 키워드, 다큐먼트의 검색 빈도, 다큐먼트의 검색 빈도에 의해 설정된 선호 다큐먼트, 비선호 다큐먼트 등) 등을 포함할 수 있다.The collection unit 230 may collect user information and user log information from the user terminal 100 and store it in the database 220. As described above, the user log may include a search log such as inputting a search term and an internet user log such as viewing a document. The user log includes search term input history information (for example, the type of search terms entered in the past, the number of search terms entered repeatedly over a period of time, the time at which the search terms were entered, etc.), and Internet document information viewed by the user (for example, , The time the user viewed the document, the keywords included in the document read, the search frequency of the document, the preferred document set by the search frequency of the document, non-preferred document, etc.).

설정부(240)는 사용자 로그를 기반으로 수집한 다큐먼트 각각의 검색 빈도와 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 유입 키워드에 가중치를 설정하여 데이터베이스(220)에 저장할 수 있다. 여기서 유입 키워드는 다큐먼트의 형태소 분석을 통한 의미있는 단어와 사용자 로그에 포함된 과거 검색한 적이 있는 검색 키워드 중 하나 이상을 포함할 수 있다.The setting unit 240 may set the weight of the incoming keyword and store it in the database 220 by using the search frequency of each document collected based on the user log and the appearance frequency of the incoming keyword included in each of the documents. Here, the incoming keyword may include meaningful words through morphological analysis of the document and one or more of search keywords that have been searched in the user log.

설정부(240)는 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출할 수 있다. softmax 함수는 클래스 분류를 위하여 출력값에 대해 정규화를 해주는 함수로, 출력은 양수 값을 가지며 총 합이 1이 되는 특징이 있다. 설정부(240)는 다큐먼트의 검색 빈도와 유입 확률값을 곱하여 유입 키워드별 가중치를 산출하고 가중치를 상기 유입 키워드에 부여한 후 데이터베이스(220)에 저장할 수 있다. 여기서 다큐먼트의 검색 빈도는, 각 다큐먼트의 검색 빈도를 총 검색 빈도로 정규화 하여 산출할 수 있다.The setting unit 240 may calculate an inflow probability value using a softmax function for the frequency of occurrence of the inflow keyword. The softmax function is a function that normalizes the output value for class classification. The output has a positive value and has a total sum of 1. The setting unit 240 may calculate a weight for each inflow keyword by multiplying a search frequency of the document and an inflow probability value, and assign the weight to the inflow keyword and store it in the database 220. Here, the search frequency of the document can be calculated by normalizing the search frequency of each document to the total search frequency.

처리부(250)는 사용자 단말기(100)로부터 검색 키워드를 수신하며, 데이터베이스(220)로부터 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 복수의 다큐먼트 내에서 검색 키워드와 동일한 유입 키워드에 부여된 가중치를 추출하고, 유입 키워드의 개수에 따른 가중치의 합을 산출할 수 있다.The processing unit 250 receives the search keyword from the user terminal 100, extracts a plurality of documents matching the search keyword from the database 220, and weights the weight assigned to the same inflow keyword as the search keyword in the plurality of documents. It can extract and calculate the sum of weights according to the number of inflow keywords.

본 실시 예에서, 처리부(250)는 검색 키워드의 형태소 분석을 통하여 유의미한 단어를 분석해 내고, 데이터베이스(220)로부터 유의미한 단어와 매칭하는 복수의 다큐먼트를 추출하고, 복수의 다큐먼트 내에서 유의미한 단어와 동일한 유입 키워드에 부여된 가중치를 추출하고, 유입 키워드의 개수에 따른 가중치의 합을 산출할 수 있다.In the present embodiment, the processing unit 250 analyzes a meaningful word through morpheme analysis of a search keyword, extracts a plurality of documents matching the meaningful word from the database 220, and inflows the same as a meaningful word in the plurality of documents It is possible to extract weights assigned to keywords and calculate sums of weights according to the number of keywords.

제공부(260)는 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 사용자 단말기(100)로 제공할 수 있다.The providing unit 260 may provide the user terminal 100 with search results in which the documents are sorted in the order of the highest sum of the weights.

예를 들어, 전체 10000개의 다큐먼트 중 명칭이 <해운대>인 식당과, 명칭이 <해운대해수욕장>인 다큐먼트가 있다고 가정하기로 한다. 각각의 다큐먼트는 형태소 분석에 의해 각각 <해운대>와 <해운대/해수욕장/해운대해수욕장>의 단어가 추출된다고 가정한다. 또한, <해운대> 식당과 <해운대해수욕장> 모두 <해운대>라는 단어가 1번 출현했으며, 전체 다큐먼트에서 <해운대>의 역문서 출현빈도인 IDF(inverse document frequency)는 같은 값을 공유하므로 각각 1로 설정한다고 가정한다. 공지 기술로서의 BM25 가중치 모델 간소화 하여 (TF(term frequency)*IDF)/Length 값으로 가중치를 산정 한다고 했을 때, <해운대> 식당의 경우, (1*1)/1 수식에 의해 <해운대>라는 단어는 1의 가중치를 갖는다. <해운대해수욕장>의 경우 (1*1)/3 수식에 의해 <해운대>라는 단어는 0.333의 가중치를 갖는다. 이러한 상황에서 사용자의 <해운대>라는 검색 키워드 입력에 의해 <해운대해수욕장>보다 <해운대> 식당이 더 유리한 랭킹을 가진다. For example, suppose that among 10000 documents, there is a restaurant named <Haeundae> and a document named <Haeundae Beach>. It is assumed that each document extracts the words <Haeundae> and <Haeundae/Beach/Haeundae Beach> by morpheme analysis, respectively. In addition, the words <Haeundae> appeared in both the Haeundae restaurant and the Haeundae beach once, and the IDF (inverse document frequency), the frequency of occurrence of reverse documents in <Haeundae> in the entire document, shared the same value, so each was set to 1. Suppose you set Simplified BM25 weight model as a known technology, and the weight is calculated using the (TF(term frequency)*IDF)/Length value.In the case of <Haeundae> restaurant, the word <Haeundae> by (1*1)/1 formula Has a weight of 1. In the case of <Haeundae Beach>, the word <Haeundae> has a weight of 0.333 by the (1*1)/3 formula. In this situation, the restaurant <Haeundae> has a more favorable ranking than <Haeundae Beach> by the user entering the search keyword <Haeundae>.

그러나 본 실시 예에서 제시하는 방법인 사용자 유입키워드 분석 모델을 적용하고자, 사용자들이 <해운대>라는 검색 키워드로 <해운대> 식당에 대해서는 10번의 검색을 수행했고, <해운대해수욕장>은 15번의 검색을 수행했고 <해운대해수욕장>이라는 전체 명칭 키워드에 대해 5번의 검색을 수행했다고 가정하자. Softmax 함수를 적용했을 때, <해운대>라는 식당에서 <해운대> 키워드는 전체 10번 검색 중 10번 모두 <해운대>라는 키워드로 검색하였으므로 10/10 에 의해 1의 유입 확률값을 가진다. 그러나 <해운대해수욕장>의 경우 전체 20번의 검색 중 15번의 검색이 <해운대> 키워드를 통했으므로 15/20 에 의해 0.75의 유입 확률값을 가진다. 또한, 다큐먼트의 검색 빈도는, 각 다큐먼트의 검색 빈도를 총 검색빈도로 정규화 하여 산출하므로, <해운대> 식당은 10/30으로 0.333의 가중치를 갖고, <해운대해수욕장>은 0.666 가중치를 가진다. 검색어 <해운대>에 대해서 최종적으로 <해운대> 식당은 0.333*1.0=0.333의 가중치를 갖고, <해운대해수욕장>은 0.666*0.75=0.4995의 가중치를 가지게 되어, <해운대해수욕장>이 보다 유리한 랭킹 값을 가질 수 있다. However, in order to apply the user inflow keyword analysis model, which is the method presented in this embodiment, users performed 10 searches for the restaurant <Haeundae> with the search keyword <Haeundae>, and performed 15 searches for <Haeundae Beach>. Suppose that you have performed 5 searches for the full name keyword <Haeundae Beach>. When the Softmax function was applied, the keyword <Haeundae> in the restaurant <Haeundae> was searched with the keyword <Haeundae> in all 10 times out of 10 searches, so it has an inflow probability value of 10/10. However, in the case of <Haeundae Beach>, since 15 of the 20 searches were through the <Haeundae> keyword, the probability of inflow was 0.75 by 15/20. In addition, since the search frequency of the document is calculated by normalizing the search frequency of each document to the total search frequency, the <Haeundae> restaurant has a weight of 0.333 as 10/30, and the <Haeundae Beach> has a weight of 0.666. For the search term <Haeundae>, finally, <Haeundae> Restaurant has a weight of 0.333*1.0=0.333, <Haeundae Beach> has a weight of 0.666*0.75=0.4995, so <Haeundae Beach> has a more favorable ranking value. Can.

상술한 모델은, 검색 빈도와 각 다큐먼트 내의 유입 키워드 가중치를 모두 활용하므로, 반대 상황에서 <해수욕장>이라는 검색 키워드를 입력하여 검색 질의 시에, 검색 빈도가 높은 <해운대해수욕장>이 상술한 <해운대> 식당과 동일한 조건의 <해수욕장>이라는 이름의 식당보다 유리한 랭킹값(0.666*0.25=0.1665)을 가지는 상황을 방지할 수 있다.Since the above-described model utilizes both the search frequency and the weight of the inflow keyword in each document, in the opposite situation, the <Haeundae Beach> described above is the <Haeundae Beach>, which has a high search frequency, in the search query by entering the search keyword <Sea Beach> in the opposite situation. It is possible to prevent a situation having a ranking value (0.666*0.25=0.1665) that is more favorable than a restaurant named <beach> with the same conditions as the restaurant.

제어부(270)는 일종의 중앙처리장치로서 내부에 탑재된 제어 소프트웨어를 구동하고, 사용자 로그를 이용하여 유입 키워드에 가중치를 설정하여 저장하고, 사용자 단말기(100)가 입력한 검색 키워드에 대응하여 검색 결과를 제공하는 등의 다양한 기능을 제공할 수 있다. 여기서, 제어부(270)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The control unit 270 is a kind of central processing unit, which drives the control software installed therein, sets and stores the weight of the incoming keyword using the user log, and stores the search result in response to the search keyword input by the user terminal 100 It can provide a variety of functions, such as providing. Here, the control unit 270 may include all types of devices capable of processing data, such as a processor. Here, the'processor (processor)', for example, may mean a data processing device embedded in hardware having physically structured circuits to perform functions represented by codes or instructions included in a program. As an example of such a data processing device embedded in hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated ASIC circuit, a field programmable gate array (FPGA), and the like, but the scope of the present invention is not limited thereto.

도 3은 본 발명의 일 실시 예에 따른 검색 서비스 제공 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 및 도 2에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.3 is a flowchart illustrating a search service providing method according to an embodiment of the present invention. In the following description, portions overlapping with the descriptions of FIGS. 1 and 2 will be omitted.

도 3을 참조하면, S100단계에서, 검색 서비스 제공 장치(200)는 사용자 단말기(100)로부터 수집한 사용자 로그를 기반으로 다큐먼트에 포함된 유입 키워드에 가중치를 설정하여 데이터베이스에 저장한다.Referring to FIG. 3, in step S100, the search service providing apparatus 200 sets a weight for the inflow keyword included in the document and stores it in a database based on the user log collected from the user terminal 100.

도 4는 도 3의 검색 서비스 제공 방법 중 유입 키워드에 가중치를 설정하여 데이터베이스에 저장하는 방법을 설명하기 위한 흐름도로서, S110단계에서, 검색 서비스 제공 장치(200)는 사용자 단말기(100)로부터 수집한 사용자 로그를 기반으로 다큐먼트의 검색 빈도 산출한다. 여기서 다큐먼트의 검색 빈도는, 각 다큐먼트의 검색 빈도를 총 검색 빈도로 정규화 하여 산출할 수 있다.FIG. 4 is a flowchart for explaining a method of setting a weight for an inflow keyword in the search service providing method of FIG. 3 and storing it in a database. In step S110, the search service providing apparatus 200 is collected from the user terminal 100 Calculate the frequency of searching documents based on user logs. Here, the search frequency of the document can be calculated by normalizing the search frequency of each document to the total search frequency.

S120단계에서, 검색 서비스 제공 장치(200)는 다큐먼트 각각에 포함된 유입 키워드를 추출하고, 다큐먼트 내에서 유입 키워드의 출현 빈도 산출한다.In step S120, the search service providing apparatus 200 extracts the incoming keywords included in each of the documents, and calculates the frequency of appearance of the incoming keywords in the document.

S130단계에서, 검색 서비스 제공 장치(200)는 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출한다. 여기서 softmax 함수는 공지기술로서, 상세한 설명은 생략하기로 한다.In step S130, the search service providing apparatus 200 calculates an inflow probability value using a softmax function for the frequency of occurrence of the inflow keyword. Here, the softmax function is a known technique, and detailed description will be omitted.

S140단계에서, 검색 서비스 제공 장치(200)는 다큐먼트의 검색 빈도와 유입 확률값을 곱하여 유입 키워드별 가중치를 산출한다.In step S140, the search service providing apparatus 200 calculates a weight for each inflow keyword by multiplying the search frequency of the document and the inflow probability value.

S150단계에서, 검색 서비스 제공 장치(200)는 유입 키워드에 가중치를 설정하여 데이터베이스에 저장한다.In step S150, the search service providing apparatus 200 sets a weight for the incoming keyword and stores it in the database.

도 3으로 돌아와서, S200단계에서, 검색 서비스 제공 장치(200)는 사용자 단말기(100)로부터 검색 키워드 입력을 수신하면, 데이터베이스로부터 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출한다. 검색 서비스 제공 장치(200)는 검색 키워드의 형태소 분석을 통하여 유의미한 단어를 분석하여, 유의미한 단어와 매칭하는 복수의 다큐먼트를 추출할 수 있다.Returning to FIG. 3, in step S200, the search service providing apparatus 200 receives a search keyword input from the user terminal 100, and extracts a plurality of documents matching the search keyword input by the user from the database. The search service providing apparatus 200 may analyze a meaningful word through morpheme analysis of a search keyword, and extract a plurality of documents matching the meaningful word.

S300단계에서, 검색 서비스 제공 장치(200)는 추출한 다큐먼트 내에서 검색 키워드(또는 유의미한 단어)와 동일한 유입 키워드의 개수에 따른 가중치의 합을 산출한다.In step S300, the search service providing apparatus 200 calculates a sum of weights according to the number of search keywords (or meaningful words) equal to the number of incoming keywords in the extracted document.

S400단계에서, 검색 서비스 제공 장치(200)는 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 사용자 단말기(100)에 제공한다.In step S400, the search service providing apparatus 200 provides the search result in which the documents are arranged in the order of the highest sum of weights, to the user terminal 100.

이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.The embodiment according to the present invention described above may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program can be recorded on a computer-readable medium. At this time, the medium includes a hard disk, a magnetic medium such as a floppy disk and magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, and a ROM. , Hardware devices specially configured to store and execute program instructions, such as RAM, flash memory, and the like.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and available to those skilled in the computer software field. Examples of computer programs may include not only machine language codes produced by a compiler, but also high-level language codes executable by a computer using an interpreter or the like.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. The use of the term "above" in the specification (particularly in the claims) of the present invention and similar indication terms may be in both singular and plural. In addition, in the case of describing a range in the present invention, as including the invention to which the individual values belonging to the range are applied (if there is no contrary description), each individual value constituting the range is described in the detailed description of the invention. Same as

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.Unless explicitly stated or contrary to the steps constituting the method according to the invention, the steps can be done in a suitable order. The present invention is not necessarily limited to the description order of the above steps. The use of all examples or exemplary terms (eg, etc.) in the present invention is merely for describing the present invention in detail, and the scope of the present invention is limited due to the examples or exemplary terms, unless it is defined by the claims. It does not work. In addition, those skilled in the art can recognize that various modifications, combinations, and changes can be configured according to design conditions and factors within the scope of the appended claims or equivalents thereof.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention is not limited to the above-described embodiment, and should not be determined, and the scope of the spirit of the present invention, as well as the claims to be described later, as well as all ranges that are equivalent to or equivalently changed from the claims Would belong to

100: 사용자 단말기
200: 검색 서비스 제공 장치
300: 통신망
100: user terminal
200: search service providing device
300: communication network

Claims (7)

사용자 로그를 기반으로 다큐먼트 각각의 검색 빈도와 상기 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 상기 유입 키워드에 가중치를 설정하여 데이터베이스에 저장하는 설정부;
상기 데이터베이스로부터 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 상기 다큐먼트 내에서 상기 검색 키워드와 동일한 상기 유입 키워드의 개수에 따른 가중치의 합을 산출하는 처리부; 및
상기 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 제공하는 제공부;를 포함하는, 검색 서비스 제공 장치.
A setting unit configured to set a weight for the incoming keyword and store it in a database using a search frequency of each document based on a user log and an appearance frequency of the incoming keyword included in each of the documents;
A processing unit for extracting a plurality of documents matching the search keyword input by the user from the database, and calculating a sum of weights according to the number of the incoming keywords equal to the search keyword in the document; And
And a search unit providing search results in which the documents are sorted in the order in which the sum of the weights is high.
제 1항에 있어서, 상기 설정부는,
상기 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출하고, 상기 다큐먼트의 검색 빈도와 상기 유입 확률값을 곱하여 상기 유입 키워드별 가중치를 산출하고 상기 가중치를 상기 유입 키워드에 설정하는, 검색 서비스 제공 장치.
The method of claim 1, wherein the setting unit,
Providing a search service by calculating the incidence probability value using a softmax function to the frequency of occurrence of the inflow keyword, multiplying the search frequency of the document by the inflow probability value, and calculating the weight for each inflow keyword and setting the weight to the inflow keyword Device.
제 1항에 있어서, 상기 처리부는,
상기 사용자가 입력한 검색 키워드에 대한 형태소 분석 후 하나 이상의 유의미한 단어를 추출하는, 검색 서비스 제공 장치.
The method of claim 1, wherein the processing unit,
A search service providing device that extracts one or more meaningful words after morpheme analysis of the search keyword input by the user.
설정부에 의해, 사용자 로그를 기반으로 다큐먼트 각각의 검색 빈도와 상기 다큐먼트 각각에 포함된 유입 키워드의 출현 빈도를 이용하여, 상기 유입 키워드에 가중치를 설정하여 데이터베이스에 저장하는 단계;
처리부에 의해, 상기 데이터베이스로부터 사용자가 입력한 검색 키워드와 매칭하는 복수의 다큐먼트를 추출하고, 상기 다큐먼트 내에서 상기 검색 키워드와 동일한 상기 유입 키워드의 개수에 따른 가중치의 합을 산출하는 단계; 및
제공부에 의해, 상기 가중치의 합이 높은 순서대로 다큐먼트를 정렬한 검색 결과를 제공하는 단계;를 포함하는, 검색 서비스 제공 방법.
Setting, by the setting unit, a weight based on the incoming keyword using the search frequency of each document and the frequency of appearance of the incoming keyword included in each of the documents based on a user log and storing the weight in the database;
Extracting, by the processing unit, a plurality of documents matching the search keyword input by the user from the database, and calculating a sum of weights according to the number of the inflow keywords equal to the search keyword in the document; And
And providing a search result obtained by arranging the documents in the order in which the sum of the weights is high by the providing unit.
제 4항에 있어서,
상기 설정부에 의해, 상기 유입 키워드의 출현 빈도에 softmax 함수를 이용하여 유입 확률값을 산출하고, 상기 다큐먼트의 검색 빈도와 상기 유입 확률값을 곱하여 상기 유입 키워드별 상기 가중치를 산출하는 단계;를 더 포함하는, 검색 서비스 제공 방법.
The method of claim 4,
Further comprising; by the setting unit, calculating the incidence probability value using a softmax function to the frequency of occurrence of the inflow keyword, and multiplying the search frequency of the document and the inflow probability value to calculate the weight for each inflow keyword; , Search service provision method.
제 4항에 있어서,
상기 처리부에 의해, 상기 사용자가 입력한 검색 키워드에 대한 형태소 분석 후 하나 이상의 유의미한 단어를 추출하는 단계;를 더 포함하는, 검색 서비스 제공 방법.
The method of claim 4,
And extracting one or more meaningful words after morpheme analysis of the search keyword input by the user by the processing unit.
컴퓨터를 이용하여 제 4항 내지 제 6항의 방법 중 어느 한 항의 방법을 실행시키기 위하여 상기 컴퓨터로 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a recording medium readable by the computer to execute the method of any one of claims 4 to 6 using a computer.
KR1020180170342A 2018-12-27 2018-12-27 Apparatus and method for providing a searching service KR20200081565A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180170342A KR20200081565A (en) 2018-12-27 2018-12-27 Apparatus and method for providing a searching service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180170342A KR20200081565A (en) 2018-12-27 2018-12-27 Apparatus and method for providing a searching service

Publications (1)

Publication Number Publication Date
KR20200081565A true KR20200081565A (en) 2020-07-08

Family

ID=71599959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180170342A KR20200081565A (en) 2018-12-27 2018-12-27 Apparatus and method for providing a searching service

Country Status (1)

Country Link
KR (1) KR20200081565A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220126950A (en) * 2021-03-10 2022-09-19 주식회사 웰컨 Method and system for spatial information system utilization prediction index calculation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027278A (en) 2016-09-06 2018-03-14 주식회사 카카오 Method and apparatus for searching

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180027278A (en) 2016-09-06 2018-03-14 주식회사 카카오 Method and apparatus for searching

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220126950A (en) * 2021-03-10 2022-09-19 주식회사 웰컨 Method and system for spatial information system utilization prediction index calculation

Similar Documents

Publication Publication Date Title
KR20200029342A (en) Method and device for judging validity of point of interest based on internet text mining
Xiao et al. Inferring social ties between users with human location history
US11698261B2 (en) Method, apparatus, computer device and storage medium for determining POI alias
CN106202394B (en) Text information recommendation method and system
US20150046452A1 (en) Geotagging unstructured text
US20160055845A1 (en) Generating training data for disambiguation
US20150205879A1 (en) Information processing apparatus, browsing history classification method, and browsing history classification program
KR20170124581A (en) Predicting User Needs for Specific Contexts
WO2015081720A1 (en) Instant messaging (im) based information recommendation method, apparatus, and terminal
US9659052B1 (en) Data object resolver
CN104615715A (en) Social network event analyzing method and system based on geographic positions
KR101541306B1 (en) Computer enabled method of important keyword extraction, server performing the same and storage media storing the same
Jaiswal et al. Predicting time-sensitive user locations from social media
Duan et al. Personalized service recommendations for travel using trajectory pattern discovery
KR101607919B1 (en) Method, system and recording medium for providing search function and search result on messenger
KR101910424B1 (en) Method for movie ratings prediction using sentiment analysis of movie tags, recording medium and device for performing the method
KR101867421B1 (en) Method and Apparatus for Recommending Service Provider Using Social Data
KR20200081565A (en) Apparatus and method for providing a searching service
US11176209B2 (en) Dynamically augmenting query to search for content not previously known to the user
KR20170035694A (en) Method and system for recommending course for travel related query
KR20130064447A (en) Method and appratus for providing search results using similarity between inclinations of users and device
KR101584225B1 (en) Method, system and recording medium for providing recommended words on messenger
KR20190011176A (en) Search method and apparatus using property language
US20230066149A1 (en) Method and system for data mining
CN112000495B (en) Method, electronic device and storage medium for point of interest information management

Legal Events

Date Code Title Description
A201 Request for examination