KR102064489B1 - System for Recommendation of APP, User Terminal and Method Therefor - Google Patents
System for Recommendation of APP, User Terminal and Method Therefor Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
- G06Q30/0271—Personalized 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
본 기술은 통신 단말기를 통한 서비스 기술에 관한 것으로, 보다 구체적으로는 앱 추천 시스템, 이를 위한 사용자 단말기 및 방법에 관한 것이다.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)는 사용자의 의도를 규정하기 위하여, 사용자에 의해 미리 입력되어 저장된 정보를 참조하는 등 학습을 기반으로 하지 않고 사용자로부터 제공되는 정보를 이용한다.
특허문헌 2는 잠금상태에서 사용자의 상황에 따라 정보를 제공하는 방법을 개시하고 있다. 특허문헌 2를 구현하기 위해서는 특허문헌 2에 첨부된 도 6과 같은 정보 또는 테이블이 미리 구현되어 있어야 한다. 그리고, 사용자가 미리 규칙을 편집 해야 하기 때문에 불편할 뿐 아니라, 실제 사용에 있어서 각 상황에 해당하는 이벤트를 정의하는 것은 불가능하다.
특허문헌 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
사용자 단말기(110)는 복수의 센서를 구비할 수 있다.The
일 실시예에서, 복수의 센서에는 터치센서, 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
일 실시예에서, 사용자 단말기(110)는 훈련모드 및 추천모드로 동작할 수 있다. 훈련모드는, 사용자 단말기(110)에 대한 복수(K개)의 상황을 추정하고 각 상황에 대응하는 적어도 하나의 실행 후보 앱을 결정하며, 실행 후보 앱을 추천할 시점을 추정(학습)하는 모드일 수 있다. 추천모드는, 사용자 단말기(110)의 상황이 기 추정된 복수(K개)의 상황 중 특정 상황일 확률을 추정하고, 추정된 특정 상황에 대응하여 기 결정되어 있는 적어도 하나의 실행 후보 앱을 검출하여, 추정(판단)된 추천 시점에 검출된 실행 후보 앱을 제시하는 모드일 수 있다. 추천모드에서 실제 앱의 실행 여부 및 어떤 앱이 실행되었는지는 앱 추천 시점 추정 및 상황별 실행 후보 앱을 결정하는 데 반영될 수 있다.In one embodiment, the
일 실시예에서, 사용자 단말기(110)는 훈련모드에서, 지정된 시간 동안 센서정보벡터의 시계열 데이터로부터 지정된 개수(K)의 상황을 추정할 수 있다. 또한, 사용자 단말기(110)는 추천모드에서, 센서정보벡터의 시계열 데이터로부터 미리 정해진 K개의 상황 중 특정 상황일 확률을 매시간 추정할 수 있다.In an exemplary embodiment, the
사용자 단말기(110)는 센서정보벡터의 시계열 데이터에 기초하여 앱 추천 시점을 추정(학습)할 수 있다. 일 실시예에서, 사용자 단말기(110)는 훈련모드에서, 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 K차원 벡터의 시계열 데이터와, 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트를 검출하고, 이에 기초하여 앱 추천 시점을 추정(판단)할 수 있다. 사용자 단말기(110)는 추천모드에서, 센서정보벡터의 시계열 데이터에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하고, 추정된 확률 값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단할 수 있다. 예를 들어, 사용자가 사용자 단말기(110)를 들어 올리는 동작을 감지한 시점, 또는 알람 기능이나 외부 버튼 등에 의해 화면이 켜지는 상태를 감지하는 시점 등이 사용자가 앱을 실행시키려는 순간이 될 수 있다.The
사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트는 예를 들어, 론처 앱(시작화면 앱)의 실행 또는 다른 앱의 실행일 수 있으나 이에 한정되지 않으며, 앱 추천 시점은 선행처리 이벤트 발생시점보다 기 설정된 시간 이전으로 추정될 수 있다.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
사용자 단말기(110)는 추천모드에서, K개의 상황 중 특정 상황이 인지되는 경우 앱 추천 테이블을 참조하여 실행 후보 앱을 검출하고, 추정된 앱 추천 시점에 실행 후보 앱을 디스플레이할 수 있다.In a recommendation mode, the
이에 따라, 사용자는 실행 후보 앱 중에서 어느 하나를 선택하거나 이를 선택하지 않고 다른 앱을 선택하거나, 또는 아무 앱도 선택하지 않을 수 있으며, 사용자의 반응에 따라 앱 추천 시점 학습 및 앱 추천 테이블 업데이트가 수행될 수 있다.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
또한, 사용자 단말기(110)는 복수의 상황 중 특정 상황일 확률을 추정하기 위해 확률적 모델, 신경망 등을 추정 모델로 사용할 수 있다.In addition, the
앱 추천 시점 학습을 위해서는 지도학습 방법 또는 강화학습 방법을 이용할 수 있다. 강화학습 방법을 이용하는 경우, 추정된 시점에 사용자가 앱을 실행시키지 않을 경우 그 순간은 앱 추천 시점에서 제외하도록 학습할 수 있다.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
일 실시예에서, 사용자 단말기(110)는 훈련모드에서 앱 추천 서비스 서버(120)로부터 초기 파라미터를 제공받아 앱 추천 서비스를 제공할 수 있다. 초기 파라미터는 다른 사용자의 상황에 따른 앱 추천 데이터일 수 있고, 바람직하게는 이들의 산술적 평균치로부터 생성된 데이터일 수 있다. 아울러, 사용자 단말기(110)에서 추정된 상황에 따른 앱 추천 데이터는 기 설정된 주기마다 앱 추천 서비스 서버(120)로 전송되어 다른 사용자 단말기에 대한 초기 파라미터를 결정하는 데 이용될 수 있다.In one embodiment, the
한편, 앱 추천 서비스 서버(120)는 앱 추천 서비스 이용자의 성별, 연령대, 직업군 등을 포함하는 사용자 정보에 기초하여 초기 파라미터를 세분화할 수 있다. 아울러, 초기 파라미터를 필요로 하는 사용자 단말기(110)의 사용자 정보에 맞는 초기 파라미터를 제공할 수 있다.Meanwhile, the app
이와 같이, 본 기술에 의하면 센서정보벡터의 시계열 데이터에 기초하여 사용자 단말기(110)의 상황을 추정하고, 추정된 상황에서 실행될 수 있는 적어도 하나의 실행 후보 앱을 사용자에게 추천할 수 있다.As described above, according to the present technology, the situation of the
사용자 단말기(110)의 후보 상황은 시간에 따라 출력되는 센서정보에 의거하여 비지도 학습 방식으로 추정되고, 앱을 추천하는 시점은 사용자 단말기(110)에서 사용자가 앱을 실행시키기 위해 수행하는 이벤트로부터 추정되므로, 사용자가 앱 추천 서비스를 위해 어떠한 사전정보도 제공하는 불편함 없이 사용자의 상황에 맞는 앱을 추천할 수 있다.The candidate situation of the
일 실시예에서, 앱 추천 서비스 서버(120)는 상술한 앱 추천 서비스 기능을 어플리케이션 형태로 제작하여 사용자 단말기(110)로 배포할 수 있다.In one embodiment, the app
도 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
컨트롤러(210)는 사용자 단말기(20)의 전체적인 동작을 제어하는 프로세서일 수 있다.The
통신모듈(220)은 사용자 단말기(20)가 통신망 또는 타 장치에 접속할 수 있는 환경을 제공할 수 있다.The
저장부(230)는 주기억장치 및 보조기억장치를 포함할 수 있으며, 사용자 단말기(20)가 동작하는 데 필요한 프로그램, 제어 데이터, 응용 프로그램 등이 저장될 수 있다.The
사용자 인터페이스(240)는 입력장치 및 출력장치를 포함할 수 있다. 입력장치를 통해서는 사용자로부터의 명령이 입력될 수 있다. 출력장치는 사용자 단말기(20)의 동작 상황, 명령 처리 상황, 동작 결과, 명령 처리 결과 등을 출력할 수 있다.The
센서들(250)에는 터치센서, GPS센서, 자이로 센서, 가속(모션)센서, 진동센서, 근접센서, 자석센서, 지자기 센서, 조도센서 등이 포함될 수 있으며, 사용자 단말기의 사양에 따라 추가적인 센서들이 더 구비될 수 있다.The
센서정보 처리부(260)는 복수(M)개의 센서들(250)로부터 제공되는 센서정보로부터 센서정보벡터를 생성할 수 있다. 이를 위해 센서정보 처리부(260)는 M개 센서 각각의 출력값을 전처리하고, 이로부터 센서정보벡터(MX1 벡터)를 생성할 수 있다. 일 실시예에서, 센서정보의 전처리는 정규화, 양자화 등이 될 수 있다. 아울러, 센서정보 처리부(260)는 복수 개의 센서들(250)의 출력정보를 시간에 따라 수신할 수 있으며, 이에 따라 센서정보벡터의 시계열 데이터를 생성할 수 있다.The
상황 추정부(270)는 센서정보 처리부(260)에서 제공되는 센서정보벡터의 시계열 데이터에 기초하여 상황을 추정할 수 있다. 일 실시예에서, 상황 추정부(270)는 훈련모드에서, 지정된 시간 동안 센서정보벡터의 시계열 데이터로부터 지정된 개수(K)의 상황을 추정할 수 있다. 또한, 상황추정부(270)는 추천모드에서, 센서정보벡터의 시계열 데이터로부터 미리 정해진 K개의 상황 중 특정 상황일 확률을 추정할 수 있다.The
일 실시예에 의한 훈련모드에서, 상황 추정부(270)는 K개의 상황을 추정하기 위하여 비지도(Unsupervised Learning) 학습 방법을 이용할 수 있으며 특히 기대값 최대화(Expectation Maximization) 알고리즘을 사용할 수 있다.In a training mode according to an embodiment, the
일 실시예에 의한 추천모드에서, 상황 추정부(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
상황 추정부(270)는 K개의 상황을 추정하면서, 각각의 상황에서 사용자가 선택하여 실행시킨 앱을 실행 빈도에 따라 정렬하여 테이블화한 앱 추천 테이블을 저장부(230)에 저장할 수 있다. 앱 추천 테이블은 각 상황별로 앱이 실행될 때마다 업데이트될 수 있음은 물론이다.The
도 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
시점 추정부(280)는 센서정보 처리부(260)로부터 제공되는 센서정보벡터의 시계열 데이터에 기초하여 앱 추천 시점을 추정할 수 있다.The
일 실시예에 의한 훈련모드에서, 시점 추정부(280)는 센서정보벡터의 시계열 데이터 또는 각 상황의 확률값을 갖는 K차원 벡터의 시계열 데이터와, 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트를 검출하고, 이에 기초하여 앱 추천 시점을 학습할 수 있다. 일 실시예에서, 시점 추정부(280)는 지도학습 방법 또는 강화학습 방법을 이용하여 앱 추천 시점을 추정할 수 있다. 강화학습 방법을 이용하는 경우, 추정된 시점에 사용자가 앱을 실행시키지 않을 경우 그 순간은 앱 추천 시점에서 제외하도록 학습할 수 있다.In a training mode according to an exemplary embodiment, the
일 실시예에 의한 추천모드에서, 시점 추정부(280)는 센서정보벡터의 시계열 데이터에 기초하여 사용자가 앱을 실행시키려는 순간일 확률을 추정하고, 추정된 확률 값이 기 설정된 임계치를 초과하면 앱 추천 시점으로 판단할 수 있다. 사용자가 특정 앱을 실행시키기 위해 선행처리하는 이벤트는 예를 들어, 론처 앱(시작화면 앱)의 실행 또는 다른 앱의 실행일 수 있으나 이에 한정되지 않으며, 앱 추천 시점은 선행처리 이벤트 발생시점보다 기 설정된 시간 이전으로 판단될 수 있다.In the recommendation mode according to an exemplary embodiment, the
앱 추천부(290)는 상황 추정부(270)에 의해 K개의 상황 중 특정 상황이 인지되는 경우, 저장부(230)에 저장되어 있는 앱 추천 테이블을 참조하여 적어도 하나의 실행 후보 앱을 검출하고, 시점 추정부(280)에서 추정한 추천 시점에 검출된 실행 후보 앱을 사용자 인터페이스(240)를 통해 출력할 수 있다. 적어도 하나의 실행 후보 앱은 앱 추천 테이블을 참조하여 실행 빈도에 따라 지정된 개수만큼 검출될 수 있다. 적어도 하나의 실행 후보 앱은 사용자 인터페이스(240)에 시각적 또는 청각적으로 표출될 수 있다.The
도 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
적어도 하나의 실행 후보 앱이 추천됨에 따라, 사용자는 실행 후보 앱 중에서 어느 하나를 선택하거나 이를 선택하지 않고 다른 앱을 선택하거나, 또는 아무 앱도 선택하지 않을 수 있다. 이러한 사용자의 반응에 따라 시점 추정부(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
앱 추천 윈도우(30)는 기 설정된 시간 동안 사용자의 반응이 없는 경우 자동으로 사라지도록 구성할 수 있다.The
아울러, 앱 추천 윈도우(30)는 이미 앱 추천 윈도우(30)가 팝업된 상황에서는 다른 앱 추천 윈도우가 표시되지 않도록, 또는 팝업 윈도우에 표시되는 실행 후보 앱을 새로운 후보 앱들로 변경하도록 제어되는 것이 바람직하다.In addition, the
도 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
상황 추정부(270)는 센서정보벡터의 시계열 데이터에 응답하여 기 설정된 개수(K개)의 상황을 추정할 수 있다(S103).The
아울러, 상황 추정부(270)는 K개의 상황을 추정하면서, 각각의 상황에서 사용자가 선택하여 실행시킨 앱을 실행 빈도에 따라 정렬하여 앱 추천 테이블을 생성할 수 있다(S105).In addition, the
한편, 시점 추정부(280)는 센서정보벡터의 시계열 데이터에 응답하여 앱 추천 시점을 학습할 수 있다(S107).On the other hand, the
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
도 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
특정 상황인 것으로 추정되면, 즉 사용자 단말기의 상황이 인지되면, 시점 추정부(280)를 통해 앱 추천 시점을 추정함과 함께(S205), 앱 추천부(290)를 통해 추정된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱이 검출될 수 있다(S207).If it is estimated that the specific situation, that is, when the situation of the user terminal is recognized, the
그리고, 앱 추천부(290)는 단계 S205에서 시점 추정부(280)에 의해 판단된 앱 추천 시점에, 단계 S207에서 앱 추천부(290)가 검출한 적어도 하나의 실행 후보 앱을 사용자에게 제시할 수 있다(S209). 이때, 실행 후보 앱은 시각적, 청각적 방식으로 제시할 수 있으며, 바람직하게는 해당 상황에서 실행된 빈도수에 따라 기 설정된 조건(좌우 정렬, 상하 정렬 등)으로 정렬되어 제시될 수 있다.The
도 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
반응 이벤트가 발생하는 경우(S301:Y), 상황 추정부(270)는 실행 후보 앱 중 어느 하나가 선택되었는지의 여부를 판단할 수 있다(S305). 실행 후보 앱 중 어느 하나가 선택된 경우(S305:Y), 실행 후보 앱의 선택 시점 및 앱의 종류에 따라, 시점 추정부(280) 및 상황 추정부(270)에 의해 앱 추천 시점이 재학습되고 및 앱 추천 테이블이 업데이트될 수 있다(S307). 단계 S305에서 사용자가 선택한 앱이 실행되는 과정이 별도로 진행됨은 물론이다.When a reaction event occurs (S301: Y), the
한편, 실행 후보 앱이 아닌 다른 앱이 선택된 경우(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
컨트롤러(1201)는 앱 추천 서비스 서버(120)의 전체적인 동작을 제어하는 프로세서일 수 있다.The
통신모듈(1203)은 앱 추천 서비스 서버(120)가 통신망 또는 타 장치에 접속할 수 있는 환경을 제공할 수 있다.The
저장부(1205)는 주기억장치 및 보조기억장치를 포함할 수 있으며, 앱 추천 서비스 서버(120)가 동작하는 데 필요한 프로그램, 제어 데이터, 응용 프로그램 등이 저장될 수 있다.The
사용자 인터페이스(1207)는 입력장치 및 출력장치를 포함할 수 있다. 입력장치를 통해서는 사용자로부터의 명령이 입력될 수 있다. 출력장치는 앱 추천 서비스 서버(120)의 동작 상황, 명령 처리 상황, 동작 결과, 명령 처리 결과 등을 출력할 수 있다.The
어플리케이션 제공부(1209)는 앱 추천 서비스 기능을 어플리케이션 형태로 제작하여 사용자 단말기로 배포할 수 있다. 앱 추천 서비스 어플리케이션은 예를 들어 상술한 도 5 내지 도 7에서 설명한 앱 추천 서비스 기능이 사용자 단말기에 설치 및 실행되도록 제작된 것을 의미한다.The
파라미터 관리부(1211)는 적어도 하나의 사용자 단말기로부터 상황에 따른 앱 추천 데이터를 제공받아 초기 파라미터를 생성할 수 있다. 일 실시예에서, 파라미터 관리부(1211)는 복수의 사용자 단말기로부터 앱 추천 데이터가 제공되는 경우 이들의 산술적 평균치로부터 초기 파라미터를 생성할 수 있다.The
사용자 단말기는 기 설정된 주기마다 앱 추천 데이터를 앱 추천 서비스 서버(120)로 전송할 수 있으며, 파라미터 관리부(1211)는 이에 응답하여 초기 파라미터를 업데이트할 수 있다.The user terminal may transmit the app recommendation data to the app
일 실시예에서, 파라미터 관리부(1211)는 사용자 단말기로부터 제공되는 앱 추천 데이터를 사용자 정보, 예를 들어 성별, 연령대, 직업군 등에 기초하여 세분화할 수 있다. 이에 따라, 사용자 단말기로 초기 파라미터를 제공할 때, 해당 사용자 단말기의 사용자 정보에 적합한 초기 파라미터를 제공할 수 있다.In one embodiment, the
앱 추천 서비스 서버(120)로부터 초기 파라미터가 제공됨에 따라, 사용자 단말기는 신뢰성 있는 데이터가 학습될 때까지는 초기 파라미터에 기초하여 앱을 추천할 수 있다. 이때 훈련모드를 통해 상황 추정, 시점 추정, 앱 추천 테이블이 생성되며, 신뢰성 있는 데이터가 학습된 후의 추천 모드에서는 사용자 단말기의 상황을 정확히 인지하고 이에 대응하는 앱을 추천해 줄 수 있다.As initial parameters are provided from the app
비지도 학습에 의해 사용자 단말기에 대한 복수의 상황을 추정해 두고, 이에 대응하는 앱을 적정한 시점에 추천할 수 있으며, 사용자는 어떠한 개입도 할 필요 없이 자신이 특정 상황에 실행시키고자 하는 앱을 높은 정확도로 추천받을 수 있다.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.
상기 상황 추정부는, 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 앱 추천 서비스 시스템.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.
상기 상황 추정부는, 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 앱 추천 서비스 시스템.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.
상기 상황 추정부는 상기 사용자 단말기에서 앱이 실행될 때마다 상기 앱 추천 테이블을 업데이트하도록 구성되는 앱 추천 서비스 시스템.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.
상기 시점 추정부는, 지도학습 방법 또는 강화학습 방법을 이용하여 상기 앱 추천 시점을 학습하도록 구성되는 앱 추천 서비스 시스템.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.
상기 시점 추정부는, 추정된 앱 추천 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습하도록 구성되는 앱 추천 서비스 시스템.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.
상기 앱 추천부는, 상기 적어도 하나의 실행 후보 앱을 팝-업 윈도우 형태로 출력하며, 기 설정된 시간 내에 상기 팝-업 윈도우에 대한 반응 이벤트가 없으면 상기 팝-업 윈도우를 삭제하도록 구성되는 앱 추천 서비스 시스템.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.
상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력한 후, 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 상황 추정부가 상기 앱 추천 테이블을 업데이트하고, 상기 시점 추정부가 상기 앱 추천 시점을 재학습하도록 구성되는 앱 추천 서비스 시스템.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.
상기 상황 추정부는, 상기 앱 추천 테이블로부터 앱 추천 데이터를 생성하여 기 설정된 주기마다 상기 앱 추천 서비스 서버로 전송하도록 구성되는 앱 추천 서비스 시스템.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.
상기 앱 추천 서비스 서버는, 적어도 하나의 사용자 단말기로부터 상기 앱 추천 데이터를 제공받아 초기 파라미터를 생성하여, 초기 파라미터를 요청하는 사용자 단말기로 제공하도록 구성되는 앱 추천 서비스 시스템.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.
상기 앱 추천 서비스 서버는, 상기 앱 추천 데이터를 전송한 사용자 단말기의 사용자 정보에 기초하여 복수의 초기 파라미터를 생성하고, 상기 초기 파라미터를 요청하는 사용자 단말기의 사용자 정보에 기초하여 상기 복수의 초기 파라미터 중 어느 하나를 선택하여 전송하도록 구성되는 앱 추천 서비스 시스템.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.
상기 상황 추정부는, 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 사용자 단말기.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.
상기 상황 추정부는, 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하도록 구성되는 사용자 단말기.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.
상기 상황 추정부는 상기 사용자 단말기에서 앱이 실행될 때마다 상기 앱 추천 테이블을 업데이트하도록 구성되는 사용자 단말기.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.
상기 시점 추정부는, 지도학습 방법 또는 강화학습 방법을 이용하여 상기 앱 추천 시점을 학습하도록 구성되는 사용자 단말기.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.
상기 시점 추정부는, 추정된 앱 추천 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습하도록 구성되는 사용자 단말기.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.
상기 앱 추천부는, 상기 적어도 하나의 실행 후보 앱을 팝-업 윈도우 형태로 출력하며, 기 설정된 시간 내에 상기 팝-업 윈도우에 대한 반응 이벤트가 없으면 상기 팝-업 윈도우를 삭제하도록 구성되는 사용자 단말기.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.
상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력한 후, 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 상황 추정부가 상기 앱 추천 테이블을 업데이트하고, 상기 시점 추정부가 상기 앱 추천 시점을 재학습하도록 구성되는 사용자 단말기.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. .
상기 훈련모드를 수행하는 단계는, 상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황을 추정하며, 상기 지정된 개수의 상황 각각에서 실행된 앱 및 상기 실행된 앱의 빈도를 앱 추천 테이블로 생성하는 단계; 및
상기 사용자 단말기가 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 앱 추천 시점을 학습하는 단계;
를 포함하도록 구성되는 앱 추천 서비스 방법.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.
상기 앱 추천 테이블은 상기 사용자 단말기에서 앱이 실행될 때마다 업데이트되도록 구성되는 앱 추천 서비스 방법.The method of claim 21,
The app recommendation table is configured to be updated every time the app is executed in the user terminal.
상기 앱 추천 시점은 지도학습 방법 또는 강화학습 방법을 이용하여 학습되도록 구성되는 앱 추천 서비스 방법.The method of claim 20,
The app recommendation time point is configured to learn using the map learning method or reinforcement learning method.
상기 앱 추천 시점을 학습하는 단계는, 상기 앱 추천 시점으로 추정된 시점에 앱이 실행되지 않을 경우 해당 시점을 상기 앱 추천 시점에서 제외하도록 상기 앱 추천 시점을 학습는 단계를 포함하도록 구성되는 앱 추천 서비스 방법.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.
상기 추천모드를 수행하는 단계는, 상기 센서정보벡터의 시계열 데이터에 응답하여 상기 지정된 개수의 상황 중 특정 상황일 확률을 추정하는 단계;
상기 앱 추천 시점을 판단하는 단계; 및
상기 특정 상황이 인지됨에 따라 상기 인지된 특정 상황에 대응하는 적어도 하나의 실행 후보 앱을 검출하고, 상기 판단한 앱 추천 시점에 상기 적어도 하나의 실행 후보 앱을 상기 사용자 인터페이스를 통해 출력하는 단계;
를 포함하도록 구성되는 앱 추천 서비스 방법.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.
상기 특정 상황일 확률은 기 설정된 시간 동안 상기 센서정보벡터의 시계열 데이터를 입력으로 하고 상기 지정된 개수의 출력을 가지는 확률적 모델 또는 신경망을 추정 모델로 하여 추정되도록 구성되는 앱 추천 서비스 방법.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.
상기 특정 상황일 확률은 시계열로 입력되는 상기 센서정보벡터를 입력으로 하되 이전 시간 상태에 대한 의존성이 있는 확률적 모델 또는 신경망을 추정 모델로 하여 추정되도록 구성되는 앱 추천 서비스 방법.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.
상기 추천모드를 수행하는 단계는, 상기 사용자 인터페이스를 통해 상기 적어도 하나의 실행 후보 앱을 출력한 후, 상기 사용자 인터페이스를 통해 출력된 상기 적어도 하나의 실행 후보 앱 중 어느 하나가 실행되거나, 상기 적어도 하나의 실행 후보 앱 외의 다른 앱이 실행되거나, 사용자에 의해 어느 앱도 실행되지 않는 경우, 상기 테이블을 업데이트하고, 상기 앱 추천 시점을 재학습하는 단계를 더 포함하도록 구성되는 앱 추천 서비스 방법.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.
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)
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)
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)
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 |
-
2019
- 2019-01-14 KR KR1020190004646A patent/KR102064489B1/en active IP Right Grant
Cited By (1)
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 |