KR102534726B1 - Method and apparatus for performing area based place search - Google Patents

Method and apparatus for performing area based place search Download PDF

Info

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
Application number
KR1020210012930A
Other languages
Korean (ko)
Other versions
KR20220109655A (en
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 KR1020210012930A priority Critical patent/KR102534726B1/en
Publication of KR20220109655A publication Critical patent/KR20220109655A/en
Application granted granted Critical
Publication of KR102534726B1 publication Critical patent/KR102534726B1/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3423Multimodal routing, i.e. combining two or more modes of transportation, where the modes can be any of, e.g. driving, walking, cycling, public transport
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3885Transmission of map data to client devices; Reception of map data by client devices
    • G01C21/3889Transmission of selected map data, e.g. depending on route
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/587Retrieval 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

지역 기반 장소 검색을 수행하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PERFORMING AREA BASED PLACE SEARCH}METHOD AND APPARATUS FOR PERFORMING AREA BASED PLACE SEARCH

본 발명은 지역 기반 장소 검색을 수행하기 위한 방법 및 장치에 관한 것이다.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 user terminal 1000 and a region-based place search server 2000 (hereinafter, a search server).

사용자 단말(1000)은, 스마트폰, 태블릿 PC, PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기, 카메라가 탑재된 디바이스 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있다. 또한, 사용자 단말(1000)은 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 디바이스일 수 있다. 그러나, 이에 제한되지 않는다.The user terminal 1000 includes a smart phone, a tablet PC, a PC, a smart TV, a mobile phone, a personal digital assistant (PDA), a laptop, a media player, a micro server, a global positioning system (GPS) device, an e-book reader, and a digital broadcasting terminal. , navigation, kiosks, MP3 players, digital cameras, consumer electronics, devices with cameras, and other mobile or non-mobile computing devices. Also, the user terminal 1000 may be a wearable device having a communication function and a data processing function, such as a watch, glasses, a hair band, and a ring. However, it is not limited thereto.

검색 서버(2000)는 네트워크를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.The search server 2000 may be implemented as a computer device or a plurality of computer devices that communicate over a network to provide commands, codes, files, contents, services, and the like.

검색 서버(2000)는 입력 맵과 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 출력 맵을 생성할 수 있다. 입력 맵은 복수의 입력 서브 맵으로 구분되는데, 검색 서버(2000)는 입력 서브 맵 별로 수집된 장소 검색 결과에 기초하여, 입력 서브 맵 별 거리 가중치를 산출할 수 있다. 출력 맵은 복수의 출력 서브 맵으로 구분되는데, 검색 서버(2000)는 복수의 입력 서브 맵의 거리 가중치에 기초하여 출력 서브 맵의 거리 가중치를 결정할 수 있다.The search server 2000 may generate an output map by performing a convolution operation between the input map and the weight matrix. The input map is divided into a plurality of input submaps, and the search server 2000 may calculate a distance weight for each input submap based on the place search result collected for each input submap. The output map is divided into a plurality of output submaps, and the search server 2000 may determine the distance weight of the output submap based on the distance weights of the plurality of input submaps.

사용자 단말(1000) 및 검색 서버(2000)는 네트워크(3000)를 이용하여 통신을 수행할 수 있다. 일 실시예에서 사용자 단말(1000)에는 어플리케이션이 설치되고, 검색 서버(2000)는 어플리케이션을 관리하는 서버일 수 있다. 검색 서버(2000)는 사용자 단말(1000)에 설치된 어플리케이션을 통해, 사용자 단말(1000)과 데이터를 주고 받을 수 있다.The user terminal 1000 and the search server 2000 may perform communication using the network 3000 . In one embodiment, an application is installed in the user terminal 1000, and the search server 2000 may be a server that manages the application. The search server 2000 may exchange data with the user terminal 1000 through an application installed in the user terminal 1000 .

