KR20240015280A - Systems and methods for search query processing using trend analysis - Google Patents

Systems and methods for search query processing using trend analysis Download PDF

Info

Publication number
KR20240015280A
KR20240015280A KR1020220092928A KR20220092928A KR20240015280A KR 20240015280 A KR20240015280 A KR 20240015280A KR 1020220092928 A KR1020220092928 A KR 1020220092928A KR 20220092928 A KR20220092928 A KR 20220092928A KR 20240015280 A KR20240015280 A KR 20240015280A
Authority
KR
South Korea
Prior art keywords
query
queries
search
information
user
Prior art date
Application number
KR1020220092928A
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 KR1020220092928A priority Critical patent/KR20240015280A/en
Publication of KR20240015280A publication Critical patent/KR20240015280A/en

Links

Classifications

    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • 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/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Abstract

검색 요청을 처리하는 시스템 및 방법은 찾고 있는 정보의 보다 정확한 이해를 제공하기 위해 수신된 쿼리
의 분석을 포함한다. 일 실시예에서, 쿼리는 쿼리의 하나 이상의 단어 또는 토큰을 포함할 수 있는 단위
로 구문 분석되며, 단위는 개념 네트워크에 관련된다. 관심 기준에 따라 쿼리들을 서브셋으로 분류하고,
서로 다른 서브셋에 대한 개념 네트워크를 비교함으로써 트렌드 분석이 이루어진다. 계속해서 수신된 쿼
리에 대한 자동 검색 에이전트의 응답을 향상시키기 위해 트렌드 정보가 사용될 수 있다.
Systems and methods of processing search requests are provided to the queries received to provide a more accurate understanding of the information being sought.
Includes analysis. In one embodiment, a query is a unit that may contain one or more words or tokens of the query.
is parsed as , and the units are related to a concept network. Classify queries into subsets according to criteria of interest,
Trend analysis is achieved by comparing concept networks for different subsets. Quotations received continuously
Trend information can be used to improve the automatic discovery agent's response to information.

Description

트렌드 분석을 이용한 검색 쿼리 처리 시스템 및 방법{SYSTEMS AND METHODS FOR SEARCH QUERY PROCESSING USING TREND ANALYSIS}Search query processing system and method using trend analysis {SYSTEMS AND METHODS FOR SEARCH QUERY PROCESSING USING TREND ANALYSIS}

본 출원은 다음의 공통 양도된 계류중인 미국 특허 출원에 관련된다: "[0001] 범용 검색 인터페이스 시스템 및 방This application relates to the following commonly assigned pending U.S. patent applications: “[0001] Universal search interface system and method

법"이라는 명칭으로 2003년 4월 4일자 제출된 예비 출원 60/460,222호; 및 "단위들의 클러스터링을 이용한Preliminary Application No. 60/460,222, filed April 4, 2003, entitled "Act"; and "Using Clustering of Units

검색 처리 시스템 및 방법"이라는 명칭으로 2003년 10월 9일자 제출된 예비 출원 60/510,220호. 이들 출Preliminary Application No. 60/510,220, filed October 9, 2003, entitled “Search Processing System and Method.”

원 각각의 개시는 모든 목적을 위해 본원에 참조로 포함된다. 본Each disclosure is incorporated herein by reference for all purposes. copy

원 발명은 트렌드 분석을 이용한 검색 쿼리(query) 처리 시스템 및 방법에 관한 것이다.The original invention relates to a search query processing system and method using trend analysis.

[0002] 인터넷의 출현 및 월드 와이드 웹(web)을 통해 사용자가 이용 가능한 다수의 웹 페이지 및 미디어 컨텐츠[0002] The emergence of the Internet and the large number of web pages and media content available to users through the World Wide Web (web)

에 의해, 웹으로부터 원하는 정보를 필터링하고 얻기 위한 간결한 접근법을 사용자에게 제공할 필요가 생There is a need to provide users with a concise approach to filtering and obtaining desired information from the Web.

겼다. 원하는 정보를 얻고자 하는 사용자의 요구를 충족시키기 위한 검색 시스템 및 프로세스가 개발되었I won. Search systems and processes have been developed to meet the needs of users seeking desired information.

다. 이러한 기술의 예는 Yahoo!, Google 및 다른 사이트들을 통해 액세스될 수 있다. 통상적으로, 사용all. Examples of these technologies can be accessed through Yahoo!, Google, and other sites. Normally used

자가 쿼리를 입력하고 검색 프로세스는 쿼리에 관련된 하나 이상의 링크(웹을 검색하는 경우), 문서 및/또는 참조(다른 검색어의 경우)로 답변한다. 답변한 링크는 사용자가 실제로 찾고 있던 것과 밀접하게 관련You enter a query, and the search process responds with one or more links (if searching the web), documents, and/or references (if other search terms) related to your query. The links you answer are closely related to what the user was actually looking for

될 수도 있고, 완전히 관련이 없을 수도 있다. 쿼리에 대한 결과의 "관련성"은 부분적으로는 사용된 검색It could be, or it could be completely unrelated. The "relevance" of a result to a query depends in part on the search used.

시스템(밑에 있는 수집 시스템)의 강인성(robustness)뿐 아니라 입력된 실제 쿼리의 함수일 수도 있다.It may be a function of the actual query entered as well as the robustness of the system (the underlying collection system).

관련성은 사용자에 의해 주관적으로 결정될 수도 있고, 사용자가 찾고 있는 것에 의해 객관적으로 결정될Relevance may be determined subjectively by the user, or objectively by what the user is looking for.

수도 있다.It may be possible.

사용자가 입력한 쿼리는 통상적으로 하나 이상의 단어로 구성된다. 예를 들어, [0003] 쿼리는 "hawaii", "newThe query entered by the user typically consists of one or more words. For example, [0003] query would be "hawaii", "new

york city", "new york city law enforcement"과 같다. 이와 같이, 쿼리는 전부 인간의 두뇌에서 완전하york city", "new york city law enforcement". Likewise, queries are all complete in the human brain.

지 않다. 다시 말하면, 인간은 쿼리에 관해 자연히 생각하지 않는다. 이들은 쿼리 검색 엔진 또는 룩업It is not. In other words, humans don't naturally think about queries. These are query search engines or lookups

라이브러리 카탈로그의 필요성에 의해 부분적으로 부과되는 인위적인 구조이다. 인간은 단지 단일 단어들It is an artificial structure partly imposed by the needs of the library catalog. Humans are just single words

에 관해서도 자연스럽게 생각하지 않는다. 인간이 생각하는 것은 자연 개념이다. 예를 들어, "hawaii"와I don't naturally think about it either. What humans think is a natural concept. For example, "hawaii" and

"new york city"는 단어 수로 측정되는 길이에 관해서는 상당히 다른 쿼리이지만, 이들은 한 가지 중요한"new york city" are quite different queries with regard to length measured in words, but they have one important thing:

특징을 공유하는데, 즉 이들은 각각 하나의 개념을 구성한다. 그러나 "new york city law enforcement"They share features, that is, they each constitute a concept. But "new york city law enforcement"

라는 쿼리는 "new york city"와 "law enforcement"라는 두 가지 별개의 개념을 구성하기 때문에 다르다.is different because it constitutes two separate concepts: "new york city" and "law enforcement."

[0004] 또한, 인간은 개념들 간의 논리적 관계에 관해 생각한다. 예를 들어, 경찰은 중요한 법률 시행 기관이기[0004] Additionally, humans think about logical relationships between concepts. For example, the police are important law enforcement agencies.

때문에 "law enforcement"와 "police"는 관련 개념이며, 이러한 개념들 중 하나를 타이핑하는 사용자는 사Therefore, “law enforcement” and “police” are related concepts, and users who type either of these concepts are

용자가 타이핑했던 특정 단어나 문구를 포함하지 않더라도 다른 개념과 관련된 사이트에 관심이 있을 수도You may also be interested in sites related to other concepts, even if they do not contain the specific words or phrases you typed.

있다. 이러한 사고 패턴의 결과, 인간은 자연히 단일 단어들의 가변적인 긴 시퀀스를 단순화하지 않고 하there is. As a result of this thinking pattern, humans naturally do not simplify long, variable sequences of single words.

나 이상의 자연 개념을 입력함으로써 쿼리를 구성하며, 쿼리는 일반적으로 사용자가 알 수 있는 관련 개념Queries are constructed by inputting one or more natural concepts, and queries are generally related concepts known to the user.

을 모두 포함하지는 않는다. 또한, 사용자 의도가 쿼리의 개별 단어에 반드시 반영되는 것은 아니다. 예does not include all. Additionally, user intent is not necessarily reflected in individual words in the query. yes

를 들어, "law enforcement"는 하나의 개념이지만, 개별 단어 "law"와 "enforcement"는 조합된 단어들과For example, "law enforcement" is a concept, but the individual words "law" and "enforcement" are combined and

같은 사용자 의도를 개별적으로 전달하지는 않는다.They do not individually convey the same user intent.

[0005] 주요 검색 제공자, 예를 들어 MSN, Google이나 임의의 다른 주요 검색 엔진 사이트의 현재 기술은 인간이[0005] Current technology at major search providers, such as MSN, Google or any other major search engine site, does not allow humans to

쿼리를 생성하는 것과 동일한 방식으로 쿼리를 이해하지 않는다. 예컨대, 기존의 검색 엔진들은 일반적으It doesn't understand queries in the same way as generating them. For example, existing search engines generally

로 사용자가 실제로 의도하고 있는 관련 개념이나 근원적인 자연 개념이 아니라, 사용자가 입력한 정확한It is not the related concept or fundamental natural concept that the user actually intends, but the exact information entered by the user.

단어나 문구를 검색한다. 이는 아마 검색 제공자들이 사용자의 의도를 인지하여 최적의 검색 결과 및 컨Search for a word or phrase. This is probably because search providers recognize user intent and provide optimal search results and controls.

텐츠를 제공하는 것을 방해하는 가장 중요한 이유일 것이다.This is probably the most important reason that hinders the provision of content.

[0006] 알 수 있듯이, 사용자가 관심 있거나 사용자의 경험을 향상시키는 실제 개념에 보다 일치하는 결과를 제공[0006] As can be seen, it provides results that are more consistent with the actual concepts that the user is interested in or enhances the user's experience.

하는데 도움이 되는 개선된 검색 및 인터페이스 기술이 필요하다.Improved search and interface technologies are needed to help with this.

[0007] 본 발명의 실시예들은 찾고 있는 정보의 보다 정교한 이해를 제공하기 위해 수신된 쿼리의 분석을 포함하[0007] Embodiments of the present invention include analysis of received queries to provide a more sophisticated understanding of the information being sought.

여, 검색 요청을 처리하는 시스템 및 방법을 제공한다. 쿼리는 예를 들어 쿼리의 하나 이상의 단어 또는Provides a system and method for processing search requests. A query can be defined by, for example, one or more words in the query or

토큰을 포함할 수 있는 단위로 구문 분석될 수 있다. 쿼리의 단위 표현에 대해 추가 분석이 이루어져, 다It can be parsed into units that can contain tokens. Additional analysis is done on the unit representation of the query,

른 쿼리에 사용되는 단위들의 비슷한 조합과 같은 패턴을 검출한다. 제 2 단위들의 비슷한 세트에 관련하Detects patterns such as similar combinations of units used in other queries. relating to a similar set of secondary units

여 쿼리에서 생기는 단위들은 클러스터에 그룹화되고, 각각에 관련된 제 2 단위들의 유사도를 기초로 두Units that arise from a query are grouped into clusters, and are grouped into clusters based on the similarity of the second units related to each.

클러스터 부재 간의 관계에 가중치가 할당될 수 있다.Weights may be assigned to relationships between cluster members.

[0008] 본 발명의 한 형태에 따르면, 쿼리들의 다른 서브셋마다 클러스터링이 반복되고, 하나 이상의 기준에 따라[0008] According to one form of the invention, the clustering is repeated for each different subset of queries, according to one or more criteria.

쿼리가 서브셋으로 분류된다. 일 실시예에서, 기준은 시간, 사용자의 개인 성격 또는 인구 통계(예를 들Queries are classified into subsets. In one embodiment, the criteria may be time, the user's personal characteristics, or demographics (e.g.

어, 연령, 성별, 알려진 취미 또는 사용자 프로파일), 지역 분류 기준(예를 들어, 물리적 위치 또는 IP 주age, gender, known hobbies or user profiles), geographic classification criteria (e.g. physical location or IP address),

소), 또는 쿼리에 선행하는 상황이나 사용자의 행동을 나타내는 종단적 기준(예를 들어, 쿼리가 입력될 때data), or longitudinal criteria that represent the circumstances or user behavior preceding the query (e.g., when the query is entered).

사용자가 웹사이트 어디에 있는지)을 포함한다. 적어도 2개의 서브셋으로부터 해당 서브셋-특정 개념을Where the user is on the website) Subset-specific concepts from at least two subsets

비교함으로써 단위나 클러스터에 관한 트렌드 정보가 생성된다.By comparing, trend information about units or clusters is generated.

다음의 상세한 설명은 본 발명의 특징 및 이점의 이해를 돕는다.The following detailed description assists in understanding the features and advantages of the present invention.

