KR102064489B1 - System for Recommendation of APP, User Terminal and Method Therefor - Google Patents

System for Recommendation of APP, User Terminal and Method Therefor Download PDF

Info

Publication number
KR102064489B1
KR102064489B1 KR1020190004646A KR20190004646A KR102064489B1 KR 102064489 B1 KR102064489 B1 KR 102064489B1 KR 1020190004646 A KR1020190004646 A KR 1020190004646A KR 20190004646 A KR20190004646 A KR 20190004646A KR 102064489 B1 KR102064489 B1 KR 102064489B1
Authority
KR
South Korea
Prior art keywords
app
time
recommendation
sensor information
situation
Prior art date
Application number
KR1020190004646A
Other languages
Korean (ko)
Other versions
KR20190007513A (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 KR1020190004646A priority Critical patent/KR102064489B1/en
Publication of KR20190007513A publication Critical patent/KR20190007513A/en
Application granted granted Critical
Publication of KR102064489B1 publication Critical patent/KR102064489B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • G06Q30/0271Personalized advertisement

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Mathematical Optimization (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 기술의 일 실시예에 의한 앱 추천 서비스 시스템은 통신망을 통해 앱 추천 서비스 서버와 접속되는 사용자 단말기를 포함하는 앱 추천 서비스 시스템으로서, 사용자 단말기는, 복수의 센서, 복수의 센서에서 제공되는 센서정보로부터 센서정보벡터의 시계열 데이터를 생성하는 센서정보 처리부,센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하며, 지정된 개수의 상황 각각에서 실행된 앱 및 실행된 앱의 빈도를 앱 추천 테이블로 생성하고, 센서정보벡터의 시계열 데이터에 기초하여 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 상황 추정부, 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하고, 추정한 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하되, 선행하는 이벤트는 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 시점 추정부 및, 지정된 개수의 상황 중 특정 상황이 인지됨에 따라 앱 추천 테이블을 참조하여 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 앱 추천 시점으로 판단된 시점에 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하도록 구성되는 앱 추천부를 포함하도록 구성될 수 있다.An app recommendation service system according to an embodiment of the present technology is an app recommendation service system including a user terminal connected to an app recommendation service server through a communication network, wherein the user terminal includes a plurality of sensors and sensor information provided by a plurality of sensors. A sensor information processing unit for generating time series data of the sensor information vector from the sensor, and estimating a specified number of situations using an unsupervised learning method using the input of time series data of the sensor information vector, and executing an app and executing in each of the specified number of situations. A situation estimator for estimating a probability of a specific situation among a specified number of situations based on time series data of the sensor information vector, a frequency estimator for generating a frequency of the app, and a probability value of each situation The time series data of the vector with the dimension corresponding to the specified number, and the specific app Based on the preceding event, the probability of the moment when the user wants to run the app is estimated and the app recommendation time is pointed out. The preceding event includes a time estimator configured to include a time point when the user terminal detects an operation to be lifted up, a time point when the screen of the user terminal is turned on, a time point when a preset app is executed, and a specified number. As a specific situation is recognized, the at least one execution candidate app corresponding to the recognized specific situation is detected by referring to the app recommendation table, and at least one execution candidate app is determined by the user recommendation point. It may be configured to include an app recommendation unit configured to output through.

Description

앱 추천 시스템, 이를 위한 사용자 단말기 및 방법{System for Recommendation of APP, User Terminal and Method Therefor}System for Recommendation of APP, User Terminal and Method Therefor}

본 기술은 통신 단말기를 통한 서비스 기술에 관한 것으로, 보다 구체적으로는 앱 추천 시스템, 이를 위한 사용자 단말기 및 방법에 관한 것이다.The present invention relates to a service technology through a communication terminal, and more particularly, to an app recommendation system, a user terminal and a method therefor.

앱(App)은 스마트폰 어플리케이션을 약칭한 것으로, 하루에도 수백 개의 새로운 앱이 등장할 정도로 그 숫자는 빠르게 늘어나고 있다.App stands for smartphone application, and its number is growing rapidly, with hundreds of new apps appearing every day.

대표적인 앱 거래 사이트인 구글 플레이와 애플 앱스토어에 등록된 앱 개수가 260만개에 다다를 만큼 앱 종류는 다양하고 그 수 또한 증가하고 있다.As the number of registered apps on Google Play and Apple App Store reaches 2.6 million, app types are diverse and the number is increasing.

미디어조사 전문 업체 닐슨에 따르면 2015년 5월 기준으로, 스마트폰 사용자들이 평균 약 122개의 앱을 스마트폰에 설치하고 있는 것으로 조사되었다.According to Nielsen, a media research firm, as of May 2015, smartphone users have an average of about 122 apps installed on their smartphones.

이와 같이, 다양하고 많은 수의 앱이 스마트폰에 설치됨에 따라, 사용자가 특정 상황에 필요한 앱을 찾아 실행시키는 데 많은 노력 및 시간이 필요하게 되었다.As such, as a large number of apps are installed on a smartphone, a lot of effort and time are required for a user to find and execute an app required for a specific situation.

이를 위해 스마트폰 제조사, 통신사 등은 앱 사용 빈도순, 알파벳 순, 서비스 종류 등의 기준으로 앱을 모아 놓은 폴더 사용 등, 사용자에게 편리한 방법으로 앱 실행 환경을 제공하고자 시도하고 있으나, 스마트폰에 설치된 앱이 많아짐에 따라 앱을 찾고 실행시키는 작업의 불편함은 여전히 해소하기 어렵다.To this end, smart phone manufacturers, carriers, etc. attempt to provide an app execution environment in a convenient way for users, such as using folders that collect apps in order of frequency of use of apps, alphabetical order, type of service, etc. As the number of apps increases, the inconvenience of finding and launching apps is still difficult to resolve.

더욱이, 시력이 약화되고 손가락 터치의 부정확성이 많아지는 장년 이상의 연령층에서는 앱 탐색 및 실행에 상대적으로 더욱 큰 어려움을 느낄 수 있다. 이에 따라, 장년 이상의 연령층에서는 이미 설치된 앱만을 이용하는 경우가 많으며, 실제 구매력이 풍부한 장년층에서 스마트폰 및 앱 구매 욕구가 감소하는 현상이 있다.In addition, older adults and older people with weakened vision and inaccurate finger touch may experience greater difficulty in app navigation and execution. Accordingly, older people often use only apps that are already installed, and there is a phenomenon in which the desire to purchase smartphones and apps decreases in the elderly who are rich in actual purchasing power.

이러한 문제점들을 해결하기 위해, 주어진 조건을 만족하는 경우 자동으로 특정 앱 또는 웹 서비스를 실행시키거나, 특정 앱의 정해진 동작을 제어하는 서비스가 제안되고 있다.In order to solve these problems, a service for automatically executing a specific app or a web service when a given condition is satisfied or controlling a predetermined operation of a specific app has been proposed.

대표적인 예로, IFTTT(If This Then That) 서비스, 마이크로소프트 플로우(Flow) 서비스, 야후 파이프(Pipes) 서비스, 소니의 스마트 커넥트(Smart connect) 서비스 등을 들 수 있다.Typical examples include If This Then That (IFTTT) service, Microsoft Flow service, Yahoo Pipes service, and Sony's Smart connect service.

그러나, 이 서비스들은 상황에 맞는 앱을 추천해 주는 서비스가 아니다. 또한, 이러한 서비스를 지원하기 위한 조건을 만족시키는 요건이 너무 엄격하거나 일률적이어서 실제 사용률이 저조한 현실이다. 예를 들어, "아침에 잠을 깨면, 이메일 앱을 실행시켜라"와 같은 간단한 조건문의 경우, "아침에 잠을 깨면"이라는 조건은 "아침 6시가 되면", "아침 6시 알람 중지 버튼이 눌리면" 등과 같이 기계적으로 판단하게 되는데, 이는 사용자가 실제 원하는 조건과는 많은 차이가 있을 수 밖에 없다.However, these services are not services that recommend apps in context. In addition, the requirements for satisfying the conditions for supporting such services are too strict or uniform, so the actual utilization is low. For example, for a simple conditional statement such as "When you wake up in the morning, run your email app," the condition "When you wake up in the morning" is "When 6 o'clock in the morning." It is determined mechanically, etc., which can not be much different from the actual conditions desired by the user.

사용자의 상황에 기초하여 정보 또는 서비스를 제공하는 기술로서 하기 특허문헌 1 내지 3을 들 수 있다.The following patent documents 1-3 are mentioned as a technique which provides information or a service based on a user's situation.

(특허문헌 1) KR공개특허공보 제10-2007-0056673호(Patent Document 1) KR Publication No. 10-2007-0056673

(특허문헌 2) KR공개특허공보 제10-2015-0071544호(Patent Document 2) KR Publication No. 10-2015-0071544

(특허문헌 3) KR등록특허공보 제10-1579585호(Patent Document 3) KR Patent Publication No. 10-1579585

특허문헌 1에는 차 내부, 옥외, 옥내와 같은 서로 다른 장소의 물리적 특성에 무관하게 상황인지 기반의 이동 서비스를 제공하는 단말기 및 그 방법이 개시되어 있다. 특허문헌 1은 규칙기반 시스템을 개시하고 있으며 "학습"을 기반으로 하지 않기 때문에 서비스를 제공하기 위해 유의미한 양의 정보를 미리 수집하고 수집된 정보를 바탕으로 학습이 아닌 규칙 기반으로 상황을 인지한다. 예를 들어, 특허문헌 1의 상황인지부(120)는 미리 참조신호들의 패턴을 저장하고 있거나 사용자가 다양한 상황에 대응되는 참조신호들의 패턴 데이터를 입력해야 하는 등 이는 학습을 기반으로 하고 있지 않을 뿐 아니라 실제로는 구현 가능성이 높지 않다. 또한, 특허문헌 1의 사용자 의도 설정부(130)는 사용자의 의도를 규정하기 위하여, 사용자에 의해 미리 입력되어 저장된 정보를 참조하는 등 학습을 기반으로 하지 않고 사용자로부터 제공되는 정보를 이용한다.Patent Document 1 discloses a terminal and a method for providing a situation-based mobile service regardless of physical characteristics of different places such as inside a car, outdoors, and indoors. Patent Literature 1 discloses a rule-based system and is not based on "learning", so it collects a significant amount of information in advance to provide a service and recognizes the situation based on rules rather than learning based on the collected information. For example, the situation recognition unit 120 of Patent Literature 1 stores patterns of reference signals in advance, or the user must input pattern data of reference signals corresponding to various situations, and is not based on learning. In practice, this is not likely to be possible. In addition, the user intention setting unit 130 of Patent Literature 1 uses information provided from the user without reference to learning, such as referring to information previously input and stored by the user in order to define the user's intention.

특허문헌 2는 잠금상태에서 사용자의 상황에 따라 정보를 제공하는 방법을 개시하고 있다. 특허문헌 2를 구현하기 위해서는 특허문헌 2에 첨부된 도 6과 같은 정보 또는 테이블이 미리 구현되어 있어야 한다. 그리고, 사용자가 미리 규칙을 편집 해야 하기 때문에 불편할 뿐 아니라, 실제 사용에 있어서 각 상황에 해당하는 이벤트를 정의하는 것은 불가능하다.Patent document 2 discloses the method of providing information according to the user's situation in the locked state. In order to implement Patent Document 2, information or a table as shown in FIG. 6 attached to Patent Document 2 should be implemented in advance. In addition, it is inconvenient because the user must edit the rule in advance, and it is impossible to define an event corresponding to each situation in actual use.

특허문헌 3은 특정 상황을 미리 정해놓으면 그 상항의 지속 여부를 다양한 센서 입력으로부터 판단하여, 지속되지 않을 경우 사용자에게 피드백 서비스를 제공하는 방법을 개시하고 있다.Patent Document 3 discloses a method of providing a feedback service to a user when it is determined that a particular situation is determined in advance, whether or not the condition persists from various sensor inputs, and if it does not persist.

특허문헌 3에서는 정해진 개수의 상황에 맞춰 인식부가 학습되어야 시스템이 제대로 동작할 수 있으므로, 정해진 개수의 상황이 미리 구축되어야 한다.In Patent Document 3, the recognition unit must be trained according to a predetermined number of situations so that the system can operate properly. Therefore, a predetermined number of situations must be established in advance.

또한, 특허문헌 3의 단위 행동 인식부(133) 또는 대표 행동 인식부(134)는 각 행동을 미리 정하고 행동을 모아 미리 학습하거나 갱신부(135)를 통해 학습 해야 한다. 그리고 갱신부(135)는 대표 행동이나 단위 행동이 인식되면 ‘이 내용을 새로 학습시키겠습니까?’와 같이 사용자에게 학습 여부를 질의하고, 사용자의 답변 결과에 기초하여 갱신 여부를 판단하는 등 사용자의 개입이 필수적이다.In addition, the unit behavior recognition unit 133 or representative behavior recognition unit 134 of Patent Document 3 must determine each action in advance and collect the behavior in advance or learn through the update unit 135. When the representative action or the unit action is recognized, the update unit 135 asks the user whether or not to learn, such as 'Do you want to learn this content?', And determines whether or not the update is made based on the user's answer result. Intervention is essential.

이와 같이, 현재 공개된 상황인지를 이용한 서비스는 규칙기반 방법이거나, 규칙기반 방법이 아니더라도 학습 과정에 사용자의 불가피한 개입이 필요하여 사용자의 불편을 초래하는 문제점이 있다.As described above, the service using the currently disclosed situation is a rule-based method, or even a rule-based method requires a user's inevitable involvement in the learning process, causing inconvenience to the user.

본 기술의 실시예는 사용자의 상황을 인지하여 그에 대응하는 앱을 추천해 줄 수 있는 앱 추천 시스템, 이를 위한 사용자 단말기 및 방법을 제공할 수 있다.An embodiment of the present technology may provide an app recommendation system capable of recognizing a user's situation and recommending an app corresponding thereto, and a user terminal and a method therefor.

본 기술의 일 실시예에 의한 앱 추천 시스템은 통신망을 통해 앱 추천 서비스 서버와 접속되는 사용자 단말기를 포함하는 앱 추천 서비스 시스템으로서, 상기 사용자 단말기는, 복수의 센서; 상기 복수의 센서에서 제공되는 센서정보로부터 센서정보벡터의 시계열 데이터를 생성하는 센서정보 처리부; 상기 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하고, 상기 센서정보벡터의 시계열 데이터에 기초하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 상황 추정부; 상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하고, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하되, 상기 선행하는 이벤트는 상기 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 시점 추정부; 및 상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라 상기 앱 추천 테이블을 참조하여 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 앱 추천 시점으로 판단된 시점에 상기 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하도록 구성되는 앱 추천부;를 포함하도록 구성될 수 있다.An app recommendation system according to an embodiment of the present technology includes an app recommendation service system including a user terminal connected to an app recommendation service server through a communication network, wherein the user terminal includes: a plurality of sensors; A sensor information processor configured to generate time series data of a sensor information vector from sensor information provided by the plurality of sensors; Estimating a specified number of situations using an unsupervised learning method using the time series data of the sensor information vector, generating an app executed in each of the specified number of situations and a frequency of the executed app as an app recommendation table. A situation estimating unit estimating a probability of a specific situation among the specified number of situations based on time series data of the sensor information vector; Time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and a probability at a moment when a user wants to execute an app based on a preceding event before a specific app is executed. Estimate an app recommendation time point, and determine an app recommendation time point when a probability value at the moment of estimated execution of the app exceeds a preset threshold, wherein the preceding event detects an operation of lifting the user terminal; A time estimator configured to include a time point or a time point of detecting a state in which the screen of the user terminal is turned on, and a time point at which a preset app is executed; And detecting at least one execution candidate app corresponding to the recognized specific situation by referring to the app recommendation table as a specific situation is recognized among the specified number of situations, and at least at the time determined as the app recommending time point. It may be configured to include; app recommendation unit configured to output the running candidate app of the through the user interface.

본 기술의 일 실시예에 의한 사용자 단말기는 복수의 센서; 상기 복수의 센서에서 제공되는 센서정보로부터 센서정보벡터의 시계열 데이터를 생성하는 센서정보 처리부; 상기 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하고, 상기 센서정보벡터의 시계열 데이터에 기초하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 상황 추정부; 상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하고, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하되, 상기 선행하는 이벤트는 상기 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 시점 추정부; 및 상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라 상기 앱 추천 테이블을 참조하여 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 앱 추천 시점으로 판단한 시점에 상기 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하도록 구성되는 앱 추천부;를 포함하도록 구성될 수 있다.A user terminal according to an embodiment of the present technology includes a plurality of sensors; A sensor information processor configured to generate time series data of a sensor information vector from sensor information provided by the plurality of sensors; Estimating a specified number of situations using an unsupervised learning method using the time series data of the sensor information vector, generating an app executed in each of the specified number of situations and a frequency of the executed app as an app recommendation table. A situation estimating unit estimating a probability of a specific situation among the specified number of situations based on time series data of the sensor information vector; Time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and a probability at a moment when a user wants to execute an app based on a preceding event before a specific app is executed. Estimate an app recommendation time point, and determine an app recommendation time point when a probability value at the moment of estimated execution of the app exceeds a preset threshold, wherein the preceding event detects an operation of lifting the user terminal; A time estimator configured to include a time point or a time point of detecting a state in which the screen of the user terminal is turned on, and a time point at which a preset app is executed; And detecting at least one execution candidate app corresponding to the recognized specific situation by referring to the app recommendation table as a specific situation is recognized among the designated number of situations, and determining the at least one at least one application candidate time. And an app recommendation unit configured to output an execution candidate app through a user interface.

본 기술의 일 실시예에 의한 앱 추천 서비스 방법은 복수의 센서를 구비하는 사용자 단말기에서의 앱 추천 서비스 방법으로서, 상기 사용자 단말기가 상기 복수의 센서에서 제공되는 센서정보로부터 생성된 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하도록 학습하고, 상기 지정된 개수의 상황 각각에 대한 적어도 하나의 실행 후보 앱을 테이블로 생성하고, 앱 추천 시점을 학습하는 훈련모드를 수행하는 단계; 및 상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라, 상기 테이블로부터 상기 특정 상황에 대응하는 적어도 하나의 실행 앱을 검출하고, 상기 센서정보벡터의 시계열 데이터에 응답하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 판단하여, 상기 앱 추천 시점으로 판단한 시점에 상기 검출한 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하는 추천모드를 수행하는 단계;를 포함하고,상기 앱 추천 시점을 학습하는 단계는, 상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하는 단계를 포함하고, 상기 앱 추천 시점을 판단하는 단계는, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하는 단계를 포함하며, 상기 선행하는 이벤트는 상기 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성될 수 있다.App recommendation service method according to an embodiment of the present technology is an app recommendation service method in a user terminal having a plurality of sensors, the time series of the sensor information vector generated by the user terminal from the sensor information provided by the plurality of sensors A training mode for learning to estimate a specified number of situations using an unsupervised learning method using data, generating at least one execution candidate app for each of the specified number of situations as a table, and learning an app recommendation time point. Performing; And when the user terminal recognizes a specific situation among the specified number of situations in response to the time series data of the sensor information vector, detects at least one execution app corresponding to the specific situation from the table, and detects the sensor information vector. In response to the time series data of the user estimates the probability of the moment when the user wants to run the app to determine the app recommendation time, the recommendation for outputting the detected at least one execution candidate app through the user interface at the time determined as the app recommendation time And performing a mode, wherein learning the app recommendation time point includes time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and User launches app based on preceding event before app launches And estimating an app recommendation time point by estimating a probability to be a moment to be increased, and determining the app recommendation time point is an app recommendation time point when the estimated probability value at the moment of executing the app exceeds a preset threshold. And determining, wherein the preceding event includes a point in time when the user terminal detects a lifting operation, a point in time when the screen of the user terminal is turned on, or a point in time when a preset app is executed. It can be configured to.

본 기술에 의하면, 사용자의 상황을 판단하여 사용자가 유사하거나 동일한 상황에서 사용해 왔던 앱, 또는 유사하거나 동일한 상황에서 다른 사용자들이 많이 사용한 앱을 추천해 줄 수 있다.According to the present technology, it is possible to determine a user's situation and recommend an app that the user has used in a similar or identical situation, or an app used by other users in a similar or identical situation.

특히, 사용자의 어떠한 개입도 없이 사용자의 상황을 인지하고, 그에 대응하는 실행 후보 앱을 추천할 수 있으므로 편리성을 증대시킬 수 있다.In particular, the user's situation can be recognized without any user's intervention, and a corresponding candidate candidate can be recommended, thereby increasing convenience.

더욱이, 앱 추천 시점을 학습 및 판단하는 데 있어서, 단순히 센서 정보 벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 시계열 데이터에 더하여 특정 앱이 실행되기 전에 선행하는 이벤트를 고려할 수 있다.Further, in learning and determining the app recommendation time point, in addition to the time series data of the sensor information vector or time series data having probability values of each situation, the preceding event may be considered before the specific app is executed.

그러므로, 시간 또는 공간에 따른 사용자의 앱 사용 패턴에 기초하여 사전에 결정지어진 시점이나 공간에서 앱을 추천하는 것이 아니라, 선행 이벤트에 기초하여 앱을 실행시키려는 순간일 확률을 실시간으로 반영할 수 있으므로 보다 정확한 시점에 앱을 추천할 수 있는 효과가 있다.Therefore, rather than recommending the app at a predetermined time or space based on the user's app usage pattern over time or space, it is possible to reflect in real time the probability that the app is to be executed based on a preceding event. It has the effect of recommending the app at the right time.

도 1은 일 실시예에 의한 앱 추천 시스템의 구성도이다.
도 2는 일 실시예에 의한 사용자 단말기의 구성도이다.
도 3은 일 실시예에 의한 앱 추천 테이블의 구성도이다.
도 4는 일 실시예에 의한 앱 추천 화면을 설명하기 위한 도면이다.
도 5 내지 도 7은 일 실시예에 의한 앱 추천 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시예에 의한 앱 추천 서비스 서버의 구성도이다.
1 is a block diagram of an app recommendation system according to an exemplary embodiment.
2 is a block diagram of a user terminal according to an exemplary embodiment.
3 is a block diagram of an app recommendation table according to an embodiment.
4 is a diagram illustrating an app recommendation screen according to an exemplary embodiment.
5 to 7 are flowcharts illustrating an app recommendation method according to an embodiment.
8 is a block diagram of an app recommendation service server according to an exemplary embodiment.

이하, 첨부된 도면을 참조하여 본 기술의 실시예를 보다 구체적으로 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present technology in more detail.

도 1은 일 실시예에 의한 앱 추천 시스템의 구성도이다.1 is a block diagram of an app recommendation system according to an exemplary embodiment.

도 1을 참조하면, 앱 추천 시스템(10)은 사용자 단말기(110) 및 앱 추천 서비스 서버(120)를 포함할 수 있다. 사용자 단말기(110)와 앱 추천 서비스 서버(120)는 통신망(130)을 통해 접속될 수 있다.Referring to FIG. 1, the app recommendation system 10 may include a user terminal 110 and an app recommendation service server 120. The user terminal 110 and the app recommendation service server 120 may be connected through the communication network 130.

사용자 단말기(110)는 복수의 센서를 구비할 수 있다.The user terminal 110 may be provided with a plurality of sensors.

일 실시예에서, 복수의 센서에는 터치센서, GPS센서, 자이로 센서, 가속(모션)센서, 진동센서, 근접센서, 자석센서, 지자기 센서, 조도센서 등이 포함될 수 있으며, 사용자 단말기의 사양에 따라 추가적인 센서들이 더 구비될 수 있다.In an embodiment, the plurality of sensors may include a touch sensor, a GPS sensor, a gyro sensor, an acceleration (motion) sensor, a vibration sensor, a proximity sensor, a magnet sensor, a geomagnetic sensor, an illuminance sensor, and the like, according to the specifications of the user terminal. Additional sensors may be further provided.

사용자 단말기(110)는 복수의 센서에서 출력되는 정보로부터 센서정보벡터의 시계열 데이터를 생성하고, 이에 기초하여 상황을 추정할 수 있다.The user terminal 110 may generate time series data of the sensor information vector from the information output from the plurality of sensors, and estimate the situation based on the time series data.

일 실시예에서, 사용자 단말기(110)는 훈련모드 및 추천모드로 동작할 수 있다. 훈련모드는, 사용자 단말기(110)에 대한 복수(K개)의 상황을 추정하고 각 상황에 대응하는 적어도 하나의 실행 후보 앱을 결정하며, 실행 후보 앱을 추천할 시점을 추정(학습)하는 모드일 수 있다. 추천모드는, 사용자 단말기(110)의 상황이 기 추정된 복수(K개)의 상황 중 특정 상황일 확률을 추정하고, 추정된 특정 상황에 대응하여 기 결정되어 있는 적어도 하나의 실행 후보 앱을 검출하여, 추정(판단)된 추천 시점에 검출된 실행 후보 앱을 제시하는 모드일 수 있다. 추천모드에서 실제 앱의 실행 여부 및 어떤 앱이 실행되었는지는 앱 추천 시점 추정 및 상황별 실행 후보 앱을 결정하는 데 반영될 수 있다.In one embodiment, the user terminal 110 may operate in a training mode and a recommendation mode. The training mode is a mode for estimating a plurality (K) situations of the user terminal 110, determining at least one execution candidate app corresponding to each situation, and estimating (learning) a time point for recommending the execution candidate app. Can be. The recommendation mode estimates a probability that the situation of the user terminal 110 is a specific situation among a plurality of estimated K situations, and detects at least one execution candidate app determined in correspondence to the estimated specific situation. Thus, the present invention may be a mode for presenting the execution candidate app detected at the estimated (predicted) recommendation time point. Whether or not the actual app is executed in the recommendation mode and which app is executed may be reflected in estimating the app recommendation time and determining the candidate candidate for the execution of the situation.

일 실시예에서, 사용자 단말기(110)는 훈련모드에서, 지정된 시간 동안 센서정보벡터의 시계열 데이터로부터 지정된 개수(K)의 상황을 추정할 수 있다. 또한, 사용자 단말기(110)는 추천모드에서, 센서정보벡터의 시계열 데이터로부터 미리 정해진 K개의 상황 중 특정 상황일 확률을 매시간 추정할 수 있다.In an exemplary embodiment, the user terminal 110 may estimate a predetermined number K of situations from the time series data of the sensor information vector for a specified time in the training mode. In addition, in the recommendation mode, the user terminal 110 may estimate the probability of a specific situation among K predetermined situations from the time series data of the sensor information vector every hour.

사용자 단말기(110)는 센서정보벡터의 시계열 데이터에 기초하여 앱 추천 시점을 추정(학습)할 수 있다. 일 실시예에서, 사용자 단말기(110)는 훈련모드에서, 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 K차원 벡터의 시계열 데이터와, 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트를 검출하고, 이에 기초하여 앱 추천 시점을 추정(판단)할 수 있다. 사용자 단말기(110)는 추천모드에서, 센서정보벡터의 시계열 데이터에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하고, 추정된 확률 값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단할 수 있다. 예를 들어, 사용자가 사용자 단말기(110)를 들어 올리는 동작을 감지한 시점, 또는 알람 기능이나 외부 버튼 등에 의해 화면이 켜지는 상태를 감지하는 시점 등이 사용자가 앱을 실행시키려는 순간이 될 수 있다.The user terminal 110 may estimate (learn) an app recommendation point based on time series data of the sensor information vector. In one embodiment, the user terminal 110, in the training mode, detects the time series data of the sensor information vector or time series data of the K-dimensional vector having a probability value of each situation, and an event that the user preprocesses to execute a specific app. Based on this, the app recommendation point may be estimated (determined). In the recommendation mode, the user terminal 110 estimates the probability of the moment when the user wants to execute the app based on the time series data of the sensor information vector, and determines the app recommendation time when the estimated probability value exceeds the preset threshold. have. For example, a point in time when the user detects an operation of lifting the user terminal 110 or a point in time when the screen is turned on by an alarm function or an external button may be a moment when the user tries to run the app. .

사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트는 예를 들어, 론처 앱(시작화면 앱)의 실행 또는 다른 앱의 실행일 수 있으나 이에 한정되지 않으며, 앱 추천 시점은 선행처리 이벤트 발생시점보다 기 설정된 시간 이전으로 추정될 수 있다.The event that the user preprocesses to launch a specific app may be, for example, the launch of a launcher app (starting screen app) or the execution of another app, but is not limited thereto, and the app recommendation point is earlier than the occurrence of the preprocess event. It can be estimated before the set time.

사용자 단말기(110)는 추정된 K개의 상황 각각에 대하여 사용자가 실제 실행한 앱(들) 및 각 앱들의 실행 빈도를 앱 추천 테이블로 생성할 수 있다. 앱 추천 테이블은 사용자 단말기(110)에서 각 상황별로 앱이 실행될 때마다 업데이트될 수 있음은 물론이다.The user terminal 110 may generate the app recommendation table of the app (s) actually executed by the user and the execution frequency of each app for each of the estimated K situations. The app recommendation table may be updated whenever the app is executed for each situation in the user terminal 110.

사용자 단말기(110)는 추천모드에서, K개의 상황 중 특정 상황이 인지되는 경우 앱 추천 테이블을 참조하여 실행 후보 앱을 검출하고, 추정된 앱 추천 시점에 실행 후보 앱을 디스플레이할 수 있다.In a recommendation mode, the user terminal 110 may detect an execution candidate app by referring to an app recommendation table when a specific situation is recognized among K situations, and display the execution candidate app at an estimated app recommendation time.

이에 따라, 사용자는 실행 후보 앱 중에서 어느 하나를 선택하거나 이를 선택하지 않고 다른 앱을 선택하거나, 또는 아무 앱도 선택하지 않을 수 있으며, 사용자의 반응에 따라 앱 추천 시점 학습 및 앱 추천 테이블 업데이트가 수행될 수 있다.As a result, the user can select one of the candidate apps to run or not to select another app, or no app, and the app recommendation point learning and the app recommendation table update are performed according to the user's reaction. Can be.

일 실시예에서, 사용자 단말기(110)는 복수의 상황을 추정하기 위해 센서정보벡터의 시계열 데이터를 입력으로 한 비지도(Unsupervised Learning) 학습 방법을 이용할 수 있으며 특히 기대값 최대화(Expectation Maximization) 알고리즘을 사용할 수 있다. 상황 추정을 위해 비지도학습 방법을 이용함에 따라 사용자로부터 어떠한 사전정보도 제공받지 않고도 사용자 단말기(110)의 상황을 추정할 수 있다.In an embodiment, the user terminal 110 may use an unsupervised learning learning method using input of time series data of a sensor information vector to estimate a plurality of situations, and in particular, an expectation maximization algorithm may be used. Can be used By using the non-supervised learning method for situation estimation, the situation of the user terminal 110 may be estimated without receiving any prior information from the user.

또한, 사용자 단말기(110)는 복수의 상황 중 특정 상황일 확률을 추정하기 위해 확률적 모델, 신경망 등을 추정 모델로 사용할 수 있다.In addition, the user terminal 110 may use a stochastic model, a neural network, or the like as an estimation model to estimate a probability of a specific situation among a plurality of situations.

앱 추천 시점 학습을 위해서는 지도학습 방법 또는 강화학습 방법을 이용할 수 있다. 강화학습 방법을 이용하는 경우, 추정된 시점에 사용자가 앱을 실행시키지 않을 경우 그 순간은 앱 추천 시점에서 제외하도록 학습할 수 있다.App learning point recommendation learning or reinforcement learning method can be used. In the case of using the reinforcement learning method, when the user does not run the app at the estimated time, the user may learn to exclude the moment from the app recommendation time.

한편, 사용자 단말기(110)는 의미 있는, 즉 신뢰할 만한 통계치가 획득되는 동안은 상황 추정 및 추천 시점을 학습하는 훈련모드로 동작할 수 있고, 이후 의미 있는 데이터가 획득되면 추천모드로 동작할 수 있다.On the other hand, the user terminal 110 may operate in a training mode for learning situation estimation and recommendation points while meaningful, ie reliable statistics are obtained, and then operate in a recommendation mode when meaningful data is obtained. .

일 실시예에서, 사용자 단말기(110)는 훈련모드에서 앱 추천 서비스 서버(120)로부터 초기 파라미터를 제공받아 앱 추천 서비스를 제공할 수 있다. 초기 파라미터는 다른 사용자의 상황에 따른 앱 추천 데이터일 수 있고, 바람직하게는 이들의 산술적 평균치로부터 생성된 데이터일 수 있다. 아울러, 사용자 단말기(110)에서 추정된 상황에 따른 앱 추천 데이터는 기 설정된 주기마다 앱 추천 서비스 서버(120)로 전송되어 다른 사용자 단말기에 대한 초기 파라미터를 결정하는 데 이용될 수 있다.In one embodiment, the user terminal 110 may receive an initial parameter from the app recommendation service server 120 in the training mode to provide an app recommendation service. The initial parameter may be app recommendation data according to the situation of another user, preferably data generated from their arithmetic mean value. In addition, the app recommendation data according to the situation estimated by the user terminal 110 may be transmitted to the app recommendation service server 120 at predetermined intervals and used to determine initial parameters for other user terminals.

한편, 앱 추천 서비스 서버(120)는 앱 추천 서비스 이용자의 성별, 연령대, 직업군 등을 포함하는 사용자 정보에 기초하여 초기 파라미터를 세분화할 수 있다. 아울러, 초기 파라미터를 필요로 하는 사용자 단말기(110)의 사용자 정보에 맞는 초기 파라미터를 제공할 수 있다.Meanwhile, the app recommendation service server 120 may subdivide the initial parameter based on user information including the gender, age group, occupation group, etc. of the user of the app recommendation service. In addition, an initial parameter suitable for user information of the user terminal 110 requiring the initial parameter may be provided.

이와 같이, 본 기술에 의하면 센서정보벡터의 시계열 데이터에 기초하여 사용자 단말기(110)의 상황을 추정하고, 추정된 상황에서 실행될 수 있는 적어도 하나의 실행 후보 앱을 사용자에게 추천할 수 있다.As described above, according to the present technology, the situation of the user terminal 110 may be estimated based on time series data of the sensor information vector, and at least one execution candidate app that may be executed in the estimated situation may be recommended to the user.

사용자 단말기(110)의 후보 상황은 시간에 따라 출력되는 센서정보에 의거하여 비지도 학습 방식으로 추정되고, 앱을 추천하는 시점은 사용자 단말기(110)에서 사용자가 앱을 실행시키기 위해 수행하는 이벤트로부터 추정되므로, 사용자가 앱 추천 서비스를 위해 어떠한 사전정보도 제공하는 불편함 없이 사용자의 상황에 맞는 앱을 추천할 수 있다.The candidate situation of the user terminal 110 is estimated in a non-supervised learning method based on sensor information output over time, and the time point of recommending the app is from an event performed by the user in the user terminal 110 to execute the app. Since it is estimated, the user can recommend an app that fits the user's situation without the inconvenience of providing any prior information for the app recommendation service.

일 실시예에서, 앱 추천 서비스 서버(120)는 상술한 앱 추천 서비스 기능을 어플리케이션 형태로 제작하여 사용자 단말기(110)로 배포할 수 있다.In one embodiment, the app recommendation service server 120 may produce the above-described app recommendation service function in the form of an application and distribute it to the user terminal 110.

도 2는 일 실시예에 의한 사용자 단말기의 구성도이다.2 is a block diagram of a user terminal according to an exemplary embodiment.

도 2를 참조하면, 사용자 단말기(20)는 컨트롤러(210), 통신모듈(220), 저장부(230), 사용자 인터페이스(UI, 240), 센서들(250), 센서정보 처리부(260), 상황 추정부(270), 시점 추정부(280) 및 앱 추천부(290)를 포함할 수 있다.Referring to FIG. 2, the user terminal 20 includes a controller 210, a communication module 220, a storage 230, a user interface (UI) 240, sensors 250, a sensor information processor 260, It may include a situation estimator 270, a view estimator 280, and an app recommender 290.

컨트롤러(210)는 사용자 단말기(20)의 전체적인 동작을 제어하는 프로세서일 수 있다.The controller 210 may be a processor that controls the overall operation of the user terminal 20.

통신모듈(220)은 사용자 단말기(20)가 통신망 또는 타 장치에 접속할 수 있는 환경을 제공할 수 있다.The communication module 220 may provide an environment in which the user terminal 20 may access a communication network or another device.

저장부(230)는 주기억장치 및 보조기억장치를 포함할 수 있으며, 사용자 단말기(20)가 동작하는 데 필요한 프로그램, 제어 데이터, 응용 프로그램 등이 저장될 수 있다.The storage unit 230 may include a main memory device and an auxiliary memory device, and may store a program, control data, an application program, etc. necessary for the user terminal 20 to operate.

사용자 인터페이스(240)는 입력장치 및 출력장치를 포함할 수 있다. 입력장치를 통해서는 사용자로부터의 명령이 입력될 수 있다. 출력장치는 사용자 단말기(20)의 동작 상황, 명령 처리 상황, 동작 결과, 명령 처리 결과 등을 출력할 수 있다.The user interface 240 may include an input device and an output device. Commands from a user may be input through the input device. The output device may output an operation state, a command processing state, an operation result, a command processing result, and the like of the user terminal 20.

센서들(250)에는 터치센서, GPS센서, 자이로 센서, 가속(모션)센서, 진동센서, 근접센서, 자석센서, 지자기 센서, 조도센서 등이 포함될 수 있으며, 사용자 단말기의 사양에 따라 추가적인 센서들이 더 구비될 수 있다.The sensors 250 may include a touch sensor, a GPS sensor, a gyro sensor, an acceleration (motion) sensor, a vibration sensor, a proximity sensor, a magnet sensor, a geomagnetic sensor, an illumination sensor, and the like, and additional sensors according to the specifications of the user terminal. It may be further provided.

센서정보 처리부(260)는 복수(M)개의 센서들(250)로부터 제공되는 센서정보로부터 센서정보벡터를 생성할 수 있다. 이를 위해 센서정보 처리부(260)는 M개 센서 각각의 출력값을 전처리하고, 이로부터 센서정보벡터(MX1 벡터)를 생성할 수 있다. 일 실시예에서, 센서정보의 전처리는 정규화, 양자화 등이 될 수 있다. 아울러, 센서정보 처리부(260)는 복수 개의 센서들(250)의 출력정보를 시간에 따라 수신할 수 있으며, 이에 따라 센서정보벡터의 시계열 데이터를 생성할 수 있다.The sensor information processor 260 may generate a sensor information vector from sensor information provided from the plurality of M sensors 250. To this end, the sensor information processing unit 260 may preprocess the output values of each of the M sensors, and generate a sensor information vector (MX1 vector) therefrom. In one embodiment, the preprocessing of the sensor information may be normalization, quantization, or the like. In addition, the sensor information processor 260 may receive output information of the plurality of sensors 250 over time, thereby generating time series data of the sensor information vector.

상황 추정부(270)는 센서정보 처리부(260)에서 제공되는 센서정보벡터의 시계열 데이터에 기초하여 상황을 추정할 수 있다. 일 실시예에서, 상황 추정부(270)는 훈련모드에서, 지정된 시간 동안 센서정보벡터의 시계열 데이터로부터 지정된 개수(K)의 상황을 추정할 수 있다. 또한, 상황추정부(270)는 추천모드에서, 센서정보벡터의 시계열 데이터로부터 미리 정해진 K개의 상황 중 특정 상황일 확률을 추정할 수 있다.The situation estimator 270 may estimate the situation based on time series data of the sensor information vector provided by the sensor information processor 260. In an exemplary embodiment, the situation estimator 270 may estimate a predetermined number K of situations from the time series data of the sensor information vector in a training mode. Also, in the recommendation mode, the situation estimator 270 may estimate the probability of the specific situation among the K predetermined situations from the time series data of the sensor information vector.

일 실시예에 의한 훈련모드에서, 상황 추정부(270)는 K개의 상황을 추정하기 위하여 비지도(Unsupervised Learning) 학습 방법을 이용할 수 있으며 특히 기대값 최대화(Expectation Maximization) 알고리즘을 사용할 수 있다.In a training mode according to an embodiment, the situation estimator 270 may use an unsupervised learning method to estimate K situations, and in particular, may use an expectation maximization algorithm.

일 실시예에 의한 추천모드에서, 상황 추정부(270)는 기 설정된 시간 동안 센서정보벡터의 시계열 데이터를 입력으로 하고 K개의 출력을 가지는 확률적 모델, 신경망(예를 들어, Feedforward neural network) 등을 추정 모델로 사용하여 K개의 상황 중 특정 상황일 확률을 추정할 수 있다. 다른 실시예에서, 상황 추정부(270)는 시계열로 입력되는 센서정보벡터(MX1)를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 추정 모델, 예를 들어 확률적 모델, 신경망 등)을 특정 상황일 확률을 추정하기 위한 모델로 사용할 수 있다. 확률적 모델은 예를 들어 은닉 마르코프 모델(Hidden Markov Model)이 이용될 수 있다. 신경망은 예를 들어 순환형 신경망(Recurrent Neural Network), 제한 볼츠만 머신(Restricted Boltzmann Machine), 장단기 기억(Long Short-Term Memory; LSTM) 네트워크 등이 이용될 수 있다.In the recommendation mode according to an embodiment, the situation estimator 270 inputs time series data of the sensor information vector for a predetermined time and has a K output, a stochastic model, a neural network (for example, a feedforward neural network), and the like. Can be used as an estimation model to estimate the probability of a specific situation among K situations. In another embodiment, the situation estimator 270 receives the sensor information vector MX1 inputted as a time series and inputs an estimation model, for example, a stochastic model or a neural network, which is dependent on a previous time state. It can be used as a model for estimating one probability. Probabilistic models can be used, for example, the Hidden Markov Model. The neural network may be, for example, a recurrent neural network, a restricted boltzmann machine, a long short-term memory (LSTM) network, or the like.

