KR102534726B1 - Method and apparatus for performing area based place search - Google Patents
Method and apparatus for performing area based place search Download PDFInfo
- Publication number
- KR102534726B1 KR102534726B1 KR1020210012930A KR20210012930A KR102534726B1 KR 102534726 B1 KR102534726 B1 KR 102534726B1 KR 1020210012930 A KR1020210012930 A KR 1020210012930A KR 20210012930 A KR20210012930 A KR 20210012930A KR 102534726 B1 KR102534726 B1 KR 102534726B1
- Authority
- KR
- South Korea
- Prior art keywords
- input
- map
- submap
- distance
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3407—Route searching; Route guidance specially adapted for specific applications
- G01C21/3423—Multimodal routing, i.e. combining two or more modes of transportation, where the modes can be any of, e.g. driving, walking, cycling, public transport
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3885—Transmission of map data to client devices; Reception of map data by client devices
- G01C21/3889—Transmission of selected map data, e.g. depending on route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/587—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Automation & Control Theory (AREA)
- Library & Information Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 지역 기반 장소 검색 방법 및 장치에 관한 것이다. 본 발명의 일 실시 예에 따른 방법은, 지역 기반 장소 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분하고, 입력 서브 맵 별로 장소 검색 결과를 수집하고, 수집 결과에 기초하여 입력 서브 맵 별 거리 가중치를 산출하며, 입력 맵과 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 출력 맵을 생성할 수 있다.
본 발명에서 출력 맵은 출력 서브 맵으로 구분되고, 출력 서브 맵의 거리 가중치는 복수의 입력 서브 맵의 거리 가중치에 기초하여 결정될 수 있다.The present invention relates to a method and apparatus for searching a place based on an area. In the method according to an embodiment of the present invention, an input map used for a region-based place search is divided into input sub-maps, place search results are collected for each input sub-map, and a distance weight is applied to each input sub-map based on the collection result. , and an output map may be generated by performing a convolution operation between the input map and the weight matrix.
In the present invention, an output map is divided into output submaps, and a distance weight of an output submap may be determined based on distance weights of a plurality of input submaps.
Description
본 발명은 지역 기반 장소 검색을 수행하기 위한 방법 및 장치에 관한 것이다.The present invention relates to methods and apparatus for performing area based place searches.
전자 지도를 서비스하기 위한 다양한 방법들이 제안되고 있다. 최근의 전자 지도 서비스는, 지도 표시에 더하여 관심 지점(Points Of Interests; POI) 검색 및 경로 탐색 기능과, 대중 교통 실시간 정보 및 맛집 정보 제공 등의 다양한 부가 서비스를 제공한다. Various methods for servicing electronic maps have been proposed. Recent electronic map services provide a variety of additional services, such as a Points Of Interest (POI) search and route search function, real-time public transportation information, and restaurant information, in addition to map display.
지역 기반 장소 검색에서는 사용자가 입력한 쿼리를 분석하여 사용자의 의도를 파악한 후, 사용자의 의도에 기초하여 다수의 검색 결과들에 대한 우선순위를 결정하고, 우선순위에 따라 사용자에게 검색 결과를 제공한다. In region-based place search, a query entered by a user is analyzed to determine the user's intention, and based on the user's intention, a plurality of search results are prioritized, and search results are provided to the user according to the priority. .
최근에는 사용자에게 보다 정확한 검색 결과를 제공할 수 있는 지역 기반 장소 검색 기술의 개발이 필요한 실정이다.Recently, it is necessary to develop a region-based place search technology capable of providing more accurate search results to users.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The foregoing background art is technical information that the inventor possessed for derivation of the present invention or acquired during the derivation process of the present invention, and cannot necessarily be said to be known art disclosed to the general public prior to filing the present invention.
본 발명은 지역 기반 장소 검색을 수행하기 위한 방법 및 장치를 제공하는데 있다. 본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.SUMMARY OF THE INVENTION The present invention provides a method and apparatus for performing geographic location retrieval. The problem to be solved by the present invention is not limited to the above-mentioned problems, and other problems and advantages of the present invention that are not mentioned can be understood by the following description and more clearly understood by the embodiments of the present invention. It will be. In addition, it will be appreciated that the problems and advantages to be solved by the present invention can be realized by the means and combinations indicated in the claims.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제1 측면은, 주행 경로를 생성하기 위한 방법으로서, 지역 기반 장소 검색 방법에 있어서, 지역 기반 장소 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분하는 단계; 상기 입력 서브 맵 별로 장소 검색 결과를 수집하는 단계; 상기 수집 결과에 기초하여 상기 입력 서브 맵 별 거리 가중치를 산출하는 단계; 및 상기 입력 맵과 웨이트 매트릭스(weight matrix) 간의 컨벌루션 연산을 수행하여 출력 맵을 생성하는 단계;를 포함하고, 상기 출력 맵은 출력 서브 맵으로 구분되고, 상기 출력 서브 맵의 거리 가중치는 복수의 상기 입력 서브 맵의 거리 가중치에 기초하여 결정되는 것인, 방법을 제공할 수 있다.As a technical means for achieving the above-described technical problem, a first aspect of the present disclosure is a method for generating a driving route, in which an input map used for a region-based place search is input as a submap. Dividing into; collecting place search results for each input sub-map; calculating a distance weight for each input sub-map based on the collection result; and generating an output map by performing a convolution operation between the input map and a weight matrix, wherein the output map is divided into output submaps, and the distance weights of the output submaps are a plurality of the output submaps. It is possible to provide a method that is determined based on the distance weight of the input submap.
본 개시의 제 2 측면은, 지역 기반 장소 검색을 위한 장치에 있어서, 적어도 하나의 프로그램이 저장된 메모리; 및 상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고, 상기 프로세서는, 지역 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분하는 단계; 상기 입력 서브 맵 별로 장소 검색 결과를 수집하는 단계; 상기 수집 결과에 기초하여 상기 입력 서브 맵 별 거리 가중치를 산출하는 단계; 및 상기 입력 맵과 웨이트 매트릭스(weight matrix) 간의 컨벌루션 연산을 수행하여 출력 맵을 생성하는 단계;를 수행하고, 상기 출력 맵은 출력 서브 맵으로 구분되고, 상기 출력 서브 맵의 거리 가중치는 복수의 상기 입력 서브 맵의 거리 가중치에 기초하여 결정되는 것인, 장치을 제공할 수 있다.A second aspect of the present disclosure provides an apparatus for searching for a place based on a region, comprising: a memory in which at least one program is stored; and a processor performing an operation by executing the at least one program, wherein the processor divides an input map used for local search into input sub-maps; collecting place search results for each input sub-map; calculating a distance weight for each input sub-map based on the collection result; and generating an output map by performing a convolution operation between the input map and a weight matrix, wherein the output map is divided into output submaps, and the distance weights of the output submaps are a plurality of the output submaps. It is determined based on the distance weight of the input submap.
본 개시의 제 3 측면은, 제 1 측면에 따른 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공할 수 있다.A third aspect of the present disclosure may provide a computer-readable recording medium recording a program for executing the method according to the first aspect on a computer.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer readable recording medium storing a computer program for executing the method may be further provided.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims and detailed description of the invention.
전술한 본 개시의 과제 해결 수단에 의하면, 사용자가 장소 검색을 수행하는 경우 사용자가 위치한 지역에 대한 거리 가중치 뿐만 아니라 주변 지역에 대한 거리 가중치까지 고려하여 검색 결과의 우선순위를 결정함으로써, 사용자가 위치한 지역에만 편중되지 않은 보다 정확한 검색 결과를 사용자에게 제공할 수 있다.According to the above-described problem solving means of the present disclosure, when a user performs a place search, the priority of the search result is determined by considering not only the distance weight of the area where the user is located but also the distance weight of neighboring areas. It is possible to provide users with more accurate search results that are not concentrated only in regions.
또한, 전술한 본 개시의 과제 해결 수단에 의하면, 사용자가 입력하는 쿼리의 지역별 특성 따라 거리 가중치를 부여함으로써 보다 쿼리의 특성을 고려한 정확한 검색 결과를 사용자에게 제공할 수 있다.In addition, according to the above-mentioned problem solving means of the present disclosure, it is possible to provide a user with an accurate search result considering the characteristics of a query by assigning a distance weight according to the regional characteristics of a query input by a user.
도 1은 일 실시예에 따른 사용자 단말 및 지역 기반 장소 검색 서버를 포함하는 시스템도이다.
도 2a 내지 도 2b는 일 실시예에 따른 지역 기반 장소 검색 서버에서 장소 검색 결과를 제공하는 예시를 설명하기 위한 도면이다.
도 3a 내지 도 3b는 일 실시예에 따른 입력 맵을 입력 서브 맵으로 구분하는 예시를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 입력 서브 맵 별 거리 가중치를 산출하는 방법을 설명하기 위한 예시적인 도면이다.
도 5a 내지 도 5b는 일 실시예에 따른 출력 맵을 생성하는 방법을 설명하기 위한 예시적인 도면이다.
도 6은 일 실시예에 따른 지역 기반 장소 검색을 수행하는 방법의 흐름도이다.
도 7은 일 실시예에 따른 지역 기반 장소 검색 서버의 블록도이다.1 is a system diagram including a user terminal and a region-based place search server according to an embodiment.
2A to 2B are diagrams for explaining an example of providing a place search result from a region-based place search server according to an embodiment.
3A and 3B are diagrams for explaining an example of dividing an input map into input sub-maps according to an exemplary embodiment.
4 is an exemplary diagram for explaining a method of calculating a distance weight for each input sub-map according to an exemplary embodiment.
5A and 5B are exemplary diagrams for explaining a method of generating an output map according to an exemplary embodiment.
6 is a flowchart of a method for performing a region-based place search according to an exemplary embodiment.
7 is a block diagram of a region-based place search server according to an embodiment.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Advantages and features of the present invention, and methods for achieving them will become clear with reference to the detailed description of embodiments in conjunction with the accompanying drawings. However, it should be understood that the present invention is not limited to the embodiments presented below, but may be implemented in a variety of different forms, and includes all conversions, equivalents, and substitutes included in the spirit and scope of the present invention. . The embodiments presented below are provided to complete the disclosure of the present invention and to fully inform those skilled in the art of the scope of the invention to which the present invention belongs. In describing the present invention, if it is determined that a detailed description of related known technologies may obscure the gist of the present invention, the detailed description will be omitted.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "include" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
본 개시의 일부 실시예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다."매커니즘", "요소", "수단" 및 "구성"등과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다.Some embodiments of the present disclosure may be represented as functional block structures and various processing steps. Some or all of these functional blocks may be implemented as a varying number of hardware and/or software components that perform specific functions. For example, functional blocks of the present disclosure may be implemented by one or more microprocessors or circuit configurations for a predetermined function. Also, for example, the functional blocks of this disclosure may be implemented in various programming or scripting languages. Functional blocks may be implemented as an algorithm running on one or more processors. In addition, the present disclosure may employ prior art for electronic environment setup, signal processing, and/or data processing, etc. Terms such as “mechanism,” “element,” “means,” and “composition” will be used broadly. It can be, and is not limited to mechanical and physical configurations.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어질 수 있다.In addition, connecting lines or connecting members between components shown in the drawings are only examples of functional connections and/or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that can be replaced or added.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른 사용자 단말 및 지역 기반 장소 검색 서버를 포함하는 시스템도이다.1 is a system diagram including a user terminal and a region-based place search server according to an embodiment.
일 실시예에 따른 시스템은 사용자 단말(1000) 및 지역 기반 장소 검색 서버(2000)(이하, 검색 서버)를 포함할 수 있다.A system according to an embodiment may include a
사용자 단말(1000)은, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기, 카메라가 탑재된 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 또한, 사용자 단말(1000)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않는다.The
검색 서버(2000)는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.The
검색 서버(2000)는 입력 맵과 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 출력 맵을 생성할 수 있다. 입력 맵은 복수의 입력 서브 맵으로 구분되는데, 검색 서버(2000)는 입력 서브 맵 별로 수집된 장소 검색 결과에 기초하여, 입력 서브 맵 별 거리 가중치를 산출할 수 있다. 출력 맵은 복수의 출력 서브 맵으로 구분되는데, 검색 서버(2000)는 복수의 입력 서브 맵의 거리 가중치에 기초하여 출력 서브 맵의 거리 가중치를 결정할 수 있다.The
사용자 단말(1000) 및 검색 서버(2000)는 네트워크(3000)를 이용하여 통신을 수행할 수 있다. 일 실시예에서 사용자 단말(1000)에는 어플리케이션이 설치되고, 검색 서버(2000)는 어플리케이션을 관리하는 서버일 수 있다. 검색 서버(2000)는 사용자 단말(1000)에 설치된 어플리케이션을 통해, 사용자 단말(1000)과 데이터를 주고 받을 수 있다.The
네트워크(3000)는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 부가가치 통신망(Value Added Network; VAN), 이동 통신망(mobile radio communication network), 위성 통신망 및 이들의 상호 조합을 포함하며, 도 1에 도시된 각 네트워크 구성 주체가 서로 원활하게 통신을 할 수 있도록 하는 포괄적인 의미의 데이터 통신망이며, 유선 인터넷, 무선 인터넷 및 모바일 무선 통신망을 포함할 수 있다. 또한, 무선 통신은 예를 들어, 무선 랜(Wi-Fi), 블루투스, 블루투스 저 에너지(Bluetooth low energy), 지그비, WFD(Wi-Fi Direct), UWB(ultra wideband), 적외선 통신(IrDA, infrared Data Association), NFC(Near Field Communication) 등이 있을 수 있으나, 이에 한정되는 것은 아니다.The
한편, 도 1에서는 검색 서버(2000)가 하나의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행하는 것으로 도시되었으나 이는 예시일 뿐, 검색 서버(2000)는 두 개 이상의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행할 수 있다.Meanwhile, in FIG. 1, the
도 2a 내지 도 2b는 일 실시예에 따른 지역 기반 장소 검색 서버에서 장소 검색 결과를 제공하는 예시를 설명하기 위한 도면이다.2A to 2B are diagrams for explaining an example of providing a place search result from a region-based place search server according to an embodiment.
사용자 단말(1000)은 장소 검색에 필요한 데이터를 검색 서버(2000)로 전송할 수 있다. 예를 들어, 사용자 단말(1000)은 출발지 쿼리, 목적지 쿼리, 출발지의 위도 및 경도, 목적지의 위도 및 경도 등을 검색 서버(2000)로 전송할 수 있으나, 전송 데이터의 종류는 이에 제한되지 않는다.The
원하는 관심 지점(Point Of Interest; POI)을 검색하기 위해 사용자는 사용자 단말(1000)에 명칭, 업종, 지역, 메뉴, 상품 등을 쿼리(210)로 입력할 수 있다. 사용자 단말(1000)은 사용자가 입력한 쿼리(210)를 검색 서버(2000)로 전송할 수 있다.To search for a desired point of interest (POI), the user may input a name, industry, region, menu, product, etc. into the
검색 서버(2000)는 사용자 단말(1000)로부터 수신한 쿼리(210)의 의도를 결정할 수 있다. 검색 서버(2000)는 쿼리(210)가 어떤 카테고리의 단어들로 구성 되었는지에 기초하여 쿼리(210)의 의도를 결정할 수 있다. 예를 들어, 쿼리(210)는 업종, 상호, 지역+업종, 지역+상호, 업종+상호, 랜드마크 근처의 상호, 랜드마크 근처의 업종 등으로 구성될 수 있다.The
검색 서버(2000)는 쿼리(210)의 의도에 기초하여 평가 요소들의 가중치를 결정할 수 있다. 평가 요소는 검색 결과들의 우선순위를 결정하는데 이용된다. 예를 들어, 평가 요소에는 사용자의 위치와 검색 결과 간의 거리, 쿼리(210)와 검색 결과 간의 명칭 일치도, 쿼리(210)와 검색 결과 간의 업종 일치도, 검색 결과 별 검색 빈도 등이 포함될 수 있으나, 이에 제한되지 않는다.The
쿼리(210)의 의도가 무엇인지에 따라, 평가 요소 각각에 부여되는 가중치가 달라질 수 있다. 예를 들어, 쿼리(210)의 의도가 사용자의 위치에서 가장 가까운 지점을 관심 지점으로 검색하기 위한 경우라면, 검색 서버(2000)는 평가 요소들 중 사용자의 위치와 검색 결과 간의 거리에 높은 가중치를 부여할 수 있다. 반면, 쿼리(210)의 의도가 거리에 상관 없이 명칭이 일치하는 지점을 관심 지점으로 검색하기 위한 경우라면, 검색 서버(2000)는 평가 요소들 중 쿼리(210)와 검색 결과 간의 명칭 일치도에 높은 가중치를 부여할 수 있다.Depending on the intent of the query 210, the weight assigned to each evaluation factor may vary. For example, if the intention of the query 210 is to search for a point closest to the user's location as a point of interest, the
검색 서버(2000)는 쿼리(210)의 의도에 기초하여 평가 요소들 각각에 적절한 가중치를 부여할 수 있다. 또한, 검색 서버(2000)는 가중치가 부여된 평가 요소들에 기초하여 검색 결과들의 우선순위를 결정할 수 있다. 예를 들어, 사용자의 위치와 검색 결과 간의 거리에 높은 가중치를 부여된 경우, 사용자의 위치와 가까운 검색 결과일수록 높은 우선순위를 가질 수 있다. 반면, 쿼리(210)와 검색 결과 간의 명칭 일치도에 높은 가중치가 부여된 경우, 쿼리(210)와 명칭 일치도가 높은 검색 결과일수록 높은 우선순위를 가질 수 있다. The
검색 서버(2000)는 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송하고, 사용자 단말(1000)은 이를 사용자에게 제공할 수 있다. 예를 들어, 높은 우선순위를 갖는 검색 결과에서 낮은 우선순위를 갖는 검색 결과 순으로 사용자 단말(1000)에 검색 결과가 표시될 수 있다.The
도 2a를 참조하면, 사용자 단말(1000)은 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 사용자는 사용자 단말(1000)의 입력 인터페이스를 통해 출발지로 '선릉역'을 입력하고, 목적지로 '철물점'을 입력할 수 있다. 한편, 출발지는 사용자가 직접 입력하는 대신, 사용자 단말(1000)의 위치에 기초하여 결정될 수도 있다.Referring to FIG. 2A , the
사용자 단말(1000)은 쿼리로써 '철물점'을 검색 서버(2000)로 전송할 수 있다. The
'철물점'은 업종으로만 구성되어 있으므로, 검색 서버(2000)는 사용자의 위치와 검색 결과 간의 거리 및 업종 일치도에 높은 가중치를 부여할 수 있다. 검색 서버(2000)는 사용자의 위치와 가까운 검색 결과에 대해 높은 우선순위를 부여하고, 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송할 수 있다. 사용자 단말(1000)은 사용자의 위치와 가까운 검색 결과에서 사용자의 위치와 먼 검색 결과 순으로 장소 검색 결과(220)를 표시할 수 있다.Since the 'hardware store' is composed of only business types, the
사용자가 소정의 검색 결과(221)를 선택한 경우, 사용자 단말(1000)은 선택된 검색 결과(221)를 목적지로 결정하여 출발지와 목적지 간의 이동 경로를 생성하여 사용자에게 제공할 수 있다.When the user selects a
도 2b를 참조하면, 사용자 단말(1000)은 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 사용자는 사용자 단말(1000)의 입력 인터페이스를 통해 출발지로 '선릉역'을 입력하고, 목적지로 '해운대 횟집'을 입력할 수 있다. 한편, 출발지는 사용자가 직접 입력하는 대신, 사용자 단말(1000)의 위치에 기초하여 결정될 수도 있다.Referring to FIG. 2B , the
사용자 단말(1000)은 '해운대 횟집'을 검색 서버(2000)로 전송할 수 있다.The
'해운대 횟집'이 지역+업종으로 구성되어 있으므로, 검색 서버(2000)는 쿼리(210)와 검색 결과 간의 명칭 일치도, 쿼리(230)와 검색 결과 간의 업종 일치도에 높은 가중치를 부여할 수 있다. 검색 서버(2000)는 쿼리(230)와 명칭이 일치하고 업종이 일치하는 검색 결과에 대해 높은 우선순위를 부여하고, 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송할 수 있다. 사용자 단말(1000)은 명칭 일치도 및 업종 일치도가 높은 검색 결과에서 낮은 검색 결과 순으로 장소 검색 결과(240)를 표시할 수 있다.Since 'Haeundae Sashimi Restaurant' is composed of region + industry, the
사용자가 소정의 검색 결과(241)를 선택한 경우, 사용자 단말(1000)은 선택된 검색 결과(241)를 목적지로 결정하여 출발지와 목적지 간의 이동 경로를 생성하여 사용자에게 제공할 수 있다.When the user selects a
도 3a 내지 도 3b는 일 실시예에 따른 입력 맵을 입력 서브 맵으로 구분하는 예시를 설명하기 위한 도면이다.3A and 3B are diagrams for explaining an example of dividing an input map into input sub-maps according to an exemplary embodiment.
도 3a 내지 도 3b를 참조하면, 지역 기반 장소 검색에 이용되는 입력 맵(310)은 복수의 입력 서브 맵(311)으로 구분될 수 있다.Referring to FIGS. 3A and 3B , an
검색 서버(2000)는 입력 서브 맵(311) 별로 장소 검색 결과를 수집할 수 있다. 예를 들어, 특정 사용자가 A6 입력 서브 맵에 대응하는 지역에서 장소를 검색하는 경우, 검색 서버(2000)는 검색 결과를 A6 입력 서브 맵에 매칭시켜 저장할 수 있다. 장소 검색 결과에는 사용자가 입력한 쿼리(query), 출발지의 위치 정보, 목적지의 위치 정보 및 출발지-목적지 간 거리 등이 포함될 수 있으나, 이에 제한되지 않는다.The
일 실시예에서 입력 맵(310)은 균등한 크기의 입력 서브 맵(311)으로 구분될 수 있다. 다른 실시예에서 입력 맵(310)은 사용자 밀집도에 기초하여 입력 서브 맵(311)으로 구분될 수 있다. 예를 들어, 입력 서브 맵(311) 별로 사용자 밀집도가 비슷해지도록 입력 맵(310)이 구분될 수 있다.In one embodiment, the
도 4는 일 실시예에 따른 입력 서브 맵 별 거리 가중치를 산출하는 방법을 설명하기 위한 예시적인 도면이다.4 is an exemplary diagram for explaining a method of calculating a distance weight for each input sub-map according to an exemplary embodiment.
도 4를 참조하면, 지역 기반 장소 검색에 이용되는 입력 맵(410)은 복수의 입력 서브 맵(411)으로 구분될 수 있다.Referring to FIG. 4 , an
사용자가 사용자 단말(1000)을 통해 장소 검색을 수행하면, 검색 서버(2000)는 사용자 단말(1000)로부터 입력 서브 맵 ID, 쿼리, 출발지-목적지 간 거리에 대한 데이터를 수신할 수 있다. 입력 서브 맵 ID는 사용자 단말(1000)의 위치를 나타내는 정보로써 GPS 정보에 기초하여 결정될 수 있다. 즉, 검색 서버(2000)는 입력 서브 맵 별로 장소 검색 결과를 수집할 수 있다.When a user performs a place search through the
도 4를 참조하면, A14 입력 서브 맵에서 쿼리로 '해운대', '해운대 식당', 그리고 '해운대 횟집' 등이 검색되고, 사용자의 현재 위치(즉, 출발지)와 사용자가 선택한 검색 결과(즉, 목적지) 간 거리가 평균적으로 3.5km일 수 있다.Referring to FIG. 4, 'Haeundae', 'Haeundae restaurant', and 'Haeundae raw fish restaurant' are searched as queries in the A14 input submap, and the user's current location (ie, starting point) and the search result selected by the user (ie, destination) may be 3.5 km on average.
반면, A15 입력 서브 맵에서 쿼리로 '해운대', '해운대 주차장', 그리고 '해운대 해수욕장' 등이 검색되고, 사용자의 현재 위치(즉, 출발지)와 사용자가 선택한 검색 결과(즉, 목적지) 간 거리가 평균적으로 380km일 수 있다.On the other hand, 'Haeundae', 'Haeundae parking lot', and 'Haeundae Beach' are searched as queries in the A15 input submap, and the distance between the user's current location (i.e., departure point) and the user's selected search result (i.e., destination) may be 380 km on average.
검색 서버(2000)는 기준 거리 및 출발지-목적지 간 평균 거리에 기초하여 특정 쿼리에 대한 입력 서브 맵(411) 별 거리 가중치를 산출할 수 있다. 쿼리가 달라지면 입력 서브 맵(411) 별 거리 가중치도 달라질 수 있다.The
거리 가중치는 아래의 수학식 1 또는 아래의 수학식 2의 방법으로 산출될 수 있다.The distance weight may be calculated using Equation 1 below or
기준 거리는 입력 맵(410)에 따라 다르게 설정될 수 있다. 입력 맵(410)은 대한민국 전체 범위에 대응되거나, 도, 시, 군과 같이 특정 행정구역 범위에 대응되거나, 임의의 지역 범위에 대응될 수도 있다. 입력 맵(410)에 대응하는 지역의 면적에 기초하여 검색 서버(2000)는 기준 거리를 설정할 수 있다. 예를 들어, 기준 거리는 대한민국의 대각선 거리로 설정될 수 있으나, 이에 제한되지 않는다. 도 4에서는 기준 거리를 400km로 가정하였다.The reference distance may be set differently according to the
상기 수학식 2에 따를 때, '해운대'와 관련된 쿼리에 대한 A14 입력 서브 맵의 거리 가중치는 '1 - log(3.5)/log(400) = 0.801'로 산출될 수 있다. 또한, 상기 수학식 2에 따를 때, '해운대'와 관련된 쿼리에 대한 A15 입력 서브 맵의 거리 가중치는 '1 - log(380)/log(400) = 0.009'로 산출될 수 있다.According to
A14 입력 서브 맵에서 '해운대'와 관련된 쿼리에 대한 거리 가중치는 높게 산출될 수 있다. 즉, 사용자가 A14 입력 서브 맵에 위치하여 '해운대'와 관련된 쿼리를 검색하는 경우, 검색 서버(2000)는 사용자의 위치와 가까운 검색 결과에 높은 우선순위를 부여하여 사용자에게 제공할 수 있다.In the A14 input submap, a high distance weight for a query related to 'Haeundae' can be calculated. That is, when a user is located on the A14 input submap and searches for a query related to 'Haeundae', the
반면, A15 입력 서브 맵에서 '해운대'와 관련된 쿼리에 대한 거리 가중치는 낮게 산출될 수 있다. 즉, 사용자가 A15 입력 서브 맵에 위치하여 '해운대'와 관련된 쿼리를 검색하는 경우, 검색 서버(2000)는 사용자의 위치와 가까운 검색 결과 보다는, 인기도나 명칭 일치도가 높은 검색 결과에 높은 우선순위를 부여하여 사용자에게 제공할 수 있다.On the other hand, in the A15 input submap, a low distance weight for a query related to 'Haeundae' can be calculated. That is, when a user is located on the A15 input submap and searches for a query related to 'Haeundae', the
이처럼, 입력 서브 맵 별로 거리 가중치를 산출해 놓고, 추후 사용자가 지역 기반 장소 검색을 수행할 때 사용자가 위치한 입력 서브 맵이 어디인지에 따라 상이한 거리 가중치를 적용하여 검색 결과의 우선순위를 다르게 결정함으로써, 사용자에게 보다 최적화된 검색 결과를 제공할 수 있다.In this way, after calculating the distance weight for each input submap, when the user performs a region-based place search later, different distance weights are applied depending on where the user is located to determine the priority of the search result differently. , it is possible to provide more optimized search results to users.
다만, 사용자가 위치한 입력 서브 맵의 거리 가중치에만 기초하여 검색 결과의 우선순위를 결정할 경우, 주변 입력 서브 맵의 거리 가중치가 전혀 고려되지 않으므로 오히려 검색 결과의 정확도가 낮아질 수 있다. 예를 들어, 사용자가 A1 입력 서브 맵에 위치할 때, A1 입력 서브 맵 내에서 A1 입력 서브 맵과 A2 입력 서브 맵의 경계 부근에 가깝게 위치할 수 있다. 이 경우, 검색 결과의 우선순위를 결정하는데 A1 입력 서브 맵의 거리 가중치뿐만 아니라 A2 입력 서브 맵의 거리 가중치도 고려되는 것이, 사용자에게 보다 최적화된 검색 결과를 제공할 수 있다.However, when the search result is prioritized based only on the distance weight of the input submap where the user is located, the accuracy of the search result may be lowered because the distance weight of the neighboring input submap is not considered at all. For example, when the user is located on the input submap A1, the user may be located close to the boundary of the input submap A1 and the input submap A2 within the input submap A1. In this case, when determining the priority of search results, not only the distance weight of the input submap A1 but also the distance weight of the input submap A2 are considered, and thus more optimized search results can be provided to the user.
도 5a 내지 도 5b는 일 실시예에 따른 출력 맵을 생성하는 방법을 설명하기 위한 예시적인 도면이다.5A and 5B are exemplary diagrams for explaining a method of generating an output map according to an exemplary embodiment.
도 5a를 참조하면, 검색 서버(2000)는 입력 맵(511)과 웨이트 매트릭스(520) 간의 컨벌루션 연산을 수행하기 전에 입력 맵(511)에 패딩(Padding)(512)을 적용할 수 있다. 패딩(512)은 입력 맵(511) 주변을 특정값으로 채워 늘리는 것을 말한다. 패딩은 주로 출력 맵(530)의 공간적(Spatial) 크기를 조절하기 위해 사용한다. 예를 들어, 입력 맵(511)에 제로-패딩(zero-padding)을 적용하여 패딩 후 입력 맵(510)을 생성할 수 있다.Referring to FIG. 5A , the
구체적으로, 패딩이 적용되기 전의 입력 맵(511)과 웨이트 매트릭스(520) 간의 컨벌루션 연산 수행 시, 패딩이 적용되기 전의 입력 맵(511)의 크기는 4 x 4이고, 웨이트 매트릭스(520)의 크기는 3 x 3이므로, 출력 맵(530)의 크기는 2 x 2가 된다. 본 발명에서는 입력 맵(511)과 출력 맵(530)의 크기가 동일해지도록, 입력 맵(511)에 패딩(512)을 적용할 수 있다.Specifically, when performing a convolution operation between the
도 5b를 참조하면, 패딩 후 입력맵(510)과 웨이트 매트릭스(520) 간의 컨벌루션 연산 수행 시, 패딩 후 입력 맵(510)의 크기는 6 x 6이고, 웨이트 매트릭스(520)의 크기는 3 x 3이므로, 출력 맵(530)의 크기는 4 x 4가 된다. 즉, 입력 맵(511)과 출력 맵(530)의 크기가 동일해진다.Referring to FIG. 5B, when performing a convolution operation between the
입력 맵(511)이 복수의 입력 서브 맵들로 구분되는 것과 같이, 출력 맵(530) 역시 복수의 출력 서브 맵들로 구분될 수 있다. 출력 서브 맵 각각에는 쿼리 별 거리 가중치가 저장될 수 있다. 출력 서브 맵 각각에 저장된 쿼리 별 거리 가중치는 복수의 입력 서브 맵의 거리 가중치에 기초하여 결정될 수 있다.Just as the
일 실시예에서, 특정 출력 서브 맵의 거리 가중치에는, 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와, 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영될 수 있다.In an embodiment, a distance weight of a reference input submap corresponding to the specific output submap and a distance weight of neighboring input submaps around the reference input submap may be reflected in the distance weight of the specific output submap.
예를 들어, 도 5b를 참조하면, B1 출력 서브 맵의 거리 가중치에는 기준 입력 서브 맵인 A1의 거리 가중치와 주변 입력 서브 맵인 A2, A5 및 A6의 거리 가중치가 반영되고, B4 출력 서브 맵의 거리 가중치에는 기준 입력 서브 맵인 A4의 거리 가중치와 주변 입력 서브 맵인 A3, A7 및 A8의 거리 가중치가 반영되며, B14 출력 서브 맵의 거리 가중치에는 기준 입력 서브 맵인 A14의 거리 가중치와 주변 입력 서브 맵인 A9, A10, A11, A13 및 A15의 거리 가중치가 반영될 수 있다.For example, referring to FIG. 5B , the distance weight of the reference input submap A1 and the distance weights of the neighboring input submaps A2, A5, and A6 are reflected in the distance weight of the output submap B1, and the distance weight of the output submap B4 is reflected. The distance weight of the reference input submap A4 and the distance weights of the neighboring input submaps A3, A7 and A8 are reflected in B14, and the distance weight of the reference input submap A14 and the neighboring input submaps A9 and A10 are reflected in the distance weight of the output submap B14. , distance weights of A11, A13, and A15 may be reflected.
한편, 출력 서브 맵의 거리 가중치에 반영되는, 기준 입력 서브 맵의 거리 가중치와 주변 입력 서브 맵의 거리 가중치는 웨이트 매트릭스(520)의 엘리먼트 값에 의해 결정될 수 있다. 예를 들어, 웨이트 매트릭스(520)의 엘리먼트 값들의 합은 1일 수 있으나, 이에 제한되지 않는다.Meanwhile, the distance weights of the reference input submap and the distance weights of neighboring input submaps, which are reflected in the distance weights of the output submap, may be determined by element values of the
일 실시예에서, 출력 서브 맵의 거리 가중치에 반영되는, 기준 입력 서브 맵의 거리 가중치 반영 비율이, 주변 입력 서브 맵의 거리 가중치 반영 비율 보다 높도록, 검색 서버(2000)는 웨이트 매트릭스(520)의 엘리먼트 값을 설정할 수 있다. 또한, 출력 서브 맵의 거리 가중치에 반영되는, 기준 입력 서브 맵의 면에 접한 주변 입력 서브 맵의 반영 비율이, 기준 입력 서브 맵의 꼭지점에 접한 주변 입력 서브 맵의 반영 비율보다 높도록, 검색 서버(2000)는 웨이트 매트릭스(520)의 엘리먼트 값을 설정할 수 있다.In an embodiment, the
예를 들어, 도 5b를 참조하면, B1 출력 서브 맵의 거리 가중치에는 기준 입력 서브 맵인 A1의 거리 가중치 비율이 0.3으로 가장 높게 반영되고, 그 다음 기준 입력 서브 맵의 면에 접한 주변 입력 서브 맵인 A2 및 A5의 거리 가중치 비율이 0.15로 반영되며, 기준 입력 서브 맵의 꼭지점에 접한 주변 입력 서브 맵인 A6의 거리 가중치 비율은 가장 낮은 0.025로 반영될 수 있다. For example, referring to FIG. 5B , the distance weight ratio of A1, which is the reference input submap, is most highly reflected in the distance weight of the output submap B1, as 0.3, and then A2, which is a neighboring input submap adjacent to the surface of the reference input submap. and A5 are reflected as 0.15, and the lowest distance weight ratio of A6, which is a neighboring input submap adjacent to the vertex of the reference input submap, may be reflected as 0.025.
즉, 특정 쿼리에 대한 A1 입력 서브 맵의 거리 가중치가 0.8이고, A2 입력 서브 맵의 거리 가중치가 0.7이고, A5 입력 서브 맵의 거리 가중치가 0.75이며, A6 입력 서브 맵의 거리 가중치가 0.1인 경우, B1 출력 서브 맵의 거리 가중치는 0.46(=0.8 X 0.3 + (0.7 + 0.75) X 0.15 + 0.1 X 0.025)이 될 수 있다. 한편, 패딩(512)에 의해 출력 서브 맵의 거리 가중치가 작게 산출되는 것을 방지하기 위해, 출력 서브 맵의 거리 가중치를 산출하는데 이용된 웨이트 매트릭스의 엘리먼트 값으로 출력 서브 맵의 거리 가중치를 나눔으로써 출력 서브 맵의 거리 가중치를 보정할 수 있다. 이 경우 위 예시에 따른 B1 출력 서브 맵의 거리 가중치는 0.736(=0.46/(0.3+0.15+0.15+0.025))이 될 수 있다.That is, if the distance weight of input submap A1 for a particular query is 0.8, the distance weight of input submap A2 is 0.7, the distance weight of input submap A5 is 0.75, and the distance weight of input submap A6 is 0.1. , the distance weight of the B1 output submap can be 0.46 (=0.8 X 0.3 + (0.7 + 0.75) X 0.15 + 0.1 X 0.025). Meanwhile, in order to prevent the distance weight of the output submap from being calculated to be small by the
패딩 후 입력 맵(510)과 웨이트 매트릭스(520) 간의 컨벌루션 연산을 통해 출력 맵(530)이 생성된 후, 검색 서버(2000)는 사용자 단말(1000)로부터 장소 검색 요청을 수신할 수 있다. 검색 서버(2000)는 사용자 단말(1000)의 위치 정보에 기초하여, 사용자 단말(1000)의 위치에 대응하는 출력 서브 맵을 결정하고, 결정된 출력 서브 맵의 거리 가중치를 획득할 수 있다. 검색 서버(2000)에서 출력 서브 맵으로부터 획득한 거리 가중치는, 상술한 바와 같이 사용자 단말(1000)이 위치한 입력 서브 맵의 거리 가중치뿐만 아니라, 주변 입력 서브 맵의 거리 가중치까지 반영된 값일 수 있다. 검색 서버(2000)는 출력 맵(530)의 거리 가중치에 기초하여 장소 검색을 수행한 후, 장소 검색 결과를 사용자 단말(1000)로 전송할 수 있다.After the
본 발명에서는 사용자가 위치한 입력 서브 맵의 거리 가중치뿐만 아니라 주변 입력 서브 맵의 거리 가중치까지 고려하여 검색 결과의 우선순위를 결정함으로써, 사용자가 위치한 입력 서브 맵에 편중되지 않은 보다 정확한 검색 결과를 사용자에게 제공할 수 있다.In the present invention, the priority of search results is determined by considering not only the distance weight of the input submap where the user is located but also the distance weight of neighboring input submaps, so that more accurate search results that are not biased to the input submap where the user is located are provided to the user. can provide
도 6은 일 실시예에 따른 지역 기반 장소 검색을 수행하는 방법의 흐름도이다. 6 is a flowchart of a method for performing a region-based place search according to an exemplary embodiment.
도 6을 참조하면, 단계 610에서 검색 서버는 지역 기반 장소 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분할 수 있다.Referring to FIG. 6 , in
일 실시예에서 검색 서버는 입력 맵을 균등한 크기의 입력 서브 맵으로 구분할 수 있다. 다른 실시예에서 입력 맵은 사용자 밀집도에 기초하여 입력 서브 맵으로 구분될 수 있다. 예를 들어, 입력 서브 맵 별로 사용자 밀집도가 비슷해지도록 입력 맵이 구분될 수 있다.In one embodiment, the search server may divide the input map into equally sized input sub-maps. In another embodiment, the input map may be divided into input sub-maps based on user density. For example, input maps may be divided so that user densities are similar for each input sub-map.
단계 620에서 검색 서버는 입력 서브 맵 별로 장소 검색 결과를 수집할 수 있다.In
검색 서버는 사용자가 입력한 쿼리(query), 출발지의 위치 정보, 목적지의 위치 정보 및 출발지-목적지 간 거리를 수집할 수 있다.The search server may collect a query input by a user, location information of a starting point, location information of a destination, and a distance between a starting point and a destination.
구체적으로, 사용자가 사용자 단말을 통해 장소 검색을 수행하면, 검색 서버는 사용자 단말로부터 입력 서브 맵 ID, 쿼리, 출발지-목적지 간 거리에 대한 데이터를 수신할 수 있다. 입력 서브 맵 ID는 사용자 단말의 위치를 나타내는 정보로써 GPS 정보에 기초하여 결정될 수 있다. 즉, 검색 서버는 입력 서브 맵 별로 장소 검색 결과를 수집할 수 있다. Specifically, when a user performs a place search through a user terminal, the search server may receive data about an input sub map ID, a query, and a distance between a departure point and a destination from the user terminal. The input sub map ID is information indicating the location of the user terminal and may be determined based on GPS information. That is, the search server may collect place search results for each input sub-map.
단계 630에서 검색 서버는 수집 결과에 기초하여 입력 서브 맵 별 거리 가중치를 산출할 수 있다.In
검색 서버는 입력 서브 맵에서 소정의 쿼리에 대한 출발지-목적지 간 평균 거리를 산출할 수 있다. 검색 서버는 기준 거리 및 출발지-목적지 간 평균 거리에 기초하여 거리 가중치를 산출할 수 있다.The search server may calculate an average distance between an origin and a destination for a predetermined query in the input submap. The search server may calculate a distance weight based on the reference distance and the average distance between the starting point and the destination.
일 실시예에서, 검색 서버는 입력 서브 맵에 따라 기준 거리를 다르게 설정할 수 있다. In one embodiment, the search server may differently set the reference distance according to the input sub-map.
단계 640에서 검색 서버는 입력 맵과 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 출력 맵을 생성할 수 있다.In
출력 맵은 출력 서브 맵으로 구분되고, 출력 서브 맵의 거리 가중치는 복수의 입력 서브 맵의 거리 가중치에 기초하여 결정될 수 있다. 구체적으로, 특정 출력 서브 맵의 거리 가중치에는, 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영되는 것일 수 있다.An output map is divided into output submaps, and a distance weight of the output submap may be determined based on distance weights of a plurality of input submaps. Specifically, the distance weight of the reference input submap corresponding to the specific output submap and the distance weight of neighboring input submaps around the reference input submap may be reflected in the distance weight of the specific output submap.
출력 맵이 생성된 후, 검색 서버는 사용자로부터 검색 요청을 수신할 수 잇다. 검색 서버는 검색 요청이 수신된 것에 응답하여, 사용자의 위치에 대응하는 출력 서브 맵을 식별할 수 있다. 검색 서버는 사용자가 입력한 쿼리에 대한 식별된 출력 서브 맵의 거리 가중치를 획득하고, 획득된 거리 가중치에 기초하여 검색 결과를 제공할 수 있다.After the output map is generated, the search server may receive a search request from the user. The search server may identify an output submap corresponding to the location of the user in response to receiving the search request. The search server may obtain a distance weight of the identified output sub-map for a query input by a user, and provide a search result based on the acquired distance weight.
도 7은 일 실시예에 따른 지역 기반 장소 검색 서버의 블록도이다.7 is a block diagram of a region-based place search server according to an embodiment.
도 7을 참조하면, 지역 기반 장소 검색 서버(700)는 통신부(710), 프로세서(720) 및 DB(730)를 포함할 수 있다. 도 7의 어플리케이션 운영 서버(1000)에는 실시예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 7에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 당해 기술분야의 통상의 기술자라면 이해할 수 있다.Referring to FIG. 7 , a region-based
통신부(710)는 사용자 단말들과 결제 기준 데이터 제공 서버들과 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(710)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.The
DB(730)는 검색 서버(700) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(720)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(730)는 결제 정보, 사용자 정보 등을 저장할 수 있다.The
DB(730)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다.The
프로세서(720)는 검색 서버(700)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(720)는 DB(730)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(710), DB(730) 등을 전반적으로 제어할 수 있다. 프로세서(720)는, DB(730)에 저장된 프로그램들을 실행함으로써, 검색 서버(1000)의 동작을 제어할 수 있다.The
프로세서(720)는 도 1 내지 도 8에서 상술한 어플리케이션의 동작 중 적어도 일부를 제어할 수 있다.The
프로세서(720)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.The
본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.Embodiments according to the present invention may be implemented in the form of a computer program that can be executed on a computer through various components, and such a computer program may be recorded on a computer-readable medium. At this time, the medium is a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM and a DVD, a magneto-optical medium such as a floptical disk, and a ROM hardware devices specially configured to store and execute program instructions, such as RAM, flash memory, and the like.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. An example of a computer program may include not only machine language code generated by a compiler but also high-level language code that can be executed by a computer using an interpreter or the like.
일 실시예에 따르면, 본 개시의 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments of the present disclosure may be included and provided in a computer program product. Computer program products may be traded between sellers and buyers as commodities. A computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store™) or between two user devices. It can be distributed (e.g., downloaded or uploaded) directly or online. In the case of online distribution, at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The steps constituting the method according to the present invention may be performed in any suitable order unless an order is explicitly stated or stated to the contrary. The present invention is not necessarily limited according to the order of description of the steps. The use of all examples or exemplary terms (eg, etc.) in the present invention is simply to explain the present invention in detail, and the scope of the present invention is limited due to the examples or exemplary terms unless limited by the claims. it is not going to be In addition, those skilled in the art can appreciate that various modifications, combinations and changes can be made according to design conditions and factors within the scope of the appended claims or equivalents thereof.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments and should not be determined, and all scopes equivalent to or equivalently changed from the claims as well as the claims described below are within the scope of the spirit of the present invention. will be said to belong to
Claims (10)
지역 기반 장소 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분하는 단계;
상기 입력 서브 맵 별로 장소 검색 결과를 수집하는 단계;
상기 수집 결과에 기초하여 상기 입력 서브 맵 별 거리 가중치를 산출하는 단계; 및
상기 입력 맵과 웨이트 매트릭스(weight matrix) 간의 컨벌루션 연산을 수행하여 출력 맵을 생성하는 단계;
를 포함하고,
상기 출력 맵은 출력 서브 맵으로 구분되고, 상기 출력 서브 맵의 거리 가중치는 복수의 상기 입력 서브 맵의 거리 가중치에 기초하여 결정되는 것인, 지역 기반 장소 검색 방법.In the area-based place search method,
classifying an input map used for region-based place search into input sub-maps;
collecting place search results for each input sub-map;
calculating a distance weight for each input sub-map based on the collection result; and
generating an output map by performing a convolution operation between the input map and a weight matrix;
including,
wherein the output map is divided into output submaps, and a distance weight of the output submap is determined based on distance weights of a plurality of input submaps.
특정 출력 서브 맵의 거리 가중치에는, 상기 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와 상기 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영되는 것인, 지역 기반 장소 검색 방법.According to claim 1,
a distance weight of a reference input submap corresponding to the specific output submap and distance weights of neighboring input submaps around the reference input submap are reflected in the distance weight of the specific output submap. .
상기 장소 검색 결과를 수집하는 단계는,
사용자가 입력한 쿼리(query), 출발지의 위치 정보, 목적지의 위치 정보 및 출발지-목적지 간 거리를 수집하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.According to claim 1,
The step of collecting the place search results,
collecting a query input by a user, location information of a starting point, location information of a destination, and a distance between a starting point and a destination;
A region-based place retrieval method comprising a.
상기 거리 가중치를 산출하는 단계는,
상기 입력 서브 맵에서 소정의 쿼리에 대한 출발지-목적지 간 평균 거리를 산출하는 단계;
기준 거리 및 상기 출발지-목적지 간 평균 거리에 기초하여 상기 거리 가중치를 산출하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.According to claim 3,
In the step of calculating the distance weight,
calculating an average distance between an origin and a destination for a predetermined query in the input submap;
calculating the distance weight based on a reference distance and the average distance between the source and destination;
A region-based place retrieval method comprising a.
상기 거리 가중치를 산출하는 단계는,
상기 입력 맵의 크기에 기초하여 기준 거리를 설정하는 단계;
를 더 포함하는, 지역 기반 장소 검색 방법.According to claim 4,
In the step of calculating the distance weight,
setting a reference distance based on the size of the input map;
Further comprising a, area-based place search method.
상기 방법은,
사용자의 위치에 대응하는 출력 서브 맵을 식별하는 단계;
상기 사용자가 입력한 쿼리에 대한 상기 식별된 출력 서브 맵의 거리 가중치를 획득하는 단계; 및
상기 획득된 거리 가중치에 기초하여 검색 결과를 제공하는 단계;
를 더 포함하는, 지역 기반 장소 검색 방법.According to claim 1,
The method,
identifying an output sub-map corresponding to the user's location;
obtaining a distance weight of the identified output sub-map for the query input by the user; and
providing a search result based on the obtained distance weight;
Further comprising a, area-based place search method.
상기 출력 맵을 생성하는 단계는,
상기 입력 맵과 상기 출력 맵의 크기가 동일해지도록 상기 입력 맵에 패딩을 적용하는 단계; 및
상기 패딩이 적용된 입력 맵과 상기 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 상기 출력 맵을 생성하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.According to claim 1,
Generating the output map,
applying padding to the input map so that the sizes of the input map and the output map are the same; and
generating the output map by performing a convolution operation between the padded input map and the weight matrix;
A region-based place retrieval method comprising a.
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써 연산을 수행하는 프로세서를 포함하고,
상기 프로세서는,
지역 검색에 이용되는 입력 맵을 입력 서브 맵으로 구분하는 단계;
상기 입력 서브 맵 별로 장소 검색 결과를 수집하는 단계;
상기 수집 결과에 기초하여 상기 입력 서브 맵 별 거리 가중치를 산출하는 단계; 및
상기 입력 맵과 웨이트 매트릭스(weight matrix) 간의 컨벌루션 연산을 수행하여 출력 맵을 생성하는 단계;를 수행하고,
상기 출력 맵은 출력 서브 맵으로 구분되고, 상기 출력 서브 맵의 거리 가중치는 복수의 상기 입력 서브 맵의 거리 가중치에 기초하여 결정되는 것인, 지역 기반 장소 검색 장치.An apparatus for searching for a region-based place,
a memory in which at least one program is stored; and
a processor that performs calculations by executing the at least one program;
the processor,
Dividing an input map used for local search into input sub-maps;
collecting place search results for each input sub-map;
calculating a distance weight for each input sub-map based on the collection result; and
Generating an output map by performing a convolution operation between the input map and a weight matrix;
wherein the output map is divided into output submaps, and a distance weight of the output submap is determined based on distance weights of a plurality of input submaps.
사용자가 입력한 쿼리를 획득하는 단계;
상기 사용자의 위치 정보에 기초하여, 기준 입력 서브 맵과 상기 기준 입력 서브 맵 주변의 주변 입력 서브 맵을 결정하는 단계; 및
상기 쿼리에 대한 상기 기준 입력 서브 맵의 거리 가중치와, 상기 쿼리에 대한 상기 주변 입력 서브맵의 거리 가중치에 기초하여 검색 결과를 제공하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.In the area-based place search method,
obtaining a query input by a user;
determining a reference input submap and a neighboring input submap around the reference input submap based on the location information of the user; and
providing a search result based on a distance weight of the reference input submap for the query and a distance weight of the neighboring input submap for the query;
A region-based place retrieval method comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210012930A KR102534726B1 (en) | 2021-01-29 | 2021-01-29 | Method and apparatus for performing area based place search |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210012930A KR102534726B1 (en) | 2021-01-29 | 2021-01-29 | Method and apparatus for performing area based place search |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220109655A KR20220109655A (en) | 2022-08-05 |
KR102534726B1 true KR102534726B1 (en) | 2023-05-22 |
Family
ID=82826303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210012930A KR102534726B1 (en) | 2021-01-29 | 2021-01-29 | Method and apparatus for performing area based place search |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102534726B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101901958B1 (en) * | 2012-03-26 | 2018-11-08 | 한국전자통신연구원 | Apparatus for fast path search by learning heuristic function and method thereof |
-
2021
- 2021-01-29 KR KR1020210012930A patent/KR102534726B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220109655A (en) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102126660B1 (en) | Systems and methods for providing information for an on-demand service | |
US9824156B1 (en) | Targeting of digital content to geographic regions | |
US8458173B2 (en) | Computer-implemented methods and systems for multi-level geographic query | |
US8401897B1 (en) | System and method of displaying ads based on location | |
KR20180006875A (en) | Methods and systems for providing information for on-demand services | |
US10846354B2 (en) | Uniform resource identifier encoding | |
US20220067856A1 (en) | System, Method, and Computer Program Product for Siting a Land Parcel | |
JP7328198B2 (en) | Methods, apparatus, devices and media used for navigation | |
CN108009205B (en) | Search result caching method based on position, search method, client and system | |
CN112055867B (en) | System and method for recommending personalized boarding locations | |
KR20160148627A (en) | Re-ranking search results for location refining and diversity | |
US10089355B2 (en) | Computerized systems and methods for partitioning data for information retrieval | |
KR20220100552A (en) | Method for providing keywords for product management and sales in open market | |
US20170223495A1 (en) | Method and apparatus for identifying a target geographic area | |
CN110110017A (en) | A kind of interest point data association method, device and server | |
KR102534726B1 (en) | Method and apparatus for performing area based place search | |
WO2017024684A1 (en) | User behavioral intent acquisition method, device and equipment, and computer storage medium | |
CN111311317B (en) | Information recommendation method, device, equipment and system | |
US9760933B1 (en) | Interactive shopping advisor for refinancing product queries | |
CN111581245B (en) | Data searching method and device | |
US11803882B2 (en) | Value map generation and processing | |
CN113672823A (en) | User native place prediction method and device | |
CN111915679B (en) | Method, device and equipment for determining target point based on floor | |
CN114679680A (en) | Positioning method and device based on IP address, readable medium and electronic equipment | |
CN104994062A (en) | Information push method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |