이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들은 위치 기반 서비스를 제공하는 기술에 관한 것으로, 더욱 상세하게는 위치 데이터가 포함된 컨텐츠를 이용하여 위치 기반의 추천 정보를 제공할 수 있는 방법 및 시스템에 관한 것이다.Embodiments of the present invention relate to a technique for providing location-based services, and more particularly, to a method and system for providing location-based recommendation information using content including location data.
본 명세서에서 구체적으로 개시되는 것들을 포함하는 실시예들은 위치 데이터가 포함된 컨텐츠를 이용하여 위치 기반의 추천 정보를 제공할 수 있고, 이를 통해 효율성, 실효성, 편의성, 비용 절감 등의 측면에 있어서 상당한 장점들을 달성한다.Embodiments including those specifically disclosed herein can provide location-based recommendation information using content that includes location data and provide significant advantages in terms of efficiency, effectiveness, convenience, and cost savings .
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. 1 shows an example in which a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170 are included. 1, the number of electronic devices and the number of servers are not limited to those shown in FIG.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 태블릿 PC, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player) 등이 있다. 일례로 제1 전자 기기(110)는 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다.The plurality of electronic devices 110, 120, 130, 140 may be a fixed terminal implemented as a computer device or a mobile terminal. A mobile phone, a tablet PC, a navigation device, a computer, a notebook, a digital broadcasting terminal, a PDA (personal digital assistant), a PMP (personal digital assistant) Portable Multimedia Player). For example, the first electronic device 110 may communicate with other electronic devices 120, 130, 140 and / or the servers 150, 160 via the network 170 using a wireless or wired communication scheme.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 may include, as well as a short-range wireless communication between the devices. For example, the network 170 may be a personal area network (LAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN) , A network such as the Internet, and the like. The network 170 may also include any one or more of a network topology including a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or a hierarchical network, It is not limited.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 일례로, 서버(160)는 네트워크(170)를 통해 접속한 제1 전자 기기(110)로 어플리케이션의 설치를 위한 파일을 제공할 수 있다. 이 경우 제1 전자 기기(110)는 서버(160)로부터 제공된 파일을 이용하여 어플리케이션을 설치할 수 있다. 또한, 제1 전자 기기(110)가 포함하는 운영체제(Operating System, OS)나 적어도 하나의 프로그램(일례로 브라우저나 상기 설치된 어플리케이션)의 제어에 따라 서버(150)에 접속하여 서버(150)가 제공하는 서비스나 컨텐츠를 제공받을 수 있다. 예를 들어, 제1 전자 기기(110)가 어플리케이션의 제어에 따라 네트워크(170)를 통해 서비스 요청 메시지를 서버(150)로 전송하면, 서버(150)는 서비스 요청 메시지에 대응하는 코드를 제1 전자 기기(110)로 전송할 수 있고, 제1 전자 기기(110)는 어플리케이션의 제어에 따라 코드에 따른 화면을 구성하여 표시함으로써 사용자에게 컨텐츠를 제공할 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130 and 140 through a network 170 to provide commands, codes, files, Lt; / RTI > devices. For example, the server 160 may provide a file for installation of an application to the first electronic device 110 connected via the network 170. [ In this case, the first electronic device 110 can install an application using a file provided from the server 160. [ The server 150 is connected to the server 150 according to the control of an operating system (OS) included in the first electronic device 110 or at least one program (for example, a browser or an installed application) Services and contents can be provided. For example, if the first electronic device 110 transmits a service request message to the server 150 via the network 170 under the control of the application, the server 150 transmits a code corresponding to the service request message to the first And the first electronic device 110 can provide contents to the user by displaying and displaying a screen according to the code according to the control of the application.
도 2는 본 발명의 일실시예에 있어서 전자 기기 및 서버의 내부 구성을 설명하기 위한 블록도이다. 도 2에서는 하나의 전자 기기에 대한 예로서 제1 전자 기기(110), 그리고 하나의 서버에 대한 예로서 서버(150)의 내부 구성을 설명한다. 다른 전자 기기들(120, 130, 140)이나 서버(160) 역시 동일한 또는 유사한 내부 구성을 가질 수 있다.2 is a block diagram for explaining an internal configuration of an electronic device and a server in an embodiment of the present invention. In FIG. 2, the internal configuration of the first electronic device 110 as an example of one electronic device and the server 150 as an example of one server will be described. Other electronic devices 120, 130, 140 or server 160 may have the same or similar internal configurations.
제1 전자 기기(110)와 서버(150)는 메모리(211, 221), 프로세서(212, 222), 통신 모듈(213, 223) 그리고 입출력 인터페이스(214, 224)를 포함할 수 있다. 메모리(211, 221)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 저장장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(211, 221)에는 운영체제나 적어도 하나의 프로그램 코드(일례로 제1 전자 기기(110)에 설치되어 구동되는 어플리케이션 등을 위한 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(211, 221)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(213, 223)을 통해 메모리(211, 221)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 어플리케이션의 설치 파일을 배포하는 파일 배포 시스템(일례로 상술한 서버(160))이 네트워크(170)를 통해 제공하는 파일들에 의해 설치되는 프로그램(일례로 상술한 어플리케이션)에 기반하여 메모리(211, 221)에 로딩될 수 있다.The first electronic device 110 and the server 150 may include memories 211 and 221, processors 212 and 222, communication modules 213 and 223 and input / output interfaces 214 and 224. The memories 211 and 221 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. The memory 211 and 221 may store an operating system or at least one program code (for example, codes for an application installed and driven in the first electronic device 110). These software components may be loaded from a computer readable recording medium separate from the memories 211 and 221. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into memory 211, 221 via communication modules 213, 223 rather than a computer readable recording medium. For example, at least one program may be a program installed by a file distribution system (for example, the server 160 described above) that distributes installation files of developers or applications, May be loaded into the memory 211, 221 based on the application described above.
프로세서(212, 222)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(211, 221) 또는 통신 모듈(213, 223)에 의해 프로세서(212, 222)로 제공될 수 있다. 예를 들어, 프로세서(212, 222)는 메모리(211, 221)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. Processors 212 and 222 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processors 212 and 222 by the memories 211 and 221 or the communication modules 213 and 223. For example, the processors 212 and 222 may be configured to execute instructions received in accordance with program codes stored in a recording device, such as memories 211 and 221. [
통신 모듈(213, 223)은 네트워크(170)를 통해 제1 전자 기기(110)와 서버(150)가 서로 통신하기 위한 기능을 제공할 수 있으며, 다른 전자 기기(일례로 제2 전자 기기(120)) 또는 다른 서버(일례로 서버(160))와 통신하기 위한 기능을 제공할 수 있다. 일례로, 제1 전자 기기(110)의 프로세서(212)가 메모리(211)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청(일례로 검색 요청)이 통신 모듈(213)의 제어에 따라 네트워크(170)를 통해 서버(150)로 전달될 수 있다. 역으로, 서버(150)의 프로세서(222)의 제어에 따라 제공되는 제어 신호나 명령, 컨텐츠, 파일 등이 통신 모듈(223)과 네트워크(170)를 거쳐 제1 전자 기기(110)의 통신 모듈(213)을 통해 제1 전자 기기(110)로 수신될 수 있다. 예를 들어 통신 모듈(213)을 통해 수신된 서버(150)의 제어 신호나 명령 등은 프로세서(212)나 메모리(211)로 전달될 수 있고, 컨텐츠나 파일 등은 제1 전자 기기(110)가 더 포함할 수 있는 저장 매체로 저장될 수 있다.The communication modules 213 and 223 may provide a function for the first electronic device 110 and the server 150 to communicate with each other through the network 170 and may be connected to other electronic devices ) Or another server (e.g., server 160). For example, a request (e.g., a search request) generated by the processor 212 of the first electronic device 110 in accordance with a program code stored in a recording device, such as the memory 211, To the server 150 via the Internet 170. Conversely, control signals, commands, contents, files, and the like provided under the control of the processor 222 of the server 150 are transmitted to the communication module 223 of the first electronic device 110 via the communication module 223 and the network 170, May be received by the first electronic device (110) via the second network (213). For example, the control signal or command of the server 150 received through the communication module 213 may be transmitted to the processor 212 or the memory 211, and contents or files may be transmitted to the first electronic device 110, May also be stored as a storage medium.
입출력 인터페이스(214)는 입출력 장치(215)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 어플리케이션의 통신 세션을 표시하기 위한 디스플레이와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(214)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)의 프로세서(212)는 메모리(211)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어서 서버(150)나 제2 전자 기기(120)가 제공하는 데이터를 이용하여 구성되는 서비스 화면이나 컨텐츠가 입출력 인터페이스(214)를 통해 디스플레이에 표시될 수 있다. 입출력 인터페이스(224) 또한 마찬가지로 서버(150)의 프로세서(222)가 메모리(221)에 로딩된 컴퓨터 프로그램의 명령을 처리함에 있어 서버(150)가 제공하는 데이터를 이용하여 구성되는 정보를 출력할 수 있다.The input / output interface 214 may be a means for interfacing with the input / output device 215. For example, the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display for displaying a communication session of the application. As another example, the input / output interface 214 may be a means for interfacing with a device having integrated functions for input and output, such as a touch screen. The processor 212 of the first electronic device 110 may use the data provided by the server 150 or the second electronic device 120 in processing the instructions of the computer program loaded into the memory 211. For example, A service screen or contents configured by the user can be displayed on the display through the input / output interface 214. [ The input / output interface 224 can also output information configured using the data provided by the server 150 in processing the instructions of the computer program loaded in the memory 221 by the processor 222 of the server 150 have.
또한, 다른 실시예들에서 제1 전자 기기(110) 및 서버(150)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 제1 전자 기기(110)는 상술한 입출력 장치(215) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 제1 전자 기기(110)가 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 제1 전자 기기(110)에 더 포함되도록 구현될 수 있음을 알 수 있다.Also, in other embodiments, the first electronic device 110 and the server 150 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the first electronic device 110 may be implemented to include at least some of the input / output devices 215 described above, or may be implemented as a transceiver, a Global Positioning System (GPS) module, a camera, And may further include components. More specifically, when the first electronic device 110 is a smart phone, it may be an acceleration sensor, a gyro sensor, a camera, various physical buttons, buttons using a touch panel, input / output ports, It is understood that various components such as a vibrator may be further included in the first electronic device 110.
이하에서는 위치 데이터가 포함된 컨텐츠를 이용하여 위치 기반의 추천 정보를 제공하는 방법 및 시스템의 구체적인 실시예를 설명하기로 한다.Hereinafter, a method and system for providing location-based recommendation information using content including location data will be described.
본 실시예에 따른 서버(150)에는 컴퓨터로 구현된 추천 정보 제공 시스템이 구성될 수 있다. 서버(150)는 클라이언트(client)인 복수의 전자 기기들(110, 120, 130, 140)을 대상으로 위치 기반 추천 서비스를 제공하는 것으로, 전자 기기들(110, 120, 130, 140) 상에 설치된 전용 어플리케이션이나 서버(150)와 관련된 웹/모바일 사이트 접속을 통한 서비스 요청에 대응되는 추천 정보를 제공할 수 있다.The recommendation information providing system implemented by a computer may be configured in the server 150 according to the present embodiment. The server 150 provides a location-based recommendation service for a plurality of electronic devices 110, 120, 130 and 140 as a client. The server 150 provides location-based recommendation services on the electronic devices 110, 120, 130 and 140 It is possible to provide recommendation information corresponding to a service request through access to a web / mobile site associated with a dedicated application or server 150 installed.
도 3을 참조하면, 서버(150)는 위치 기반 추천 서비스를 제공하는 추천 서버 역할을 할 수 있으며, 커뮤니티 서비스를 제공하는 커뮤니티 서버와 하나의 서비스 플랫폼으로 구현되거나, 혹은 별개의 서비스 플랫폼으로 구현된 커뮤니티 서버와 연동하여 커뮤니티 서비스와의 연계를 통해 위치 기반 추천 서비스를 제공할 수 있다.Referring to FIG. 3, the server 150 may serve as a recommendation server for providing a location-based recommendation service, and may be implemented as a service platform with a community server providing a community service, or as a separate service platform Based recommendation service can be provided through linkage with the community service in cooperation with the community server.
본 명세서에서 커뮤니티는 사용자 간의 소통을 위한 인터넷 상의 모든 소통 수단을 포괄하여 의미할 수 있으며, 예를 들어 메신저나 SNS(social network service) 등을 포함할 수 있다.In this specification, the community may include all communication means on the Internet for communication between users, and may include, for example, a messenger or a social network service (SNS).
사용자가 위치 데이터가 포함된 컨텐츠를 메시지로 전송하거나 SNS에 등록하는 경우 해당 컨텐츠는 위치 데이터가 제거된 후에 목적지(다른 사용자 혹은 SNS)로 전달될 수 있다. 이때, 서버(150)는 인터넷 커뮤니티를 통해 업로드되는 컨텐츠로서 위치 데이터가 포함된 컨텐츠를 이용하여 위치 기반 추천 정보를 구성할 수 있고 이를 위치 기반 추천 서비스를 요청하는 사용자에게 제공할 수 있다.When the user transmits the content including the location data as a message or registers in the SNS, the content may be delivered to the destination (another user or the SNS) after the location data is removed. At this time, the server 150 may construct the location-based recommendation information using the content including the location data as content to be uploaded through the Internet community, and may provide the location-based recommendation service to the user requesting the location-based recommendation service.
본 명세서에서 컨텐츠는 인터넷을 통하여 제공되는 모든 정보를 포괄하여 의미할 수 있고, 예를 들어 사진이나 이미지, 동영상, 음성, 문서, 음악 등을 포함할 수 있다. 이하의 구체적인 실시예에서는 사진을 컨텐츠의 대표적인 예로 설명하기로 하나, 이에 한정되는 것은 아니다.In this specification, the content may include all information provided through the Internet, and may include, for example, a photograph or an image, a moving image, a voice, a document, music, and the like. In the following specific embodiments, photographs are described as typical examples of contents, but the present invention is not limited thereto.
도 4는 본 발명의 일실시예에 따른 서버의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 도면이고, 도 5는 본 발명의 일실시예에 따른 서버가 수행할 수 있는 방법의 예를 도시한 흐름도이다.FIG. 4 is a diagram illustrating an example of a component that a server of a server according to an embodiment of the present invention can include; FIG. 5 is a diagram illustrating an example of a method that a server can perform according to an exemplary embodiment of the present invention; Fig.
서버(150)는 도 5에 따른 추천 정보 제공 방법을 수행하기 위해, 서버(150)의 프로세서(222)는 구성요소로서 도 4에 도시된 바와 같이, 수집부(410), 정보 구성부(420), 랭킹 산출부(430), 및 정보 제공부(440)를 포함할 수 있다. 실시예에 따라 프로세서(222)의 구성요소들은 선택적으로 프로세서(222)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(222)의 구성요소들은 프로세서(222)의 기능의 표현을 위해 분리 또는 병합될 수도 있다.4, the server 150 of the server 150 includes a collecting unit 410, an information constructing unit 420 (refer to FIG. 4) A ranking calculating unit 430, and an information providing unit 440. [ The components of processor 222 may optionally be included or excluded from processor 222 in accordance with an embodiment. In addition, in accordance with an embodiment, the components of the processor 222 may be separate or merged for the representation of the functionality of the processor 222.
이러한 프로세서(222) 및 프로세서(222)의 구성요소들은 도 5의 추천 정보 제공 방법이 포함하는 단계들(S510 내지 S540)을 수행하도록 서버(150)를 제어할 수 있다. 예를 들어, 프로세서(222) 및 프로세서(222)의 구성요소들은 메모리(221)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The components of the processor 222 and the processor 222 may control the server 150 to perform the steps S510 to S540 included in the recommendation information providing method of FIG. For example, the components of processor 222 and processor 222 may be implemented to execute instructions in accordance with the code of the operating system and the code of at least one program that memory 221 contains.
여기서, 프로세서(222)의 구성요소들은 서버(150)에 저장된 프로그램 코드가 제공하는 명령에 따라 프로세서(222)에 의해 수행되는 프로세서(222)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 서버(150)가 위치 데이터가 포함된 컨텐츠를 수집하도록 상술한 명령에 따라 서버(150)를 제어하는 프로세서(222)의 기능적 표현으로서 수집부(410)가 이용될 수 있다.Herein, the components of processor 222 may be representations of different functions of processor 222 performed by processor 222 in accordance with instructions provided by the program code stored in server 150 . For example, the collection unit 410 may be used as a functional representation of the processor 222 that controls the server 150 in accordance with the above-described command so that the server 150 collects the content containing the location data.
단계(S510)에서 프로세서(222)는 서버(150)의 제어와 관련된 명령이 로딩된 메모리(221)로부터 필요한 명령을 읽어드릴 수 있다. 이 경우, 상기 읽어드린 명령은 프로세서(222)가 이후 설명될 단계들(S520 내지 S540)을 실행하도록 제어하기 위한 명령을 포함할 수 있다.In step S510, the processor 222 can read the necessary commands from the loaded memory 221 with instructions related to the control of the server 150. [ In this case, the read command may include instructions for controlling the processor 222 to execute the steps (S520 to S540) to be described later.
단계(S520)에서 수집부(410)는 복수의 전자 기기들(110, 120, 130, 140)로부터 업로드되는 사진 중 위치 데이터가 포함된 사진을 수집할 수 있다. 수집부(410)는 사용자 간의 소통을 위한 인터넷 커뮤니티, 예를 들어 메신저나 SNS 등에서 사용자들이 위치 데이터가 포함된 사진을 찍어 업로드하면 위치 기반 추천 서비스에서 이용 가능한 컨텐츠로서 해당 사진을 수집할 수 있다. 사전에 위치 공유를 수락한 사용자의 경우 사진 업로드 과정에서 전자 기기들(110, 120, 130, 140)의 위치 데이터를 사진과 함께 수신할 수 있고, 이를 서버(150)와 연계된 데이터베이스 상에 저장함으로써 위치 데이터가 포함된 사진을 수집할 수 있다. 이때, 데이터베이스 상에 저장되는 위치 데이터는 전자 기기들(110, 120, 130, 140)의 GPS 좌표와 같은 구체적인 위치 값일 수 있고, 다른 예로는 구체적인 위치 값을 대신하여 해당 위치 값이 속하는 영역을 나타내는 위치 ID(identity)일 수 있다. 상세하게, 전체 지도를 복수의 영역으로 분할하고 각 분할 영역에 고유한 위치 ID를 할당하는 방식을 활용할 수 있으며, 이때 수집부(410)는 위치 데이터가 포함된 사진을 찍어 업로드한 사용자를 대상으로 전자 기기에서 획득한 구체적인 위치 값을 저장하는 것이 아니라, 어림한 위치 정보로서 해당 위치 값에 대응되는 위치 ID를 저장하는 것이다. 또한, 위치 데이터는 전자 기기에서 GPS 등을 통해 자동 획득한 위치 값일 수도 있고 사용자에 의해 직접 입력된 위치 정보일 수도 있다. 그리고, 수집부(410)는 위치 데이터가 포함된 사진을 수집하는 과정에서 사진과 관련된 정보로서 해당 사진을 올린 사용자의 식별 정보(예컨대, userID)와 커뮤니티 식별 정보를 함께 저장할 수 있다. 이때, 커뮤니티 식별 정보는 사용자가 사진을 전송한 커뮤니티에 대한 정보로서 예를 들어, 메신저의 경우 (개별 또는 그룹) 대화방 ID 등이 커뮤니티 식별 정보에 해당되고, SNS의 경우 해당 커뮤니티 ID 등이 커뮤니티 식별 정보에 해당될 수 있다.In step S520, the collecting unit 410 may collect photographs including position data among the photographs uploaded from the plurality of electronic devices 110, 120, 130, The collection unit 410 can collect the corresponding photographs as contents available in the location-based recommendation service when users upload and take pictures including location data in an Internet community for communication between users, for example, a messenger or a SNS. The user who has accepted the location sharing in advance can receive the location data of the electronic devices 110, 120, 130 and 140 together with the photograph in the photo uploading process and store it on the database associated with the server 150 So that a photograph including position data can be collected. In this case, the position data stored in the database may be a specific position value such as the GPS coordinates of the electronic devices 110, 120, 130, 140, and in another example, And may be a location ID. In detail, a method of dividing the entire map into a plurality of regions and assigning a unique position ID to each of the divided regions may be utilized. At this time, the collecting unit 410 may collect a photograph including position data, Rather than storing a specific position value acquired from the electronic device, the position ID corresponding to the position value is stored as estimated position information. In addition, the position data may be a position value automatically obtained through the GPS or the like in the electronic device, or may be position information directly input by the user. The collection unit 410 may store the identification information (e.g., userID) of the user who uploaded the photograph as the information related to the photograph in the process of collecting the photograph including the location data together with the community identification information. At this time, the community identification information is information about the community to which the user has transmitted the picture, for example, in the case of the messenger (individual or group), the chat room ID or the like corresponds to the community identification information, Information.
단계(S530)에서 정보 구성부(420)는 데이터베이스 상에 수집된, 위치 데이터가 포함된 사진을 이용하여 위치 기반 추천 정보를 구성할 수 있다. 일례로, 정보 구성부(420)는 수집된 사진을 위치 데이터를 이용하여 그룹핑할 수 있다. 정보 구성부(420)는 위치 ID 별로 사진 그룹을 구성하되, 위치 ID 별로 해당 위치 ID가 저장되거나 해당 위치 ID에 속하는 영역의 위치 값이 저장된 사진을 그룹핑할 수 있다. 그리고, 정보 구성부(420)는 수집된 사진을 AI(artificial intelligence) 등을 이용한 이미지 분석 기술을 통해 사진의 내용에 따라 복수의 카테고리로 그룹핑할 수 있다. 이미지 분석 기술 이외에도 사진에 포함된 속성 정보나 사용자가 직접 입력한 태그(예컨대, 음식 사진의 경우 음식 메뉴명을 입력함) 등을 활용하여 사진을 여러 카테고리로 분류하는 것 또한 가능하다. 예를 들어, 사진을 배경 사진과 음식 사진으로 분류할 수 있고, 음식 사진의 경우 각 메뉴 별로 세분화하여 재분류할 수 있다. 사진 그룹핑을 위한 카테고리는 서비스 유형이나 특성 등에 따라 사전에 정해질 수 있으며, 예를 들어 먹을거리, 볼거리, 놀거리 등 다양한 주제의 테마로 구분될 수 있다. 따라서, 정보 구성부(420)는 위치 데이터가 포함된 사진을 우선적으로 위치 ID 별로 그룹핑할 수 있고, 더 나아가 이미지 분석을 통해 여러 카테고리로 사진을 그룹핑하고 각 카테고리 내에서 일정 범위 이내의 유사도를 가진 동일한 사진끼리 재그룹핑할 수 있다. 이와 같이, 정보 구성부(420)는 수집된 사진을 위치 ID 및/또는 이미지 분석 결과를 기준으로 그룹핑함으로써 위치 기반 추천 정보를 구성할 수 있다. 정보 구성부(420)는, 수집된 사진을 위치 ID를 기준으로 위치 ID 별 사진 그룹으로 그룹핑하고, 이 위치 ID 별 사진 그룹을 이미지 분석 결과를 기준으로 복수의 카테고리로 재그룹핑함으로써 위치 기반 추천 정보를 구성할 수 있다.In step S530, the information constructing unit 420 may construct the location-based recommendation information using the photographs including the location data collected on the database. For example, the information constructing unit 420 may group the collected photographs using position data. The information constructing unit 420 may group photos according to the location IDs, and may store the location IDs for the location IDs or group the photos storing the location values of the areas belonging to the location IDs. Then, the information constructing unit 420 may group the collected photographs into a plurality of categories according to the content of the photograph through an image analysis technique using artificial intelligence (AI) or the like. In addition to the image analysis technique, it is also possible to classify photographs into various categories using attribute information included in the photographs or tags directly input by the user (for example, food menu names are input for food photographs). For example, a photograph can be classified into a background photograph and a food photograph, and a food photograph can be subdivided by each menu. Categories for photo grouping can be predetermined according to service type or characteristics, and can be divided into various themes such as eating distance, sightseeing, entertainment, and the like. Accordingly, the information constructing unit 420 can preferentially group the photographs including the position data by position IDs, further group the photographs into various categories through image analysis, and have similarity within a certain range within each category The same pictures can be re-grouped. In this manner, the information constructing unit 420 may configure the location-based recommendation information by grouping the collected photographs based on the location ID and / or the image analysis result. The information constructing unit 420 groups the collected photographs into a group of photos by location ID based on the location ID and re-groups the groups of photos by location ID into a plurality of categories based on the image analysis result, .
단계(S540)에서 정보 제공부(440)는 제1 전자 기기(110)의 사용자로부터 위치 기반 추천 서비스에 대한 요청이 수신되는 경우 사용자에 의해 특정된 위치를 포함하는 지도 화면을 통해 해당 지도에 대응되는 위치 기반 추천 정보를 제공할 수 있다. 사용자에 의해 특정된 위치는 제1 전자 기기(110)로부터 획득한 사용자의 현재 위치 또는 사용자에 의해 직접 선택된 위치를 의미할 수 있다. 정보 제공부(440)는 사용자의 서비스 요청이 수신되면 서비스 요청이 수신된 시점에 사용자에 의해 특정된 위치를 파악하고 해당 위치를 중심으로 하는 지도 화면을 제공할 수 있고, 이때 지도 화면을 통해 해당 지도 내의 위치 ID로 그룹핑된 사진들을 위치 기반 추천 정보로 제공할 수 있다. 사용자의 서비스 요청에는 사용자가 선택한 카테고리에 대한 정보가 포함될 수 있으며, 이때 정보 제공부(440)는 지도 내의 위치 ID로 그룹핑된 사진들 중에서 사용자가 선택한 카테고리로 분류된 사진만을 선별하여 추천할 수 있다. 그리고, 사용자가 특정 커뮤니티에서 위치 기반 추천 서비스를 요청하는 경우, 정보 제공부(440)는 사용자가 위치 기반 추천 서비스를 요청한 커뮤니티의 식별 정보와 해당 커뮤니티에서의 사용자의 소셜 네트워크 정보를 파악하여 지도 내의 위치 ID로 그룹핑된 사진들 중 해당 커뮤니티에 속하는 사람들이 업로드한 사진을 선별하여 위치 기반 추천 정보로 제공할 수 있다. 예를 들어, 사용자가 메신저의 특정 그룹 대화방에서 위치 기반 추천 서비스를 요청한 경우 해당 그룹 대화방에 참여한 사람들이 올린 사진만을 추천할 수 있고, 사용자가 특정 SNS에서 위치 기반 추천 서비스를 요청한 경우 해당 SNS에서 사용자와 관련된 다른 사용자, 예를 들어 사용자와 소정의 관계(예컨대, 친구, 동료, 가족 등)가 있는 사람들이 업로드한 사진을 추천할 수 있다. 상기한 정보 제공부(440)는 사용자에 의해 특정된 위치의 지도 화면을 통해 해당 위치를 기준으로 일정 거리 내의 각 위치 ID에 대해 그룹핑된 사진들을 제공하되, 사용자가 서비스를 요청한 커뮤니티에서 사용자와 관계가 설정된 사람들(소셜 네트워크 정보에 따라 서비스를 요청한 사용자와 관련된 다른 사용자들)이 올린 사진을 선별하여 추천할 수 있다.In step S540, when the request for the location-based recommendation service is received from the user of the first electronic device 110, the information providing unit 440 corresponds to the corresponding map through the map screen including the location specified by the user Based recommendation information. The location specified by the user may refer to the current location of the user obtained from the first electronic device 110 or a location directly selected by the user. When the service request of the user is received, the information providing unit 440 can identify the location specified by the user at the time of receiving the service request and provide a map screen centered on the location, and at this time, And may provide photos grouped by location IDs in the map as location-based recommendation information. The service request of the user may include information on the category selected by the user. At this time, the information providing unit 440 may select only the pictures classified in the category selected by the user from among the pictures grouped by the location ID in the map . When the user requests the location-based recommendation service from the specific community, the information provider 440 grasps the identification information of the community requesting the location-based recommendation service by the user and the user's social network information in the community, Based on the photos uploaded by the people belonging to the community among the photos grouped by the location ID, as location-based recommendation information. For example, when a user requests a location-based recommendation service from a specific group chat room of a messenger, only a photo uploaded by people participating in the group chat room can be recommended. When a user requests a location-based recommendation service from a specific SNS, (E.g., a friend, a colleague, a family member, etc.) who is associated with the user. The information providing unit 440 provides pictures grouped for each location ID within a certain distance on the basis of the location on the map screen of the location specified by the user, (Other users related to the user who has requested the service according to the social network information) can be selected and recommended.
정보 제공부(440)는 위치 기반 추천 정보로 복수 개의 사진 그룹을 제공하는 경우(예를 들어 사용자에 의해 특정된 위치를 포함하는 지도 화면에 복수 개의 위치 ID 별 사진 그룹이 존재하는 경우 또는 특정 위치 ID에 대해 서로 다른 카테고리의 복수 개의 사진 그룹이 존재하는 경우) 추천 점수에 따른 랭킹을 반영할 수 있다. 이때, 랭킹 산출부(430)는 위치 ID 또는 (사진의 이미지 분석 결과와 같이 사진을 이용하여 분류된) 카테고리에 대해 각 사진 그룹 별로 추천 점수 또는 카테고리 점수를 산출하게 되는데, 추천 점수 또는 카테고리 점수는 각 그룹의 사진수, 조회수, 최신성(시간), 인접성(위치) 중 적어도 하나의 요소에 가중치를 부여하여 산출할 수 있다. 해당 사진 그룹에 대해, 사용자들에 의해 업로드된 사진의 개수가 많을수록, 사진의 조회수가 높을수록, 최근에 업로드된 사진일수록(업로드 후 경과된 시간이 짧을수록) 및/또는 위치 ID가 사용자에 의해 특정된 위치와 인접할수록 높은 추천 점수 또는 카테고리 점수가 산출될 수 있다. 상기한 요소 중 조회수와 최신성은 그룹에 속한 사진마다 각각 다를 수 있으므로, 사진 그룹의 조회수는 해당 그룹에 포함된 사진들의 조회수를 평균한 값이나 해당 그룹에 포함된 사진들의 조회수 중 가장 높은 조회수를 이용하고, 사진 그룹의 최신성은 해당 그룹에 포함된 사진들 중 가장 최근에 업로드된 사진의 업로드 시간을 이용하여 판단할 수 있다. 이때, 모든 요소에 일정한 가중치가 부여되는 것은 물론이고, 요소에 따라 가중치가 다르게 적용되는 것 또한 가능하다. 예를 들어 사진수, 조회수, 최신성(시간), 인접성(위치)에 대해 각각 40%, 30%, 20%, 10% 또는 20, 10, 10, 1의 가중치가 적용될 수 있으며 인접성에 대해 다른 요소에 비해 낮은 가중치가 부여될 수 있다. 다른 예로, 사진을 분류하는 기준이 되는 카테고리의 유형이나 특성 등에 따라 요소 별 가중치를 달리 적용할 수 있다. 예를 들어, 음식 사진의 경우 최신성에 가장 높은 비중의 가중치를 부여할 수 있고, 배경 사진의 경우 사진수에 가장 높은 비중의 가중치를 부여할 수 있다. 따라서, 정보 제공부(440)는 사용자에 의해 특정된 위치의 지도 화면을 통해 해당 위치를 기준으로 일정 거리 내의 각 위치 ID 별 사진 그룹을 위치 기반 추천 정보로 제공하되, 랭킹 산출부(430)에서 산출된 랭킹을 반영하여 추천 점수 순으로 사진 그룹을 제공할 수 있다. 정보 제공부(440)는 또한, 위치 ID 별 사진 그룹이 복수의 카테고리로 재그룹핑이 되는 경우, 복수의 카테고리에 대해 카테고리 별 사진 그룹들을 상기 카테고리 점수에 따른 랭킹을 반영하여 카테고리 점수 순으로 사진 그룹을 제공할 수 있다.When providing a plurality of groups of pictures as location-based recommendation information (for example, when a group of pictures by a plurality of location IDs exists on a map screen including a location specified by a user, (E.g., when there are a plurality of groups of pictures of different categories for the ID), ranking based on the recommendation score may be reflected. At this time, the ranking calculation unit 430 calculates a recommendation score or a category score for each group of pictures with respect to a location ID or a category (which is classified using photographs, such as an image analysis result of a photograph) A weight can be given to at least one of the number of pictures, the number of views, the latestness (time), and the proximity (position) of each group. For the group of pictures, the more the number of photos uploaded by the users, the higher the number of views of the photos, the more recently uploaded photos (the shorter the elapsed time after uploading), and / A higher recommendation score or category score can be calculated as the location is closer to a specified location. Since the number of views and the latestness among the above factors may be different for each of the pictures belonging to the group, the number of views of the picture group is a value obtained by averaging the number of views of the pictures included in the group, or by using the highest number of views of the pictures included in the group And the latestness of the group of pictures can be determined by using the upload time of the most recently uploaded picture among the pictures included in the group. In this case, not only a certain weight is given to all the elements, but it is also possible that the weight is applied differently depending on the elements. For example, weights of 40%, 30%, 20%, 10%, or 20, 10, 10, and 1 can be applied to the number of pictures, views, Element can be given a lower weight. As another example, weights can be applied differently depending on the type and characteristics of the categories that are used to classify the photographs. For example, in case of food photographs, weights of the highest specific gravity can be given to the latest one, and in the case of background photographs, the weight of the highest specific gravity can be given to the number of photographs. Accordingly, the information providing unit 440 provides location group recommendation information for each group of the location IDs within a certain distance based on the location on the map screen of the location specified by the user, and the ranking calculator 430 The group of photographs can be provided in the order of recommendation score reflecting the calculated ranking. The information providing unit 440 may further include a step of, when the group of photo IDs by location ID is re-grouped into a plurality of categories, the grouping of photo groups by category with respect to a plurality of categories, Can be provided.
도 6은 본 발명의 일실시예에 있어서 사진에 위치 ID를 부여하는 과정을 설명하기 위한 예시 도면이다.6 is an exemplary diagram for explaining a process of assigning a location ID to a photograph in an embodiment of the present invention.
제1 전자 기기(110)의 사용자가 메신저나 SNS와 같은 커뮤니티를 통해 위치 데이터가 포함된 사진을 업로드한 경우 수집부(410)는 위치 데이터가 포함된 사진을 위치 기반 추천 서비스에서 이용 가능한 컨텐츠로서 수집한다. 도 6에 도시한 바와 같이, 전체 지도(600)가 일정 크기의 복수의 영역으로 분할되고 각 분할 영역에 위치 ID가 할당되어 있다고 가정한다. 이때, 수집부(410)는 사진을 수집하는 과정에서 사진에 제1 전자 기기(110)의 정확한 위치를 나타내는 GPS 좌표 값(601)이 포함된 경우 GPS 좌표 값(601)을 저장하지 않고 GPS 좌표 값(601)이 속하는 영역(610)에 할당된 위치 ID를 저장할 수 있다.When the user of the first electronic device 110 uploads a photograph including location data through a community such as a messenger or the SNS, the collecting unit 410 stores the photograph including the location data as content usable in the location-based recommendation service Collect. As shown in FIG. 6, it is assumed that the entire map 600 is divided into a plurality of areas of a predetermined size, and a position ID is assigned to each of the divided areas. At this time, when the photograph includes the GPS coordinates value 601 indicating the exact position of the first electronic device 110, the collecting unit 410 does not store the GPS coordinate value 601, May store the location ID assigned to the area 610 to which the value 601 belongs.
이러한 것으로만 한정되는 것은 아니며, 사진을 수집하는 과정에서는 사진에 포함된 GPS 좌표 값(601)을 그대로 저장하고 이후 정보 구성부(420)의 그룹핑 과정에서 GPS 좌표 값(601)이 포함된 사진을 해당 GPS 좌표 값(601)이 속하는 영역(610)의 위치 ID에 대한 사진 그룹으로 분류하는 것 또한 가능하다.In the process of collecting the photographs, the GPS coordinate values 601 included in the photographs are stored as they are, and then the photographs including the GPS coordinate values 601 in the grouping process of the information composing unit 420 It is also possible to classify the GPS coordinate value 601 into a photograph group for the position ID of the area 610 to which the GPS coordinate value 601 belongs.
도 7은 본 발명의 일실시예에 있어서 위치 데이터가 포함된 사진을 분류하는 과정을 설명하기 위한 예시 도면이다.FIG. 7 is an exemplary diagram for explaining a process of sorting photographs including position data in an embodiment of the present invention.
정보 구성부(420)는 수집된 사진을 위치 ID와 이미지 분석 결과를 기준으로 그룹핑함으로써 위치 기반 추천 정보를 구성할 수 있다. 도 7을 참조하면, 정보 구성부(420)는 데이터베이스(151) 상에 수집된 사진을 먼저 위치 ID를 기준으로 그룹핑할 수 있다(예를 들어, 위치1 그룹, 위치2 그룹, ?). 그리고, 정보 구성부(420)는 위치 ID 별 사진 그룹을 각 사진 그룹에 속한 사진을 이용하여 세부 카테고리로 재그룹핑할 수 있다. 이때, 재그룹핑이라 함은 위치 ID 별로 분류된 사진들을 하나 이상의 카테고리 뎁스(depth)로 세분화하여 분류하는 것을 의미하며, 뎁스에 따라 제1 레벨 카테고리, 제2 레벨 카테고리, ?로 구분할 수 있다. 예를 들어, 정보 구성부(420)는, 위치1 그룹(위치ID = '위치1')에 속한 사진의 이미지를 각각 분석하여 배경 사진 그룹(제1 레벨 카테고리 = '배경')과 음식 사진 그룹(제1 레벨 카테고리 = '음식')으로 분류할 수 있고, 음식 사진 그룹에 대해 각 메뉴 별로 세분화하여 재그룹핑할 수 있다(예컨대, 메뉴1 그룹(제2 레벨 카테고리 = '메뉴1'), 메뉴2 그룹(제2 레벨 카테고리 = '메뉴2') 등).The information constructing unit 420 may configure the location-based recommendation information by grouping the collected photographs based on the location ID and the image analysis result. Referring to FIG. 7, the information constructing unit 420 may group the photographs collected on the database 151 based on the position ID first (e.g., position 1 group, position 2 group,?). Then, the information constructing unit 420 may re-group the photo groups by location ID into the subcategories by using the photos belonging to the respective photo groups. At this time, the re-grouping means to subdivide the pictures classified by the position ID into one or more category depths and classify them into the first level category, the second level category, and? According to the depth. For example, the information constructing unit 420 may analyze each of the images of the photographs belonging to the position 1 group (position ID = 'position 1') to generate a group of background pictures (first level category = 'background' (First level category = 'food'), and the food photograph group can be subdivided by each menu to regroup (for example, menu 1 group (second level category = 'menu 1'), menu 2 groups (second level category = 'menu 2'), etc.).
따라서, 정보 구성부(420)는 위치 데이터가 포함된 사진을 기본적으로 위치 ID 별로 분류하여 위치 ID 별 사진 그룹으로 그룹핑할 수 있고, 위치 ID 별 그룹 내에서는 이미지 분석을 통해 사진의 내용에 따라 세부 카테고리로 재그룹핑할 수 있다.Accordingly, the information constructing unit 420 can group the photographs including the position data basically by the position IDs and group them into the photograph group by the position IDs. In the group by the position IDs, You can re-group into categories.
도 8 내지 도 9는 본 발명의 일실시예에 있어서 위치 기반 추천 서비스를 요청할 수 있는 화면 예시를 도시한 것이다.8 to 9 illustrate examples of screens that can request a location-based recommendation service according to an exemplary embodiment of the present invention.
도 8은 인터넷 커뮤니티 중 하나인 메신저의 대화방 화면(800)을 나타내고 있다. 대화방 화면(800)은 사용자가 상대방과 메시지로 대화를 주고 받거나, 사진, 동영상, 음성 등 다양한 컨텐츠를 주고 받을 수 있는 사용자 인터페이스 화면으로, 상대방이 한 명인 개별 대화방은 물론이고, 복수의 상대방이 참여하는 그룹 대화방일 수 있다. 도 8에 도시한 바와 같이, 대화방 화면(800)에는 사용자가 위치 기반 추천 서비스를 요청하기 위한 추천 메뉴(801)가 포함될 수 있다.8 shows a chat screen 800 of a messenger that is one of the Internet communities. The chat room screen 800 is a user interface screen in which a user can exchange a chat with a message or send and receive various contents such as a photo, a moving image, and a voice. In addition to an individual chat room having one chat partner, Group chat room. As shown in FIG. 8, the chat room screen 800 may include a recommendation menu 801 for requesting a location-based recommendation service by a user.
도 9는 메신저의 대화방 목록 화면(900)을 나타내고 있다. 도 9에 도시한 바와 같이, 대화방 목록 화면(900)에는 사용자가 상대방과 메시지나 컨텐츠를 주고 받는 대화방을 정렬한 대화방 목록(910)이 포함될 수 있다. 예를 들어, 대화방 목록(910)은 기존 정렬 기준 중 하나인 메시지 송수신 시간을 기준으로 내림차순으로 정렬될 수 있으며, 다시 말해 사용자가 메시지를 보냈거나 받은 시간이 최근일수록 대화방이 목록 상위에 정렬될 수 있다. 이때, 대화방 목록 화면(900)에는 사용자가 위치 기반 추천 서비스를 요청하기 위한 추천 메뉴(901)가 포함될 수 있다.9 shows a chat room list screen 900 of the messenger. As shown in FIG. 9, the chat room list screen 900 may include a chat room list 910 in which a user arranges chat rooms for exchanging messages and contents with each other. For example, the chat room list 910 may be sorted in descending order based on the time of sending and receiving messages, which is one of the existing sorting criteria. In other words, the chat room may be sorted on the list have. At this time, the chat room list screen 900 may include a recommendation menu 901 for requesting a location based recommendation service by the user.
대화방 화면(800)이나 대화방 목록 화면(900)에는 사용자가 추천 받고자 하는 정보의 카테고리를 선택할 수 있는 메뉴가 추가로 포함될 수 있다.The chat room screen 800 or the chat room list screen 900 may further include a menu that allows the user to select a category of information to be recommended.
도 8과 도 9는 예시적인 것으로 이에 한정되는 것은 아니며, 구체적인 도시는 생략하였으나, 메신저의 친구 목록을 포함하는 친구 목록 화면이나 SNS와 같은 커뮤니티의 사용자 인터페이스 화면 등을 통해서도 사용자가 위치 기반 추천 서비스에 접근하기 위한 메뉴를 제공할 수 있다.8 and 9 are illustrative and not intended to limit the present invention. However, the present invention is also applicable to a location-based recommendation service through a friend list screen including a friend list of a messenger or a user interface screen of a community such as an SNS You can provide a menu to access.
도 10 내지 도 11은 본 발명의 일실시예에 있어서 위치 기반 추천 정보를 제공하는 화면 예시를 도시한 것이다.FIGS. 10 to 11 illustrate screen examples for providing location-based recommendation information in an embodiment of the present invention.
사용자가 대화방 화면(800)이나 대화방 목록 화면(900)에서 추천 메뉴(801, 901)를 조작하는 경우, 도 10에 도시한 바와 같이 사용자에 의해 특정된 위치(1011)를 중심으로 하는 지도 화면(1000)가 표시될 수 있다. 지도 화면(1000)은 사용자의 현재 위치 또는 사용자에 의해 선택된 위치를 나타내는 지도로 구성되는 것이다. 지도 화면(1000)에는 사용자에 의해 특정된 위치(1011)를 기반으로 한 추천 정보(1020)가 노출될 수 있으며, 지도 화면(1000)에 포함된 모든 위치 ID 중 사진 그룹이 존재하는 위치 ID 마다 추천 정보(1020)가 표시될 수 있다. 일례로, 추천 정보(1020)는 사진 그룹에 대한 정보로 해당 그룹에서 임의로 선정된 대표 사진(들)과 해당 그룹으로 분류된 사진의 개수(1021) 중 적어도 하나가 표시될 수 있다.When the user operates the recommendation menus 801 and 901 on the chatting screen 800 or the chatting room list screen 900, a map screen 1011 (Fig. 10) centered on the position 1011 specified by the user 1000) may be displayed. The map screen 1000 includes a map indicating the current position of the user or a position selected by the user. The recommendation information 1020 based on the location 1011 specified by the user can be exposed on the map screen 1000 and the recommended information 1020 can be displayed on the map screen 1000 for every location ID Recommendation information 1020 may be displayed. For example, the recommendation information 1020 may include at least one of representative photograph (s) arbitrarily selected in the group and the number of pictures 1021 classified into the group, as information on the photo group.
사용자가 대화 상대방이 특정되어 있는 대화방 화면(800)을 통해 위치 기반 추천 서비스를 요청한 경우 해당 대화방에 참여한 상대방이 업로드한 사진만을 추천 정보(1020)로 제공할 수 있고, 대화 상대방이 특정되지 않은 인터페이스 화면(예컨대, 대화방 목록 화면(900)이나 친구 목록 화면(미도시) 등)이나 커뮤니티 화면에서 위치 기반 추천 서비스를 요청한 경우 해당 커뮤니티 내에서 사용자와 소정의 관계가 있는 모든 사람들(전체 친구)이 업로드한 사진들을 추천 정보(1020)로 제공할 수 있다.If the user requests the location-based recommendation service through the chat room screen 800 in which the chat party is specified, only the photo uploaded by the party participating in the chat room can be provided as the recommendation information 1020, Based recommendation service is requested from a screen (for example, a chat room list screen 900 or a friend list screen (not shown)) or a community screen, all the people (entire friends) having a predetermined relationship with the user in the community are uploaded The recommendation information 1020 can be provided.
지도 화면(1000)에 포함된 위치 ID 별 사진 그룹이 2 이상 있는 경우, 위치 ID 별 사진 그룹에 대한 추천 점수에 따른 랭킹이 반영되어 추천 정보(1020)로 제공할 수 있다. 이때, 추천 점수는 각 사진 그룹의 사진수, 조회수, 최신성(시간), 인접성(위치) 중 적어도 하나의 요소에 가중치를 부여하여 산출할 수 있다. 예를 들어, 지도 화면(1000) 내에서, 추천 점수가 높거나 조회수가 많을수록 위치 ID 별 사진 그룹에 대한 추천 정보(1020)를 더 크게 표시할 수 있다.If there are two or more picture groups per location ID included in the map screen 1000, the ranking according to the recommendation score for the picture group by location ID is reflected and can be provided as recommendation information 1020. At this time, the recommendation score can be calculated by weighting at least one element among the number of pictures, the number of views, the latestness (time), and the proximity (position) of each picture group. For example, in the map screen 1000, the recommendation score is higher or the number of views is larger, the recommendation information 1020 for a group of photos by location ID can be displayed larger.
그리고, 위치 ID 별 사진 그룹이 카테고리로 재분류된 경우 지도 화면(1000) 상에 카테고리 별로 추천 정보(1020)를 표시할 수 있다. 사용자의 서비스 요청 시 카테고리가 선택된 경우 지도 화면(1000) 내의 위치 ID로 그룹핑된 사진들 중에서 사용자가 선택한 카테고리로 분류된 사진만을 추천 정보(1020)로 제공할 수 있다.If the group of photos by location ID is reclassified into categories, recommendation information 1020 can be displayed for each category on the map screen 1000. When the category is selected at the time of the service request of the user, only the pictures classified into the category selected by the user among the pictures grouped by the location ID in the map screen 1000 can be provided as the recommendation information 1020.
도 11을 참조하면, 사용자가 지도 화면(1000)에서 특정 위치 ID의 추천 정보(1020)를 선택하면 해당 위치 ID에 그룹핑된 사진 목록(1110)을 포함한 상세 서비스 화면(1100)이 표시될 수 있다. 예를 들어, 사용자가 '음식' 카테고리를 선택한 경우 상세 서비스 화면(1100)에는 해당 위치 ID의 사진 그룹 중 '음식'으로 분류된 사진 목록(1110)이 표시될 수 있다. 이때, 사진 목록(1110)은 '음식' 카테고리에 속한 사진들로 이루어진 것으로, 이때 세부 카테고리, 예를 들어 메뉴(메뉴1, 메뉴2, 메뉴3) 별로 그룹핑하여 보여줄 수 있다.11, when a user selects recommendation information 1020 of a specific location ID on the map screen 1000, a detailed service screen 1100 including a photo list 1110 grouped in the location ID may be displayed . For example, when the user selects the 'food' category, a photo list 1110 classified as 'food' may be displayed in the detailed service screen 1100 of the group of photos of the corresponding location ID. At this time, the picture list 1110 is made up of pictures belonging to the category 'food'. At this time, the picture list 1110 can be grouped according to a detailed category, for example, a menu (menu 1, menu 2, menu 3).
그리고, 사진 목록(1110)은 세부 카테고리 별 사진 그룹에 대하여 카테고리 점수에 따른 랭킹이 반영될 수 있다. 이때, 추천 점수는 각 사진 그룹의 사진수, 조회수, 최신성(시간), 인접성(위치) 중 적어도 하나의 요소에 가중치를 부여하여 산출할 수 있으며, 예를 들어 사진 목록(1110)은 카테고리 별 사진 그룹의 카테고리 점수가 높은 순으로 정렬되어 표시될 수 있다.In the photograph list 1110, rankings according to the category scores may be reflected on the photograph groups of the detailed categories. At this time, the recommendation score can be calculated by weighting at least one of the number of pictures, the number of views, the latestness (time), and the proximity (position) of each picture group. For example, The category scores of the photo group can be displayed in sorted order.
따라서, 사용자는 메신저나 SNS 등의 커뮤니티를 이용하는 환경에서 현재 위치나 직접 선택한 위치의 지도 화면을 통해 어떤 곳이 해당 커뮤니티 상의 지인이나 대화방의 상대방에게 인기가 있는지 확인할 수 있으며, 음식 사진의 경우 어떤 메뉴가 인기 있는지 확인 가능하다.Accordingly, the user can confirm whether a place is popular with the person in the community or the party in the chat room through the current position or the map screen of the directly selected place in the environment using the community such as messenger or SNS, Is popular.
상기에서는 사진을 예로 하여 설명하였으나, 위치 기반 추천 정보로 제공 가능한 형태의 컨텐츠라면 모두 적용 가능하다.Although a photograph has been described above, the present invention can be applied to any type of content that can be provided as location-based recommendation information.
이처럼 본 발명의 실시예들에 따르면, 사용자 간의 소통을 위한 인터넷 커뮤니티를 통해 업로드된 컨텐츠 중 위치 데이터가 포함된 컨텐츠를 이용하여 효과적으로 위치 기반의 추천 정보를 제공할 수 있다. 특히, 본 발명의 실시예들에 따르면, 사용자에 의해 특정된 위치의 지도를 통해 인터넷 커뮤니티에서 사용자와 소정의 관계가 있는 사람들이 실제 업로드한 컨텐츠를 추천할 수 있다.According to embodiments of the present invention, location-based recommendation information can be effectively provided using content including location data, among contents uploaded through an Internet community for communication between users. In particular, according to embodiments of the present invention, it is possible to recommend contents uploaded by persons who have a predetermined relationship with a user in the Internet community through a map of a location specified by a user.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be embodied in any type of machine, component, physical device, computer storage media, or device for interpretation by a processing device or to provide instructions or data to the processing device have. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. At this time, the medium may be a program that continuously stores a computer executable program, or temporarily stores the program for execution or downloading. Further, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to any computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium that is managed by a site or a server that supplies or distributes an application store or various other software is also enumerated.