상황 추정부(270)는 K개의 상황을 추정하면서, 각각의 상황에서 사용자가 선택하여 실행시킨 앱을 실행 빈도에 따라 정렬하여 테이블화한 앱 추천 테이블을 저장부(230)에 저장할 수 있다. 앱 추천 테이블은 각 상황별로 앱이 실행될 때마다 업데이트될 수 있음은 물론이다.The situation estimator 270 may store the app recommendation table in which the apps selected and executed by the user in each situation are sorted and tabled according to the execution frequency while estimating the K situations, in the storage 230. Of course, the app recommendation table may be updated whenever the app is executed for each situation.

도 3은 일 실시예에 의한 앱 추천 테이블의 구성도이다.3 is a block diagram of an app recommendation table according to an embodiment.

상황 추정부(270)에 의해 K개의 상황이 추정되며, 각 상황 별로 실행된 앱의 종류, 앱 종류 별 빈도수가 테이블화되어 저장될 수 있다. 예를 들어, 특정 상황(n)에서 SMS서비스 앱, 전화통화 앱, 채팅앱, 소셜 네트워크 서비스(SNS) 앱이 각각 59/100, 30/100, 7/100 4/100의 빈도수로 실행되었음을 알 수 있다.K situations are estimated by the situation estimating unit 270, and the types of apps executed for each situation and the frequency for each app type may be stored in a table. For example, in certain situations (n), the SMS service app, phone call app, chat app, and social network service (SNS) app were run at a frequency of 59/100, 30/100, and 7/100 4/100, respectively. Can be.