네트워크(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 network 3000 includes a local area network (LAN), a wide area network (WAN), a value added network (VAN), a mobile radio communication network, a satellite communication network, and their mutual It is a data communication network in a comprehensive sense that includes a combination and enables each network constituent entity shown in FIG. 1 to communicate smoothly with each other, and may include wired Internet, wireless Internet, and mobile wireless communication network. In addition, wireless communication, for example, wireless LAN (Wi-Fi), Bluetooth, Bluetooth low energy (Bluetooth low energy), Zigbee, WFD (Wi-Fi Direct), UWB (ultra wideband), infrared communication (IrDA, infrared Data Association), NFC (Near Field Communication), etc. may be present, but are not limited thereto.

한편, 도 1에서는 검색 서버(2000)가 하나의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행하는 것으로 도시되었으나 이는 예시일 뿐, 검색 서버(2000)는 두 개 이상의 사용자 단말(1000)과 네트워크를 이용하여 통신을 수행할 수 있다.Meanwhile, in FIG. 1, the search server 2000 is illustrated as performing communication with one user terminal 1000 using a network, but this is only an example. Communication may be performed using a network.

도 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 user terminal 1000 may transmit data required for place search to the search server 2000 . For example, the user terminal 1000 may transmit a source query, a destination query, a source latitude and longitude, and a destination latitude and longitude to the search server 2000, but the type of transmitted data is not limited thereto.

원하는 관심 지점(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 user terminal 1000 as a query 210 . The user terminal 1000 may transmit the query 210 input by the user to the search server 2000 .

검색 서버(2000)는 사용자 단말(1000)로부터 수신한 쿼리(210)의 의도를 결정할 수 있다. 검색 서버(2000)는 쿼리(210)가 어떤 카테고리의 단어들로 구성 되었는지에 기초하여 쿼리(210)의 의도를 결정할 수 있다. 예를 들어, 쿼리(210)는 업종, 상호, 지역+업종, 지역+상호, 업종+상호, 랜드마크 근처의 상호, 랜드마크 근처의 업종 등으로 구성될 수 있다.The search server 2000 may determine the intention of the query 210 received from the user terminal 1000 . The search server 2000 may determine the intent of the query 210 based on which category of words the query 210 is composed of. For example, the query 210 may include business type, business name, region + business type, area + business name, business type + business name, business name near a landmark, industry type near a landmark, and the like.

검색 서버(2000)는 쿼리(210)의 의도에 기초하여 평가 요소들의 가중치를 결정할 수 있다. 평가 요소는 검색 결과들의 우선순위를 결정하는데 이용된다. 예를 들어, 평가 요소에는 사용자의 위치와 검색 결과 간의 거리, 쿼리(210)와 검색 결과 간의 명칭 일치도, 쿼리(210)와 검색 결과 간의 업종 일치도, 검색 결과 별 검색 빈도 등이 포함될 수 있으나, 이에 제한되지 않는다.The search server 2000 may determine weights of evaluation factors based on the intent of the query 210 . The ranking factor is used to prioritize search results. For example, the evaluation factors may include the distance between the user's location and the search result, the name match between the query 210 and the search result, the industry match between the query 210 and the search result, and the search frequency for each search result. Not limited.

쿼리(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 search server 2000 assigns a high weight to the distance between the user's location and the search result among evaluation factors. can be granted On the other hand, if the intention of the query 210 is to search for a point whose name matches as a point of interest regardless of distance, the search server 2000 has a high degree of name matching between the query 210 and the search result among the evaluation factors. weight can be assigned.

검색 서버(2000)는 쿼리(210)의 의도에 기초하여 평가 요소들 각각에 적절한 가중치를 부여할 수 있다. 또한, 검색 서버(2000)는 가중치가 부여된 평가 요소들에 기초하여 검색 결과들의 우선순위를 결정할 수 있다. 예를 들어, 사용자의 위치와 검색 결과 간의 거리에 높은 가중치를 부여된 경우, 사용자의 위치와 가까운 검색 결과일수록 높은 우선순위를 가질 수 있다. 반면, 쿼리(210)와 검색 결과 간의 명칭 일치도에 높은 가중치가 부여된 경우, 쿼리(210)와 명칭 일치도가 높은 검색 결과일수록 높은 우선순위를 가질 수 있다. The search server 2000 may assign an appropriate weight to each of the evaluation factors based on the intent of the query 210 . Also, the search server 2000 may prioritize search results based on weighted evaluation factors. For example, when a high weight is given to a distance between a user's location and a search result, a search result closer to the user's location may have a higher priority. On the other hand, when a high weight is assigned to the name matching between the query 210 and the search result, a search result having a high name matching with the query 210 may have a higher priority.

검색 서버(2000)는 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송하고, 사용자 단말(1000)은 이를 사용자에게 제공할 수 있다. 예를 들어, 높은 우선순위를 갖는 검색 결과에서 낮은 우선순위를 갖는 검색 결과 순으로 사용자 단말(1000)에 검색 결과가 표시될 수 있다.The search server 2000 transmits search results with priorities reflected to the user terminal 1000, and the user terminal 1000 may provide them to the user. For example, search results may be displayed on the user terminal 1000 in the order of search results having a high priority to a search result having a low priority.

도 2a를 참조하면, 사용자 단말(1000)은 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 사용자는 사용자 단말(1000)의 입력 인터페이스를 통해 출발지로 '선릉역'을 입력하고, 목적지로 '철물점'을 입력할 수 있다. 한편, 출발지는 사용자가 직접 입력하는 대신, 사용자 단말(1000)의 위치에 기초하여 결정될 수도 있다.Referring to FIG. 2A , the user terminal 1000 may receive an input for inputting a departure point and a destination from the user. For example, the user may input 'Seolleung Station' as the starting point and 'hardware store' as the destination through the input interface of the user terminal 1000 . Meanwhile, the starting point may be determined based on the location of the user terminal 1000 instead of directly input by the user.

사용자 단말(1000)은 쿼리로써 '철물점'을 검색 서버(2000)로 전송할 수 있다. The user terminal 1000 may transmit 'hardware store' as a query to the search server 2000 .

'철물점'은 업종으로만 구성되어 있으므로, 검색 서버(2000)는 사용자의 위치와 검색 결과 간의 거리 및 업종 일치도에 높은 가중치를 부여할 수 있다. 검색 서버(2000)는 사용자의 위치와 가까운 검색 결과에 대해 높은 우선순위를 부여하고, 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송할 수 있다. 사용자 단말(1000)은 사용자의 위치와 가까운 검색 결과에서 사용자의 위치와 먼 검색 결과 순으로 장소 검색 결과(220)를 표시할 수 있다.Since the 'hardware store' is composed of only business types, the search server 2000 may assign a high weight to the distance between the user's location and the search result and the degree of business matching. The search server 2000 may assign high priority to search results close to the user's location and transmit search results reflecting the priority to the user terminal 1000 . The user terminal 1000 may display the place search results 220 in the order of a search result close to the user's location to a search result distant from the user's location.

사용자가 소정의 검색 결과(221)를 선택한 경우, 사용자 단말(1000)은 선택된 검색 결과(221)를 목적지로 결정하여 출발지와 목적지 간의 이동 경로를 생성하여 사용자에게 제공할 수 있다.When the user selects a predetermined search result 221, the user terminal 1000 may determine the selected search result 221 as a destination, generate a movement route between the starting point and the destination, and provide the selected search result 221 to the user.

도 2b를 참조하면, 사용자 단말(1000)은 사용자로부터 출발지와 목적지를 입력하는 입력을 수신할 수 있다. 예를 들어, 사용자는 사용자 단말(1000)의 입력 인터페이스를 통해 출발지로 '선릉역'을 입력하고, 목적지로 '해운대 횟집'을 입력할 수 있다. 한편, 출발지는 사용자가 직접 입력하는 대신, 사용자 단말(1000)의 위치에 기초하여 결정될 수도 있다.Referring to FIG. 2B , the user terminal 1000 may receive an input for inputting a departure point and a destination from the user. For example, the user may input 'Seolleung Station' as the starting point and 'Haeundae Raw Fish Restaurant' as the destination through the input interface of the user terminal 1000 . Meanwhile, the starting point may be determined based on the location of the user terminal 1000 instead of directly input by the user.

사용자 단말(1000)은 '해운대 횟집'을 검색 서버(2000)로 전송할 수 있다.The user terminal 1000 may transmit 'Haeundae raw fish restaurant' to the search server 2000 .

'해운대 횟집'이 지역+업종으로 구성되어 있으므로, 검색 서버(2000)는 쿼리(210)와 검색 결과 간의 명칭 일치도, 쿼리(230)와 검색 결과 간의 업종 일치도에 높은 가중치를 부여할 수 있다. 검색 서버(2000)는 쿼리(230)와 명칭이 일치하고 업종이 일치하는 검색 결과에 대해 높은 우선순위를 부여하고, 우선순위가 반영된 검색 결과를 사용자 단말(1000)로 전송할 수 있다. 사용자 단말(1000)은 명칭 일치도 및 업종 일치도가 높은 검색 결과에서 낮은 검색 결과 순으로 장소 검색 결과(240)를 표시할 수 있다.Since 'Haeundae Sashimi Restaurant' is composed of region + industry, the search server 2000 can assign a high weight to the name matching between the query 210 and the search result and the industry matching between the query 230 and the search result. The search server 2000 may assign a high priority to a search result having a name matching the query 230 and a business category matching the same, and transmit the search result reflecting the priority to the user terminal 1000 . The user terminal 1000 may display the place search results 240 in the order of search results having a high name matching degree and a low industry matching degree.

사용자가 소정의 검색 결과(241)를 선택한 경우, 사용자 단말(1000)은 선택된 검색 결과(241)를 목적지로 결정하여 출발지와 목적지 간의 이동 경로를 생성하여 사용자에게 제공할 수 있다.When the user selects a predetermined search result 241, the user terminal 1000 may determine the selected search result 241 as a destination, generate a travel route between the starting point and the destination, and provide the selected search result 241 to the user.

도 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 input map 310 used for a region-based place search may be divided into a plurality of input sub-maps 311 .

검색 서버(2000)는 입력 서브 맵(311) 별로 장소 검색 결과를 수집할 수 있다. 예를 들어, 특정 사용자가 A6 입력 서브 맵에 대응하는 지역에서 장소를 검색하는 경우, 검색 서버(2000)는 검색 결과를 A6 입력 서브 맵에 매칭시켜 저장할 수 있다. 장소 검색 결과에는 사용자가 입력한 쿼리(query), 출발지의 위치 정보, 목적지의 위치 정보 및 출발지-목적지 간 거리 등이 포함될 수 있으나, 이에 제한되지 않는다.The search server 2000 may collect place search results for each input sub map 311 . For example, when a specific user searches for a place in an area corresponding to the A6 input submap, the search server 2000 may store the search result by matching it to the A6 input submap. The place search result may include, but is not limited to, 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.

일 실시예에서 입력 맵(310)은 균등한 크기의 입력 서브 맵(311)으로 구분될 수 있다. 다른 실시예에서 입력 맵(310)은 사용자 밀집도에 기초하여 입력 서브 맵(311)으로 구분될 수 있다. 예를 들어, 입력 서브 맵(311) 별로 사용자 밀집도가 비슷해지도록 입력 맵(310)이 구분될 수 있다.In one embodiment, the input map 310 may be divided into equally sized input sub-maps 311 . In another embodiment, the input map 310 may be divided into input sub-maps 311 based on user density. For example, the input map 310 may be divided so that user densities are similar for each input sub map 311 .

도 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 input map 410 used for a region-based place search may be divided into a plurality of input sub-maps 411 .

사용자가 사용자 단말(1000)을 통해 장소 검색을 수행하면, 검색 서버(2000)는 사용자 단말(1000)로부터 입력 서브 맵 ID, 쿼리, 출발지-목적지 간 거리에 대한 데이터를 수신할 수 있다. 입력 서브 맵 ID는 사용자 단말(1000)의 위치를 나타내는 정보로써 GPS 정보에 기초하여 결정될 수 있다. 즉, 검색 서버(2000)는 입력 서브 맵 별로 장소 검색 결과를 수집할 수 있다.When a user performs a place search through the user terminal 1000, the search server 2000 may receive an input sub map ID, a query, and data about a distance between a departure point and a destination from the user terminal 1000. The input sub map ID is information representing the location of the user terminal 1000 and may be determined based on GPS information. That is, the search server 2000 may collect place search results for each input sub map.

도 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 search server 2000 may calculate a distance weight for each input submap 411 for a specific query based on the reference distance and the average distance between the starting point and the destination. If the query is changed, the distance weight for each input sub map 411 may also be changed.

거리 가중치는 아래의 수학식 1 또는 아래의 수학식 2의 방법으로 산출될 수 있다.The distance weight may be calculated using Equation 1 below or Equation 2 below.

Figure 112021011932115-pat00001
Figure 112021011932115-pat00001

Figure 112021011932115-pat00002
Figure 112021011932115-pat00002

기준 거리는 입력 맵(410)에 따라 다르게 설정될 수 있다. 입력 맵(410)은 대한민국 전체 범위에 대응되거나, 도, 시, 군과 같이 특정 행정구역 범위에 대응되거나, 임의의 지역 범위에 대응될 수도 있다. 입력 맵(410)에 대응하는 지역의 면적에 기초하여 검색 서버(2000)는 기준 거리를 설정할 수 있다. 예를 들어, 기준 거리는 대한민국의 대각선 거리로 설정될 수 있으나, 이에 제한되지 않는다. 도 4에서는 기준 거리를 400km로 가정하였다.The reference distance may be set differently according to the input map 410 . The input map 410 may correspond to the entire range of Korea, to a range of a specific administrative district such as a province, city, or county, or to an arbitrary regional range. Based on the area of the region corresponding to the input map 410, the search server 2000 may set a reference distance. For example, the reference distance may be set to the diagonal distance of Korea, but is not limited thereto. In FIG. 4 , it is assumed that the reference distance is 400 km.

상기 수학식 2에 따를 때, '해운대'와 관련된 쿼리에 대한 A14 입력 서브 맵의 거리 가중치는 '1 - log(3.5)/log(400) = 0.801'로 산출될 수 있다. 또한, 상기 수학식 2에 따를 때, '해운대'와 관련된 쿼리에 대한 A15 입력 서브 맵의 거리 가중치는 '1 - log(380)/log(400) = 0.009'로 산출될 수 있다.According to Equation 2 above, the distance weight of the A14 input submap for the query related to 'Haeundae' can be calculated as '1 - log(3.5)/log(400) = 0.801'. Also, according to Equation 2 above, the distance weight of the A15 input submap for the query related to 'Haeundae' can be calculated as '1 - log(380)/log(400) = 0.009'.

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 search server 2000 may give a high priority to a search result close to the user's location and provide it to the user.

반면, 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 search server 2000 gives higher priority to search results with high popularity or name matching rather than search results close to the user's location. It can be granted and provided to the user.

이처럼, 입력 서브 맵 별로 거리 가중치를 산출해 놓고, 추후 사용자가 지역 기반 장소 검색을 수행할 때 사용자가 위치한 입력 서브 맵이 어디인지에 따라 상이한 거리 가중치를 적용하여 검색 결과의 우선순위를 다르게 결정함으로써, 사용자에게 보다 최적화된 검색 결과를 제공할 수 있다.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 search server 2000 may apply padding 512 to the input map 511 before performing a convolution operation between the input map 511 and the weight matrix 520 . The padding 512 refers to filling the periphery of the input map 511 with a specific value and increasing it. Padding is mainly used to adjust the spatial size of the output map 530 . For example, the input map 510 may be generated after padding by applying zero-padding to the input map 511 .

구체적으로, 패딩이 적용되기 전의 입력 맵(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 input map 511 before padding is applied and the weight matrix 520, the size of the input map 511 before padding is applied is 4 x 4, and the size of the weight matrix 520 is Since is 3 x 3, the size of the output map 530 becomes 2 x 2. In the present invention, padding 512 may be applied to the input map 511 so that the sizes of the input map 511 and the output map 530 are the same.

도 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 input map 510 and the weight matrix 520 after padding, the size of the input map 510 after padding is 6 x 6 and the size of the weight matrix 520 is 3 x 6. 3, the size of the output map 530 becomes 4 x 4. That is, the sizes of the input map 511 and the output map 530 become the same.

입력 맵(511)이 복수의 입력 서브 맵들로 구분되는 것과 같이, 출력 맵(530) 역시 복수의 출력 서브 맵들로 구분될 수 있다. 출력 서브 맵 각각에는 쿼리 별 거리 가중치가 저장될 수 있다. 출력 서브 맵 각각에 저장된 쿼리 별 거리 가중치는 복수의 입력 서브 맵의 거리 가중치에 기초하여 결정될 수 있다.Just as the input map 511 is divided into a plurality of input sub-maps, the output map 530 may also be divided into a plurality of output sub-maps. A distance weight for each query may be stored in each output submap. A distance weight for each query stored in each output submap may be determined based on distance weights of a plurality of input submaps.

일 실시예에서, 특정 출력 서브 맵의 거리 가중치에는, 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와, 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영될 수 있다.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 weight matrix 520 . For example, the sum of element values of the weight matrix 520 may be 1, but is not limited thereto.

일 실시예에서, 출력 서브 맵의 거리 가중치에 반영되는, 기준 입력 서브 맵의 거리 가중치 반영 비율이, 주변 입력 서브 맵의 거리 가중치 반영 비율 보다 높도록, 검색 서버(2000)는 웨이트 매트릭스(520)의 엘리먼트 값을 설정할 수 있다. 또한, 출력 서브 맵의 거리 가중치에 반영되는, 기준 입력 서브 맵의 면에 접한 주변 입력 서브 맵의 반영 비율이, 기준 입력 서브 맵의 꼭지점에 접한 주변 입력 서브 맵의 반영 비율보다 높도록, 검색 서버(2000)는 웨이트 매트릭스(520)의 엘리먼트 값을 설정할 수 있다.In an embodiment, the search server 2000 sets the weight matrix 520 so that the distance weight reflection ratio of the reference input submap, which is reflected in the distance weight of the output submap, is higher than the distance weight reflection ratio of the neighboring input submap. element values can be set. In addition, the reflection ratio of the neighboring input submap in contact with the surface of the reference input submap, which is reflected in the distance weight of the output submap, is higher than the reflection ratio of the neighboring input submap in contact with the vertex of the reference input submap. (2000) may set an element value of the weight matrix 520.

예를 들어, 도 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 padding 512, the distance weight of the output submap is divided by the element value of the weight matrix used to calculate the distance weight of the output submap. The distance weight of the sub map can be corrected. In this case, the distance weight of the B1 output submap according to the above example may be 0.736 (=0.46/(0.3+0.15+0.15+0.025)).

패딩 후 입력 맵(510)과 웨이트 매트릭스(520) 간의 컨벌루션 연산을 통해 출력 맵(530)이 생성된 후, 검색 서버(2000)는 사용자 단말(1000)로부터 장소 검색 요청을 수신할 수 있다. 검색 서버(2000)는 사용자 단말(1000)의 위치 정보에 기초하여, 사용자 단말(1000)의 위치에 대응하는 출력 서브 맵을 결정하고, 결정된 출력 서브 맵의 거리 가중치를 획득할 수 있다. 검색 서버(2000)에서 출력 서브 맵으로부터 획득한 거리 가중치는, 상술한 바와 같이 사용자 단말(1000)이 위치한 입력 서브 맵의 거리 가중치뿐만 아니라, 주변 입력 서브 맵의 거리 가중치까지 반영된 값일 수 있다. 검색 서버(2000)는 출력 맵(530)의 거리 가중치에 기초하여 장소 검색을 수행한 후, 장소 검색 결과를 사용자 단말(1000)로 전송할 수 있다.After the output map 530 is generated through a convolution operation between the input map 510 and the weight matrix 520 after padding, the search server 2000 may receive a place search request from the user terminal 1000 . The search server 2000 may determine an output submap corresponding to the location of the user terminal 1000 based on location information of the user terminal 1000 and obtain a distance weight of the determined output submap. As described above, the distance weight obtained from the output submap by the search server 2000 may be a value in which not only the distance weight of the input submap where the user terminal 1000 is located, but also the distance weight of neighboring input submaps are reflected. The search server 2000 may perform a place search based on the distance weight of the output map 530 and transmit a place search result to the user terminal 1000 .

본 발명에서는 사용자가 위치한 입력 서브 맵의 거리 가중치뿐만 아니라 주변 입력 서브 맵의 거리 가중치까지 고려하여 검색 결과의 우선순위를 결정함으로써, 사용자가 위치한 입력 서브 맵에 편중되지 않은 보다 정확한 검색 결과를 사용자에게 제공할 수 있다.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 step 610, the search server may classify an input map used for a region-based place search into input sub-maps.

일 실시예에서 검색 서버는 입력 맵을 균등한 크기의 입력 서브 맵으로 구분할 수 있다. 다른 실시예에서 입력 맵은 사용자 밀집도에 기초하여 입력 서브 맵으로 구분될 수 있다. 예를 들어, 입력 서브 맵 별로 사용자 밀집도가 비슷해지도록 입력 맵이 구분될 수 있다.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 step 620, the search server may collect place search results for each input sub-map.

검색 서버는 사용자가 입력한 쿼리(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 step 630, the search server may calculate a distance weight for each input sub-map based on the collection result.

검색 서버는 입력 서브 맵에서 소정의 쿼리에 대한 출발지-목적지 간 평균 거리를 산출할 수 있다. 검색 서버는 기준 거리 및 출발지-목적지 간 평균 거리에 기초하여 거리 가중치를 산출할 수 있다.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 step 640, the search server may generate an output map by performing a convolution operation between the input map and the weight matrix.

출력 맵은 출력 서브 맵으로 구분되고, 출력 서브 맵의 거리 가중치는 복수의 입력 서브 맵의 거리 가중치에 기초하여 결정될 수 있다. 구체적으로, 특정 출력 서브 맵의 거리 가중치에는, 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영되는 것일 수 있다.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 place search server 700 may include a communication unit 710, a processor 720, and a DB 730. In the application operating server 1000 of FIG. 7 , only components related to the embodiment are shown. Accordingly, those skilled in the art can understand that other general-purpose components may be further included in addition to the components shown in FIG. 7 .

통신부(710)는 사용자 단말들과 결제 기준 데이터 제공 서버들과 유선/무선 통신을 하게 하는 하나 이상의 구성 요소를 포함할 수 있다. 예를 들어, 통신부(710)는, 근거리 통신부(미도시), 이동 통신부(미도시) 및 방송 수신부(미도시) 중 적어도 하나를 포함할 수 있다.The communication unit 710 may include one or more components that enable wired/wireless communication between user terminals and payment standard data providing servers. For example, the communication unit 710 may include at least one of a short-range communication unit (not shown), a mobile communication unit (not shown), and a broadcast reception unit (not shown).

DB(730)는 검색 서버(700) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 프로세서(720)의 처리 및 제어를 위한 프로그램을 저장할 수 있다. DB(730)는 결제 정보, 사용자 정보 등을 저장할 수 있다.The DB 730 is hardware for storing various data processed in the search server 700, and may store programs for processing and controlling the processor 720. The DB 730 may store payment information, user information, and the like.

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 DB 730 includes random access memory (RAM) such as dynamic random access memory (DRAM) and static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and CD-ROM. ROM, Blu-ray or other optical disk storage, hard disk drive (HDD), solid state drive (SSD), or flash memory.

프로세서(720)는 검색 서버(700)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(720)는 DB(730)에 저장된 프로그램들을 실행함으로써, 입력부(미도시), 디스플레이(미도시), 통신부(710), DB(730) 등을 전반적으로 제어할 수 있다. 프로세서(720)는, DB(730)에 저장된 프로그램들을 실행함으로써, 검색 서버(1000)의 동작을 제어할 수 있다.The processor 720 controls overall operations of the search server 700 . For example, the processor 720 may generally control an input unit (not shown), a display (not shown), a communication unit 710, and the DB 730 by executing programs stored in the DB 730. The processor 720 may control the operation of the search server 1000 by executing programs stored in the DB 730 .

프로세서(720)는 도 1 내지 도 8에서 상술한 어플리케이션의 동작 중 적어도 일부를 제어할 수 있다.The processor 720 may control at least some of the operations of the applications described above with reference to FIGS. 1 to 8 .

프로세서(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 processor 720 includes application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, and microcontrollers. It may be implemented using at least one of micro-controllers, microprocessors, and electrical units for performing other functions.

본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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.
제 1 항에 있어서,
특정 출력 서브 맵의 거리 가중치에는, 상기 특정 출력 서브 맵에 대응하는 기준 입력 서브 맵의 거리 가중치와 상기 기준 입력 서브 맵 주변의 주변 입력 서브 맵의 거리 가중치가 반영되는 것인, 지역 기반 장소 검색 방법.
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. .
제 1 항에 있어서,
상기 장소 검색 결과를 수집하는 단계는,
사용자가 입력한 쿼리(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.
제 3 항에 있어서,
상기 거리 가중치를 산출하는 단계는,
상기 입력 서브 맵에서 소정의 쿼리에 대한 출발지-목적지 간 평균 거리를 산출하는 단계;
기준 거리 및 상기 출발지-목적지 간 평균 거리에 기초하여 상기 거리 가중치를 산출하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.
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.
제 4 항에 있어서,
상기 거리 가중치를 산출하는 단계는,
상기 입력 맵의 크기에 기초하여 기준 거리를 설정하는 단계;
를 더 포함하는, 지역 기반 장소 검색 방법.
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.
제 1 항에 있어서,
상기 방법은,
사용자의 위치에 대응하는 출력 서브 맵을 식별하는 단계;
상기 사용자가 입력한 쿼리에 대한 상기 식별된 출력 서브 맵의 거리 가중치를 획득하는 단계; 및
상기 획득된 거리 가중치에 기초하여 검색 결과를 제공하는 단계;
를 더 포함하는, 지역 기반 장소 검색 방법.
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.
제 1 항에 있어서,
상기 출력 맵을 생성하는 단계는,
상기 입력 맵과 상기 출력 맵의 크기가 동일해지도록 상기 입력 맵에 패딩을 적용하는 단계; 및
상기 패딩이 적용된 입력 맵과 상기 웨이트 매트릭스 간의 컨벌루션 연산을 수행하여 상기 출력 맵을 생성하는 단계;
를 포함하는, 지역 기반 장소 검색 방법.
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.
제 1 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method of claim 1 on a computer.
KR1020210012930A 2021-01-29 2021-01-29 Method and apparatus for performing area based place search KR102534726B1 (en)

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)

* Cited by examiner, † Cited by third party
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

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