[0010] 도 1은 본 발명의 실시예에 따른 정보 검색 및 통신 시스템의 간략화된 고 레벨 블록도이다.
도 2는 본 발명의 실시예에 따른 미디어 컨텐츠를 전달하는 정보 검색 및 통신 네트워크의 간략화된 블록
도이다.
도 3은 본 발명의 실시예에 따른 쿼리 처리 엔진의 간략화된 블록도이다.
도 4는 본 발명의 실시예에 따라 트렌드 분석을 실행하는 프로세스의 흐름도이다.
도 5는 본 발명의 실시예에 따른 단위 사전, 및 어떤 형태에서 쿼리 처리 엔진을 포함하는 관련 처리 정보
를 포함하는 시스템의 간략화된 블록도이다.
도 6은 하루의 시간 함수로서 쿼리의 빈도를 나타내는 트렌드 데이터의 그래프이다.
[0010] Figure 1 is a simplified high-level block diagram of an information retrieval and communication system according to an embodiment of the present invention.
2 is a simplified block diagram of an information retrieval and communication network delivering media content according to an embodiment of the present invention.
It is also a degree.
Figure 3 is a simplified block diagram of a query processing engine according to an embodiment of the present invention.
4 is a flow diagram of a process for performing trend analysis according to an embodiment of the present invention.
5 shows a unit dictionary and associated processing information, including, in some form, a query processing engine, according to an embodiment of the present invention.
This is a simplified block diagram of the system including.
Figure 6 is a graph of trend data showing the frequency of queries as a function of time of day.

[0011] 도 1은 본 발명의 실시예에 따른 클라이언트 시스템(20)을 포함하는 정보 검색 및 통신 네트워크(10)의 일1 is a diagram of an information retrieval and communication network 10 including a client system 20 according to an embodiment of the present invention.

반 개요를 나타낸다. 컴퓨터 네트워크(10)에서, 클라이언트 시스템(20)은 인터넷(40) 또는 다른 통신망을Shows the class outline. In a computer network 10, a client system 20 has access to the Internet 40 or another communication network.

통해, 예를 들어 LAN 또는 WAN 접속을 통해 임의의 개수의 서버 시스템(501~50N)에 연결된다. 여기서 설명It is connected to any number of server systems (501 to 50N), for example, through a LAN or WAN connection. explained here

하는 바와 같이, 클라이언트 시스템(20)은 본 발명에 따라 임의의 서버 시스템(501~50N)과 통신하도록, 예As described above, the client system 20 is configured to communicate with any server system 501 to 50N according to the present invention, e.g.

를 들어 미디어 컨텐츠 및 웹 페이지와 같은 다른 정보를 액세스, 수신, 검색 및 디스플레이하도록 구성된다.It is configured to access, receive, retrieve, and display other information, such as media content and web pages.

도 1에 나타낸 시스템의 여러 구성요소들은 여기서 상세히 설명할 필요 [0012] 없는 종래의 공지된 구성요소를 포[0012] The various components of the system shown in Figure 1 include conventionally known components that do not need to be described in detail here.

함한다. 예를 들어, 클라이언트 시스템(20)은 개인용 데스크탑 컴퓨터, 워크스테이션, 랩탑, PDA, 셀폰,Includes For example, client system 20 may include a personal desktop computer, workstation, laptop, PDA, cell phone,

또는 임의의 WAP 가능 장치나 인터넷에 직접 또는 간접적으로 인터페이스할 수 있는 다른 연산 장치를 포or any WAP-enabled device or other computing device capable of interfacing directly or indirectly to the Internet.

함할 수 있다. 클라이언트 시스템(20)은 통상적으로 Microsoft Internet ExplorerIt can be done. Client system 20 typically uses Microsoft Internet Explorer

TMTM

브라우저, NetscapeBrowser, Netscape

NavigarotNavigarot

TMTM

브라우저, MozillaBrowser, Mozilla

TMTM

브라우저, OperaBrowser, Opera

TMTM

브라우저, 셀폰이나 PDA 또는 다른 무선 장치의 경우에For browsers, cell phones, PDAs, or other wireless devices

는 WAP 가능 브라우저 등 클라이언트 시스템(20)의 사용자가 인터넷(40)을 통해 서버 시스템(501~50N)으로A user of a client system (20), such as a WAP-enabled browser, can access the server system (501-50N) via the Internet (40).

부터 입수할 수 있는 정보 및 페이지를 액세스 및 처리하고 볼 수 있게 하는 브라우징 프로그램을 실행한Running a browsing program that allows you to access, process and view information and pages available from

다. 또한, 클라이언트 시스템(20)은 통상적으로 키보드, 마우스, 터치 스크린, 펜 등, 서버 시스템all. Additionally, the client system 20 is typically a server system with a keyboard, mouse, touch screen, pen, etc.

(501~50N)이나 다른 서버에 의해 제공되는 페이지, 폼 및 다른 정보와 관련하여 디스플레이(예를 들어, 모(501-50N) or in connection with the display of pages, forms, and other information provided by

니터 스크린, LCD 디스플레이 등) 상의 브라우저에 의해 제공되는 그래픽 사용자 인터페이스(GUI)와 상호Interact with the graphical user interface (GUI) provided by the browser (on a monitor screen, LCD display, etc.)

작용하기 위한 하나 이상의 사용자 인터페이스 장치(22)를 포함한다. 본 발명은 네트워크의 특정 글로벌and one or more user interface devices 22 for operation. The present invention is a specific global network

인터 네트워크라 하는 인터넷에 사용하기 적합하다. 그러나 인터넷 대신 또는 인터넷에 추가로 인트라넷,It is suitable for use on the Internet, also known as the Internet. However, an intranet instead of or in addition to the Internet;

익스트라넷, 가상 개인 네트워크(VPN), 비-TCP/IP 기반 네트워크, 임의의 LAN 또는 WAN 등의 다른 네트워Another network, such as an extranet, virtual private network (VPN), non-TCP/IP based network, or any LAN or WAN.

크가 사용될 수 있는 것으로 이해해야 한다.It must be understood that the size can be used.

일 실시예에 따르면, 클라이언트 장치(20) 및 그 구성요소들은 모두 Intel PentiumAccording to one embodiment, the client device 20 and its components are all Intel Pentium

TMTM

[0013] 프로세서, AMD[0013] Processor, AMD

AtholonAtholon

TMTM

프로세서 등의 중앙 처리 유닛이나 다중 프로세서를 이용하여 실행되는 컴퓨터 코드를 포함하는Contains computer code that is executed using a central processing unit such as a processor or multiple processors

애플리케이션을 이용하여 구성될 수 있는 연산자이다. 여기에 개시된 바와 같이 데이터 및 미디어 컨텐츠This is an operator that can be configured using an application. Data and Media Content as Disclosed Herein

를 전달, 처리 및 디스플레이하도록 클라이언트 시스템(20)을 조작 및 구성하는 컴퓨터 코드는 바람직하게The computer code that manipulates and configures the client system 20 to deliver, process, and display preferably

하드디스크에 다운로드되어 저장되지만, 전체 프로그램 코드 또는 그 일부는 ROM이나 RAM으로 잘 알려진Although it is downloaded and stored on the hard disk, the entire program code or portions of it are stored in memory, better known as ROM or RAM.

다른 비휘발성 메모리 매체나 장치에 저장될 수도 있고, 콤팩트 디스크(CD) 매체, 디지털 다기능 디스크It may be stored on other non-volatile memory media or devices, such as compact disk (CD) media, digital versatile disks, etc.

(DVD) 매체, 플로피 디스크 등 프로그램 코드를 저장할 수 있는 임의의 매체에 제공될 수도 있다.It may be provided on any medium that can store program code, such as (DVD) medium or floppy disk.

추가로, 전체 프로그램 코드 또는 그 일부는 소프트웨어 소스로부터, 예를 들어 서버 시스템(501~50N) 중Additionally, the entire program code, or portions thereof, may be obtained from a software source, e.g., on a server system (501-50N).

하나로부터 인터넷을 통해 클라이언트 시스템(20)에 전송 및 다운로드될 수도 있고, 임의의 통신 매체 및may be transmitted and downloaded from one to the client system 20 via the Internet, any communication medium, and

프로토콜(예를 들어, TCP/IP, HTTP, HTTPS, 이더넷, 또는 다른 종래의 매체 및 프로토콜)을 이용하여 임의Any protocol (e.g. TCP/IP, HTTP, HTTPS, Ethernet, or other conventional media and protocols)

의 다른 네트워크 접속(예를 들어, 익스트라넷, VPN, LAN, 또는 다른 종래의 네트워크)을 통해 전송될 수may be transmitted over another network connection (e.g., an extranet, VPN, LAN, or other conventional network)

도 있다.There is also.

[0014] 본 발명의 형태들을 구현하는 컴퓨터 코드는 C, C++, HTML, XML, 자바, 자바 스크립트 등의 코드나 임의의[0014] The computer code implementing the forms of the present invention may be code such as C, C++, HTML, XML, Java, JavaScript, or any

다른 적당한 스크립트 언어(예를 들어, VBScript)일 수도 있고, 클라이언트 시스템(20) 상에서 실행되거나It may be another suitable scripting language (e.g., VBScript), run on the client system 20, or

클라이언트 시스템(20) 상에서 실행되도록 컴파일될 수 있는 다른 적당한 프로그래밍 언어일 수도 있는 것What may be any other suitable programming language that can be compiled to run on the client system 20

으로 인식해야 한다. 어떤 실시예에서는, 클라이언트 시스템(20)에 코드가 다운로드되지 않고, 필요한 코It must be recognized as In some embodiments, no code is downloaded to the client system 20, and the code required

드가 서버에 의해 실행되거나, 클라이언트 시스템(20)에 이미 존재하는 코드가 실행된다.code is executed by the server, or code that already exists on the client system 20 is executed.

[0015] 도 2는 본 발명의 실시예에 따른 미디어 컨텐츠를 전달하는 다른 정보 검색 및 통신 네트워크(110)를 나타[0015] Figure 2 illustrates another information retrieval and communication network 110 delivering media content according to an embodiment of the present invention.

낸다. 도시한 바와 같이, 네트워크(110)는 클라이언트 시스템(120), 하나 이상의 컨텐츠 서버 시스템Pay it out As shown, network 110 includes a client system 120 and one or more content server systems.

(150) 및 검색 서버 시스템(160)을 포함한다. 네트워크(110)에서, 클라이언트 시스템(120)은 인터넷(140)150 and a search server system 160. In network 110, client system 120 connects to Internet 140.

또는 다른 통신 네트워크를 통해 서버 시스템(150, 160)과 통신 가능하게 연결된다. 상술한 바와 같이,Or, it is communicatively connected to the server systems 150 and 160 through another communication network. As mentioned above,

클라이언트 시스템(120) 및 그 구성요소들은 인터넷(140) 또는 다른 통신 네트워크를 통해 서버 시스템Client system 120 and its components can be connected to server system 120 via the Internet 140 or other communications network.

(150, 160) 및 다른 서버 시스템과 통신하도록 구성된다.(150, 160) and is configured to communicate with other server systems.

[0016] 일 실시예에 따르면, 클라이언트 시스템(120)에서 실행하는 (모듈(125)로 나타낸) 클라이언트 애플리케이[0016] According to one embodiment, a client application (represented as module 125) running on client system 120

션은 서버 시스템(150, 160)과 통신하고 이들로부터 수신된 데이터를 처리 및 디스플레이하도록 클라이언The client is configured to communicate with server systems 150, 160 and process and display data received from them.

트 시스템(120) 및 그 구성요소들을 제어하는 명령들을 포함한다. 클라이언트 애플리케이션 모듈(125)은Includes instructions for controlling the smart system 120 and its components. The client application module 125 is

상술한 바와 같이 플로피 디스크, CD, DVD 등 임의의 소프트웨어 저장 매체에 제공될 수 있지만, 클라이언As described above, it may be provided on any software storage medium such as floppy disk, CD, DVD, etc., but the client