시점 추정부(280)는 센서정보 처리부(260)로부터 제공되는 센서정보벡터의 시계열 데이터에 기초하여 앱 추천 시점을 추정할 수 있다.The viewpoint estimator 280 may estimate the app recommendation timing based on the time series data of the sensor information vector provided from the sensor information processor 260.

일 실시예에 의한 훈련모드에서, 시점 추정부(280)는 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 K차원 벡터의 시계열 데이터와, 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트를 검출하고, 이에 기초하여 앱 추천 시점을 학습할 수 있다. 일 실시예에서, 시점 추정부(280)는 지도학습 방법 또는 강화학습 방법을 이용하여 앱 추천 시점을 추정할 수 있다. 강화학습 방법을 이용하는 경우, 추정된 시점에 사용자가 앱을 실행시키지 않을 경우 그 순간은 앱 추천 시점에서 제외하도록 학습할 수 있다.In a training mode according to an exemplary embodiment, the viewpoint estimator 280 may perform time series data of a sensor information vector or time series data of a K-dimensional vector having a probability value of each situation, and an event that the user preprocesses to execute a specific app. The app recommendation time can be learned based on the detection. In one embodiment, the view estimator 280 may estimate the app recommendation point by using the map learning method or the reinforcement learning method. In the case of using the reinforcement learning method, when the user does not run the app at the estimated time, the user may learn to exclude the moment from the app recommendation time.

