KR100682552B1 - System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method - Google Patents
System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method Download PDFInfo
- Publication number
- KR100682552B1 KR100682552B1 KR20050064094A KR20050064094A KR100682552B1 KR 100682552 B1 KR100682552 B1 KR 100682552B1 KR 20050064094 A KR20050064094 A KR 20050064094A KR 20050064094 A KR20050064094 A KR 20050064094A KR 100682552 B1 KR100682552 B1 KR 100682552B1
- Authority
- KR
- South Korea
- Prior art keywords
- search
- situation
- user
- weight
- information
- Prior art date
Links
Images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (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
본 발명은 사용자의 검색 요청에 따라 복수의 검색 엔진을 통해 검색 결과를 제공하는 시스템에 관한 것으로, 특히 상기 사용자의 현재 상황에 따라 상기 각 검색 엔진에 대한 가중치를 적용하고, 상기 검색 결과에 대한 사용자의 반응에 따라 상기 가중치의 갱신 작업을 수행하는 상황 변수 적용 장치를 포함하는 것을 특징으로 한다.The present invention relates to a system for providing search results through a plurality of search engines according to a user's search request. In particular, the present invention applies a weight to each of the search engines according to the current situation of the user, and applies the user to the search results. And an apparatus for applying a context variable to perform an update operation of the weight according to the reaction of the.
검색, 검색 엔진, 가중치, 상항 변수, 갱신 Search, search engine, weight, constant variable, update
Description
도 1은 일반적인 검색 사이트에서의 키워드 검색 화면을 나타낸 도면.1 is a diagram showing a keyword search screen in a general search site.
도 2는 본 발명에 따른 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 시스템을 나타낸 도면.2 is a diagram illustrating a system for assigning a weight to each search engine according to a user's situation according to the present invention.
도 3은 본 발명의 실시예에 따른 상황 변수 적용 장치의 세부 구조를 나타낸 블록도.3 is a block diagram showing a detailed structure of an apparatus for applying context variables according to an embodiment of the present invention.
도 4는 본 발명에 따른 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 절차를 나타낸 신호 흐름도.4 is a signal flow diagram illustrating a procedure for assigning a weight to each search engine according to a user's situation according to the present invention.
도 5는 본 발명의 실시예에 따른 검색 결과에 가중치를 부여하는 세부 절차를 나타낸 흐름도.5 is a flowchart illustrating a detailed procedure of weighting a search result according to an embodiment of the present invention.
도 6은 본 발명의 실시예에 따른 현재 상황과 유사한 상황을 검출하는 절차를 나타낸 흐름도.6 is a flowchart illustrating a procedure for detecting a situation similar to the current situation according to an embodiment of the present invention.
도 7은 본 발명의 실시예에 따른 가중치 갱신의 세부 절차를 나타낸 흐름도.7 is a flowchart illustrating a detailed procedure of weight update according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
100 : 키워드 검색창 110 : 검색 결과 정보100: keyword search box 110: search result information
120 : 검색 관련 정보 200 : 사용자 단말120: search related information 200: user terminal
210 : 네트워크 220 : 웹서버210: network 220: web server
230 : 상황 변수 적용 장치 240 : 검색 엔진230: device for applying the situation variable 240: search engine
300 : 사용자 송수신부 310 : 검색 송수신부300: user transceiver 310: search transceiver
320 : 가중치 적용부 330 : 상황 변수 인식부320: weight applying unit 330: situation variable recognition unit
340 : 가중치 추출부 350 : 상황 변수 가중치 데이터베이스340: Weight extraction unit 350: Situation variable weight database
360 : 가중치 갱신부360: weight update unit
본 발명은 복수의 검색 엔진들로부터 검색 결과를 제공하는 방법에 관한 것으로, 보다 상세하게는 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 시스템, 장치, 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.The present invention relates to a method for providing search results from a plurality of search engines, and more particularly, to a system, apparatus, method, and a computer readable computer for implementing the search engine weights according to a user's situation. A recording medium.
현대 정보화 사회에서는 각종 정보를 습득하는 매체로서 컴퓨터와 인터넷이 새로운 커뮤니케이션의 필수적인 도구로 등장하였다. 일반적으로 인터넷을 통한 효율적인 정보 검색을 위해서는 검색 엔진을 구비한 포털 사이트(또는 검색 사이트) 들을 통해 검색어를 입력함으로써 가능해진다. In the modern information society, computers and the Internet have emerged as essential tools for new communication as a medium for acquiring information. In general, for efficient information retrieval through the Internet, it is possible to input a search word through portal sites (or search sites) equipped with a search engine.
도 1은 일반적인 검색 사이트에서의 키워드 검색 화면을 나타낸 도면이다. 상기 도 1을 참조하면, 검색 사이트의 웹페이지에 구비된 키워드 검색창(100)에 검색하고자 하는 키워드(예컨대, 딥임팩트)를 입력하여 검색을 실행하게 되면, 해당 검색 사이트가 구비한 상기 검색 엔진을 통해 인터넷상에 링크된 수많은 정보들을 검색하고, 해당 검색 키워드와 관련된 정보들을 검색 결과(110)로서 제공해주게 된다. 이때, 복수의 검색 결과들은 검색 사이트에서 설정한 특정한 방법에 따라 정렬되어 출력된다. 예컨대, 검색된 문서들에 대한 해당 키워드와의 관련성 정도 또는 검색된 문서들의 등록일 등을 기준으로 우선적으로 배치되어 제공된다. 또한, 해당 검색된 문서에 대한 정보(120)들이 함께 제공될 수도 있다.1 is a diagram illustrating a keyword search screen in a general search site. Referring to FIG. 1, when a keyword (for example, deep impact) to be searched is input to a
이와 같은, 검색 결과의 노출 위치 또는 검색 결과의 정확성은 해당 검색 사이트에 대한 신뢰도를 반영하기 때문에 검색 엔진 및 검색 결과 출력 알고리즘의 설계는 검색 사이트에 있어 매우 중요한 요인이 되고 있다.Since the exposure position of the search result or the accuracy of the search result reflects the reliability of the search site, the design of the search engine and the search result output algorithm becomes a very important factor in the search site.
한편, 이러한 인터넷에서 현재 사용되고 있는 검색 엔진들은 사용되는 기술에 따라 복수의 서로 다른 시스템이 같이 사용되는 경우가 있다. 예컨대, 검색 엔진은 검색 기법이나 제공 회사에 따라 여러 가지 방법이 가능하며, 이들 복수의 검색 엔진들에서 각각 서로 다른 검색 결과들을 보여주게 된다. 또한, 최근에는 하나의 검색 사이트에서 복수의 다른 검색 사이트에서의 검색 결과를 종합하여 제공해주는 방법도 제공된다. 이에 따라, 상기 도 1에 도시된 바와 같이 해당 검색 요청에 따라 다양한 다른 검색 사이트들을 통해 검색한 후, 그 결과를 정리하여 제공해 주게 된다.On the other hand, the search engines currently used in the Internet may be used in a plurality of different systems depending on the technology used. For example, a search engine may have various methods depending on a search technique or a provider, and each of the plurality of search engines may display different search results. In addition, recently, a method of integrating and providing search results from a plurality of different search sites in one search site is also provided. Accordingly, as shown in FIG. 1, a search is performed through various other search sites according to a corresponding search request, and then the results are summarized and provided.
이러한, 경우에 이들 복수의 결과를 기설정된 적절한 방법을 사용하여 취합하게 된다. 예컨대, 단순히 리스트를 통합하는 방법, 또는 각 항목이 서로 다른 시스템에서 얼마나 공통적으로 나타나는 지를 확인하고 그 빈도수에 따라 우선순위를 부여하는 방법들을 사용하여 취합할 수가 있게 된다.In such a case, the plurality of results are collected by using a predetermined appropriate method. For example, they can be collected using a method of simply merging lists, or by identifying how common each item is in different systems and prioritizing them according to their frequency.
그러나, 상기와 같은 종래의 정보 취합 방법들은 그 종류를 불문하고 사용자의 상황을 고려하지 않은 정적인 방법들이다. 사용자가 원하는 정보의 종류는 동일한 키워드를 통해 검색한다고 할지라도 각 사용자가 처한 환경이나 상황에 따라 달라질 수가 있다. 따라서, 사용자의 상황을 고려하지 않은 종래의 방법들은 모든 사용자에게 동일한 정보 취합 방법을 적용함으로써 정확성 및 정보에 대한 신뢰도가 낮아지는 문제점이 있다.However, the above conventional methods of collecting information are static methods that do not consider the user's situation regardless of the kind. Although the type of information desired by the user may be searched through the same keyword, it may vary depending on the environment or situation of each user. Therefore, conventional methods that do not consider the user's situation have a problem in that accuracy and reliability of information are lowered by applying the same information collection method to all users.
본 발명은 복수의 검색 엔진을 통해 사용자에게 정보를 제공할 때, 제공되는 정보의 정확도를 높이기 위하여 사용자의 상황을 고려하여 정보를 제공하는 것을 목적으로 한다. An object of the present invention is to provide information in consideration of a user's situation in order to increase the accuracy of information provided when providing information to a user through a plurality of search engines.
또한, 본 발명은 사용자의 상황에 따른 반응 정보를 저장하고, 추후 다른 사용자의 검색 요청시 상기 기 저장된 정보를 이용하여 사용자의 상황에 따라 고려된 정보를 제공하는 것을 목적으로 한다. In addition, an object of the present invention is to store the response information according to the user's situation, and to provide information considered according to the user's situation by using the pre-stored information in the future request for a search of another user.
상기한 목적을 달성하기 위한 본 발명의 시스템은; 사용자의 검색 요청에 따라 복수의 검색 엔진을 통해 검색 결과를 제공하는 시스템에 있어서, 상기 검색 결과에 대한 사용자의 성향이 가변 될 수 있는 복수의 상황을 결정하고, 상기 상황들 중 상기 사용자의 현재 상황에 따라 상기 각 검색 엔진에 대한 가중치를 적용하고, 상기 검색 엔진별 검색 결과에 대한 사용자의 선택에 따라 상기 가중치의 갱신 작업을 수행하는 상황 변수 적용 장치를 포함하는 것을 특징으로 한다.The system of the present invention for achieving the above object; In a system for providing a search result through a plurality of search engines in response to a user's search request, determining a plurality of situations in which the user's disposition to the search results can be varied, the current situation of the user among the situations And applying a weight to each of the search engines, and applying a situation variable to update the weights according to a user's selection of the search results for each search engine.
상기한 목적을 달성하기 위한 본 발명의 장치는; 사용자의 검색 요청에 따라 복수의 검색 엔진을 통해 검색 결과를 제공하는 장치에 있어서, 상기 검색 결과에 대한 사용자의 성향이 가변 될 수 있는 복수의 상황을 결정하고, 상기 상황들 중 상기 사용자의 현재 상황에 따라 상기 각 검색 엔진에 대한 가중치를 적용하는 수단; 및 상기 검색 엔진별 검색 결과에 대한 사용자의 선택에 따라 상기 가중치의 갱신 작업을 수행하는 수단;을 포함하는 것을 특징으로 한다.The apparatus of the present invention for achieving the above object; An apparatus for providing a search result through a plurality of search engines according to a user's search request, the apparatus comprising: determining a plurality of situations in which a user's disposition to the search result may be changed, and the current situation of the user among the situations Means for applying a weight for each search engine according to; And means for performing the updating of the weight according to a user's selection of the search result for each search engine.
상기한 목적을 달성하기 위한 본 발명의 방법은; 사용자의 검색 요청에 따라 복수의 검색 엔진을 통해 검색 결과를 제공하는 방법에 있어서, 사용자로부터 검색 키워드를 수신하고, 상기 복수의 검색 엔진에 수신된 검색 키워드에 따른 키워드 검색을 요청하는 단계; 상기 각 검색 엔진으로부터 검색 결과를 수신하게 되며, 사용자의 현재 상황 변수를 인식하는 단계; 상기 인식된 현재 상황 변수를 기초로 데이터베이스에 기 저장된 동일 또는 유사 상황 변수에 대한 정보를 검색하는 단계; 상기 검색 결과로서 상기 현재 상황과 동일 또는 유사한 상황에서의 각 검색 엔진별 가중치를 추출하고, 상기 각 검색 엔진별 검색 결과에 상기 추출된 상황에 따른 가중치를 반영하는 단계; 및 상기 각 검색 엔진별 검색 결과를 반영된 결과에 따라 재정렬하여 해당 사용자의 단말로 전송하는 단계를 포함하는 것을 특징으로 한다.The method of the present invention for achieving the above object; A method of providing a search result through a plurality of search engines according to a user's search request, the method comprising: receiving a search keyword from a user and requesting a keyword search according to the received search keyword from the plurality of search engines; Receiving a search result from each of the search engines and recognizing a current situation variable of the user; Retrieving information on the same or similar situation variables previously stored in a database based on the recognized current situation variables; Extracting a weight for each search engine in the same or similar context as the current situation as the search result, and reflecting the weight according to the extracted situation in the search results for each search engine; And rearranging the search results of the respective search engines according to the reflected results and transmitting the rearranged results to the terminal of the corresponding user.
한편, 상기 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 정보는 서버 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, information for assigning a weight to each search engine according to the user's situation may be stored in a recording medium readable by a server computer. Such recording media includes all kinds of recording media on which programs and data are stored so that they can be read by a computer system. Examples include Read Only Memory (ROM), Random Access Memory (RAM), Compact Disk (CD), Digital Video Disk (DVD) -ROM, Magnetic Tape, Floppy Disk, Optical Data Storage, etc. It also includes implementations in the form of (eg, transmission over the Internet). In addition, these recording media can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
본 발명은 사용자의 인터넷 검색에 요청에 대한 검색 결과를 제공하는 방법에 있어서 주어진 사용자의 상황에 보다 적합한 검색 엔진을 찾아내기 위해 사용자의 암묵적인 피드백을 이용한다. 즉, 주어진 검색 결과 리스트에서 어떤 검색 엔진으로부터의 결과를 보다 신뢰성 있는 결과로 선택하는 지를 효과적으로 결정하는 방법을 제안한다.The present invention utilizes the implicit feedback of a user to find a search engine that is more suitable for a given user's situation in a method of providing a search result for a request to the user's Internet search. In other words, we propose a method to effectively determine which search engine selects a result from a given search result as a more reliable result.
이때, 어떤 사용자에게 복수의 시스템으로부터 나온 검색 결과를 제공하는 경우에 상기 사용자가 검색 결과들 중 하나의 항목을 선택하게 되면, 상기 선택된 항목은 사용자의 필요에 더 적합한 항목이라고 볼 수 있으므로 해당 항목을 제공한 시스템(즉, 검색 엔진)이 현재 사용자의 상황에 더 적합하다고 볼 수 있다. 따라서, 각 항목이 어느 시스템에서 나왔는지에 대한 정보를 저장하고 있다가 사용자가 소정의 항목을 선택할 때마다 해당 항목을 제공한 시스템의 가중치를 증가시켜서 저장하게 된다. 그런 다음, 추후에 동일 또는 유사한 상황의 사용자가 검색 결과를 요청하면 상기 기 저장된 가중치를 이용하여 각 시스템에서 나온 결과를 취합함으로써 보다 정확한 최종 결과를 사용자에게 제공할 수가 있게 된다.In this case, when a user selects one of the search results when providing a search result from a plurality of systems, the selected item may be regarded as a more suitable item for the user's needs. The system you provide (ie, the search engine) is more suitable for your situation. Therefore, the system stores information on which system each item comes from, and then increases the weight of the system that provided the item whenever the user selects a predetermined item. Then, when a user of the same or similar situation later requests a search result, the user can provide a more accurate final result by collecting the results from each system by using the stored weights.
한편, 본 발명에서는 상기 검색 결과에 반영하게 될 상황을 수치화하기 위하여 하나 이상의 상황 변수들을 설정한다. 상기 상황 변수는 같은 사용자라도 상황에 따라 변하는 것을 의미한다. 본 발명에 따라 사용자의 상황 변수로서 설정할 수 있는 것에 대한 예로 다음과 같은 항목들이 될 수 있다.Meanwhile, the present invention sets one or more situation variables in order to quantify the situation to be reflected in the search result. The situation variable means that the same user changes depending on the situation. According to the present invention, examples of what can be set as a user's context variable may be the following items.
1. 사용자가 검색을 하는 분야(카테고리) - 예컨대, 전자 제품, 교육학, 인라인 스케이팅 등1. The field (category) in which the user searches-e.g. electronics, pedagogy, inline skating, etc.
2. 사용 시간 - 사용자가 사용하는 시간이 하루 중 언제인가?2. Usage time-What time of day do users use?
3. 요일3. Day of the week
4. 날씨4. Weather
5. 위치 또는 지역5. Location or region
6. 사용자의 현재 관심 사항6. Your current interests
7. 사용자가 한 페이지를 보는 시간7. The time a user sees a page
즉, 상기와 같이 제시된 상황 변수들은 사용자의 검색 결과에 대한 반응에 영향을 미치는 요소들이다. 예컨대, 사용 시간대가 낮에 검색을 하는 사용자와 심야에 검색을 하는 사용자 간에는 검색 결과에 대한 성향이 다르므로 이와 같은 사용 시간 정보를 본 발명에 따라 상황 변수로 설정함으로써 이를 검색 결과에 반영 하는 것이 보다 합리적인 정보를 제공해 줄 수가 있게 된다.That is, the situation variables presented above are factors influencing the user's response to the search results. For example, since the propensity for a search result is different between a user who searches in the daytime and a user who searches in the middle of the day, it is better to reflect such usage time information as a situation variable according to the present invention. Reasonable information can be provided.
한편, 본 발명에서는 각 시스템에서 나온 정보를 취합할 때에 각 항목이 어느 시스템(또는 검색 엔진)에서 나왔는지를 기록한다. 그런 다음, 상기 취합된 결과가 사용자에게 제시된 후에 사용자가 그 중 하나의 항목을 선택하게 되면, 해당 항목을 생산한 시스템(검색 결과를 제공한 해당 검색 엔진)의 가중치는 증가시키고 그렇지 않은 시스템의 가중치는 감소시킨다. 상기 변화된 가중치는 현 사용자의 상황 변수와 함께 '사용자의 상황별 가중치'를 저장하고 있는 데이터베이스에 저장된다. 따라서, 사용자가 제시된 결과를 선택함에 따라 상황 변수 정보는 계속적으로 변화하게 된다.On the other hand, in the present invention, when collecting information from each system, the system records which system (or search engine) each item came from. Then, if the user selects one of the items after the aggregated results are presented to the user, the weight of the system that produced the item (the search engine that provided the search result) is increased and the weight of the system that is not. Decreases. The changed weight is stored in a database that stores 'user's contextual weight' along with the context variable of the current user. Accordingly, the situation variable information continuously changes as the user selects the presented result.
또한, 사용자가 검색을 요청하면, 시스템은 우선 각 시스템에 결과 생성을 요청하고, 현 사용자의 상황 변수를 파악하여 상기 기 저장된 데이터베이스에서 동일한 상황에 대한 자료가 있는지 검사하게 된다. 만일, 동일한 상황이 있으면 해당 상황에서의 각 시스템에 대한 가중치를 읽어서 결과 취합에 반영한다. 반면, 동일한 상황이 없는 경우에는 최대한 유사한 상황을 찾아서 같은 방식으로 취합에 반영한다. 그러나 유사한 상황도 없다고 판단될 경우에는 각 시스템이 동일한 가중치를 갖는 것으로 가중하고 결과를 취합하게 된다.In addition, when a user requests a search, the system first requests a result generation from each system, and checks the situation variables of the current user to check whether there is data for the same situation in the previously stored database. If the same situation exists, the weight for each system in that situation is read and reflected in the result collection. On the other hand, if there is no identical situation, the similar situation is found as much as possible and reflected in the same way. However, if it is determined that there is no similar situation, each system is weighted as having the same weight and the results are collected.
이하 본 발명의 바람직한 실시예에 따른 상세한 설명을 첨부된 도면들을 참조하여 설명한다. 하기에는 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.Hereinafter, a detailed description of a preferred embodiment of the present invention will be described with reference to the accompanying drawings. In the following description, detailed descriptions of well-known functions or configurations will be omitted when it is determined that the detailed descriptions of the known functions or configurations may unnecessarily obscure the subject matter of the present invention.
도 2는 본 발명에 따른 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 시스템을 나타낸 도면이다.2 is a diagram illustrating a system for assigning a weight to each search engine according to a user's situation according to the present invention.
상기 도 2를 참조하면, 본 발명에 따른 시스템은 사용자 단말(200), 네트워크(210), 웹서버(220), 상황 변수 적용 장치(230), 검색 엔진(240) 등으로 구성될 수 있다. 사용자 단말(200) 검색을 수행하고 정보를 제공받는 주체로서, 사용자 단말(200)의 상황에 따라 해당되는 정보를 제공해주게 된다. 상기 네트워크(210)는 유무선 네트워크가 될 수 있으며, LAN, WAN 등을 포함하는 어떠한 네트워크도 가능하나 인터넷 네트워크로 구현하는 것이 바람직하다.Referring to FIG. 2, the system according to the present invention may include a
사용자는 상기 사용자 단말(200)로서 네트워크(210)를 통해 웹서버(220)에 접속하게 된다. 상기 웹서버(220)는 상기 사용자의 검색에 따라 정보를 제공하게 되는 포털 사이트(또는 검색 사이트) 등으로 이해되어질 수 있다. 또한, 다른 구현 방법으로서 상기 포털 사이트 등과 링크되어 사용자의 요청에 따라 정보를 제공하는 일반적인 웹사이트도 될 수 있다.A user accesses the
한편, 본 발명에 따라 상기 사용자의 요청에 의한 정보 제공은 복수의 검색 엔진(240)을 통해 이루어진다. 이때, 상기 복수의 검색 엔진(240)을 통해 제공되는 검색 결과들은 상술한 바와 같이 본 발명에 따라 구비되는 상황 변수 적용 장치(230)에서 각 검색 엔진별 가중치가 적용되어 재정렬된다. 즉, 각 사용자들의 검색 수행시 나타난 상황별 반응에 대한 정보들은 상기 상황 변수 적용 장치(230) 내에 누적되어 저장되며, 사용자의 정보 요청시 동일 또는 유사 상황에서의 각 검색 엔진(240)별 가중치를 확인하고 적용하게 된다.Meanwhile, according to the present invention, the information provided by the user's request is made through a plurality of
따라서, 상기 본 발명에 따른 상황 변수 적용 장치(230)는 기 저장된 상황에 따른 각 시스템(검색 엔진)에 대한 가중치를 검색 결과에 적용하는 역할을 수행하며, 또한 검색 결과에 대한 사용자의 반응을 통해 해당 상황에서의 기 저장된 가중치를 갱신하게 된다.Therefore, the
이하, 도 3을 참조하여 상기 상황 변수 적용 장치(230)를 보다 구체적으로 설명하기로 한다.Hereinafter, the situation
도 3은 본 발명의 실시예에 따른 상황 변수 적용 장치(230)의 세부 구조를 나타낸 블록도이다. 상기 도 3을 참조하면, 상기 상황 변수 적용 장치(230)는 사용자 송수신부(300), 검색 송수신부(310), 가중치 적용부(320), 상황 변수 인식부(330), 가중치 추출부(340), 상황 변수 가중치 데이터베이스(350) 및 가중치 갱신부(360) 등으로 구성될 수 있다. 상기 구성을 그 구현 방법에 따라 동일한 기능을 하는 다른 구성들로 변형될 수 있다.3 is a block diagram showing the detailed structure of the apparatus for applying the situation variable 230 according to an embodiment of the present invention. Referring to FIG. 3, the situation
상술한 바와 같이 상기 상황 변수 적용 장치(230)의 각 구성부들은 본 발명에 따라 사용자의 검색 요청시 검색 결과를 제공하는 각 검색 엔진에 대한 가중치 적용 작업과 검색 결과에 대한 사용자의 반응에 따른 가중치의 갱신 작업을 수행한다. 한편, 상기 도 3에서 굵게 표시된 선은 사용자의 반응에 따른 가중치의 갱신 과정에 사용되는 정보의 흐름을 나타낸다.As described above, each component of the situation
먼저, 사용자의 검색 요청 시, 본 발명에 따라 사용자의 상황을 고려하여 각 검색 엔진에 가중치를 적용하여 검색 결과를 제공하는 과정을 설명한다.First, a process of providing a search result by applying a weight to each search engine in consideration of the user's situation according to the present invention will be described.
사용자가 검색을 요청한 정보(예컨대, 키워드 정보)는 웹서버(220)를 통해 상기 사용자 송수신부(300)로 전송된다. 상기 사용자 송수신부(300)는 상기 웹서버(220)를 통해 수신된 사용자의 검색 요청 정보를 상기 검색 송수신부(310)로 전송하는 역할과 상기 가중치 적용부(320)로부터 가중치가 적용된 검색 결과를 수신하여 상기 웹서버(220)를 통해 다시 사용자에게로 제공하는 역할을 수행한다.Information (eg, keyword information) requested by the user is transmitted to the
상기 검색 송수신부(310)는 상기 사용자 송수신부(300)로부터 검색 키워드를 포함한 검색 요청 정보를 수신하고, 해당 검색 키워드에 따라 검색을 수행한다. 즉, 복수의 검색 엔진들(240)로부터 각각 검색 작업을 수행하고, 해당 검색 작업에 따른 검색 결과를 각 검색 엔진들(240)로부터 수신하게 된다. 상기 수신된 복수의 검색 엔진들(240)로부터 제공받은 검색 결과는 가중치 적용부(320)로 전송되어 본 발명에 따라 상황별 가중치가 적용된다.The
한편, 상황 변수 인식부(330)에서는 사용자의 검색 요청시 기설정된 각종 상황 변수를 인식하고 생성하게 된다. 예컨대, 가중치 적용을 위해 사용하는 상황 변수가 시간, 검색 분야, 이용 사이트일 경우, 상기 사용자 송수신부(300)에서는 사용자로부터 검색 요청이 수신되었음을 상기 상황 변수 인식부(330)에 통보하고, 수신된 검색 키워드를 전송한다. 따라서, 상기 상황 변수 인식부(330)에서는 상기 검색 요청을 상기 사용자 송수신부(300)로부터 통보받고, 해당 요청을 통보받은 시간, 검색을 요청한 검색 키워드 및 사용자가 검색을 위해 접속한 접속 사이트에 대한 정보를 생성하게 된다.On the other hand, the situation
상기 상황 변수 인식부(330)에서 생성된 현재 검색 요청한 사용자의 현재 상황 정보는 가중치 추출부(340)로 제공되어 가중치 추출에 사용되며, 가중치 갱신부 (360)로 제공되어 가중치 갱신에 사용된다.The current situation information of the user who requested the current search generated by the situation
상기 가중치 추출부(340)에서는 상황 변수 가중치 데이터베이스(350)에 저장된 과거의 상황 정보들을 독출하고, 상기 상황 변수 인식부(330)로부터 제공받은 현재 상황 정보와 비교함으로써 현재 상황과 동일 또는 유사한 과거의 상황을 찾게 된다. 이와 같이 현재 상황과 동일 또는 유사한 과거의 상황에서 기 저장된 각 검색 엔진별 가중치 정보를 추출하고, 상기 추출된 각 검색 엔진별 가중치 정보를 상기 가중치 적용부(320)로 전송하게 된다.The
마지막으로, 상기 가중치 적용부(320)에서는 상기 검색 송수신부(310)로부터 각 검색 엔진별 검색 결과를 수신하고, 상기 수신된 검색 결과에 상기 가중치 추출부(340)로부터 제공받은 현재 상황에 적합한 각 검색 엔진별 가중치 정보를 각 검색 엔진별로 제공함으로써 검색 결과를 최종적으로 재정렬하게 된다.Finally, the
이와 같이, 상기 현재 상황에 따른 가중치가 적용된 검색 결과는 사용자 송수신부(300)로 전송되고, 상기 웹서버(220)를 통해 해당 사용자 단말(200)로 제공된다.As such, the search result to which the weight is applied according to the current situation is transmitted to the
이때, 상기 사용자는 상기 제공된 검색 결과를 확인하고, 어느 한 정보를 선택 또는 열람함으로써 제공된 정보에 대한 반응을 나타내게 된다. 상기 사용자가 보인 반응은 상기 웹서버(220)를 통해 사용자 송수신부(300)로 전송되며, 상기 사용자 송수신부(300)에서는 이를 가중치 갱신에 활용하기 위해 가중치 갱신부(360)로 제공한다.At this time, the user checks the provided search result and selects or views any information to indicate a response to the provided information. The response seen by the user is transmitted to the
한편, 상기 가중치 갱신부(360)에서는 상황 변수 가중치 데이터베이스(350) 로부터 해당 상황에 대한 기 저장된 가중치 정보를 가져오고, 현재 수신된 사용자의 반응 정보를 통해 새로운 가중치 값으로 갱신하게 된다. 이때, 상기 가중치 갱신부(360)는 상기 검색 송수신부(310)로부터 해당 검색에 대한 검색 결과 정보를 수신하고, 상기 상황 변수 인식부(330)로부터 현재 상황 정보를 가져와서 가중치 갱신의 과정에 이용하게 된다. 최종적으로 상기 가중치 갱신부(360)에서 산출된 새로운 가중치는 상기 상황 변수 가중치 데이터베이스(350)에 저장되어 다음 사용자의 검색시 정보로 활용된다. 상기 가중치 갱신의 구체적인 예는 후술하기로 한다.Meanwhile, the
이상으로, 도 2 및 도 3을 참조하여 본 발명에 따른 시스템 및 장치의 세부 구조를 설명하였다. 이하, 도 4 내지 도 7을 참조하여 본 발명에 따른 절차를 상세히 설명한다.The detailed structure of the system and apparatus according to the present invention has been described above with reference to FIGS. 2 and 3. Hereinafter, the procedure according to the present invention will be described in detail with reference to FIGS. 4 to 7.
도 4는 본 발명에 따른 사용자의 상황에 따라 검색 엔진별 가중치를 부여하는 절차를 나타낸 신호 흐름도이다. 상기 도 4를 참조하면, 먼저 검색을 하고자 하는 사용자는 자신의 사용자 단말(200)을 통해 검색이 가능한 웹사이트 또는 검색 사이트와 링크된 웹사이트 등에 접속하고, 검색 키워드를 입력함으로써 검색을 수행하게 된다. 이때, 상기 사용자가 입력한 검색 키워드 정보는 웹서버(220)를 통해 상황 변수 적용 장치(230)로 전송(S401, S402)된다.4 is a signal flow diagram illustrating a procedure for assigning a weight to each search engine according to a user's situation according to the present invention. Referring to FIG. 4, a user who wants to search first accesses a searchable website or a website linked to a search site through his
상기 상황 변수 적용 장치(230)에서는 상기 검색 요청에 따라 복수의 각 검색 엔진(240)으로 해당 검색 키워드에 대한 검색 작업을 수행하게 된다. 즉, 복수의 각 검색 엔진(240)으로 검색을 요청(S403, S405)하면, 각 검색 엔진(240)에서는 검색 요청에 따른 검색 결과를 상기 상황 변수 적용 장치(230)로 제공(S404, S406) 하게 된다.The situation
상기 상황 변수 적용 장치(230)에서는 상술한 바와 같이 현재 상황에 대한 상황 변수값을 기 저장된 과거 상황에서의 상황 변수값들과 비교함으로써 현재 상황과 유사 또는 동일한 상황에서의 각 검색 엔진별 가중치를 추출해내게 된다. 이와 같이 추출된 현재 상황에서의 각 검색 엔진별 가중치는 상기 수신된 각 검색 엔진별 검색 결과에 반영되어 최종적으로 검색 결과가 재정렬(S407)된다.As described above, the situation
상기 재정렬된 최종 검색 결과는 상기 웹서버(220)를 통해 상기 해당 사용자 단말(200)로 제공(S408, S409)된다. 이때, 상기 사용자는 사용자 단말(200)을 통해 상황에 따라 재정렬된 검색 결과 정보를 확인하고, 특정 정보를 클릭 또는 열람함으로써 해당 정보에 대한 반응을 보이게 된다. 이와 같은 사용자의 반응 정보는 웹서버(220)를 통해 다시 상황 변수 적용 장치(230)에 전송(S410, S411)된다. 상기 상황 변수 적용 장치(230)에서는 상기 전송된 사용자의 반응 정보를 이용하여 현재 상황에 따른 가중치 값을 갱신(S412)하여 저장하게 된다.The rearranged final search result is provided to the
이하, 상기 본 발명에 따라 상황 변수 적용 장치(230)에서 검색 결과에 상황에 따른 가중치를 각 검색 엔진에 부여하는 절차를 보다 상세히 설명하기로 한다.Hereinafter, a procedure of assigning a weight to each search engine to a search result in the context variable applying
도 5는 본 발명의 실시예에 따른 검색 결과에 가중치를 부여하는 세부 절차를 나타낸 흐름도이다. 상기 도 5를 참조하면, 상기 상황 변수 적용 장치(230)에서 사용자로부터 검색 키워드를 수신(S501)하게 되면, 상술한 바와 같이 복수의 검색 엔진에 수신된 검색 키워드에 따른 키워드 검색을 요청(S502)하게 된다.5 is a flowchart illustrating a detailed procedure of assigning a weight to a search result according to an exemplary embodiment of the present invention. Referring to FIG. 5, when the situation
그런 다음, 상기 상황 변수 적용 장치(230)에서는 상기 각 검색 엔진으로부 터 검색 결과를 수신(S503)하게 되며, 사용자의 현재 상황 변수를 인식(S504)하게 된다. 이때, 상기 인식된 현재 상황 변수를 기초로 데이터베이스에 기 저장된 동일 또는 유사 상황 변수에 대한 정보를 검색(S505)하게 된다. 상기 검색 결과로서 상기 현재 상황과 동일 또는 유사한 상황에서의 각 검색 엔진별 가중치를 추출하고, 상기 각 검색 엔진별 검색 결과에 상기 추출된 상황에 따른 가중치를 반영(S506)하게 된다. 마지막으로, 상기 각 검색 엔진별 검색 결과를 반영된 결과에 따라 재정렬하여 해당 사용자의 단말로 전송(S507)하게 된다.Then, the situation variable applying
상기 도 5에서의 인식된 현재 상황으로부터 기 저장된 현재 상황과 유사 또는 동일한 과거 상황을 검색하는 방법을 도 6을 참조하여 보다 상세히 설명한다.A method of searching for a past situation similar or identical to a previously stored current situation from the recognized current situation in FIG. 5 will be described in more detail with reference to FIG. 6.
도 6은 본 발명의 실시예에 따른 현재 상황과 유사한 상황을 검출하는 절차를 나타낸 흐름도이다. 상기 도 6을 참조하면, 상황 변수 가중치 데이터베이스(350)에 기 저장된 과거 상황이 M 개이고, 각 상황별로 설정된 상황 변수가 N개라고 가정(S601)할 때, 먼저 첫 번째 저장된 과거 상황(즉, m=1)에 대해서 비교(S602)를 수행하게 된다. 즉, 각 상황 변수에 대해 현재의 상황을 과거 m 상황과 비교(S603)하게 된다.6 is a flowchart illustrating a procedure for detecting a situation similar to the current situation according to an embodiment of the present invention. Referring to FIG. 6, when it is assumed that there are M past situations previously stored in the situation
상기 각 상황 변수에 대해 현재의 상황을 과거 m 상황과 비교하는 절차는 n=1의 상황 변수부터 차례로 N번째 상황 변수까지 수행(S604)한다. 즉, m 상황의 n상황 변수에 대해서 유사도를 산출(S605)하게 된다. 상기 유사도의 산출 방법은 구체적인 실시예의 설명 부분에서 후술하기로 한다.The procedure for comparing the current situation with the past m situation for each situation variable is performed from the situation variable of n = 1 to the Nth situation variable in sequence (S604). That is, the similarity is calculated for the n situation variable in the m situation (S605). The method of calculating the similarity will be described later in the description of specific embodiments.
계속하여, n을 증가시키면서(S606), 모든 상황 변수에 대한 유사도 산출을 수행(S607)하게 된다. 해당 m 상황에서의 모든 상황 변수에 대한 유사도 산출이 완료되면, 상기 m 상황에서의 상황 변수별 산출된 유사도를 합산(S608)하게 된다.Subsequently, while increasing n (S606), the similarity calculation for all the situation variables is performed (S607). When the similarity calculation for all the situation variables in the m situation is completed, the similarity calculated for each situation variable in the m situation is added (S608).
이때, m 값을 증가시켜 상기 절차를 M 상황까지 반복 수행(S609, 610)함으로써, 모든 상황에서의 각 상황 변수별 유사도를 합산하게 된다. 마지막으로, 상기 각 상황별로 최종적으로 합산된 값에 따라 정렬(S611)함으로써 현재 상황과 동일 또는 유사한 과거 상황을 검색하게 된다.At this time, by repeating the procedure to the M situation by increasing the value of m (S609, 610), the similarity for each situation variable in all situations is added up. Finally, by sorting according to the finally summed values for each situation (S611), the past situation that is the same as or similar to the current situation is searched for.
한편, 상술한 바와 같이 본 발명에서는 기 저장된 가중치의 적용뿐만 아니라, 각 사용자의 반응에 따라 해당 상황에서의 가중치 값을 계속하여 갱신함으로써 보다 신뢰성 있는 정보를 유지할 수가 있게 된다.On the other hand, in the present invention as described above, in addition to the application of the pre-stored weights, it is possible to maintain more reliable information by continuously updating the weight value in the situation according to the response of each user.
도 7은 본 발명의 실시예에 따른 가중치 갱신의 세부 절차를 나타낸 흐름도이다. 상기 도 7을 참조하면, 검색을 요청한 사용자에게 상술한 바와 같이 본 발명에 따라 가중치가 적용된 검색 결과를 제시(S701)하게 되면, 해당 사용자는 상기 검색 결과를 확인하고, 특정 정보를 클릭 또는 열람함으로써 반응을 하게 된다. 이와 같은 사용자의 반응 정보는 상기 상황 변수 적용 장치(230)로 전송되고, 상기 상황 변수 적용 장치(230)에서는 이를 감지(S702)하게 된다.7 is a flowchart illustrating a detailed procedure of weight update according to an embodiment of the present invention. Referring to FIG. 7, when the search result is presented to the user requesting the search as described above (S701), the corresponding user checks the search result and clicks or views specific information. Will react. The user's response information is transmitted to the situation variable applying
상기 상황 변수 적용 장치(230)에서는 상기 사용자의 반응에 따라 해당 상황에 대한 각 검색 엔진별 가중치를 조정(S703)하게 된다. 이때, 상기 가중치의 조정은 선택 항목에 따른 가중치 조정 및 건너뛴 항목에 따른 가중치 조정의 과정으로 수행될 수 있다. 즉, 상기 사용자가 검색 결과로부터 특정 항목을 선택 또는 클릭하였을 경우, 현재 상황에서 상기 선택한 항목이 신뢰성 있는 정보가 되므로, 상기 선택한 항목을 포함하고 있는 검색 엔진에 대한 가중치를 증가시키게 된다. 또한, 상기 클릭한 항목보다 상위에 위치하였으나 선택되지 못하고 건너뛴 항목에 대해서는 기설정된 가중치 보다 낮게 설정되는 것이 바람직하므로, 해당 건너뛴 항목을 포함하고 있는 검색 엔진에 대한 가중치를 감소시키게 된다.The situation
마지막으로 상기 조정된 가중치 값은 특정 범위 사이의 값(예컨대 0 내지 1)으로 정규화(Normalize)시키게 된다(S704).Finally, the adjusted weight value is normalized to a value between a specific range (for example, 0 to 1) (S704).
이상으로 본 발명에 따른 시스템, 장치 및 방법들을 상세히 설명하였다. 이하, 본 발명의 이해를 돕기 위하여 구체적인 실시예를 들어서 상세히 설명하기로 한다.The system, apparatus and methods according to the present invention have been described in detail above. Hereinafter, specific examples will be described in detail to help understand the present invention.
<실시예><Example>
<사용자의 상황 변수를 시스템에서 인식하는 방법><How the system recognizes your situation variable>
사용자의 상황 변수를 인식하는 방법은 각 상황 변수의 종류에 따라 정해진다.The method of recognizing the user's situation variables is determined according to the type of each situation variable.
1. 상황 변수가 '시간' 또는 '요일'일 경우 : 웹서버는 사용자의 요청이 들어올 때마다 자동적으로 시간 스탬프를 부여하므로 시간과 요일에 대한 정보는 자동으로 수집될 수 있다.1. If the situation variable is 'time' or 'day of the week': The web server automatically assigns a time stamp every time a user's request comes in, so information about time and day can be collected automatically.
2. 상황 변수가 '사용자가 한 페이지를 보는 시간'일 경우 : 사용자가 어떤 페이지를 요청한 후로부터 다음 페이지에 대한 요청이 들어올 때까지의 시간 차이 를 사용자가 해당 페이지를 읽은 시간으로 간주한다. 물론, 다음 페이지에 대한 요청이 없이 세션이 종료되면 해당 페이지가 마지막 페이지가 되므로 해당 페이지를 읽은 시간은 정확히 알기가 어렵다.2. If the situation variable is 'the time a user views one page': The time difference from the time a user requests a page until the request for the next page is regarded as the time the user reads the page. Of course, when the session ends without a request for the next page, the page becomes the last page, so it is difficult to know exactly when the page is read.
3. 상황 변수가 '사이트의 종류'일 경우 : 만일 본 발명에 따른 시스템이 여러 사이트(예컨대, 야후, 인터파크, 등과 같은 사이트)에 대한 서비스의 형태로 제공되는 경우에는 사용자가 어느 사이트를 이용하고 있는지도 중요한 정보가 된다. 이때, 현 사용자가 사용하는 사이트가 어떤 분야인지를 아는 방법으로는 여러 가지가 있으나 대체로 명시적인 방법과 암묵적인 방법이 있다. 명시적인 방법의 예로는, 한 사용자가 어떤 사이트를 방문해서 페이지 요청을 하는 경우, 이 사이트가 어떤 분야인지(예컨대, 포털사이트, 일반 쇼핑몰, 온라인 카페 등)는 사이트의 특성을 보아서 알 수 있다. 따라서, 미리 각 사이트의 종류를 분류해 놓으면 현 사용자가 방문하는 사이트와 비슷한 분야의 사이트를 알 수 있다. 암묵적인 방법의 예로는, 어떤 사이트의 페이지들의 내용과 다른 사이트의 페이지의 내용의 유사도를 비교해 보았을 때, 비슷한 페이지들이 얼마나 많으냐에 따라 사이트의 분야를 암묵적으로 분류할 수 있다.3. If the situation variable is 'type of site': If the system according to the present invention is provided in the form of a service for multiple sites (eg, Yahoo, Interpark, etc.) It is also important information. At this time, there are many ways to know what field the current user is using, but there are generally explicit and implicit methods. As an example of an explicit method, when a user visits a site and makes a page request, it is possible to know what the site is (eg, a portal site, a general shopping mall, an online cafe, etc.) by looking at the characteristics of the site. Therefore, if you categorize each type of site in advance, you can find out the sites of similar fields as the site visited by the current user. An example of an implicit method is that, when comparing the similarity between the contents of pages of one site and the contents of pages of another site, an area of the site can be implicitly classified according to the number of similar pages.
4. 상황 변수가 '분야(키워드)'일 경우 : 현재 사용자가 검색을 하는 것이 어느 분야인지를 사용자가 검색을 위해 사용하는 키워드를 통해서 유추할 수 있다. 키워드에서 분야를 유출하는 방법을 여러 가지가 있을 수 있으며 그 한 예를 들면 다음과 같다. 사용자가 입력한 키워드를 미리 구축한 키워드 계층구조(Ontology)에서 찾는다. 이와 같은 계층구조는 여러 단계의 계층 구조를 가지며 상위계층으로 올라갈수록 대분류를 통해서 키워드를 적은 수의 카테고리로 분류한다. 예를 들어 맨 위는 하나의 키워드만 있으며, 두 번째 계층은 7-9개의 대분류, 세 번째 계층은 이들 대분류별로 각 4-7개의 중분류를 가지므로 총 40-50개의 키워드가 있고, 그 다음 세 번째 계층은 150-400 정도의 키워드가 있게 되고, 그 아래의 계층은 더 많은 키워드가 있게 된다. 만일 키워드 계층구조에 키워드가 없는 경우에는 동의어를 찾을 수가 있다. 또한, 키워드를 찾았으면 그 키워드의 위치에서 위로 올라가면서 특정 수준(두 번째 계층 혹은 세 번째 계층)의 키워드를 현재 사용자의 검색분야로 취한다.4. When the situation variable is 'field (keyword)': It can be inferred from the keyword that the user uses for searching to find out what field the user is currently searching for. There are a number of ways to leak a field from a keyword, for example: The keyword entered by the user is searched in the keyword hierarchy built in advance. Such a hierarchical structure has a hierarchical structure of several levels, and as the upper hierarchy goes up, the keywords are classified into a small number of categories through major classification. For example, there is only one keyword at the top, the second tier has 7-9 major categories, and the third tier has 4-7 middle categories for each of these major categories, so there are 40-50 keywords in total. The first tier has 150-400 keywords, and the lower tier has more keywords. If there are no keywords in the keyword hierarchy, synonyms can be found. In addition, if a keyword is found, the keyword of a certain level (second or third tier) is taken as the search field of the current user, moving up from the position of the keyword.
5. 상황 변수가 '위치'일 경우 : 사용자가 모바일 기기를 사용하고 있고 그 기기에 위성 위치 인식 장치(GPS)가 부착되어 있다면, 사용자의 정확한 위치를 사용자의 기기에서 전송받을 수 있다.5. If the situation variable is 'location': If the user is using a mobile device and the GPS device is attached to the device, the user's device can receive the exact location of the user.
6. 상황 변수가 '지역'일 경우 : 상기 위치 정보가 수집 불가능하다면 사용자가 컴퓨터를 사용하는 지역은 사용자 컴퓨터의 아이피 주소나 사용자가 등록할 때 제공한 주소로부터 수집될 수 있다.6. If the situation variable is 'region': If the location information cannot be collected, the region where the user uses the computer may be collected from the IP address of the user's computer or the address provided when the user registers.
7. 상황 변수가 '사용자의 현재 관심 사항'일 경우 : 사용자의 현재 관심 사항도 매우 중요한 상황 변수로서 이를 수집하는 방법은 여러 가지가 있으나 상기 분야 정보의 경우와 마찬가지로 명시적인 방법과 암묵적인 방법으로 크게 나누어 볼 수 있다. 명시적인 방법의 예로는 사용자가 사이트에 들어올 때마다 사용자의 현재 관심사항을 직접 물어보아서 수집하는 방법이다. 암묵적인 방법의 예로는, 사용자가 사이트를 방문해서 한동안 사용을 하면, 사용자가 입력한 키워드나 사용자 가 방문한 페이지에서 추출한 키워드를 추출한다. 이들 키워드를 시스템에 저장된 과거 사용자들로부터 추출한 키워드와 대조해서 유사도를 계산해서 비슷한 과거 사용자들을 추려보면, 이들이 현재 사용자와 비슷한 관심 사항을 가지고 있었다고 볼 수 있다.7. When the situation variable is 'user's current interest': The user's current interest is also a very important situation variable, but there are many ways to collect it. You can share it. An example of an explicit method is to ask the user's current interests and collect them each time they enter the site. As an example of the implicit method, when a user visits the site and uses it for a while, the keyword inputted by the user or extracted from the page visited by the user is extracted. If you compare these keywords with keywords extracted from past users stored in the system and calculate similarity, you can see that they had similar interests with the current user.
<DB에서 동일 내지 유사 상황변수에 대한 정보를 검색하는 방법><How to retrieve information about same or similar situation variables in DB>
사용자가 웹서버에 요청을 할 때마다 상술한 사용자의 상황 변수들이 수집된다. 현 사용자의 상황 변수와 동일 내지 유사한 상황 변수를 검색하는 방법은 여러 가지가 있을 수 있으나 한 예를 들어보면 다음과 같다.Whenever a user makes a request to the web server, the above-described situation variables of the user are collected. There may be several ways to search for the same or similar situation variables as the current user's situation variables.
1. 사용자의 상황 변수를 하나씩 기존에 DB에 저장되어 있는 상황 변수와 비교하여 유사도에 따라 점수를 부여한다. 예를 들어 현 사용자의 시간이 오후 1시라면 과거의 사용자들 중 시간이 오후 1시에 가까운 사용자에게는 ‘1’과 같은 높은 점수를 부여하고 멀어질수록 ‘0’에 가까운 낮은 점수를 부여한다. 이를 수학식으로 표시하면 하기 <수학식 1>과 같다.1. The user's situation variables are compared with the situation variables stored in the DB one by one and the scores are assigned according to the similarity. For example, if the current user's time is 1:00 pm, the user who is close to 1:00 pm in the past users is given a high score, such as '1', and the farther away, the lower score is closer to '0'. If this is expressed as
따라서, 현 사용자와 같은 시간에 사용했던 사용자의 상황에는 1의 값을 부 여하고, 현 사용자와 12시간의 시차를 갖는 사용자의 상황에는 0의 값을 부여한다.Therefore, a value of 1 is assigned to a situation of the user used at the same time as the current user, and a value of 0 is assigned to a situation of a user having a time difference of 12 hours from the current user.
만일 상황 변수가 시간과 같이 연속적인 값을 가진 것이 아니고 ‘분야’나 ‘사이트 종류’와 같이 단속적인 값을 가진 것이라면 일치하는 경우 ‘1’, 불일치하는 경우 0’의 값을 부여할 수 있다. 예를 들어 현 사용자가 사용하는 사이트가 인터넷 쇼핑몰이라면 상황변수 DB에 있는 자료 중 사이트 종류가 인터넷 쇼핑몰인 경우에는 1의 값을 부여하고 다른 사이트에는 0의 값을 부여한다.If the situation variable does not have a continuous value such as time, but has an intermittent value such as 'field' or 'site type', it can be given a value of '1' if a match is found and '0' if there is a mismatch. For example, if the site used by the current user is an internet shopping mall, if the site type is an internet shopping mall among the data in the context variable DB, a value of 1 is assigned and other sites are assigned a value of 0.
2. 각 상황변수에 대해서 부여된 점수를 합산하여 총 점수를 계산한다. 하기 <표 1>은 점수 합산의 한 예를 보여준다. 상황변수는 몇 개라도 가능하지만 예에서는 3 가지만 사용한다고 가정하고 검색 엔진의 수도 3개라고 가정한다.2. The total score is calculated by summing the points given for each situation variable. Table 1 below shows an example of score addition. Any number of situation variables can be used, but the example assumes that only three are used, and that there are three search engines.
만일 현재 사용자가 5:30am에 신문사 사이트에서 문화예술 분야의 키워드를 입력했다면 이 사용자가 상황변수 DB에 있는 각 과거 상황과의 유사도 점수는 다음과 같이 산출된다.If the current user inputs a keyword in the field of culture and art on the newspaper site at 5:30 am, the user's similarity score with each past situation in the situation variable DB is calculated as follows.
과거상황 1의 점수 = 1 (시간) + 0 (사이트 종류) + 0 (분야) = 1Past score of 1 = 1 (time) + 0 (site type) + 0 (field) = 1
과거상황 2의 점수 = 0.5 (시간) + 1 (사이트 종류) + 0 (분야) = 1.5Past score 2 = 0.5 (hours) + 1 (site type) + 0 (field) = 1.5
과거상황 m의 점수 = 0 (시간) + 0 (사이트 종류) + 1 (분야) = 1Past score m = 0 (hours) + 0 (site type) + 1 (sector) = 1
3. 총 점수가 가장 높은 순으로 정렬해서 위로부터 미리 정해진 개수만큼 취할 수 있다.3. You can take a predetermined number from above, sorted by highest total score.
<검색 결과화면의 표시방법><Display method of search result screen>
여러 검색 시스템에서 생성된 결과를 취합하는 방법은 여러 가지가 있으나, 두 가지 예를 들어보면 다음과 같다.There are several ways to aggregate the results generated by the various search systems, but two examples are as follows.
첫 번째 예로서, 각 개별 검색 시스템에서 리스트가 생성된 뒤에 각 항목이 몇 개의 시스템에서 검색되었는지 빈도에 따라 순서를 결정할 수 있다. 이때, 본 발명의 시스템에서 제안한 가중치 점수가 있는 경우 이 가중치를 사용하여 빈도를 가중 합산할 수도 있다.As a first example, after a list is generated in each individual search system, the order may be determined according to how many systems each item is searched for. In this case, if there is a weight score proposed by the system of the present invention, the weight may be weighted up using this weight.
두 번째 예로서, 일반적으로 각 검색 엔진은 리스트 작성 시 적합도 점수를 계산한다. 이들 적합도 점수를 상호 비교할 수 있도록 표준화하고, 각 항목이 개별 시스템에서 받은 점수를 평균한다. 이때, 본 발명의 시스템에서 제안한 가중치 점수가 있는 경우 이 가중치를 사용하여 적합도 점수를 가중 평균할 수도 있다.As a second example, each search engine typically calculates a goodness of fit score when listing. Standardize these goodness-of-fit scores so that they can be compared with each other and average the scores that each item receives from the individual systems. In this case, if there is a weight score suggested by the system of the present invention, the weighting average of the goodness of fit may be weighted using the weight.
상기 본 발명의 시스템에서 취합된 정보를 표시하는 방법도 두 가지로 구현될 수 있다. 첫째는 한 화면에 각 개별 시스템의 리스트를 따로 제시하고, 시스템에서 취합된 최종 결과를 별도로 제시하는 방법이다. 둘째는 각 개별 시스템의 리스트는 별도로 제시하지 않고 본 발명에 따라 최종 취합된 결과만 제시하는 방법이다. 물론, 두 번째 경우에도 사용자가 원하면 각 개별 시스템의 리스트를 별도로 제시할 수도 있다.The method of displaying the collected information in the system of the present invention may be implemented in two ways. The first is to present a list of each individual system separately on one screen, and present the final result collected from the system separately. The second is a method of presenting only the final aggregated results according to the present invention without listing each individual system separately. Of course, in the second case, the user can present a list of each individual system separately if desired.
한편, 각 시스템에서 생성하는 리스트의 길이는 이론상 무제한이나 사용자의 정보처리 능력을 감안하여 한 번에 10개 혹은 20 정도씩 화면에 표시하는 것이 보통이다. 본 발명에 따라 취합된 최종 리스트도 마찬가지 방법으로 표시할 수 있다. 이때 사용자가 원하면 다음 화면에 더 많은 항목으로 보여 줄 수도 있다.On the other hand, the length of the list generated by each system is theoretically unlimited, but it is common to display 10 or 20 screens at a time in consideration of the user's information processing ability. The final list collected according to the invention can also be displayed in the same way. If you want, you can show more items on the next screen.
<가중치 조정 방법><Weight adjustment method>
상술한 상황 변수 가중치 데이터베이스에는 개별 상황의 변수 값뿐만 아니라, 각 상황에서 개별 시스템의 가중치도 같이 저장되어 있다. 예를 들어 개별 시스템이 3개라면 각 상황은 각 시스템에 대응되는 3개의 가중치를 가지게 된다. 최초에는 가중치가 모든 시스템에 동일하게 부여되나, 상술한 바와 같이 사용자의 반응에 따라서 가중치가 수정된다.The context variable weight database described above stores not only the variable values of individual situations but also the weights of individual systems in each situation. For example, if there are three separate systems, each situation will have three weights corresponding to each system. Initially, the weight is given equally to all systems, but as described above, the weight is modified according to the user's response.
사용자에게 최종 취합된 정보가 제시된 후에 사용자는 본인이 생각하기에 적합한 항목을 클릭하게 된다. 이때, 만일 리스트에서 건너뛴 항목이 있으면 해당 항목은 부적합한 항목이므로 상기 해당 항목을 추천한 개별시스템은 가중치를 줄이고 클릭한 항목은 적합한 항목이므로 해당 항목을 생성한 개별 시스템의 가중치는 높이는 것이 바람직하다. 사용자가 리스트 중 하나를 클릭한 이후의 행동에 대한 자료가 있다면, 사용자가 각 항목을 얼마나 오래 보았느냐에 따라 클릭한 항목의 가중치 부여도 차등을 둘 수 있다. 예를 들어 클릭한 항목을 생성한 개별 시스템의 가중치를 높일 때에도 오래 본 항목은 더 큰 가중치 증가를 시키고 잠깐만 본 항목은 상대적으로 작은 가중치 증가를 시킬 수가 있다.After the user is presented with the final aggregated information, the user clicks on the item that he / she thinks appropriate. In this case, if there is an item skipped from the list, the item is inappropriate, so the individual system recommending the item decreases the weight and the clicked item is a suitable item, so it is preferable to increase the weight of the individual system generating the item. If there is data about the behavior after the user clicks on one of the lists, the weighting of the clicked items may be differentiated depending on how long the user has viewed each item. For example, even when you increase the weight of the individual system that created the clicked item, long-running items can have a larger weight increase, and for a short time, the item can have a relatively small weight increase.
가중치 조정 방법의 구체적인 실시예는 다음과 같다.A specific embodiment of the weight adjustment method is as follows.
1. 사용자가 리스트에서 어떤 항목을 선택한 경우 : 각 검색 엔진에 대한 가중치를 아래의 가중치 변경 수치만큼 증가시킨다. 만일 어떤 검색 엔진의 리스트에 그 항목이 없었다면 그 검색 엔진에 대한 가중치를 작은 숫자(예를 들어 0.01)만큼 감소시킨다.1. When a user selects an item from the list: The weight for each search engine is increased by the weight change value below. If there is no item in a list of search engines, the weight for that search engine is reduced by a small number (eg 0.01).
2. 사용자가 리스트에서 어떤 항목을 건너뛴 경우: 각 검색 엔진에 대한 가중치를 아래의 가중치 변경 수치만큼 감소시킨다. 만일 어떤 검색 엔진의 리스트에 그 항목이 없었다면 그 검색 엔진에 대한 가중치를 작은 숫자(예를 들어 0.01)만큼 증가시킨다.2. If the user skips an item in the list: Reduce the weight for each search engine by the weight change value below. If there is no item in a list of search engines, the weight for that search engine is increased by a small number (eg 0.01).
예를 들어, 해당 항목이 어떤 검색 엔진의 결과에서 2번째에 위치하고 있었다면 가중치 변경 수치는 1/2 = 0.5가 된다. For example, if the item was placed second in a search engine's results, the weight change would be 1/2 = 0.5.
예를 들어 위의 상황변수 DB를 사용하여 검색결과를 하기 <표 2>와 같이 생성하여 사용자에게 제시하였다고 가정하자. 사용자는 5:30에 쇼핑몰에서 카메라에 관한 검색을 하고 있다고 가정하자(상황변수 DB에서 과거상황 1).For example, suppose that the search result is generated and presented to the user as shown in Table 2 below using the situation variable DB above. Suppose a user is searching for a camera at a shopping mall at 5:30 (
이때, 사용자에게 제시된 최종 검색결과에서 사용자가 웹페이지 a는 건너뛰고 웹페이지 b를 선택했다면 각 검색 엔진의 가중치는 다음과 같이 조정된다.At this time, if the user skips the webpage a and selects the webpage b in the final search result presented to the user, the weight of each search engine is adjusted as follows.
1. 웹페이지 b를 선택한 것에 대한 조정:1.Adjustment for selecting web page b:
검색 엔진 1의 가중치 = 0.5 (현재 가중치) + 1/2 = 1Weight of
검색 엔진 2의 가중치 = 0.9 (현재 가중치) + 1/1 = 1.9Weight of search engine 2 = 0.9 (current weight) + 1/1 = 1.9
검색 엔진 3의 가중치 = 0.6 (현재 가중치) - 0.01 = 0.59 (리스트에 b가 없다.)Weight of search engine 3 = 0.6 (current weight)-0.01 = 0.59 (no b in the list)
2. 웹페이지 a를 건너뛴 것에 대한 조정:2. Adjustments for skipping webpage a:
검색 엔진 1의 가중치 = 1.0 (현재 가중치) - 1/1 = 0Weight of
검색 엔진 2의 가중치 = 1.9 (현재 가중치) - 1/2 = 1.4Weight of search engine 2 = 1.9 (current weight)-1/2 = 1.4
검색 엔진 3의 가중치 = 0.59 (현재 가중치) + 0.01 = 0.6 (리스트에 a가 없다.)Weight of search engine 3 = 0.59 (current weight) + 0.01 = 0.6 (there is no a in the list)
한편, 상술한 바와 같이 상기에서 산출된 가중치를 가지고 각 검색 엔진에서 나온 자료를 소팅할 때 마지막으로 정규화(Normalize)하는 한 가지 단계가 추가되는 것이 바람직하다. 즉, 상술한 가중치 조정 방법에 의하면 상황 변수 가중치 DB에 있는 각 검색 엔진의 가중치가 0 이하이거나 1 이상일 수도 있으므로 가중치를 각 검색 엔진에서 계산한 적합도 점수에 곱하기 전에 표준화를 시켜서 가중치가 0 내지 1 사이에 있도록 하는 것이 바람직하다.On the other hand, as described above, when sorting the data from each search engine with the weights calculated above, it is desirable to add one step that is finally normalized. That is, according to the above-described weight adjustment method, the weight of each search engine in the situation variable weight DB may be 0 or less or 1 or more, so that the weight is normalized before multiplying the weight by the fitness score calculated by each search engine, and the weight is between 0 and 1. It is desirable to be in.
예를 들어, 각 검색 엔진의 가중치가 0.6, -0.3, 1.5라면, 이를 다음의 식을 사용하여 표준화시키게 된다.For example, if the weight of each search engine is 0.6, -0.3, 1.5, it is normalized using the following equation.
가중치 1 = (0.6 + 0.3)/1.8 = 0.5
가중치 1 = (-0.3 + 0.3)/1.8 = 0
가중치 1 = (1.5 + 0.3)/1.8 = 1
상기 <수학식 3>을 사용하면 항상 최소가 0, 최대가 1이 된다.Using Equation 3, the minimum is always 0 and the maximum is 1.
한편, 본 발명의 실시예에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 안되며 후술하는 특허 청구의 범위뿐만 아니라 이 특허 청구의 범위와 균등한 것들에 의해 정해져야 한다.On the other hand, in the embodiment of the present invention has been described with respect to specific embodiments, of course, various modifications are possible without departing from the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the appended claims, but also by those equivalent to the claims.
본 발명에 따르면, 검색 요청시 각 사용자가 처한 환경이나 상황에 따라 동 일 또는 유사한 상황에서 신뢰도가 높은 정보를 제공한 검색 엔진에 보다 가중치를 적용하여 검색 결과를 제공함으로써 보다 정확성 있고 신뢰도가 높은 정보를 제공할 수 있게 되는 장점이 있다.According to the present invention, more accurate and highly reliable information is provided by providing a search result by applying a weight to a search engine that provides highly reliable information in the same or similar situation according to the environment or situation of each user upon request of a search. There is an advantage that can be provided.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050064094A KR100682552B1 (en) | 2005-07-15 | 2005-07-15 | System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050064094A KR100682552B1 (en) | 2005-07-15 | 2005-07-15 | System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070009095A KR20070009095A (en) | 2007-01-18 |
KR100682552B1 true KR100682552B1 (en) | 2007-02-15 |
Family
ID=38010977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20050064094A KR100682552B1 (en) | 2005-07-15 | 2005-07-15 | System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100682552B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101120641B1 (en) * | 2010-06-10 | 2012-03-16 | 주식회사 다음커뮤니케이션 | Device and method for providing search service |
KR101279753B1 (en) * | 2011-09-21 | 2013-07-04 | 한국과학기술원 | Search service providing apparatus and method for reconstructing search result based on user's response for search result |
US11989193B2 (en) | 2021-06-29 | 2024-05-21 | Samsung Electronics Co., Ltd. | Method and system for modifying search query for a user |
WO2023277342A1 (en) * | 2021-06-29 | 2023-01-05 | Samsung Electronics Co., Ltd. | Method and system for modifying search query for a user |
CN113590919A (en) * | 2021-07-29 | 2021-11-02 | 小船出海教育科技(北京)有限公司 | Search request processing method and device, electronic equipment and computer readable medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000059024A (en) * | 2000-07-10 | 2000-10-05 | 정영일 | Disposition estimate and information provide system of internet user and method thereof |
KR20060050397A (en) * | 2004-10-05 | 2006-05-19 | 마이크로소프트 코포레이션 | Systems, methods, and interfaces for providing personalized search and information access |
-
2005
- 2005-07-15 KR KR20050064094A patent/KR100682552B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000059024A (en) * | 2000-07-10 | 2000-10-05 | 정영일 | Disposition estimate and information provide system of internet user and method thereof |
KR20060050397A (en) * | 2004-10-05 | 2006-05-19 | 마이크로소프트 코포레이션 | Systems, methods, and interfaces for providing personalized search and information access |
Non-Patent Citations (2)
Title |
---|
1020000059024 |
1020060050397 |
Also Published As
Publication number | Publication date |
---|---|
KR20070009095A (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080147635A1 (en) | System, apparatus and method for providing weight to information gathering engine according to situation of user and computer readable medium processing the method | |
US8738654B2 (en) | Objective and subjective ranking of comments | |
KR101700352B1 (en) | Generating improved document classification data using historical search results | |
US7451161B2 (en) | Compatibility scoring of users in a social network | |
RU2382400C2 (en) | Construction and application of web-catalogues for focused search | |
JP5632574B2 (en) | System and method for improving ranking of news articles | |
JP5572596B2 (en) | Personalize the ordering of place content in search results | |
US6345264B1 (en) | Methods and apparatus, using expansion attributes having default, values, for matching entities and predicting an attribute of an entity | |
KR101147470B1 (en) | Recommendation information generation apparatus and recommendation information generation method | |
WO2015192667A1 (en) | Advertisement recommending method and advertisement recommending server | |
US20090282038A1 (en) | Probabilistic Association Based Method and System for Determining Topical Relatedness of Domain Names | |
US20050149507A1 (en) | Systems and methods for identifying an internet resource address | |
EP2244220A1 (en) | Computer method and system for publishing content on a global computer network | |
US20070055657A1 (en) | System for generating and managing context information | |
US20090271350A1 (en) | Apparatus and method for adaptively recommending service, system and method for adaptively recommending service, apparatus and method for recommending service based on user's favorite base | |
MX2010011407A (en) | Social network powered query refinement and recommendations. | |
KR100781399B1 (en) | Apparatus and method for providing weights to recommendation engines according to situation of user and computer readable medium processing the method | |
KR20090033989A (en) | Method for advertising local information based on location information and system for executing the method | |
CN101911065A (en) | Access subject information retrieval device | |
KR100682552B1 (en) | System, apparatus and method for providing a weight to search engines according to situation of user and computer readable medium processing the method | |
JP4820147B2 (en) | Attribute evaluation program, attribute evaluation system, and attribute evaluation method | |
Tan et al. | Preference-oriented mining techniques for location-based store search | |
KR101649146B1 (en) | Method and server for searching | |
US7660784B1 (en) | Geographically resolving a keyword query | |
KR102323153B1 (en) | Decision support server and method for providing decision support reference based on unconsciouness area of customer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130206 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140129 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150122 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151211 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170202 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180123 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190117 Year of fee payment: 13 |