트 애플리케이션(125)은 바람직하게 원격 서버 시스템(예를 들어, 서버 시스템(150), 서버 시스템(160) 또The smart application 125 preferably operates on a remote server system (e.g., server system 150, server system 160, or

는 다른 원격 서버 시스템) 등의 소프트웨어 소스로부터 클라이언트 시스템(120)에 전송 및 다운로드된다.is transmitted and downloaded to the client system 120 from a software source, such as another remote server system.

예를 들어, 한 형태에서, 클라이언트 애플리케이션 모듈(125)은 예를 들어, 임베디드 자바 스크립트나 액For example, in one form, client application module 125 may include, for example, embedded JavaScript or

티브 X 컨트롤 등 데이터를 조종하고 각종 객체, 프레임 및 윈도우로 데이터를 랜더링하는 각종 컨트롤을Various controls such as TivX controls that manipulate data and render data into various objects, frames, and windows.

포함하는 HTML 래퍼(wrapper)로 인터넷(140)을 통해 클라이언트 시스템(120)에 제공될 수 있다.It can be provided to the client system 120 through the Internet 140 as an HTML wrapper including.

[0017] 추가로, 클라이언트 애플리케이션 모듈(125)은 검색 요청 및 검색 결과 데이터를 처리하는 전문 검색 모듈[0017] Additionally, the client application module 125 is a specialized search module that processes search requests and search result data.

(126), 데이터 및 미디어 컨텐츠를 텍스트 및 데이터 프레임과 활성 윈도우, 예를 들어 브라우저 윈도우와(126), data and media content, such as text and data frames and active windows, such as browser windows and

대화 상자에 랜더링하는 사용자 인터페이스 모듈(127), 클라이언트(120) 상에서 실행하는 각종 애플리케이User interface module 127 for rendering in a dialog box, various applications running on the client 120

션과 인터페이스 및 통신하는 애플리케이션 인터페이스 모듈(128)과 같이 데이터 및 미디어 컨텐츠를 처리Processes data and media content, such as the application interface module 128, which interfaces with and communicates with

하기 위한 다양한 소프트웨어 모듈을 포함한다. 본 발명의 형태에 따라 애플리케이션 인터페이스 모듈Includes various software modules to do this. Application interface module according to aspects of the present invention

(128)이 인터페이스 하도록 바람직하게 구성되는, 클라이언트 시스템(120)에서 실행하는 각종 애플리케이Various applications executing on client system 120, which 128 is preferably configured to interface with.

션의 예는 각종 이메일 애플리케이션, 인스턴트 메시징(IM) 애플리케이션, 브라우저 애플리케이션, 문서Examples of applications include various email applications, instant messaging (IM) applications, browser applications, and document

관리 애플리케이션 및 그 밖의 애플리케이션들을 포함한다. 또한, 인터페이스 모듈(127)은 클라이언트 시Includes management applications and other applications. In addition, the interface module 127 is a client

스템(120)에 구성된 디폴트 브라우저나 다른 브라우저 등의 브라우저를 포함할 수 있다. 어떤It may include browsers such as the default browser configured in the system 120 or another browser. which

실시예에서, 클라이언트 애플리케이션 모듈(125)은 상기에 인용된 예비 출원 60/460,222호에 개시된 범용In an embodiment, client application module 125 is a general purpose application disclosed in preliminary application 60/460,222 cited above.

검색 인터페이스의 특징을 제공한다.Provides features of the search interface.

[0018] 일 실시예에 따르면, 검색 서버 시스템(160)은 클라이언트 시스템(120)에 검색 결과 데이터 및 미디어 컨[0018] According to one embodiment, the search server system 160 provides search result data and media control to the client system 120.

텐츠를 제공하도록 구성되고, 컨텐츠 서버 시스템(150)은 예를 들어 검색 서버 시스템(160)에 의해 제공되Configured to provide content, content server system 150 may be provided by, for example, search server system 160.

는 검색 결과 페이지에서 선택된 링크에 응답하여 클라이언트 시스템(120)에 웹 페이지와 같은 데이터 및Data, such as a web page, and

미디어 컨텐츠를 제공하도록 구성된다. 어떤 변형예에서, 검색 서버 시스템(160)은 컨텐츠에 대한 링크It is configured to provide media content. In some variations, search server system 160 provides links to content.

및/또는 다른 참조는 물론, 또는 그 대신 컨텐츠를 리턴한다.and/or returns content as well as or instead of other references.

[0019] 일 실시예의 검색 서버 시스템(160)은 하나 이상의 페이지 인덱스를 예를 들어 페이지, 페이지로의 링크, 인덱스된 페이지의 컨텐츠를 나타내는 데이터 등으로 파퓰레이팅(populating)하는 각종 수집 기술을 참조[0019] The search server system 160 of one embodiment refers to various collection techniques for populating one or more page indexes with, for example, pages, links to pages, data representative of the content of the indexed pages, etc.

한다. 이러한 수집 기술은 계층 구조 내의 웹 페이지들을 분류하고 정렬하기 위한 수동 또는 반자동 분류do. These collection techniques use manual or semi-automatic classification to classify and sort web pages within a hierarchy.

알고리즘 및 인터페이스는 물론, 자동 웹 크롤러(web crawler), 스파이더 등을 포함한다. 어떤 형태에서,It includes algorithms and interfaces, as well as automatic web crawlers, spiders, etc. In some form,

검색 서버 시스템(160)은 웹 페이지를 처리하고 정렬하기 위한 검색 관련 알고리즘으로도 구성된다. 검색Search server system 160 also consists of search-related algorithms for processing and sorting web pages. search

서버 시스템(160)은 또한 사용자 쿼리 활동을 쿼리 로그 파일 형태로 기록하도록 바람직하게 구성된다.Server system 160 is also preferably configured to record user query activity in the form of a query log file.

검색 서버 시스템(160)은 클라이언트 시스템, 특히 검색 모듈(126)로부터 [0020] 수신된 각종 검색 요청에 응답하The search server system 160 responds to various search requests received from the client system, especially the search module 126.

는 데이터를 제공하도록 구성된다. 서버 시스템(150, 160)은 단일 구조의 일부, 예를 들어 Yahoo! 사에is configured to provide data. Server systems 150, 160 are part of a single structure, for example Yahoo! Sae

의해 사용자들에게 제공되는 것과 같은 분산 서버 시스템의 일부일 수도 있고, 다른 구조의 일부일 수도It may be part of a distributed server system, such as that provided to users by

있다. 컨텐츠 서버 시스템(150) 및 검색 서버 시스템(160)은 각각 적어도 하나의 서버 및 관련 데이터베there is. The content server system 150 and the search server system 160 each have at least one server and related database.

이스 시스템을 포함하며, 다수의 서버 및 관련 데이터베이스 시스템을 포함할 수도 있고, 단일 블록으로database system, and may include multiple servers and associated database systems, or may be grouped into a single block.

도시되지만 지리적으로 분산될 수도 있다. 예를 들어, 검색 서버 시스템(160)의 모든 서버는 서로 근접하Shown, but may also be geographically distributed. For example, all servers in search server system 160 are located in close proximity to each other.

여 배치될 수도 있고(예를 들어, 하나의 빌딩이나 캠퍼스에 위치하는 서버팜으로), 서로 멀리 떨어진 위치They can be deployed in multiple locations (for example, in a server farm located in a single building or campus) or in locations that are far from each other.

에 분산될 수도 있다(A시에 위치하는 하나 이상의 서버 및 B시에 위치하는 하나 이상의 서버)may be distributed (one or more servers located in city A and one or more servers located in city B)

[0021] 여기서 사용되는 바와 같이, "서버 시스템"은 통상적으로 하나 이상의 지리적 위치에 국부적으로 또는 전[0021] As used herein, a “server system” typically refers to a server system located locally or globally in one or more geographic locations.

역에 하나 이상의 논리적으로 그리고/또는 물리적으로 접속된 서버를 포함한다. "서버"는 통상적으로 컴A station contains one or more logically and/or physically connected servers. “Server” is usually a computer

퓨터 시스템 및 관련 저장 시스템 및 당업계에 공지된 것과 같은 데이터베이스 애플리케이션을 포함한다.Includes computing systems and related storage systems and database applications such as those known in the art.

[0022] 일 실시예에 따르면, 검색 서버 시스템(160)은 페이지 인덱스(들)에 액세스하고 클라이언트 시스템(120)으[0022] According to one embodiment, search server system 160 accesses the page index(s) and

로부터 수신된 검색 쿼리에 응답하여 사용자들에게 검색 결과를 제공하는 하나 이상의 페이지 인덱스 및one or more page indexes that provide search results to users in response to search queries received from

알고리즘으로 구성된다. 어떤 형태에서, 검색 서버 시스템(160)은 추가로 클라이언트 시스템(120)으로부It consists of an algorithm. In some forms, search server system 160 may further interact with client system 120.

터의 검색 요청에 응답하여 향상된 검색 쿼리 분석 및 클러스터링 기능을 제공하도록 구성된다. 다른 변It is configured to provide enhanced search query analysis and clustering capabilities in response to search requests. different side

형예에서, 검색 서버 시스템(160)은 컨텐츠 서버 시스템(150)의 컨텐츠 및 기능을 모두 포함한다.In this example, search server system 160 includes all of the content and functionality of content server system 150.

[0023] 일 실시예에서, 검색 서버 시스템(160)에서 실행하는 프로세스들은 검색 쿼리 및/또는 검색 결과의 문맥[0023] In one embodiment, processes executing on search server system 160 may determine the context of the search query and/or search results.

분석을 수행하여 여러 상황을 반영하도록 그룹화된 검색 결과로 응답한다. 많은 검색어는 의도한 상황에It performs analysis and responds with search results grouped to reflect different situations. Many search terms do not match the intended situation.

따라 다른 의미를 가질 수 있다. 예를 들어, 사용자가 "Java"라는 용어를 사용하여 검색을 실행한다면,It may have different meanings depending on the meaning. For example, if a user runs a search using the term "Java",

의도한 상황은 명확하지 않다. 사용자는 자바 컴퓨터 언어에 관심이 있을 수도 있고, 인도네시아 자바 섬The intended situation is not clear. Users may be interested in the Java computer language, Java Island, Indonesia

에 관심이 있을 수도 있으며, (구어체로 흔히 자바라 하는) 커피에 관심이 있을 수도 있다. 본 발명은 검You may be interested in coffee (colloquially known as java). The present invention is

색 쿼리 및/또는 결과를 유리하게 분석하고, 사용자의 컴퓨터(120)에 디스플레이할 상황으로 결과를 그룹Favorably analyze the color queries and/or results and group the results into situations for display on the user's computer 120.

화한다. 예를 들어, 검색어 "Java"에 응답하여, 검색 서버 시스템(160)의 어떤 실시예는 3개(또는 다른get angry For example, in response to the search term “Java,” some embodiments of search server system 160 may

상황이 인지된다면 그 이상)의 문맥 또는 단어 개념: 컴퓨터 언어 자바, 섬 자바, 커피 자바로 그룹화된context or word concepts (more so if the situation is recognized): grouped into the computer languages Java, Island Java, and Coffee Java.

검색 결과를 리턴한다. 시스템은 각 상황에 관련하여 제공되는 링크들과 함께 세트로 결과를 표시하도록Returns search results. The system displays results in sets, with links provided relevant to each situation.

구성될 수도 있고, 어떤 링크도 없이 (사용자가 상황을 구별하기에 충분한 정보와 함께) 문맥만을 디스플It can be configured to display only the context (with enough information for the user to distinguish between contexts) without any links.

레이하고 사용자가 원하는 상황을 선택하여 관련 링크를 디스플레이하게 할 수도 있다. Yahoo! 네트워크You can also select the situation you want and display related links. Yahoo! network

시스템에서, 예를 들어 각 문맥이 검색 인덱스로부터의 페이지에 대한 링크 세트, 스폰서 일치와 관련된In the system, for example, each context is a set of links to pages from the search index, associated with a sponsor match, and

링크, 디렉터리 일치와 관련된 링크 및 Inside Yahoo!(IY) 일치와 관련된 링크를 갖는 문맥 세트가 디스플A set of contexts is displayed with links, links related to directory matches, and links related to Inside Yahoo! (IY) matches.

레이될 수 있다.It can be rayed.

[0024] "Java"와 같이 모호한 의미를 갖는 단어나 문구 외에도, 본 발명의 시스템은 일 실시예에서 반드시 모호한[0024] In addition to words or phrases with ambiguous meanings such as “Java,” the system of the present invention necessarily provides ambiguous meanings in one embodiment.

것은 아닌 검색어에 대한 문맥으로 결과를 그룹화하도록 구성된다. 일례는 검색어 "Hawaii"에 대해 리턴It is configured to group results by context rather than by search term. An example is returned for the search term "Hawaii":

되는 결과이다. 본래 또는 자연히 "Hawaii"란 용어는 모호하지 않을 수도 있지만, 이러한 용어에 대해 리This is the result. Although the term "Hawaii" may not be inherently or naturally ambiguous,

턴되는 결과의 특징은 Hawaii에 관해 논하거나 단지 언급하는 모든 사이트에 관련되어 매우 넓을 수 있다.The nature of the results returned can be very broad, relating to all sites that discuss or just mention Hawaii.

사용자에게 보다 유용한 결과를 제공하기 위해, 본 발명의 시스템은 바람직하게 검색 결과가 실제로 관련In order to provide more useful results to users, the system of the present invention preferably ensures that search results are actually relevant.

되는 지식을 레버리지함으로써 문맥으로 검색 결과를 구성한다. 예를 들어, Hawaii에 대해 시스템은Organize search results with context by leveraging available knowledge. For example, for Hawaii the system

"Hawaii: 여행", "Hawaii: 기후", "Hawaii: 지리", "Hawaii: 문화" 등 다양한 문맥 그룹화로 결과를 리턴Returns results in various context groupings, including "Hawaii: Travel", "Hawaii: Climate", "Hawaii: Geography", and "Hawaii: Culture"

할 수 있다.can do.

[0025] 어떤 실시예에서, 인덱스의 페이지 링크와 관련하여 문맥 식별자가 저장되어, 검색이 실행될 때 식별자에[0025] In some embodiments, a context identifier is stored in association with a page link in the index, so that when a search is performed, the identifier is

따라 링크가 그룹화될 수 있다. 페이지 링크는 다수의 문맥 식별자와 관련될 수 있다. 이러한 식별자는Links can be grouped accordingly. A page link may be associated with a number of context identifiers. These identifiers are

바람직하게 사용자가 관련 검색을 실행할 때 시스템에 의해 링크와 자동으로 관련되지만, 식별자는 하나Preferably, the link will be automatically associated with the system when the user runs a related search, but with only one identifier.

이상의 인덱스 편집기 팀에 의해 변경되고 수동으로 링크와 관련될 수도 있다. 이와 같이, 다수의 검색으The above indexes may be changed by the editor team and may be manually associated with links. In this way, multiple searches

로부터 수집된 지식은 시스템에 피드백되어, 디스플레이된 검색 결과를 요청한 사용자에게 더욱 중요하고The knowledge collected from the system is fed back to the system, making it more important to the user who requested the displayed search results.

유용하게 하도록 문맥을 정의하고 재정의한다.Define and redefine context to make it useful.

[0026] 일 실시예에서, 검색 서버 시스템(160) 상의 알고리즘은 검색어의 개념 발견 또는 개념 분석을 실행하여[0026] In one embodiment, an algorithm on search server system 160 performs concept discovery or concept analysis of search terms to

더욱 뜻있는 결과를 사용자에게 제공한다. 예를 들어, "New York City"라는 검색 문구에 대해, 사용자는Provides more meaningful results to users. For example, for the search phrase “New York City,” the user

뉴욕주의 다른 도시에 반해 뉴욕시(도시 또는 지방)에 관련된 사이트에 관심이 있음이 상당히 명백하다.It is fairly clear that there is interest in sites related to New York City (city or region) as opposed to other cities in the state.

마찬가지로, "New York City law enforcement"에 대해, 사용자는 뉴욕시의 법률 시행(예를 들어, 절도 부Similarly, for "New York City law enforcement," the user is referring to New York City's law enforcement (e.g., larceny law enforcement).

분)에 관련된 사이트에 관심이 있음이 명백하다. 그러나 대부분의 검색 엔진은 단지 검색 문구에 단어가It is clear that you are interested in sites related to people. However, most search engines just add the word in the search phrase.

나타나는 순서와 관계없이 개별 단어 "New", "York", "City", "law", "enforcement"를 사용하여 검색하게Allows you to search using the individual words "New", "York", "City", "law", and "enforcement", regardless of the order in which they appear.

된다. 다른 검색 엔진은 인덱스에 나타나는 검색 문구에서 가장 긴 서브스트링을 찾는 시도를 할 수도 있do. Other search engines may attempt to find the longest substring in the search phrase that appears in the index.

다. 예를 들어, 인덱스가 "New York City law enforcement"가 아니라 "New York", "New York City" 및all. For example, if the index is not "New York City law enforcement" but "New York", "New York City", and

"New York City law"에 포함되었다면, 검색 엔진은 반드시 사용자가 의도한 것은 아닌 "enforcement" 및If included in "New York City law", search engines may use "enforcement" and

"New York City law"를 이용하여 검색하게 된다.You can search using “New York City law.”

[0027] 본 발명의 실시예들은 검색 문구의 단어들을 유리하게 분석하여 검색 쿼리를 구성하는 하나 이상의 개념[0027] Embodiments of the present invention provide one or more concepts for constructing a search query by advantageously analyzing words in a search phrase.

(단위)을 식별한다.Identify (unit).

[0028] 도 3은 본 발명의 일 실시예에 따른 개념 발견 또는 트렌드 분석을 포함하는 개념 분석을 실행하는 시스템[0028] Figure 3 is a system for performing concept analysis including concept discovery or trend analysis according to an embodiment of the present invention.

(300)의 블록도이다. 하나 이상의 쿼리 로그 파일(302)(또는 실제 쿼리)이 (쿼리 엔진이라고도 하는) 쿼This is a block diagram of (300). One or more query log files 302 (or actual queries) are generated by the query engine (also known as a query engine).

리 처리 엔진(304)에 의해 수신되며, 쿼리 처리 엔진(304)은 후술하는 바와 같이 단위 사전(306)을 생성한is received by the query processing engine 304, and the query processing engine 304 generates the unit dictionary 306 as described later.

다. 쿼리 로그 파일(또는 실제 쿼리)은 인터넷 또는 각종 네트워크 접속, 예를 들어 LAN, WAN, 직접all. Query log files (or actual queries) are stored on the Internet or any network connection, such as LAN, WAN, or direct

링크, 배포 매체(예를 들어, CD, DVD, 플로피 디스크) 등을 통해 다양한 소스로부터 수신될 수 있다. 소스의 예는 검색 서버 시스템(160)(도 1), 또는 검색 서버들의 분산 네트워크에 있는 다수의 검색 서버It may be received from a variety of sources through links, distribution media (e.g., CD, DVD, floppy disk), etc. An example of a source is search server system 160 (FIG. 1), or multiple search servers in a distributed network of search servers.

(160), 또는 하나 이상의 컨텐츠 서버(150)를 포함한다. 쿼리 로그 파일 소스는 통상적으로 동일한 조직160, or includes one or more content servers 150. Query log file sources are typically the same organization

또는 엔티티, 예를 들어 Yahoo! 서버와 관련되지만, 반드시 그러한 것은 아니다. (쿼리 로그라고도 하는)or an entity, for example Yahoo! Server-related, but not necessarily server-related. (also known as query log)

쿼리 로그 파일은 상호 정보 등의 정보 이론이나 개념에 사용될 수 있는 것과 같은 통계적 방법을 이용하Query log files use statistical methods, such as those that can be used in information theory or concepts such as mutual information.

여 쿼리 엔진(304)에 의해 처리된다. 바람직한 형태에서는, 원하는 대로 다른 주기, 예를 들어 시간, 주Processed by the query engine 304. In a preferred form, different periods as desired, e.g. hours, weeks,

간 등에 대한 로그가 사용될 수도 있지만, 일간 쿼리 로그가 사용된다. 통상적으로 쿼리 로그는 사용자들Daily query logs are used, although logs for liver etc. may be used. Typically, query logs are

에 의해 제공된 실제 쿼리를 포함하며, 질문하는 사용자들의 지리적 위치, 타임 스탬프, 클라이언트 시스Contains the actual query provided by , including the geolocation, timestamp, and

템의 IP 주소, 쿠키, 클라이언트 종류(예를 들어, 브라우저 종류) 등과 같은 쿼리의 일부 또는 전부에 대In response to some or all of the query, such as the system's IP address, cookies, client type (e.g., browser type), etc.

한 추가 정보를 포함할 수도 있다. 쿼리 처리 엔진(304)은 각종 쿼리 로그를 처리하고, 그로부터 단위를It may also contain additional information. The query processing engine 304 processes various query logs and creates units from them.

생성한다. 단위 및 발생 빈도와 같은 관련 통계는 여기서는 단위 사전(306)이라 하는 데이터베이스 파일Create. Related statistics, such as units and frequencies of occurrence, are stored in a database file, here referred to as the unit dictionary 306.

또는 메모리에 저장된다. 단위 사전(306)은 후술하는 바와 같이 검색 엔진에 의해 이어지는 쿼리에 대한Or it is stored in memory. The unit dictionary 306 provides information on subsequent queries by the search engine, as described later.

응답에 사용될 수 있다.Can be used in responses.

일 실시예에서, 쿼리 프로세서(304)는 단위 분석 모듈(310) 및 클러스터링 [0029] 모듈(312)을 포함한다. 단위In one embodiment, the query processor 304 includes a unit analysis module 310 and a clustering module 312. unit

분석 모듈(310)은 쿼리 로그(302)를 처리하여 단위를 생성한다. 바람직한 실시예에서, 시스템은 검색어가The analysis module 310 processes the query log 302 to generate units. In a preferred embodiment, the system determines that the search term

제시되는 순서를 사용하여 쿼리를 구성하는 단위들을 식별한다. 단위는 단어(예를 들어, "java")일 수도Use the order in which they are presented to identify the units that make up the query. The unit can also be a word (e.g. "java")

있고 서로 인접하게 자주 나타나는 단위 그룹(예를 들어, "new york city")일 수도 있다. 단위의 식별은It may also be a group of units that frequently appear adjacent to each other (e.g., "new york city"). Identification of units is

상기에 인용한 예비 출원 60/460,222호에 상세히 기술되어 있다. 단위 분석 모듈(310)에 의해 생성된 단It is described in detail in Preliminary Application No. 60/460,222 cited above. Units generated by unit analysis module 310

위들은 단위 사전(306)에 저장되며, 어떤 실시예에서는, 통계 정보(예를 들어, 발생 빈도 또는 하나 이상These are stored in the unit dictionary 306 and, in some embodiments, provide statistical information (e.g., frequency of occurrence or one or more

의 다른 단위와 관련한 발생 빈도) 또한 포함될 수도 있다. 단위 사전(306)에 저장된 정보는 검색 엔진에(frequency of occurrence relative to other units of) may also be included. Information stored in the unit dictionary 306 is stored in the search engine.

의해 이어지는 쿼리에 대한 응답에 사용될 수도 있다.It can also be used in responses to subsequent queries.

[0030] 클러스터링 모듈(312)은 단위 분석 모듈(310)에 의해 식별되는 단위들을 사용하여 쿼리들의 추가 분석을[0030] The clustering module 312 performs further analysis of the queries using the units identified by the unit analysis module 310.

수행함으로써 서로 다른 단위들 사이의 유사성을 지시하는 클러스터 또는 개념 네트워크를 생성한다. 일By doing so, it creates a cluster or concept network that indicates similarities between different units. Day

반적으로 공지되 바와 같이, 개념 네트워크는 각각의 개념이 노드에 대응하는 관계를 나타내는 구조이며,As is generally known, a concept network is a structure in which each concept represents a relationship corresponding to a node,

개념들 사이의 관계는 노드를 연결하는 라인(또는 에지)으로 표현된다. 에지에는 서로 다른 가중치가 할Relationships between concepts are expressed as lines (or edges) connecting nodes. Edges have different weights

당될 수 있어, 에지의 가중치는 개념들(노드들) 사이의 유사성의 강도 또는 정확도를 반영한다. 본 발명As can be expected, the weight of an edge reflects the strength or accuracy of similarity between concepts (nodes). this invention

의 실시예에 따르면, "서명" 단위들의 하나 이상의 동일 그룹과 함께 쿼리에 나타나는 경향이 있는 서로According to an embodiment, "signature" units tend to appear in queries together with one or more identical groups of each other.

다른 단위(클러스터의 "멤버")를 식별함으로써 단위들로부터 클러스터가 생성된다. 멤버 단위는 개념 네Clusters are created from units by identifying other units (“members” of the cluster). Member unit is a concept

트워크에서 노드 역할을 할 수 있다. 서로 다른 단위나 개념 사이의 연결성 또는 관계의 다른 표현이 사It can act as a node in a network. Different expressions of connections or relationships between different units or concepts are used.

용될 수도 있으며, 여기서 사용된 "개념 네트워크"는 다른 표현들을 포함하는 것으로 이해해야 한다.It may be used, and the term “concept network” as used herein should be understood to include other expressions.

[0031] 예를 들어, 다수의 사용자가 자신이 좋아하는 팝 음악 그룹에 관한 정보를 검색한다고 가정한다. 통상적[0031] For example, assume that a number of users are searching for information about their favorite pop music group. usual

으로, 이들 사용자는 그룹명(예를 들어, "Avril Lavigne"이나 "Celine Dion") 그리고 "가사", "mp3", "기As a result, these users can enter the group name (e.g. "Avril Lavigne" or "Celine Dion") and "lyrics", "mp3", and "characters".

타 타브", "디스코그래피" 등과 같이 찾아낸 정보의 종류를 반영하는 다른 단어들을 포함하는 쿼리를 구성Construct queries that include other words that reflect the type of information found, such as "ta tab", "discography", etc.

하게 된다. 클러스터링 모듈(312)은 이들 쿼리를 분석하여 "가사", "mp3", "기타 타브", "디스코그래피"I do it. The clustering module 312 analyzes these queries to search for “lyrics”, “mp3”, “other tabs”, and “discography”.

등이 다른 팝 음악 그룹의 이름을 포함하는 멤버의 클러스터에 대한 "서명" 단위인지를 판단한다. 클러스Determine whether a group is a "signature" unit for a cluster of members containing the name of another pop music group. cluster

터링 모듈(312)에 구현될 수 있는 클러스터의 생성을 위한 특정 기술의 예는 상기에 인용한 예비 출원Examples of specific techniques for the creation of clusters that may be implemented in the clustering module 312 are provided in the preliminary application cited above.

60/510,220호에 개시되어 있다. 클러스터링 모듈(312)은 유리하게 멤버 단위 및 서명에 관련된 데이터를It is disclosed in No. 60/510,220. Clustering module 312 advantageously stores data related to member units and signatures.

포함하는 클러스터링 정보를 단위 사전(306)에 저장한다. 이와 같이 단위 사전(306)에서 이용 가능한 정The included clustering information is stored in the unit dictionary 306. In this way, information available in the unit dictionary 306

보는 단위 및 그 "이웃"(즉, 소정 유닛을 갖는 쿼리에 나타나는 다른 유닛들)에 관한 정보는 물론, 비슷한Information about the viewing unit and its "neighbors" (i.e., other units that appear in queries with a given unit), as well as similar

이웃을 가질 수 있는 다른 단위들과의 관계를 포함한다.It includes relationships with other units that may have neighbors.

[0032] 바람직한 실시예에서, 쿼리 처리 엔진(304)에 특정 단위나 쿼리에 관한 실세계 지식이나 언어적 정보가 제[0032] In a preferred embodiment, the query processing engine 304 is provided with real-world knowledge or linguistic information about specific units or queries.

공될 필요는 없지만, 클러스터링 모듈(312)에 의해 생성된 클러스터는 개념의 실세계에서의 관계(예를 들Although not necessarily required, clusters created by clustering module 312 may be associated with concepts' real-world relationships (e.g.

어, 공통 카테고리에 속하는 그룹 단위)를 반영하는 경향이 있다. 예를 들어, 어떤 클러스터는 "New Yorker, tend to reflect group units belonging to a common category). For example, a cluster might be called "New York

City", "San Francisco", "Chicago"를 포함할 수도 있고, 그 클러스터에 대한 서명은 "호텔", "레스토City", "San Francisco", and "Chicago", and the signature for that cluster would be "Hotel", "Restaurant", etc.

랑", "나이트 클럽"을 포함할 수도 있다. 이러한 클러스터는 뉴욕, 샌프란시스코, 시카고가 모두 여행 목may also include "nightclubs" and "nightclubs". These clusters include New York, San Francisco, and Chicago, all of which are tourist destinations.

적지(또는 도시)임을 반영하지만, 쿼리 엔진(304)(도 3)은 "목적지"(또는 "도시") 개념의 어떤 사전 지식Although it reflects a destination (or city), the query engine 304 (FIG. 3) does not require any prior knowledge of the concept of "destination" (or "city").

도 가질 필요는 없다. 이 개념상의 지식은 쿼리의 패턴 분석으로부터 자동으로 싹틀 수 있다. 본 명세서There is no need to have either. This conceptual knowledge can sprout automatically from pattern analysis of queries. this specification

가 인간에게 언어적 의미를 전달하는 용어를 갖는 클러스터를 라벨링하는 경우, 이는 본 개시의 이해를 용When labeling clusters with terms that convey linguistic meaning to humans, this facilitates understanding of the present disclosure.

이하게 하기 위한 편의임을 이해해야 한다. 실제로, 쿼리 엔진(304) 또는 단위 사전(306)에 의해 사용되You must understand that this is a convenience for doing this. In practice, it is used by the query engine 304 or the unit dictionary 306.

는 어떤 클러스터 라벨링 방식도 이러한 특성을 가질 필요는 없으며, 예컨대 클러스터 라벨은 단순히It is not necessary for any cluster labeling scheme to have these properties; for example, a cluster label can simply be

숫자, 클러스터의 서명에 대한 포인터 등일 수 있다.It can be a number, a pointer to the cluster's signature, etc.

[0033] 단위는 다수의 클러스터에 속할 수 있으며, 예를 들어 "java"와 같이 모호한 단위는 결국에 "컴퓨터 프로[0033] A unit can belong to multiple clusters, and for example, an ambiguous unit such as “java” may eventually end up as “computer pro”.

그래밍" 클러스터, "식음료" 클러스터, "여행" 또는 "장소" 클러스터가 될 수 있다. 어떤 실시예에서는,It could be a “gramming” cluster, a “food and beverage” cluster, a “travel” or a “place” cluster. In some embodiments,

어떤 클러스터에도 속하지 않는 단위들이 있을 수도 있다.There may be units that do not belong to any cluster.

[0034] 본 발명의 실시예에 따르면, 쿼리 처리 엔진(304)은 시간, 지리, 사용자 인구 통계, (여기서는 "종단적"[0034] According to an embodiment of the present invention, the query processing engine 304 may provide information about time, geography, user demographics, (herein referred to as “longitudinal”),

기준이라 하는) 사용자 이력 또는 상황 등의 다양한 기준에 따라 쿼리의 트렌드를 찾는 트렌드 분석 모듈Trend analysis module that finds trends in queries based on various criteria such as user history or situation (referred to as criteria)

(320) 또한 포함한다. 트렌드 분석 모듈(320)은 단위 분석 모듈(310) 및 클러스터링 모듈(312)의 기능을(320) Also includes. The trend analysis module 320 performs the functions of the unit analysis module 310 and the clustering module 312.

유리하게 레버리지하여 쿼리의 서로 다른 서브셋에 대한 개념 분석 및/또는 개념 발견을 실행하고, 결과를Leverage this to your advantage to run concept analysis and/or concept discovery on different subsets of your queries, and

컴파일한다. 결과적인 트렌드 정보는 유리하게 단위 사전(306)에 부가된다.Compile. The resulting trend information is advantageously added to the unit dictionary 306.

[0035] 단위 사전(306)은 임의의 형태로 구현될 수 있으며, 자기 디스크 또는 테이프, 콤팩트 디스크(CD)와 같은[0035] The unit dictionary 306 may be implemented in any form, such as a magnetic disk, tape, or compact disk (CD).

광 저장 매체 등을 포함하는 임의의 적당한 저장 매체에 저장될 수 있다. 단위 사전(306)의 내용은 유리It may be stored in any suitable storage medium, including optical storage media, etc. The contents of the unit dictionary 306 are

하게 단위는 물론 단위 분석 모듈(310)에 의해 생성된 통계적 데이터, 클러스터링 모듈(312)에 의해 결정The units, as well as the statistical data generated by the unit analysis module 310, are determined by the clustering module 312.

된 클러스터링 정보, 트렌드 분석 모듈(320)에 의해 생성된 트렌드 정보와 같은 각 단위에 관한 추가 정보Additional information about each unit, such as clustering information generated and trend information generated by the trend analysis module 320.

를 포함한다. 단위, 클러스터 및/또는 트렌드에 관한 정보는 이어지는 쿼리에 응답하기 위해 검색 엔진에Includes. Information about units, clusters and/or trends can be retrieved from search engines to respond to subsequent queries.

의해 사용될 수 있다.can be used by

[0036] 도 4는 트렌드 분석 모듈(320)의 실시예에 의해 실행될 수 있는 프로세스(400)의 흐름도이다. 단계(402)[0036] Figure 4 is a flow diagram of a process 400 that may be executed by an embodiment of the trend analysis module 320. Step 402

에서는, 쿼리 로그에 포함된 쿼리가 선택된 기준에 따라 서브셋으로 분류된다. 기준은 로그 파일이 제공In , queries included in the query log are classified into subsets according to selected criteria. Standards are provided by log files

하는 쿼리에 관한 임의의 정보를 기초로 정해질 수 있으며, 쿼리들은 소정 기준에 따라 임의의 개수의 서브셋으로 분류될 수 있다.It can be determined based on arbitrary information about the query, and the queries can be classified into an arbitrary number of subsets according to predetermined criteria.

일례로서, 쿼리 로그가 각종 쿼리의 제출 시간에 관련된 정보를 제공한다면 [0037] "시간" 기준이 사용될 수[0037] As an example, if the query log provides information related to the submission time of various queries, a "time" criterion may be used.

있다. 시간 기준에 따라, 쿼리는 시간에 따른 사용자 관심의 트렌드를 분석하기 위해 예를 들어 주 또는there is. Depending on the time criteria, queries can be made to analyze trends in user interest over time, for example week or week.

달 단위로 분류될 수 있다. 쿼리는 하루의 시간(예를 들어, 아침, 점심, 저녁, 밤), 평일 대 주말 또는It can be classified by month. Queries can be based on time of day (e.g. morning, lunch, evening, night), weekdays vs. weekends, or

휴일, 계절 등을 기준으로 분류될 수도 있다. 다양한 변형이 가능하며, 단지 일례로서 오전 8시와 오전They can also be classified based on holidays, seasons, etc. Many variations are possible, and as just an example, 8 a.m. and a.m.

10시 사이에 수신된 쿼리는 주, 달 또는 다른 원하는 기간에 걸쳐 수집될 수 있다. 어떤 실시예에서, 하Queries received between 10:00 and 10:00 may be collected over a period of weeks, months, or other desired period. In some embodiments,

루의 시간은 검색 서버의 현지 시간에 따라 결정된다. 지리적으로 서로 다른 지역에 서비스하도록 다수의Lu's time is determined by the local time of the search server. Multiple locations to serve geographically different areas

서버에 검색 서비스가 제공되는 경우에, 서버의 현지 시간은 대략 사용자의 현지 시간을 나타낸다. 다른If a search service is provided on a server, the server's local time approximately represents the user's local time. different

실시예에서, 사용자의 현지 시간이 사용될 수도 있다.In embodiments, the user's local time may be used.

[0038] 다른 예로서, 쿼리 로그가 쿼리의 지리적 근원에 관한 정보를 제공한다면 "지리" 기준이 사용될 수 있다.[0038] As another example, a “geography” criterion may be used if the query log provides information regarding the geographic origin of the query.

지리는 물리적 지리에 관련될 수 있다. 예를 들어, 쿼리의 근원의 가능성 있는 지역을 식별하는데 어떤Geography can be related to physical geography. For example, what does it do to identify the likely location of the origin of a query?

IP 주소가 사용될 수 있으며, 쿼리를 제시한 사용자에 관한 사용자 프로파일이 사용자가 거주하는 곳을 판IP addresses may be used and user profiles about the user making the query may be used to determine where the user resides.

단하는데 사용될 수 있으며, 또는 쿼리가 서로 다른 위치 또는 서로 다른 위치와 관련된 지방/국가 사이트Can be used to narrow down or query different locations or local/country sites related to different locations

의 미러 사이트에서 수신되었는지에 따라 쿼리가 분류될 수도 있다. 대안으로, 지리 기준은 사용자의 IPQueries can also be categorized according to whether they were received from a mirror site of . Alternatively, geo-referencing the user's IP

주소(또는 IP 주소로부터 결정된 도메인)가 지리적 근원으로 취급되는 "사이버 지리"를 나타낼 수도 있다.It may also refer to "cybergeography", where an address (or a domain determined from an IP address) is treated as a geographic origin.

물리적 및 사이버 지리 기준은 조합될 수도 있다.Physical and cyber geographic criteria may also be combined.

[0039] 제 3 예로서, 쿼리 로그가 연령, 성별 등과 같은 사용자의 인구 통계적 특징에 관한 정보를 제공한다면 "[0039] As a third example, if the query log provides information about the user's demographic characteristics, such as age, gender, etc. "

인구 통계" 기준이 사용될 수도 있다. 임의의 개수 및 조합의 인구 통계 데이터가 사용되어 트렌드 분석“Demographic” criteria may also be used. Any number and combination of demographic data may be used to analyze trends.

을 위한 인구 통계적 기준을 규정할 수 있다. 예를 들어, 인구 통계 기준은 한 "25세 이상 자택을 소유한Demographic criteria can be defined for . For example, the demographic criterion is one “homeowner over 25 years old.”

여성 사용자" 그룹, 다른 "35세 이상 세입자 남성 사용자" 그룹, "자동차를 소유한 25세 이하 사용자" 그a group of “female users”, another group of “male users who rent over 35 years of age”, and another group of “users under 25 years of age who own a car” group.

룹 등을 포함할 수 있다.It may include groups, etc.

[0040] 제 4 예로서, 쿼리 로그가 쿼리 등록 이전의 사용자 행동에 관한 (여기서는 "사용자 이력" 또는 "사용자[0040] As a fourth example, the query log may contain information (hereinafter referred to as “user history” or “user history”) regarding user behavior prior to query registration.

상황"이라고 하는) 정보를 제공한다면, "종단적" 또는 "사용자 이력" 기준이 사용될 수 있다. 예를 들어,A “longitudinal” or “user history” basis may be used, if it provides information (referred to as “contextual”), for example:

포탈 사이트(예를 들어, wwwyahoocom의 Yahoo! 사이트)가 다양한 분야 또는 쇼핑 프로퍼티, 일반 웹 디Portal sites (for example, the Yahoo! site at wwwyahoocom) are used in a variety of fields, such as shopping properties, and general web sites.

렉터리, 음악 프로퍼티 등의 "프로퍼티"를 포함하며, 각 프로퍼티는 사용자가 퀴리를 입력할 수 있게 하는It includes “properties” such as directories and music properties, and each property allows the user to input a query.

검색 인터페이스를 포함한다고 가정한다. 쿼리가 입력되었을 때 사용자가 방문하고 있던 프로퍼티에 관한Assume it includes a search interface. About the property the user was visiting when the query was entered

정보가 구해져 "종단적" 기준으로 사용될 수 있다. 이와 같이, 일 실시예에서 종단적 기준은 "쇼핑" 프로Information can be obtained and used on a “longitudinal” basis. As such, in one embodiment the longitudinal criterion is the “shopping” program.

퍼티에서 사용자로부터 발생한 하나의 쿼리 서브셋 및 "일반 디렉터리" 프로퍼티에서 사용자로부터 발생한One subset of queries originating from the user in Putty and one subset of queries originating from the user in the "General Directory" property.

다른 쿼리 서브셋 등을 포함할 수 있다. 사용자가 언제든지 검색 쿼리를 입력하기 위한 대화 상자에 대해It may contain other query subsets, etc. About a dialog box for users to enter a search query at any time.

실질적으로 연속적인 액세스를 갖는 등(이러한 대화 상자의 일례는 상기에 인용한 예비 출원 60/460,222호having substantially continuous access, etc. (an example of such a dialog box is Preliminary Application No. 60/460,222 cited above)

에 개시되어 있다)의 다른 실시예에서, 사용자 이력 정보는 사용자가 쿼리를 입력했을 때 디스플레이되고In another embodiment (disclosed in), user history information is displayed when the user enters a query and

있던 웹 페이지의 URL이나 다른 식별자를 포함할 수도 있다. 종단적 기준은 URL, 그 일부(예를 들어, 도It may also contain the URL or other identifier of the web page it was on. The longitudinal criteria are URLs, parts of them (e.g.

메인명), 또는 페이지의 컨텐츠에 관한 정보(예를 들어 페이지 인덱스에 유지될 수 있는 정보)에 따라 쿼main name), or information about the content of the page (for example, information that may be maintained in the page index).

리를 분류할 수 있다.Lee can be classified.

[0041] 당업자들은 상기 기준 및 서브셋의 예가 한정이 아니라 예시이며, 소정 기준에 따라 임의의 개수의 쿼리[0041] Those skilled in the art will understand that the above examples of criteria and subsets are illustrative and not limiting, and that any number of queries may be performed according to predetermined criteria.

기준 및 서브셋이 사용될 수 있음을 인식할 것이다. 기준에 따른 쿼리의 분류는 관련 기준의 "미지" 및/It will be appreciated that criteria and subsets may be used. Classification of queries based on criteria determines whether the relevant criteria are "unknown" and/or

또는 "다른" 값들에 대한 서브셋을 포함할 수 있으며, 이 서브셋은 시스템 구성에 따라 분석될 수도 있고or it may contain a subset of "other" values, which may be resolved depending on the system configuration.

아닐 수도 있다.Maybe not.

[0042] 단계(404)에서 쿼리의 각 서브셋은 클러스터링 모듈(312)에 제공되어 하나 이상의 서브셋-특정 개념 네트[0042] At step 404, each subset of queries is provided to the clustering module 312 to form one or more subset-specific concept nets.

워크를 생성한다. 어떤 실시예에서는 기존의 단위 사전(306)이 사용되며, 다른 실시예에서는 서브셋이 단Create a work. In some embodiments, an existing unit dictionary 306 is used, while in other embodiments the subset is a unit dictionary 306.

위 분석 모듈(310)에 제공되어 서브셋-특정 단위 세트를 생성할 수도 있다. 단위 분석 및 클러스터링 분It may be provided to the above analysis module 310 to generate a subset-specific set of units. Unit analysis and clustering minutes

석은 상기에 인용한 예비 출원 60/510,220호에 상세히 개시되어 있다. 클러스터링 분석은 유리하게 각 쿼This is disclosed in detail in Preliminary Application No. 60/510,220 cited above. Clustering analysis is advantageous for each quota.

리 서브셋에 대해 개별적으로 수행되어, 서브셋마다 개념 네트워크 세트가 생성된다. 결과적인 서브셋-특This is performed individually on each subset, creating a set of concept networks for each subset. Resulting subset-specific

정 개념 네트워크는 트렌드 분석 모듈(320)로 리턴된다.The positive concept network is returned to the trend analysis module 320.

[0043] 단계(408)에서는, 트렌드 분석 모듈(320)이 서브셋-특정 개념 네트워크를 이용하여 트렌드 분석을 실행하[0043] At step 408, the trend analysis module 320 performs trend analysis using the subset-specific concept network.

여, 기준에 따라 달라지는 사용자 행동 패턴을 반영하는 유사성 및 차이를 검출한다. 이러한 다른 패턴들In addition, it detects similarities and differences that reflect user behavior patterns that vary depending on the criteria. These other patterns

은 여기서 "트렌드"라 하며, 일반적으로 트렌드 분석은 서로 다른 서브셋으로부터 생성된 클러스터(예를is referred to herein as a “trend”, and trend analysis generally involves clusters generated from different subsets (e.g.

들어, 개념 네트워크) 및/또는 서명을 비교하여 이러한 차이를 발견하는 것을 포함한다. 트렌드 및 트렌For example, concept networks) and/or signatures to discover these differences. Trends and Trends

드 분석은 다양한 형태를 가질 수 있다.De-analysis can take many forms.

[0044] 일례로서, 어떤 트렌드 분석은 다른 시간 기간 동안 또는 다른 사용자 인구 통계에 대한 특정 검색어 또는[0044] As an example, some trend analysis may be performed on specific search terms or

단위의 상대적 빈도를 비교할 수 있다. 비교되는 단위들은 예를 들어 클러스터의 서로 다른 멤버 단위일The relative frequencies of units can be compared. The units being compared may be, for example, different member units of a cluster.

수도 있고 클러스터에 대한 다른 서명 단위일 수도 있다. 예컨대, "가수" 클러스터가 있다고 가정하면,It may be another signature unit for the cluster. For example, assuming there is a “Singer” cluster,

이 클러스터에 대한 어떤 트렌드 분석은 21세 이하 사용자에 대해서는 "Celine Dion"보다 "Avril LavignSome trend analysis of this cluster shows that for users under 21, “Avril Lavign” is preferred over “Celine Dion.”

e"이 더 인기있는 커리 용어인 것으로 나타나는 반면, 35세 이상의 사용자에 대해서는 그 반대인 것으로While "e" appears to be the more popular curry term, the opposite appears to be true for users aged 35 and older.

나타날 수 있다. 또는, "도시" 클러스터가 있고, 이 클러스터의 서명은 "채용" 및 "호텔" 단위를 포함한It may appear. Alternatively, there is a "City" cluster, and the signature of this cluster includes the "Recruitment" and "Hotel" units.

다고 가정하면, 이 서명에 대한 어떤 트렌드 분석은 평일 동안 "채용"이 더 자주 검색되는 한편, 주말에는Assuming that "jobs" is searched more frequently during the weekdays, any trend analysis of these signatures would show that "jobs" is searched more frequently during the weekdays, while on the weekends

"호텔"이 더 자주 검색된 것으로 나타날 수 있다. (이는 예를 들어 사용자들이 평일에는 직업 검색을 하“Hotel” may appear to be searched more frequently. (This means, for example, that users may search for jobs on weekdays.

고 주말에는 휴가 계획을 세우는 경향이 있음을 반영한다)(Reflects the tendency to plan vacations on weekends)

[0045] 어떤 실시예에서, 트렌드 분석은 사용자 관심 및 행동에서 더욱 포착하기 힘든 트렌드를 검출하는데 사용[0045] In some embodiments, trend analysis is used to detect more elusive trends in user interests and behavior.

될 수도 있다. 예를 들어, 어떤 분야(예를 들어, 음악)에서 잘 알려진 명사가 다른 분야(예를 들어,It could be. For example, a well-known noun in one field (e.g. music) may be a well-known noun in another field (e.g.

정치)에 들어가기로 결정한다고 가정한다. 그 명사의 전체 관심도는 많이 변하지 않지만, 명사에 관해 찾Suppose you decide to go into politics. Although the overall interest of the noun doesn't change much,

는 정보의 종류에는 변동이 있을 수 있다. 예컨대, 명사의 이름과 "노래" 또는 "앨범"에 대한 검색 빈도There may be changes in the type of information. For example, search frequency for noun names and “song” or “album.”

는 감소하는 반면, 명사의 이름과 "정치" 또는 "세금"과 같은 용어에 대한 검색 빈도는 증가한다. 다른decreases, while the frequency of searches for noun names and terms such as “politics” or “taxes” increases. different

시간 기간에 대한 명사 이름의 이웃들의 비교는 이러한 트렌드를 나타내게 된다.Comparison of the neighbors of a noun name over a period of time reveals this trend.

[0046] 단계(410)에서, 이어지는 쿼리에 응답하는데 사용하기 위해 트렌드 정보는 예를 들어 단위 사전(306)에 저[0046] At step 410, trend information is stored, for example, in a unit dictionary 306 for use in answering subsequent queries.

장된다. 정보는 정보가 관계하는 특정 단위 및/또는 클러스터에 관련하여, 단위 또는 클러스터에 관련된 서명 또는 제안에 관련하여 저장될 수도 있다.It's going to be great. Information may be stored in relation to the specific unit and/or cluster to which the information relates, or in relation to a signature or proposal relating to the unit or cluster.

여기서 설명하는 시스템 및 프로세스는 예시이며 변형 및 개조가 가능한 [0047] 것으로 인식된다. 순서대로 설명[0047] The systems and processes described herein are examples and it is recognized that variations and modifications are possible. explanation in order

한 프로세스 단계들은 병렬로 실행될 수도 있고, 단계들의 순서는 달라질 수도 있으며, 단계들은 변형되거Process steps may be executed in parallel, the order of the steps may vary, and the steps may be modified or

나 조합될 수도 있다. 트렌드 분석은 임의의 개수의 기준에 대해 동시에 이루어질 수도 있으며(예를I may be combined. Trend analysis may be performed simultaneously for any number of criteria (e.g.

들어, "쇼핑" 분야로부터 발생하는 21세 이하의 사용자), 기준에 따른 분류는 원하는 만큼 엉성할 수도 또For example, users under 21 years of age coming from the "shopping" sector), classification by criteria can be as loose as desired.

는 세밀할 수도 있다. 한 서브셋-특정 개념 네트워크는 다른 서브셋-특정 개념 네트워크와 비교될 수도may be detailed. One subset-specific concept network may be compared to another subset-specific concept network.

있고, 서로 다른 서브셋-특정 개념 네트워크들이 각각 분류되지 않은 쿼리로부터 생성된 "글로벌" 개념 네There are different subset-specific concept networks, each with a "global" concept network generated from unclassified queries.

트워크와 비교될 수도 있다. 트렌드 분석은 특정 개념 네트워크, 예를 들어 상당수의 쿼리에 사용되는 단It can also be compared to twerking. Trend analysis refers to specific concept networks, e.g.

위들과 관련된 것으로 제한되어 뜻있는 데이터, 또는 관련 검색을 제안하는 기초로 사용되는 단위들을 생Generate meaningful data limited to those related to the above, or units used as a basis for suggesting related searches.

성할 수도 있다. 트렌드 분석은 단위, 클러스터, 서명 또는 이들의 임의의 조합에 대해 수행될 수 있다.It may be successful. Trend analysis can be performed on units, clusters, signatures, or any combination thereof.

[0048] 단위 및 클러스터 데이터와 같이, 트렌드 정보는 시간에 따라 유리하게 업데이트 또는 재생성되어, 사용자[0048] Like unit and cluster data, trend information can be advantageously updated or regenerated over time, allowing users to

관심 변화(예를 들어, 소정 팝 음악 연주자의 인기 증가 또는 감소, 구직 대 여행의 관심 증가 또는 감소Changes in interest (e.g., increased or decreased popularity of certain pop music performers, increased or decreased interest in job seeking versus traveling)

등)를 반영할 수 있는 사용자 행동의 변화를 포착한다.etc.) to capture changes in user behavior that can be reflected.

[0049] 본 발명의 다른 실시예에서, 트렌드 정보는 관련 트렌드를 고려함으로써 특정 사용자 관심에 대한 검색 응[0049] In another embodiment of the present invention, trend information provides search response to specific user interests by considering related trends.

답을 조건에 맞추는데 도움을 주는데 사용된다. 도 5는 쿼리에 응답하기 위해 도 2의 시스템(110)에 의해It is used to help match the answer to the conditions. 5 shows a system 110 of FIG. 2 to respond to a query.

사용될 수 있는 방법을 나타낸다. 클라이언트(120)는 검색 서버 시스템(160)에 쿼리를 전송한다. 검색Indicates a method that can be used. The client 120 transmits a query to the search server system 160. search

서버 시스템(160)은 쿼리 및/또는 그 구성 단위를 개념 서버(180)에 전송하고, 개념 서버(180)는 단위 사Server system 160 transmits queries and/or their constituent units to concept server 180, which in turn uses the units.

전(306)에 액세스한다. 개념 서버(180)는 각종 단위에 대한 통계 및 클러스터 정보와 함께 쿼리로부터 식Access before (306). The concept server 180 generates expressions from queries along with statistics and cluster information for various units.

별되는 하나 이상의 단위와 같이 쿼리에 관련된 개념적 데이터는 물론, 단위들에 관련된 트렌드 정보를 리Retrieves conceptual data related to a query, such as one or more separate units, as well as trend information related to the units.

턴한다. 이 정보는 예를 들어 쿼리를 해싱하여 그 안에 포함된 단위들을 식별하고 단위 사전(306)에 액세Turn. This information can be accessed, for example, by hashing a query to identify the units contained within it and accessing the unit dictionary 306.

스하여 식별된 각 단위에 대한 엔트리를 검색함으로써 유도될 수 있다. 일 실시예에서, 리턴된 정보는 쿼This can be derived by searching for an entry for each unit identified using In one embodiment, the returned information is

리, 그 하나 이상의 구성 단위, 또는 임의의 구성 단위에 관련된 하나 이상의 클러스터에 관련된 트렌드에on trends related to one or more constituent units, or one or more clusters associated with any constituent unit.

관한 정보, 단위, 통계, 클러스터를 포함한다.Includes related information, units, statistics, and clusters.

[0050] 검색 서버 시스템(160)은 유리하게 개념 서버(180)로부터 수신된 개념적 데이터를 쿼리에 응답하는데 사용[0050] Search server system 160 advantageously uses conceptual data received from concept server 180 to respond to queries.

한다. 검색 서버 시스템(160)에 의해 리턴된 결과는 유리하게 클러스터 및 단위 및/또는 클러스터와 관련do. Results returned by search server system 160 may advantageously relate to clusters and units and/or clusters.

된 트렌드를 포함하여, 단위로 포착된 사용자 요구의 이해 및 그 확장과 관련을 기초로, 사용자가 다음에Based on the understanding and extension of user needs captured by the unit, including trends,

조사하고자 하는 것에 관한 힌트나 팁과 같은 다른 관련 정보와 함께 사용자의 쿼리에 대해 사용자에게 응Respond to your queries along with other relevant information, such as hints or tips about what you want to research.

답하는 결과를 포함한다.Include the results of your answer.

[0051] 예를 들어, 쿼리가 하나 이상의 문맥으로 사용될 수 있는 "Java"와 같이 모호한 용어를 포함한다고 가정한[0051] For example, suppose a query contains an ambiguous term such as “Java” that can be used in more than one context.

다. 이러한 용어는 다수의 클러스터, 예를 들어 "식음료" 클러스터, "컴퓨터" 클러스터 및 "위치" 클러스all. These terms can be grouped into multiple clusters, such as the “Food and Beverage” cluster, the “Computer” cluster, and the “Location” cluster.

터에 속할 수 있다. 어떤 실시예에서, 검색 서버 시스템(160)은 예를 들어 어떤 클러스터에 가장 두드러It can belong to a field. In some embodiments, search server system 160 may be configured to determine which cluster is most prominent, e.g.

진 배치가 주어져야 하는지를 선택함으로써 트렌드 데이터를 사용하여 응답을 구체화할 수 있다. 예를 들You can use trend data to refine your response by choosing which positions should be given. For example

어, 주중에 "Java"를 검색한 사용자들이 컴퓨터 언어에 가장 관심이 있기 쉬운 반면, 주말에 "Java"를 검Well, users who search for "Java" during the week are likely to be most interested in computer languages, while users who search for "Java" on the weekend

색한 사용자들은 커피에 가장 관심이 있을 법하다면, 검색 결과가 제시되는 순서는 요일에 따라 달라질 수Given that searched users are likely to be most interested in coffee, the order in which search results are presented may vary depending on the day of the week.

있는데, 예를 들어 주중이라면 컴퓨터 언어에 관련된 결과가 가장 두드러지게 제시될 수 있는 한편, 주말For example, on weekdays, results related to computer languages may be presented most prominently, while on weekends, results related to computer languages may be presented most prominently.

이라면 커피에 관련된 결과가 가장 두드러지게 제시될 수 있다. (서로 다른 클러스터와의 관련성을 기초If so, results related to coffee can be presented most prominently. (Based on relationships with different clusters

로 검색 결과를 그룹화하는 어떤 기술은 상기 인용한 예비 출원 60/510,220호에 개시되어 있다.)(Some techniques for grouping search results by grouping are disclosed in preliminary application 60/510,220 cited above.)

[0052] 제 2 예로서, 랩 그룹명이자 어떤 법인의 증권 시세 표시기 심벌인 4 문자 시퀀스("WXYZ")가 있다고 가정[0052] As a second example, assume there is a four-character sequence (“WXYZ”) that is both the name of a rap group and the ticker symbol of a corporation.

한다. 주식 시장이 열렸을 때 수신된 쿼리 대 시장이 닫혔을 때 수신된 쿼리를 기초로 개념 네트워크 또do. A conceptual network or network based on queries received when the stock market was open versus queries received when the market was closed.

는 클러스터를 비교하면, 전자의 경우에 WXYZ 회사가 더 자주 검색되고 있는 반면, 후자의 경우에는 WXYZComparing the clusters, in the former case WXYZ companies are searched more frequently, while in the latter case WXYZ

랩 그룹이 더 자주 검색되고 있는 것으로 나타날 수 있다. 이에 따라, 쿼리가 수신될 때 시장이 열렸는지It may appear that lab groups are being searched for more frequently. Accordingly, whether the market was open when the query was received

닫혔는지에 따라 랩 그룹과 관련된 결과 전에 또는 뒤에 회사와 관련된 검색 결과가 배치될 수 있다.Depending on whether it's closed, search results related to your company may be placed before or after results related to your lab group.

[0053] 제 3 예로서, 문맥에 따라 사교적인 이벤트일 수도 있고 정당일 수도 있는 "party"라는 용어에 대해 생각[0053] As a third example, think about the term “party,” which can be either a social event or a political party, depending on the context.

한다. "party"라는 용어를 포함하는 일부 쿼리들은 모호함을 해소하는 다른 용어(예를 들어, "Republicando. Some queries containing the term "party" may contain other disambiguating terms (e.g. "Republican").

party" 또는 "party games")를 포함할 수도 있지만 다른 쿼리들은 이러한 용어를 포함하지 않을 수도party" or "party games"), but other queries may not include these terms.

있다. 모호한 쿼리에 대한 응답을 명확하게 하는데 트렌드 분석이 이용될 수 있다. 예를 들어, 도 6은there is. Trend analysis can be used to clarify responses to ambiguous queries. For example, Figure 6 shows

"party"라는 용어를 포함하는 쿼리의 빈도를(임의의 단위로) 하루의 시간 기준(4시간 증분으로)에 따라 나Frequency of queries containing the term "party" (in arbitrary units) divided by time of day (in 4-hour increments).

타내는 트렌드 데이터의 그래프이다. 이러한 트렌드 데이터는 상술한 프로세스(400)에 따라 어떤 쿼리 세It is a graph of trend data. Such trend data may be subject to any query according to the process 400 described above.

트를 분석함으로써 얻을 수 있다. 트렌드 데이터 세트(602)("X" 심벌)는 "party"가 사교적인 이벤트에 명This can be obtained by analyzing the data. Trend data set 602 (“X” symbol) indicates that “party” is a social event.

확하게 관련된 다른 용어(예를 들어, "게임", "호의", "공급"와 함께 나타나는 쿼리에 대응한다. 트렌드Matches queries that appear with other clearly related terms (e.g. “games”, “favors”, “supplies”). Trends

데이터 세트(604)("O" 심벌)는 "party"가 정당에 명확하게 관련된 다른 용어(예를 들어, "공화당", "민주Data set 604 (“O” symbol) uses “party” as another term clearly related to a political party (e.g., “Republican”, “Democrat”).

당", "후보자"와 함께 나타나는 쿼리에 대응한다. 트렌드 데이터(606)(삼각형)는 모호함이 쿼리의 다른Corresponds to queries that appear together with “party” and “candidate.” Trend data 606 (triangle) indicates that ambiguity is different from other terms in the query.

용어를 참조로 해소될 수 없는 "party"를 포함하는 쿼리에 대응한다.Matches queries containing "party" that cannot be resolved by reference to the term.

[0054] 본 발명에 따라 모호함을 해소하는 한 방법은 다른 트렌드들의 형상을 비교하고(예를 들어, 도 6에 나타낸[0054] One way to resolve ambiguity in accordance with the present invention is to compare the shapes of different trends (e.g., as shown in Figure 6).

데이터 세트들의 1차 및/또는 2차 도함수) 모호한 쿼리 세트에 대한 트렌드가 모호하지 않은 세트들 중 하the first and/or second derivative of the data sets) and the trend for the ambiguous query set among the unambiguous sets.

나와 다른 것보다 더 밀접하게 일치하는지를 판단하는 것이다. 도 6에 나타낸 예에서, 모호한 트렌드 데It's about judging whether something matches me more closely than something else. In the example shown in Figure 6, there is an ambiguous trend data.

이터(606)는 "정당" 트렌드 데이터(604)보다 "사교적인 이벤트" 트렌드 데이터(602)에 더 비슷하다. 이것Eater (606) is more similar to “social event” trend data (602) than “political party” trend data (604). this

으로부터, "party"를 포함하는 모호한 쿼리를 입력한 사용자들이 정당보다는 사교적 이벤트에 더 관심이From this, users who entered ambiguous queries containing “party” were more interested in social events than political parties.

있다는 것이 추론될 수 있으며, 이에 따라, 예를 들어 정당에 관련된 결과 앞에 사교적 이벤트에 관련된It can be inferred that there are, for example, results related to political parties before those related to social events.

결과를 제시함으로써 검색 결과가 제시될 수 있다.Search results can be presented by presenting the results.

[0055] 추론한 의도에 대한 신뢰 레벨을 확립하는데 두 트렌드 데이터 세트 사이의 유사도가 고려되어 사용될 수[0055] The similarity between two trend data sets can be considered and used to establish a level of confidence in the inferred intent.

있음에 유의해야 한다. 도 6에 나타낸 예에서, 모호한 트렌드 데이터(606)는 "사교적 이벤트" 트렌드 데It should be noted that there is. In the example shown in Figure 6, ambiguous trend data 606 is the "social event" trend data.

이터(602)와 더 가깝게 일치하므로, 추론에 대한 신뢰 레벨이 높아지게 된다. 다른 경우에, 신뢰 레벨은Since it matches more closely with data 602, the level of confidence in the inference increases. In other cases, the confidence level is

사용자 행동에 따라 더 낮을 수도 더 높을 수도 있다. 이러한 신뢰 레벨은 쿼리에 대한 응답을 명확하게It may be lower or higher depending on user behavior. These levels of confidence ensure that responses to queries are clearly

하는데 다른 요인일 될 수 있다. 예컨대, 충분히 높은 신뢰 레벨이 주어지면, 처음에 사교적 이벤트에 관However, there may be other factors. For example, given a sufficiently high level of trust, social events may initially be

련된 결과만이 제시되고, 이러한 경우에 사용자가 정당에 관련된 결과를 검색할 선택권이 제공될 수 있다. Only relevant results are presented, in which case the user may be given the option to search for results related to a political party.

이러한 예는 예시이며, 변형 및 변경이 가능하다. 예컨대, 다수의 기준([0056] 예를 들어, 하루의 시간 및 사용These examples are illustrative and modifications and changes are possible. For example, a number of criteria (e.g., time of day and use

자 연령)에 따른 트렌드가 유사도 결정에 함께 고려될 수 있다. 트렌드 비교는 실제 주파수 값, 도함수Trends based on age of the user can be considered together in determining similarity. Trend comparison shows actual frequency values, derivatives

(변화율), 고차 도함수 또는 이들의 임의의 조합과 같이 두 곡선의 유사도의 임의의 적절한 측정을 기초로based on any suitable measure of the similarity of the two curves, such as (rate of change), higher-order derivative, or any combination thereof.

할 수 있다.can do.

[0057] 제 4 예로서, 독극물일 수도 있고 헤비메탈 밴드일 수도 있는 "poison"이란 용어를 생각한다. 또한, 어떤[0057] As a fourth example, consider the term “poison,” which could be either poison or a heavy metal band. Also, any

쿼리는 모호성을 해소하는 다른 용어를 포함하게 되는데, 예컨대 "rat poison" 또는 "poison control"과The query may include other terms that resolve ambiguity, such as "rat poison" or "poison control" and

같은 쿼리는 독극물에 관련되는 반면, "poison lyrics" 또는 "poison mp3"는 밴드에 관련된다. 그러나 다The same query relates to poison, while "poison lyrics" or "poison mp3" relates to a band. But everything

른 쿼리는 단지 모호할 것이다.Other queries will simply be ambiguous.

[0058] "party" 예시에서 설명한 것과 같은 분석이 모호성 해소에 사용될 수 있다. 다른 접근법은 "poison" 밴드[0058] Analysis such as that described in the “party” example can be used to resolve ambiguity. Another approach is the "poison" band

가 음악 연주자 클러스터에 속하고, 이 클러스터는 이름이 비교적 모호하지 않은 다른 연주자를 포함한다belongs to the Music Players cluster, which includes other performers whose names are relatively unambiguous.

는 점을 인식하는 것을 포함한다. (예를 들어, 가상으로 "Britney Spears"를 쿼리로서 입력하는 모든 사involves recognizing that (For example, virtually anyone entering "Britney Spears" as a query would

용자는 유명한 가수에 관심이 있다.) 모호하지 않은 연주자 이름을 포함하는 쿼리는 "제어" 그룹으로서The user is interested in famous singers.) Queries containing unambiguous performer names serve as the "control" group.

사용될 수 있으며, 이것으로부터 연주자에 관한 정보를 찾고 있는 사용자들의 행동에 관한 추론을 끌어낼can be used to draw inferences about the behavior of users seeking information about performers.

수 있다. 이 행동은 모호한 용어가 연주자를 말하는 것을 의도할 가능성을 추정하기 위해, 연주자를 말할You can. This behavior refers to the performer, in order to estimate the likelihood that an ambiguous term is intended to refer to the performer.

수도 아닐 수도 있는 모호한 용어(예를 들어, "poison")를 타이핑하는 사용자들의 행동과 비교될 수 있다.This can be compared to the behavior of users typing ambiguous terms that may or may not be possible (e.g. "poison").

[0059] 제어 그룹과 모호한 용어를 포함하는 쿼리 사이의 수많은 비교가 가능하다. 예컨대, 모호한 용어[0059] Numerous comparisons between control groups and queries containing ambiguous terms are possible. For example, ambiguous terms

"poison"을 포함하며 음악과 명확하게 관련된 용어(예를 들어, "가사") 또한 포함하는 쿼리의 분수 및 모Fractions and modifiers in queries that contain "poison" and also include terms clearly related to music (e.g., "lyrics").

호하지 않은 이름(예를 들어, "Britney Spears")를 포함하는 쿼리의 해당 "제어" 분수가 연산될 수 있다.The corresponding "control" fraction of queries containing unambiguous names (e.g., "Britney Spears") may be computed.

제어 분수는 음악에 관심 있는 사용자들이 잠재적으로 모호한 쿼리를 입력하게 될 가능성을 짐작하는 것으The control fraction estimates the likelihood that music-interested users will enter potentially ambiguous queries.

로 간주될 수 있다. 이것을 "poison"을 포함하는 명확한 음악 지향 쿼리의 빈도와 비교함으로써, 쿼리can be considered. By comparing this to the frequency of explicitly music-oriented queries containing "poison", we find that queries

"poison"을 입력한 사용자가 밴드에 관심이 있을 가능성을 추론할 수 있다.We can infer the likelihood that a user who enters "poison" is interested in a band.

[0060] 이러한 예를 보다 구체화하기 위해, 용어 "poison"을 포함하며 용어 "가사" 또한 포함하는 쿼리의 분수는[0060] To make this example more specific, the fraction of queries that contain the term “poison” and also contain the term “lyrics” is

01이고, 용어 "Britney Spears"를 포함하며 용어 "가사" 또한 포함하는 쿼리의 분수는 02라고 가정한다.Assume that the fraction of queries that contain the term "Britney Spears" and that also contain the term "lyrics" is 01, and that the fraction of queries that contain the term "lyrics" is 02.

이것으로부터, "poison"을 입력한 사용자의 1/2은 아마 밴드를 말하는 것으로 의도한 것이 아님을 추론할From this, we can infer that 1/2 of the users who typed "poison" probably did not mean to refer to the band.

수 있다. 이 경우, 밴드 관련 및 독극물 관련 결과 모두 두드러지게 디스플레이된다. 독극물을 검색한You can. In this case, both band-related and poison-related results are displayed prominently. searched for poison

사용자들이 모호함 해소 용어를 포함하는데 실패할 가능성을 추정하기 위해, 독극물 "poison"을 포함하는To estimate the likelihood that users will fail to include disambiguating terms,

클러스터(예를 들어, 약물 관련 클러스터)를 기초로 하는 제어 분수를 이용하여 비슷한 분석이 이루어질Similar analyzes can be done using control fractions based on clusters (e.g., drug-related clusters).

수 있다. 약물 관련 클러스터의 용어에 대한 모호한 쿼리의 가능성이 작다면, 모호한 쿼리 "poison"은 밴You can. If the likelihood of an ambiguous query for a term in a drug-related cluster is small, the ambiguous query "poison" is banned.

드를 말하기 쉬운 것으로 제안된다.It is suggested that it is easy to say de.

[0061] 또한, 음악에 관심 있는 사용자와 반대로 약물에 관심 있는 사용자로부터 잠재적으로 모호한 쿼리를 수신[0061] Additionally, receiving potentially ambiguous queries from users interested in drugs as opposed to users interested in music

할 가능성을 비교함으로써 사용자 의도가 추론될 수 있다. 예를 들어, 음악에 관심 있는 사용자들로부터User intent can be inferred by comparing the likelihood of doing something. For example, from users interested in music

의 쿼리의 29%는 연주자 이름만을 포함하는 단일 단위 쿼리인 반면, 약물에 관심 있는 사용자들로부터의29% of queries are single-unit queries containing only performer names, while 29% of queries are from users interested in drugs.

쿼리의 2%만이 단일 단위를 포함하는 것으로 가정한다. 단일 단위 쿼리 "poison"을 입력한 사용자는 밴드Assume that only 2% of queries contain a single unit. The user who enters the single unit query "poison" is

에 더 관심이 있을 것으로 추론될 수 있다.It can be inferred that there will be more interest in .

[0062] 이러한 분석의 보다 정교한 변형이 사용될 수도 있는 것으로 인식될 것이다. 예컨대, 하나의 연주자만을[0062] It will be appreciated that more sophisticated variations of this analysis may be used. For example, only one performer

사용하여 제어 분수를 계산하기보다는 더 많은 연주자가 사용될 수도 있다(예를 들어, "Britney Spears"뿐Rather than calculating control fractions using

아니라 "matchbox twenty", "Johnny Cash" 등) 마찬가지로, 하나의 모호함 해소 용어를 고려하기보다는Similarly, rather than considering a single disambiguation term (as opposed to "matchbox twenty", "Johnny Cash", etc.)

다수의 용어가 사용될 수도 있다(예를 들어, "가사"뿐 아니라 "mp3", "투어", "앨범" 등) 다른 모호한Multiple terms may be used (e.g. "lyrics" as well as "mp3", "tour", "album", etc.) and other ambiguous terms.

용어 및 다른 클러스터에도 비슷한 분석이 적용될 수 있다.Similar analysis can be applied to terms and other clusters.

[0063] 제 5 예로서, 사용자가 "digital cameras"라는 쿼리를 입력한다고 가정한다. 사용자가 디지털 카메라를[0063] As a fifth example, assume that the user enters a query called “digital cameras.” User uses a digital camera

판매하는 사이트를 찾고 있거나 디지털 카메라에 관한 정보(제품 리뷰 등)를 찾고 있을 수 있다. (예를You may be looking for a site that sells digital cameras, or you may be looking for information about digital cameras (product reviews, etc.). (example

들어, 사용자 프로파일 및/또는 종단적 기준을 포함하는) 다양한 기준에 따른 이전 쿼리의 트렌드 분석이For example, trend analysis of previous queries based on various criteria (including user profiles and/or longitudinal criteria).

사용되어 어떤 것이 그에 따른 결과가 더 적당하게 맞을 수 있는지를 판단할 수 있다.It can be used to determine which one has more appropriate results.

[0064] 제 6 예로서, 어떤 실시예에서는 검색 서버 시스템(160)이 트렌드 정보를 기초로 관련 검색을 제안할 수[0064] As a sixth example, in some embodiments, search server system 160 may suggest related searches based on trend information.

있다. 예를 들어, 21세 이하로 알려진 사용자가 가수명을 포함하는 쿼리를 입력한다면, 검색 서버 시스템there is. For example, if a user known to be under the age of 21 enters a query that includes a singer's name, the search server system

은 그 가수에 관련된 사이트 목록을 표시하는 것 외에도, 트렌드 분석에 의해 21세 이하의 사용자들 사이In addition to displaying a list of sites related to the singer, it analyzes trends among users under the age of 21.

에 인기 있는 것으로 인식되는 하나 이상의 다른 가수(예를 들어, "Avril Lavgne")에 관련된 검색을 제안suggests searches related to one or more other singers (e.g. "Avril Lavgne") recognized as popular on

할 수도 있다. 35세 사용자의 경우, 다른 가수(예를 들어, "Celine Dion")가 제안될 수도 있다. 다른 경You may. For a 35-year-old user, a different singer might be suggested (eg, “Celine Dion”). different view

우에, 평일에 "new york city"의 쿼리가 입력되면, "호텔" 제안보다는 "채용" 제안이 더 두드러지게 이루Well, when a query for “new york city” is entered on a weekday, “jobs” suggestions are more prominent than “hotel” suggestions.

어질 수 있는 한편(이것이 트렌드 데이터와 일치한다면), 동일 쿼리가 주말에 입력되며 그 반대로 사용될On the other hand, if this matches the trend data, the same query would be entered on a weekend and vice versa.

수 있다.You can.

[0065] 어떤 실시예에서, 검색 서버 시스템(160)에 의해 사용자의 가능성 있는 성별, 연령 또는 지리적 위치와 같[0065] In some embodiments, the user's likely gender, age, or geographic location is identified by the search server system 160.

이 특정 사용자에 관한 정보를 추론하는데 트렌드 데이터가 사용될 수도 있다. 이러한 추론은 트렌드 데Trend data may also be used to infer information about this particular user. This inference is a trend

이터에 관해 동일 사용자에 의해 입력된 다수의 쿼리를 비교하여 다른 기준에 대한 사용자의 행동을 매치Matches user behavior against different criteria by comparing multiple queries entered by the same user regarding data

시키는 것을 포함할 수 있다. 이러한 추론은 정확성이 보장되는 것은 아니며, 이들은 사용자가 어떻게 행It may include ordering. These inferences are not guaranteed to be accurate, and they do not depend on how users act.

동하는지를 반영하며, 반드시 사용자는 아닌 것으로 이해해야 한다. 특정 사용자에 관해 이루어진 어떤It should be understood that it reflects whether the user is active or not and is not necessarily the user. Anything made about a specific user

추론도 가능성 있는 사용자 의도의 하나의 표시로서 트렌드 데이터를 또 사용하여 그 사용자에 의해 입력Inferences can also be made using trend data as an indication of possible user intent input by that user.

된 추가 쿼리에 대한 응답에 맞추는데 사용될 수 있다. 이와 같이 트렌드 데이터는 쿼리를 입력하는 특정It can be used to tailor responses to additional queries. In this way, trend data is specific to the type of query entered.

사용자에 대한 검색 서버의 응답을 개인화하는데 사용될 수 있다.It can be used to personalize the search server's response to the user.

[0066] 트렌드 데이터는 특정 경우에 표시되는 광고(들) 및/또는 특정 광고 배치에 부과되는 요금과 같은 광고 결[0066] Trend data may include advertising results, such as the ad(s) displayed on a particular occasion and/or the fees charged for a particular ad placement.

정과 관련하여 검색 서버 시스템(160)의 제공자에 의해 사용될 수도 있다.It may also be used by the provider of the search server system 160 in connection with the search server system 160.

[0067] 본 발명은 특정 실시예에 관해 설명되었지만, 당업자들은 수많은 변형이 가능함을 인식할 것이다.[0067] Although the invention has been described with respect to specific embodiments, those skilled in the art will recognize that numerous variations are possible.

예컨대, 트렌드 분석에 사용되는 쿼리의 기준 및 서브셋의 개수 및 한정성은 달라질 수 있으며, 수신된 모For example, the number and limitation of query criteria and subsets used in trend analysis may vary, and all received

든 쿼리가 트렌드 분석에 사용되는 것은 아니다. 클러스터, 서명 및 트렌드 정보는 동적으로 규정되며,Not all queries are used for trend analysis. Cluster, signature and trend information are dynamically defined;

트렌드 분석은 시간에 따라(예를 들어, 일간 또는 주간) 수행되어 사용자 행동 변화에 응답하여 트렌드 정보를 업데이트할 수 있다. 또 다른 실시예에서, 클러스터, 서명 및 트렌드 데이터가 거의 실시간으로 업Trend analysis may be performed over time (e.g., daily or weekly) to update trend information in response to changes in user behavior. In another embodiment, cluster, signature and trend data is updated in near real time.

데이트될 수 있도록 쿼리는 수신되는 대로 처리될 수 있다. 여기서 설명한 자동화 시스템 및 방법은 클러Queries can be processed as they are received so that they can be dated. The automated systems and methods described herein are

스터, 서명, 및 단위, 클러스터, 서명의 일부 또는 전부에 관련된 트렌드 정보 등을 포함하는 결과적인 단Resulting clusters, including clusters, signatures, and trend information related to some or all of the units, clusters, and signatures.

위 사전의 전부 또는 일부에 관한 인간의 검토로 증대 또는 보충될 수 있다.The above dictionary may be augmented or supplemented by human review of all or part of it.

여기서 설명한 실시예들은 웹 사이트, 링크, 및 월드 와이드 웹(또는 그 [0068] 서브셋)이 검색 자료 역할을 하는[0068] Embodiments described herein allow websites, links, and the World Wide Web (or a subset thereof) to serve as searchable resources.

경우에 지정된 다른 기술을 참조할 수 있다. 여기서 설명한 시스템 및 프로세스는 다른 검색 자료(전자In some cases, reference may be made to other specified technologies. The systems and processes described herein are compatible with other search resources (electronic

데이터베이스나 문서 저장소 등)에 사용하도록 개조될 수 있으며, 결과는 컨텐츠는 물론, 컨텐츠가 발견될can be adapted for use in any database (database, document repository, etc.), with the result being that the content can be discovered as well as the content itself.

수 있는 위치에 대한 링크나 참조 또한 포함할 수 있는 것으로 이해해야 한다.It should be understood that links or references to other locations may also be included.

[0069] 이와 같이 본 발명은 특정 실시예에 관해 설명되었지만, 발명은 다음 청구항의 범위 내에서 모든 변형 및[0069] Although the invention has thus been described with respect to specific embodiments, the invention is intended to cover all modifications and variations within the scope of the following claims.

등가물을 커버하는 것으로 인식될 것이다.It will be recognized as covering equivalents.

Claims (5)

쿼리를 처리하는 방법으로서,
하나 이상의 단위를 각각 포함하는 이전 쿼리들의 세트를 수신하는 단계;
기준에 따라 상기 쿼리들을 서브셋으로 분류하는 단계;
상기 쿼리들의 각 서브셋에 대해 하나 이상의 서브셋-특정 개념 네트워크를 생성하는 단계; 및
상기 서브셋들 중 적어도 2개로부터의 해당 서브셋-특정 개념 네트워크를 비교함으로써 단위에 대한 트렌
드 정보를 생성하는 단계를 포함하는, 쿼리 처리 방법.
As a method of processing a query,
Receiving a set of previous queries each containing one or more units;
Classifying the queries into subsets according to criteria;
generating one or more subset-specific concept networks for each subset of the queries; and
Trends for a unit by comparing corresponding subset-specific concept networks from at least two of the subsets
A query processing method, including the step of generating de-information.
상기 기준은 시간 기준인 것을 특징으로 하는 쿼리 처리 방법.A query processing method, wherein the standard is a time standard. 상기 기준은 사용자들의 하나 이상의 인구 통계 특징을 참조로 규정되는 것을 특징으로 하는 쿼리 처리 방
법.
A query processing method wherein the criteria are defined with reference to one or more demographic characteristics of users.
law.
제 1 항에 있어서,
다음 쿼리를 수신하는 단계;
상기 다음 쿼리를 하나 이상의 구성 단위로 구문 분석(parsing)하는 단계; 및
상기 다음 쿼리에 대한 응답을 명확하게 하는데 상기 트렌드 정보를 사용하는 단계를 더 포함하는 것을 특
징으로 하는 쿼리 처리 방법.
According to claim 1,
Receiving the following query;
parsing the next query into one or more structural units; and
and using the trend information to clarify a response to the next query.
Query processing method using Jing.
제 6 항에 있어서,
상기 트렌드 정보는 상기 쿼리의 모호한 용어를 해소하는데 사용되는 것을 특징으로 하는 쿼리 처리 방법.
According to claim 6,
A query processing method, wherein the trend information is used to resolve ambiguous terms in the query.
KR1020220092928A 2022-07-27 2022-07-27 Systems and methods for search query processing using trend analysis KR20240015280A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220092928A KR20240015280A (en) 2022-07-27 2022-07-27 Systems and methods for search query processing using trend analysis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220092928A KR20240015280A (en) 2022-07-27 2022-07-27 Systems and methods for search query processing using trend analysis

Publications (1)

Publication Number Publication Date
KR20240015280A true KR20240015280A (en) 2024-02-05

Family

ID=89904121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220092928A KR20240015280A (en) 2022-07-27 2022-07-27 Systems and methods for search query processing using trend analysis

Country Status (1)

Country Link
KR (1) KR20240015280A (en)

Similar Documents

Publication Publication Date Title
US7240049B2 (en) Systems and methods for search query processing using trend analysis
Nasraoui et al. A web usage mining framework for mining evolving user profiles in dynamic web sites
US20170228469A1 (en) Automatic mapping of a location identifier pattern of an object to a semantic type using object metadata
JP4994243B2 (en) Search processing by automatic categorization of queries
JP5186542B2 (en) Personalized search method and personalized search system
JP5461360B2 (en) System and method for search processing using a super unit
US7340460B1 (en) Vector analysis of histograms for units of a concept network in search query processing
CN1104696C (en) System and method for automatically adding informational hypertext links to received documents
US6311194B1 (en) System and method for creating a semantic web and its applications in browsing, searching, profiling, personalization and advertising
TWI493367B (en) Progressive filtering search results
US20020165856A1 (en) Collaborative research systems
US20060294071A1 (en) Facet extraction and user feedback for ranking improvement and personalization
US20060167896A1 (en) Systems and methods for managing and using multiple concept networks for assisted search processing
KR20100094021A (en) Customized and intellectual symbol, icon internet information searching system utilizing a mobile communication terminal and ip-based information terminal
US8799314B2 (en) System and method for managing information map
Kumar World towards advance web mining: A review
WO2001055909A1 (en) System and method for bookmark management and analysis
KR20240015280A (en) Systems and methods for search query processing using trend analysis
Ambika et al. Web mining: The demystification of multifarious aspects
KR100594180B1 (en) Integrated search method online
Elsheweikh A Novel Web Recommendation Model Based on the Web Usage Mining Technique
Saxena Improving Web Recommendations Using Web Usage Mining and Web Semantics
WO2011132204A2 (en) Fetch engine