일 실시예에 의한 추천모드에서, 시점 추정부(280)는 센서정보벡터의 시계열 데이터에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하고, 추정된 확률 값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단할 수 있다. 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트는 예를 들어, 론처 앱(시작화면 앱)의 실행 또는 다른 앱의 실행일 수 있으나 이에 한정되지 않으며, 앱 추천 시점은 선행처리 이벤트 발생시점보다 기 설정된 시간 이전으로 판단될 수 있다.In the recommendation mode according to an exemplary embodiment, the view estimator 280 estimates a probability of a moment when a user wants to execute an app based on time series data of a sensor information vector, and if the estimated probability value exceeds a preset threshold, It can be determined by the recommendation point. The event that the user preprocesses to launch a specific app may be, for example, the launch of a launcher app (starting screen app) or the execution of another app, but is not limited thereto, and the app recommendation point is earlier than the occurrence of the preprocess event. It may be determined before a set time.

앱 추천부(290)는 상황 추정부(270)에 의해 K개의 상황 중 특정 상황이 인지되는 경우, 저장부(230)에 저장되어 있는 앱 추천 테이블을 참조하여 적어도 하나의 실행 후보 앱을 검출하고, 시점 추정부(280)에서 추정한 추천 시점에 검출된 실행 후보 앱을 사용자 인터페이스(240)를 통해 출력할 수 있다. 적어도 하나의 실행 후보 앱은 앱 추천 테이블을 참조하여 실행 빈도에 따라 지정된 개수만큼 검출될 수 있다. 적어도 하나의 실행 후보 앱은 사용자 인터페이스(240)에 시각적 또는 청각적으로 표출될 수 있다.The app recommender 290 detects at least one execution candidate app by referring to an app recommendation table stored in the storage 230 when a specific situation is recognized by the situation estimator 270. The execution candidate app detected at the recommended time point estimated by the time estimator 280 may be output through the user interface 240. At least one execution candidate app may be detected by a specified number according to an execution frequency with reference to an app recommendation table. At least one execution candidate app may be visually or audibly displayed on the user interface 240.

도 4는 일 실시예에 의한 앱 추천 화면을 설명하기 위한 도면이다.4 is a diagram illustrating an app recommendation screen according to an exemplary embodiment.

도 3과 같이 앱 추천 테이블이 저장되어 있고, 상황 추정부(270)에 의해 현재 상황이 상황(n)인 것으로 추정되는 경우, 앱 추천부(290)는 앱 추천 테이블을 참조하여 실행 후보 앱으로서 SMS서비스 앱, 전화통화 앱, 채팅앱, 소셜 네트워크 서비스(SNS) 앱을 검출하고, 이에 대응하는 앱 추천 윈도우(30)를 시각적으로, 예를 들어 팝-업 형태로 제시할 수 있다.When the app recommendation table is stored as shown in FIG. 3 and the current situation is estimated by the situation estimator 270 to be the situation n, the app recommender 290 refers to the app recommendation table as an execution candidate app. The SMS service app, the phone call app, the chat app, and the social network service (SNS) app may be detected and the app recommendation window 30 corresponding thereto may be visually presented, for example, in a pop-up form.

적어도 하나의 실행 후보 앱이 추천됨에 따라, 사용자는 실행 후보 앱 중에서 어느 하나를 선택하거나 이를 선택하지 않고 다른 앱을 선택하거나, 또는 아무 앱도 선택하지 않을 수 있다. 이러한 사용자의 반응에 따라 시점 추정부(280) 및 상황 추정부(270)가 동작하여 앱 추천 시점 학습 및 앱 추천 테이블 업데이트가 수행될 수 있다.As at least one launch candidate app is recommended, the user may select another app with or without selecting any one of the launch candidate apps, or no app. In response to the user's response, the viewpoint estimator 280 and the situation estimator 270 may operate to perform app recommendation point learning and app recommendation table update.

앱 추천 윈도우(30)는 기 설정된 시간 동안 사용자의 반응이 없는 경우 자동으로 사라지도록 구성할 수 있다.The app recommendation window 30 may be configured to automatically disappear when there is no user response for a preset time.

아울러, 앱 추천 윈도우(30)는 이미 앱 추천 윈도우(30)가 팝업된 상황에서는 다른 앱 추천 윈도우가 표시되지 않도록, 또는 팝업 윈도우에 표시되는 실행 후보 앱을 새로운 후보 앱들로 변경하도록 제어되는 것이 바람직하다.In addition, the app recommendation window 30 is preferably controlled so that another app recommendation window is not displayed when the app recommendation window 30 is already popped up, or to change the running candidate app displayed in the popup window to new candidate apps. Do.

도 5 내지 도 7은 일 실시예에 의한 앱 추천 방법을 설명하기 위한 흐름도이다.5 to 7 are flowcharts illustrating an app recommendation method according to an embodiment.

도 5는 앱 추천 방법 중 훈련모드의 동작 방법에 대한 일 실시예를 설명하기 위한 도면이다.FIG. 5 is a diagram illustrating an embodiment of a method of operating a training mode among app recommendation methods.

사용자 단말기(20)에 구비된 복수의 센서들로부터 출력정보가 제공됨에 따라, 센서정보 처리부(260)는 센서정보벡터의 시계열 데이터를 생성할 수 있다(S101).As output information is provided from a plurality of sensors provided in the user terminal 20, the sensor information processor 260 may generate time series data of the sensor information vector (S101).

상황 추정부(270)는 센서정보벡터의 시계열 데이터에 응답하여 기 설정된 개수(K개)의 상황을 추정할 수 있다(S103).The situation estimator 270 may estimate a predetermined number (K) of situations in response to the time series data of the sensor information vector (S103).

아울러, 상황 추정부(270)는 K개의 상황을 추정하면서, 각각의 상황에서 사용자가 선택하여 실행시킨 앱을 실행 빈도에 따라 정렬하여 앱 추천 테이블을 생성할 수 있다(S105).In addition, the situation estimator 270 may generate the app recommendation table by estimating K situations and sorting the apps selected and executed by the user in each situation according to the execution frequency (S105).

한편, 시점 추정부(280)는 센서정보벡터의 시계열 데이터에 응답하여 앱 추천 시점을 학습할 수 있다(S107).On the other hand, the view estimator 280 may learn the app recommendation time in response to the time series data of the sensor information vector (S107).

K개의 상황을 추정하기 위한 학습 방법 및 앱 추천 시점을 추정하기 위한 학습 방법은 상술한 예시적인 방법들이 이용될 수 있다.The above-described example methods may be used as a learning method for estimating K situations and a learning method for estimating an app recommendation time point.

한편, 상황 추정부(270)에서 생성한 앱 추천 테이블은 앱 추천 데이터로 가공되어 기 설정된 주기마다 앱 추천 서비스 서버(120)로 전송될 수 있다(S109). 이러한 앱 추천 데이터는 다른 사용자 단말기에 대한 초기 파라미터를 결정하는 데 이용될 수 있다.Meanwhile, the app recommendation table generated by the situation estimator 270 may be processed into app recommendation data and transmitted to the app recommendation service server 120 at predetermined intervals (S109). Such app recommendation data can be used to determine initial parameters for other user terminals.

도 6은 앱 추천 방법 중 추천모드의 동작 방법에 대한 일 실시예를 설명하기 위한 도면이다.6 is a view for explaining an embodiment of an operation method of a recommendation mode among app recommendation methods.

훈련모드를 통해 신뢰할 만한 데이터가 누적된 후 추천모드가 실행될 수 있다.Through training mode, the recommended mode can be executed after reliable data is accumulated.

상황 추정부(270)는 센서정보 처리부(260)로부터 제공되는 센서정보벡터의 시계열 데이터를 수신하고(S201), 이에 응답하여 복수개(K개)의 상황 중 특정 상황일 확률을 추정할 수 있다(S203).The situation estimator 270 may receive time series data of the sensor information vector provided from the sensor information processor 260 (S201), and in response thereto, may estimate a probability of a specific situation among a plurality of K situations (K). S203).

특정 상황인 것으로 추정되면, 즉 사용자 단말기의 상황이 인지되면, 시점 추정부(280)를 통해 앱 추천 시점을 추정함과 함께(S205), 앱 추천부(290)를 통해 추정된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱이 검출될 수 있다(S207).If it is estimated that the specific situation, that is, when the situation of the user terminal is recognized, the time estimation unit 280 estimates the app recommendation time (S205), corresponding to the specific situation estimated through the app recommender 290 At least one execution candidate app may be detected (S207).

그리고, 앱 추천부(290)는 단계 S205에서 시점 추정부(280)에 의해 판단된 앱 추천 시점에, 단계 S207에서 앱 추천부(290)가 검출한 적어도 하나의 실행 후보 앱을 사용자에게 제시할 수 있다(S209). 이때, 실행 후보 앱은 시각적, 청각적 방식으로 제시할 수 있으며, 바람직하게는 해당 상황에서 실행된 빈도수에 따라 기 설정된 조건(좌우 정렬, 상하 정렬 등)으로 정렬되어 제시될 수 있다.The app recommender 290 may present the user with at least one execution candidate app detected by the app recommender 290 at step S207 at the app recommendation time determined by the viewpoint estimator 280 in step S205. It may be (S209). In this case, the execution candidate app may be presented in a visual and audio manner, and preferably, may be presented in a predetermined condition (left-right alignment, vertical alignment, etc.) according to the frequency of execution in the corresponding situation.

도 7은 앱 추천 방법 중 업데이트 방법의 일 실시예를 설명하기 위한 도면이다.7 is a view for explaining an embodiment of an update method among app recommendation methods.

도 6의 과정을 통해 적어도 하나의 실행 후보 앱이 추천된 후 사용자의 반응에 따라 앱 추천 시점이 재학습되고 앱 추천 테이블이 업데이트될 수 있으며, 도 7은 이러한 과정을 설명하기 위한 흐름도이다.After recommending at least one execution candidate app through the process of FIG. 6, the app recommendation time point may be re-learned and the app recommendation table may be updated according to the user's response, and FIG. 7 is a flowchart illustrating this process.

실행 후보 앱이 추천됨에 따라, 사용자는 이에 대해 반응 이벤트를 입력하거나 무반응할 수 있다. 여기에서, 반응 이벤트는 실행 후보 앱 중에서 어느 하나를 선택하는 것 및 실행 후보 앱을 선택하지 않고 다른 앱을 선택하는 것을 포함할 수 있다.As the launch candidate app is recommended, the user can enter or not respond to a response event. Here, the reaction event may include selecting any one of the execution candidate apps and selecting another app without selecting the execution candidate app.

기 설정된 시간 동안 사용자가 무반응하는 경우(S301:N), 앱 추천부(290)는 예를 들어 앱 추천 윈도우를 삭제할 수 있다(S303).If the user is unresponsive for a preset time (S301: N), the app recommendation unit 290 may delete the app recommendation window (S303).

반응 이벤트가 발생하는 경우(S301:Y), 상황 추정부(270)는 실행 후보 앱 중 어느 하나가 선택되었는지의 여부를 판단할 수 있다(S305). 실행 후보 앱 중 어느 하나가 선택된 경우(S305:Y), 실행 후보 앱의 선택 시점 및 앱의 종류에 따라, 시점 추정부(280) 및 상황 추정부(270)에 의해 앱 추천 시점이 재학습되고 및 앱 추천 테이블이 업데이트될 수 있다(S307). 단계 S305에서 사용자가 선택한 앱이 실행되는 과정이 별도로 진행됨은 물론이다.When a reaction event occurs (S301: Y), the situation estimator 270 may determine whether any one of the execution candidate apps is selected (S305). If any one of the execution candidate apps is selected (S305: Y), the app recommendation point is re-learned by the point of time estimator 280 and the situation estimator 270 according to the selection point of time and the type of the app. And the app recommendation table may be updated (S307). Of course, the process of executing the app selected by the user in step S305 is performed separately.

한편, 실행 후보 앱이 아닌 다른 앱이 선택된 경우(S305:N), 시점 추정부(280)에 의해 앱 추천 시점이 재학습 될 수 있다(S309). 아울러, 사용자가 실행시킨 앱의 종류에 따라 앱 추천 테이블이 업데이트될 수 있다(S311).Meanwhile, when an app other than the execution candidate app is selected (S305: N), the app recommendation time point may be re-learned by the view estimator 280 (S309). In addition, the app recommendation table may be updated according to the type of the app executed by the user (S311).

도 8은 일 실시예에 의한 앱 추천 서비스 서버의 구성도이다.8 is a block diagram of an app recommendation service server according to an exemplary embodiment.

도 8을 참조하면, 일 실시예에 의한 앱 추천 서비스 서버(120)는 컨트롤러(1201), 통신모듈(1203), 저장부(1205), 사용자 인터페이스(UI, 1207), 어플리케이션 제공부(1209) 및 파라미터 관리부(1211)를 포함할 수 있다.Referring to FIG. 8, the app recommendation service server 120 according to an embodiment may include a controller 1201, a communication module 1203, a storage unit 1205, a user interface (UI) 1207, and an application provider 1209. And a parameter manager 1211.

컨트롤러(1201)는 앱 추천 서비스 서버(120)의 전체적인 동작을 제어하는 프로세서일 수 있다.The controller 1201 may be a processor that controls the overall operation of the app recommendation service server 120.

통신모듈(1203)은 앱 추천 서비스 서버(120)가 통신망 또는 타 장치에 접속할 수 있는 환경을 제공할 수 있다.The communication module 1203 may provide an environment in which the app recommendation service server 120 may access a communication network or another device.

저장부(1205)는 주기억장치 및 보조기억장치를 포함할 수 있으며, 앱 추천 서비스 서버(120)가 동작하는 데 필요한 프로그램, 제어 데이터, 응용 프로그램 등이 저장될 수 있다.The storage unit 1205 may include a main memory device and an auxiliary memory device, and may store a program, control data, an application program, etc. required for the app recommendation service server 120 to operate.

사용자 인터페이스(1207)는 입력장치 및 출력장치를 포함할 수 있다. 입력장치를 통해서는 사용자로부터의 명령이 입력될 수 있다. 출력장치는 앱 추천 서비스 서버(120)의 동작 상황, 명령 처리 상황, 동작 결과, 명령 처리 결과 등을 출력할 수 있다.The user interface 1207 may include an input device and an output device. Commands from a user may be input through the input device. The output device may output an operation state, a command processing state, an operation result, a command processing result, and the like of the app recommendation service server 120.

어플리케이션 제공부(1209)는 앱 추천 서비스 기능을 어플리케이션 형태로 제작하여 사용자 단말기로 배포할 수 있다. 앱 추천 서비스 어플리케이션은 예를 들어 상술한 도 5 내지 도 7에서 설명한 앱 추천 서비스 기능이 사용자 단말기에 설치 및 실행되도록 제작된 것을 의미한다.The application providing unit 1209 may produce an app recommendation service function in an application form and distribute it to a user terminal. The app recommendation service application means that the app recommendation service function described above with reference to FIGS. 5 to 7 is designed to be installed and executed on a user terminal.

파라미터 관리부(1211)는 적어도 하나의 사용자 단말기로부터 상황에 따른 앱 추천 데이터를 제공받아 초기 파라미터를 생성할 수 있다. 일 실시예에서, 파라미터 관리부(1211)는 복수의 사용자 단말기로부터 앱 추천 데이터가 제공되는 경우 이들의 산술적 평균치로부터 초기 파라미터를 생성할 수 있다.The parameter manager 1211 may receive app recommendation data according to a situation from at least one user terminal and generate initial parameters. In one embodiment, the parameter manager 1211 may generate initial parameters from their arithmetic mean values when app recommendation data is provided from a plurality of user terminals.

사용자 단말기는 기 설정된 주기마다 앱 추천 데이터를 앱 추천 서비스 서버(120)로 전송할 수 있으며, 파라미터 관리부(1211)는 이에 응답하여 초기 파라미터를 업데이트할 수 있다.The user terminal may transmit the app recommendation data to the app recommendation service server 120 at predetermined intervals, and the parameter manager 1211 may update the initial parameter in response thereto.

일 실시예에서, 파라미터 관리부(1211)는 사용자 단말기로부터 제공되는 앱 추천 데이터를 사용자 정보, 예를 들어 성별, 연령대, 직업군 등에 기초하여 세분화할 수 있다. 이에 따라, 사용자 단말기로 초기 파라미터를 제공할 때, 해당 사용자 단말기의 사용자 정보에 적합한 초기 파라미터를 제공할 수 있다.In one embodiment, the parameter manager 1211 may segment the app recommendation data provided from the user terminal based on user information, for example, gender, age group, occupation group, and the like. Accordingly, when the initial parameter is provided to the user terminal, an initial parameter suitable for user information of the corresponding user terminal may be provided.

앱 추천 서비스 서버(120)로부터 초기 파라미터가 제공됨에 따라, 사용자 단말기는 신뢰성 있는 데이터가 학습될 때까지는 초기 파라미터에 기초하여 앱을 추천할 수 있다. 이때 훈련모드를 통해 상황 추정, 시점 추정, 앱 추천 테이블이 생성되며, 신뢰성 있는 데이터가 학습된 후의 추천 모드에서는 사용자 단말기의 상황을 정확히 인지하고 이에 대응하는 앱을 추천해 줄 수 있다.As initial parameters are provided from the app recommendation service server 120, the user terminal may recommend an app based on the initial parameters until reliable data is learned. At this time, a situation estimation, a viewpoint estimation, and an app recommendation table are generated through the training mode, and in the recommendation mode after reliable data is learned, the situation of the user terminal can be correctly recognized and a corresponding app can be recommended.

비지도 학습에 의해 사용자 단말기에 대한 복수의 상황을 추정해 두고, 이에 대응하는 앱을 적정한 시점에 추천할 수 있으며, 사용자는 어떠한 개입도 할 필요 없이 자신이 특정 상황에 실행시키고자 하는 앱을 높은 정확도로 추천받을 수 있다.Unsupervised learning can estimate a plurality of situations on a user's terminal, and recommend the corresponding app at an appropriate time, and the user does not need to involve any intervention, and the user wants to execute the app that he / she wants to execute in a specific situation. Recommended with accuracy.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be embodied in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

10 : 앱 추천 서비스 시스템
110, 20 : 사용자 단말기
120 : 앱 추천 서비스 서버
10: App recommendation service system
110, 20: user terminal
120: App recommendation service server

Claims (28)

통신망을 통해 앱 추천 서비스 서버와 접속되는 사용자 단말기를 포함하는 앱 추천 서비스 시스템으로서,
상기 사용자 단말기는, 복수의 센서;
상기 복수의 센서에서 제공되는 센서정보로부터 센서정보벡터의 시계열 데이터를 생성하는 센서정보 처리부;
상기 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하고, 상기 센서정보벡터의 시계열 데이터에 기초하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 상황 추정부;
상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하고, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하되, 상기 선행하는 이벤트는 상기 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 시점 추정부; 및
상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라 상기 앱 추천 테이블을 참조하여 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 앱 추천 시점으로 판단된 시점에 상기 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하도록 구성되는 앱 추천부;
를 포함하도록 구성되는 앱 추천 서비스 시스템.
An app recommendation service system including a user terminal connected to an app recommendation service server through a communication network,
The user terminal includes a plurality of sensors;
A sensor information processor configured to generate time series data of a sensor information vector from sensor information provided by the plurality of sensors;
Estimating a specified number of situations using an unsupervised learning method using the time series data of the sensor information vector, generating an app executed in each of the specified number of situations and a frequency of the executed app as an app recommendation table. A situation estimating unit estimating a probability of a specific situation among the specified number of situations based on time series data of the sensor information vector;
Time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and a probability at a moment when a user wants to execute an app based on a preceding event before a specific app is executed. Estimate an app recommendation time point, and determine an app recommendation time point when a probability value at the moment of estimated execution of the app exceeds a preset threshold, wherein the preceding event detects an operation of lifting the user terminal; A time estimator configured to include a time point or a time point of detecting a state in which the screen of the user terminal is turned on, and a time point at which a preset app is executed; And
As a specific situation is recognized among the specified number of situations, at least one execution candidate app corresponding to the recognized specific situation is detected by referring to the app recommendation table, and the at least one at the time determined as the app recommendation time point An app recommender configured to output an execution candidate app through a user interface;
App recommendation service system configured to include.
제 1 항에 있어서,
상기 상황 추정부는, 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The situation estimator is configured to estimate a probability of a specific situation among the specified number of situations by using the time series data of the sensor information vector as an input and using a probabilistic model or a neural network having the specified number of outputs as an estimation model. App recommendation service system configured.
제 1 항에 있어서,
상기 상황 추정부는, 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The situation estimating unit is configured to estimate a probability of a specific situation among the specified number of situations by using the sensor information vector inputted as a time series as an input model using a probabilistic model or a neural network that is dependent on a previous time state. App referral service system.
제 1 항에 있어서,
상기 상황 추정부는 상기 사용자 단말기에서 앱이 실행될 때마다 상기 앱 추천 테이블을 업데이트하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The situation estimating unit is configured to update the app recommendation table whenever an app is executed in the user terminal.
제 1 항에 있어서,
상기 시점 추정부는, 지도학습 방법 또는 강화학습 방법을 이용하여 상기 앱 추천 시점을 학습하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The point of view estimator, App recommendation service system configured to learn the app recommendation point of view using a map learning method or reinforcement learning method.
제 1 항에 있어서,
상기 시점 추정부는, 추정된 앱 추천 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The time estimator is configured to learn the app recommendation time to exclude the time from the app recommendation time when the app does not run at the estimated app recommendation time.
제 1 항에 있어서,
상기 앱 추천부는, 상기 적어도 하나의 실행 후보 앱을 팝-업 윈도우 형태로 출력하며, 기 설정된 시간 내에 상기 팝-업 윈도우에 대한 반응 이벤트가 없으면 상기 팝-업 윈도우를 삭제하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The app recommendation unit outputs the at least one execution candidate app in the form of a pop-up window and deletes the pop-up window if there is no response event for the pop-up window within a preset time. system.
제 1 항에 있어서,
상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력한 후, 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 상황 추정부가 상기 앱 추천 테이블을 업데이트하고, 상기 시점 추정부가 상기 앱 추천 시점을 재학습하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
After outputting the at least one execution candidate app through the user interface, any one of the at least one execution candidate app is executed, an app other than the at least one execution candidate app is executed, or an app is executed by the user. If not, the app conditioner is configured to update the app recommendation table, the time estimation unit is configured to re-learn the app recommendation time point.
제 1 항에 있어서,
상기 상황 추정부는, 상기 앱 추천 테이블로부터 앱 추천 데이터를 생성하여 기 설정된 주기마다 상기 앱 추천 서비스 서버로 전송하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 1,
The situation estimator is configured to generate app recommendation data from the app recommendation table and transmit it to the app recommendation service server at predetermined intervals.
제 9 항에 있어서,
상기 앱 추천 서비스 서버는, 적어도 하나의 사용자 단말기로부터 상기 앱 추천 데이터를 제공받아 초기 파라미터를 생성하여, 초기 파라미터를 요청하는 사용자 단말기로 제공하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 9,
The app recommendation service server is configured to receive the app recommendation data from at least one user terminal, generate an initial parameter, and provide the initial parameter to a user terminal requesting the initial parameter.
제 9 항에 있어서,
상기 앱 추천 서비스 서버는, 상기 앱 추천 데이터를 전송한 사용자 단말기의 사용자 정보에 기초하여 복수의 초기 파라미터를 생성하고, 상기 초기 파라미터를 요청하는 사용자 단말기의 사용자 정보에 기초하여 상기 복수의 초기 파라미터 중 어느 하나를 선택하여 전송하도록 구성되는 앱 추천 서비스 시스템.
The method of claim 9,
The app recommendation service server generates a plurality of initial parameters based on user information of a user terminal that has transmitted the app recommendation data, and among the plurality of initial parameters based on user information of a user terminal requesting the initial parameters. App recommendation service system configured to select and send either.
복수의 센서;
상기 복수의 센서에서 제공되는 센서정보로부터 센서정보벡터의 시계열 데이터를 생성하는 센서정보 처리부;
상기 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하고, 상기 센서정보벡터의 시계열 데이터에 기초하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 상황 추정부;
상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하고, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하되, 상기 선행하는 이벤트는 상기 사용자의 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자의 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 시점 추정부; 및
상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라 상기 앱 추천 테이블을 참조하여 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 앱 추천 시점으로 판단한 시점에 상기 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하도록 구성되는 앱 추천부;
를 포함하도록 구성되는 사용자 단말기.
A plurality of sensors;
A sensor information processor configured to generate time series data of a sensor information vector from sensor information provided by the plurality of sensors;
Estimating a specified number of situations using an unsupervised learning method using the time series data of the sensor information vector, generating an app executed in each of the specified number of situations and a frequency of the executed app as an app recommendation table. A situation estimating unit estimating a probability of a specific situation among the specified number of situations based on time series data of the sensor information vector;
Time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and a probability at a moment when a user wants to execute an app based on a preceding event before a specific app is executed. Estimate the app recommendation time, and if it is determined that the probability value at the moment to execute the app exceeds a predetermined threshold, and determines the app recommendation time, the preceding event is the operation of the user's terminal is lifted A time estimator configured to include a detected time point, a time point of detecting a state of turning on a screen of the user terminal, and a time point at which a preset app is executed; And
As a specific situation is recognized among the specified number of situations, the at least one execution candidate app corresponding to the recognized specific situation is detected by referring to the app recommendation table and the at least one execution is determined at the time point of determining the app recommendation time. An app recommender configured to output a candidate app through a user interface;
The user terminal is configured to include.
제 12 항에 있어서,
상기 상황 추정부는, 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 사용자 단말기.
The method of claim 12,
The situation estimator is configured to estimate a probability of a specific situation among the specified number of situations by using the time series data of the sensor information vector as an input and using a probabilistic model or a neural network having the specified number of outputs as an estimation model. User terminal configured.
제 12 항에 있어서,
상기 상황 추정부는, 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 사용자 단말기.
The method of claim 12,
The situation estimating unit is configured to estimate a probability of a specific situation among the specified number of situations by using the sensor information vector inputted as a time series as an input model using a probabilistic model or a neural network that is dependent on a previous time state. User terminal.
제 12 항에 있어서,
상기 상황 추정부는 상기 사용자 단말기에서 앱이 실행될 때마다 상기 앱 추천 테이블을 업데이트하도록 구성되는 사용자 단말기.
The method of claim 12,
The situation estimator is configured to update the app recommendation table whenever an app is executed in the user terminal.
제 12 항에 있어서,
상기 시점 추정부는, 지도학습 방법 또는 강화학습 방법을 이용하여 상기 앱 추천 시점을 학습하도록 구성되는 사용자 단말기.
The method of claim 12,
The viewpoint estimator is configured to learn the app recommendation time point using a map learning method or a reinforcement learning method.
제 12 항에 있어서,
상기 시점 추정부는, 추정된 앱 추천 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습하도록 구성되는 사용자 단말기.
The method of claim 12,
The time estimator is configured to learn the app recommendation time point to exclude the time point from the app recommendation time point when the app is not executed at the estimated app recommendation time point.
제 12 항에 있어서,
상기 앱 추천부는, 상기 적어도 하나의 실행 후보 앱을 팝-업 윈도우 형태로 출력하며, 기 설정된 시간 내에 상기 팝-업 윈도우에 대한 반응 이벤트가 없으면 상기 팝-업 윈도우를 삭제하도록 구성되는 사용자 단말기.
The method of claim 12,
The app recommender is configured to output the at least one execution candidate app in the form of a pop-up window, and delete the pop-up window if there is no response event for the pop-up window within a preset time.
제 12 항에 있어서,
상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력한 후, 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 상황 추정부가 상기 앱 추천 테이블을 업데이트하고, 상기 시점 추정부가 상기 앱 추천 시점을 재학습하도록 구성되는 사용자 단말기.
The method of claim 12,
After outputting the at least one execution candidate app through the user interface, any one of the at least one execution candidate app is executed, an app other than the at least one execution candidate app is executed, or an app is executed by the user. If it is not executed, the situation estimator is configured to update the app recommendation table, the time estimator is configured to re-learn the app recommendation time point.
복수의 센서를 구비하는 사용자 단말기에서의 앱 추천 서비스 방법으로서,
상기 사용자 단말기가 상기 복수의 센서에서 제공되는 센서정보로부터 생성된 센서정보벡터의 시계열 데이터를 입력으로 한 비지도 학습 방법을 이용하여 지정된 개수의 상황을 추정하도록 학습하고, 상기 지정된 개수의 상황 각각에 대한 적어도 하나의 실행 후보 앱을 테이블로 생성하고, 앱 추천 시점을 학습하는 훈련모드를 수행하는 단계; 및
상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황 중 특정 상황이 인지됨에 따라, 상기 테이블로부터 상기 특정 상황에 대응하는 적어도 하나의 실행 앱을 검출하고, 상기 센서정보벡터의 시계열 데이터에 응답하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 판단하여, 상기 앱 추천 시점으로 판단한 시점에 상기 검출한 적어도 하나의 실행 후보 앱을 사용자 인터페이스를 통해 출력하는 추천모드를 수행하는 단계;
를 포함하고,
상기 앱 추천 시점을 학습하는 단계는, 상기 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 상기 지정된 개수에 대응하는 차원을 갖는 벡터의 시계열 데이터와, 특정 앱이 실행되기 전 선행하는 이벤트에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하여 앱 추천 시점을 학습하는 단계를 포함하고,
상기 앱 추천 시점을 판단하는 단계는, 추정한 상기 앱을 실행시키려는 순간일 확률값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단하는 단계를 포함하며,
상기 선행하는 이벤트는 상기 사용자 단말기가 들어 올져지는 동작을 감지한 시점, 또는 상기 사용자 단말기의 화면이 켜지는 상태를 감지하는 시점, 기 설정된 앱이 실행되는 시점을 포함하도록 구성되는 앱 추천 서비스 방법.
App recommendation service method in a user terminal having a plurality of sensors,
The user terminal is trained to estimate a specified number of situations by using an unsupervised learning method using input of time series data of sensor information vectors generated from sensor information provided by the plurality of sensors, and for each of the specified number of situations. Generating a table of at least one execution candidate app and performing a training mode for learning an app recommendation time point; And
The user terminal detects at least one execution app corresponding to the specific situation from the table in response to the time series data of the sensor information vector being recognized by the specific number of the specified number of situations. A recommendation mode for estimating an app recommendation time by estimating a probability that the user wants to execute an app in response to time series data, and outputting the detected at least one execution candidate app through a user interface at the time determined as the app recommendation time point. Performing;
Including,
The learning of the app recommendation time may be based on time series data of the sensor information vector or time series data of a vector having a dimension corresponding to the specified number having a probability value of each situation, and a preceding event before a specific app is executed. Learning the app recommendation time point by estimating the probability that the user wants to launch the app,
The determining of the app recommendation time point may include determining an app recommendation time point when the estimated probability value at the moment of executing the app exceeds a preset threshold value.
The preceding event may include a point in time when the user terminal detects an operation to be lifted up, a point in time when the screen of the user terminal is turned on, and a point in time when a preset app is executed. .
제 20 항에 있어서,
상기 훈련모드를 수행하는 단계는, 상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하는 단계; 및
상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 앱 추천 시점을 학습하는 단계;
를 포함하도록 구성되는 앱 추천 서비스 방법.
The method of claim 20,
In the performing of the training mode, the user terminal estimates the specified number of situations in response to time series data of the sensor information vector, and measures the frequency of the executed app and the executed app in each of the specified number of situations. Generating an app recommendation table; And
Learning, by the user terminal, the app recommendation time in response to time series data of the sensor information vector;
App recommendation service method is configured to include.
제 21 항에 있어서,
상기 앱 추천 테이블은 상기 사용자 단말기에서 앱이 실행될 때마다 업데이트되도록 구성되는 앱 추천 서비스 방법.
The method of claim 21,
The app recommendation table is configured to be updated every time the app is executed in the user terminal.
제 20 항에 있어서,
상기 앱 추천 시점은 지도학습 방법 또는 강화학습 방법을 이용하여 학습되도록 구성되는 앱 추천 서비스 방법.
The method of claim 20,
The app recommendation time point is configured to learn using the map learning method or reinforcement learning method.
제 20 항에 있어서,
상기 앱 추천 시점을 학습하는 단계는, 상기 앱 추천 시점으로 추정된 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습는 단계를 포함하도록 구성되는 앱 추천 서비스 방법.
The method of claim 20,
The learning of the app recommendation time may include: learning the app recommendation time to exclude the corresponding time point from the app recommendation time when the app is not executed at the time estimated as the app recommendation time. Way.
제 20 항에 있어서,
상기 추천모드를 수행하는 단계는, 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 단계;
상기 앱 추천 시점을 판단하는 단계; 및
상기 특정 상황이 인지됨에 따라 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 판단한 앱 추천 시점에 상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력하는 단계;
를 포함하도록 구성되는 앱 추천 서비스 방법.
The method of claim 20,
The performing of the recommendation mode may include estimating a probability of a specific situation among the specified number of situations in response to time series data of the sensor information vector;
Determining the app recommendation time; And
Detecting at least one execution candidate app corresponding to the recognized specific situation as the specific situation is recognized, and outputting the at least one execution candidate app through the user interface at the determined app recommendation time point;
App recommendation service method is configured to include.
제 25 항에 있어서,
상기 특정 상황일 확률은 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 추정되도록 구성되는 앱 추천 서비스 방법.
The method of claim 25,
The probability of the particular situation is configured to be estimated by using the time series data of the sensor information vector for a predetermined time and a stochastic model or a neural network having the specified number of outputs as an estimation model.
제 25 항에 있어서,
상기 특정 상황일 확률은 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 추정되도록 구성되는 앱 추천 서비스 방법.
The method of claim 25,
The probability of the particular situation is an app recommendation service method configured to be estimated by using the sensor information vector inputted as a time series, but using a probabilistic model or a neural network with a dependency on a previous time state as an estimation model.
제 20 항에 있어서,
상기 추천모드를 수행하는 단계는, 상기 사용자 인터페이스를 통해 상기 적어도 하나의 실행 후보 앱을 출력한 후, 상기 사용자 인터페이스를 통해 출력된 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 테이블을 업데이트하고, 상기 앱 추천 시점을 재학습하는 단계를 더 포함하도록 구성되는 앱 추천 서비스 방법.
The method of claim 20,
The performing of the recommendation mode may include outputting the at least one execution candidate app through the user interface, and then executing any one of the at least one execution candidate app output through the user interface or executing the at least one. And updating the table and re-learning the app recommendation time point when an app other than the execution candidate app is executed or no app is executed by the user.
KR1020190004646A 2019-01-14 2019-01-14 System for Recommendation of APP, User Terminal and Method Therefor KR102064489B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190004646A KR102064489B1 (en) 2019-01-14 2019-01-14 System for Recommendation of APP, User Terminal and Method Therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190004646A KR102064489B1 (en) 2019-01-14 2019-01-14 System for Recommendation of APP, User Terminal and Method Therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160143225A Division KR20180047276A (en) 2016-10-31 2016-10-31 System for Recommendation of APP, User Terminal and Method Therefor

Publications (2)

Publication Number Publication Date
KR20190007513A KR20190007513A (en) 2019-01-22
KR102064489B1 true KR102064489B1 (en) 2020-02-11

Family

ID=65320612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004646A KR102064489B1 (en) 2019-01-14 2019-01-14 System for Recommendation of APP, User Terminal and Method Therefor

Country Status (1)

Country Link
KR (1) KR102064489B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032805A (en) 2020-09-08 2022-03-15 연세대학교 산학협력단 Memory Management Apparatus and Method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111868686B (en) 2019-02-20 2023-12-08 Lg电子株式会社 Method for exporting application program and export equipment using the same
KR102443914B1 (en) * 2020-09-09 2022-09-16 주식회사 엘지유플러스 Method and apparatus for recommending hehavior of user
KR102269061B1 (en) * 2021-02-03 2021-06-24 주식회사 문토 System for recommending providing integrated contents using usage information recognition of applications
KR20230069475A (en) * 2021-11-12 2023-05-19 삼성전자주식회사 Electronic apparatus and control method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101747303B1 (en) * 2011-04-11 2017-06-15 삼성전자주식회사 Method for recommendation of application, mobile terminal thereof and communication system thereof
KR20130089735A (en) * 2011-12-30 2013-08-13 숭실대학교산학협력단 Apparatus and method for recommending of application using user preference
KR101510860B1 (en) * 2012-11-08 2015-04-10 아주대학교산학협력단 Service Method and Server for Providing Application Comprehended User Intention

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032805A (en) 2020-09-08 2022-03-15 연세대학교 산학협력단 Memory Management Apparatus and Method

Also Published As

Publication number Publication date
KR20190007513A (en) 2019-01-22

Similar Documents

Publication Publication Date Title
KR102064489B1 (en) System for Recommendation of APP, User Terminal and Method Therefor
CN109427333B (en) Method for activating speech recognition service and electronic device for implementing said method
KR102597571B1 (en) A virtual assistant configured to automatically customize groups of actions
US20200118010A1 (en) System and method for providing content based on knowledge graph
EP2847986B1 (en) Configuring a terminal device according to a context determined by correlating different data sources
KR20190057687A (en) Electronic device and Method for changing Chatbot
KR20180055708A (en) Device and method for image processing
US11508356B2 (en) Method and apparatus for recognizing a voice
US20180137550A1 (en) Method and apparatus for providing product information
KR20100132868A (en) Apparatus and method for providing goal predictive interface
US10878337B2 (en) Assistance generation
KR20200047205A (en) Electronic device and Method for controlling the electronic device thereof
US20150254575A1 (en) Learn-by-example systems and methos
EP3098723A1 (en) Method and device for providing user-customized information
EP3397982A1 (en) Indoor room-localization system and method thereof
EP3657325A2 (en) Method for deriving frequently used applications, and derivation device using same
CN113164056A (en) Sleep prediction method, device, storage medium and electronic equipment
CN113093980B (en) Terminal control method and device, terminal and storage medium
WO2018101035A1 (en) Information processing device and information processing method
KR20190078222A (en) Electronic device, server and method thereof for recommending fashion item
KR20190122331A (en) Electronic device for inputting character and operating method thereof
KR20180047276A (en) System for Recommendation of APP, User Terminal and Method Therefor
CN113170018A (en) Sleep prediction method, device, storage medium and electronic equipment
CN114066098A (en) Method and device for estimating completion duration of learning task
US20200327451A1 (en) Electronic apparatus and server for refining artificial intelligence model, and method of refining artificial intelligence model

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant