[go: up one dir, main page]

KR102252084B1 - Method, device and computer readable storage medium for user modeling based on blackboard - Google Patents

Method, device and computer readable storage medium for user modeling based on blackboard Download PDF

Info

Publication number
KR102252084B1
KR102252084B1 KR1020190115227A KR20190115227A KR102252084B1 KR 102252084 B1 KR102252084 B1 KR 102252084B1 KR 1020190115227 A KR1020190115227 A KR 1020190115227A KR 20190115227 A KR20190115227 A KR 20190115227A KR 102252084 B1 KR102252084 B1 KR 102252084B1
Authority
KR
South Korea
Prior art keywords
user
context information
sensor data
unit
blackboard
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020190115227A
Other languages
Korean (ko)
Other versions
KR20210033668A (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 KR1020190115227A priority Critical patent/KR102252084B1/en
Publication of KR20210033668A publication Critical patent/KR20210033668A/en
Application granted granted Critical
Publication of KR102252084B1 publication Critical patent/KR102252084B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2291User-Defined Types; Storage management thereof
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자 모델링 장치가 설명된다. 예시적인 사용자 모델링 장치는 센서 데이터 수집부, 맥락 인식부, 블랙보드부 및 사용자 모델 추론부를 포함한다. 센서 데이터 수집부는 사용자의 적어도 하나의 사용자 장치와 연관된 센서 데이터를 획득하도록 구성될 수 있다. 맥락 인식부는 센서 데이터를 이용하여 사용자 맥락 정보를 생성하도록 구성될 수 있다. 블랙보드부는 블랙보드 데이터 구조를 가질 수 있다. 블랙보드부는 생성된 사용자 맥락 정보를 블랙보드 데이터 구조에 저장하도록 구성될 수 있다. 사용자 모델 추론부는 사용자 모델을 관리하도록 구성될 수 있다.A user modeling device is described. An exemplary user modeling device includes a sensor data collection unit, a context recognition unit, a black board unit, and a user model inference unit. The sensor data collection unit may be configured to acquire sensor data associated with at least one user device of the user. The context recognition unit may be configured to generate user context information using sensor data. The black board unit may have a black board data structure. The blackboard unit may be configured to store the generated user context information in the blackboard data structure. The user model inference unit may be configured to manage the user model.

Figure R1020190115227
Figure R1020190115227

Description

블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체 {METHOD, DEVICE AND COMPUTER READABLE STORAGE MEDIUM FOR USER MODELING BASED ON BLACKBOARD}Method, device and computer-readable storage medium for blackboard-based user modeling {METHOD, DEVICE AND COMPUTER READABLE STORAGE MEDIUM FOR USER MODELING BASED ON BLACKBOARD}

본 개시는 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체에 관한 것이다.The present disclosure relates to a method, an apparatus, and a computer-readable storage medium for blackboard-based user modeling.

여기에서 달리 언급하지 않으면 본 섹션에서 기술되는 내용은 본 출원에서의 청구범위의 선행 기술이 아니며, 본 섹션에 기재하였다는 이유로 선행 기술로 인정되어서는 안 된다.Unless otherwise stated herein, the content described in this section is not prior art to the claims in this application, and should not be admitted to be prior art for reasons described in this section.

스마트폰이나 태블릿 컴퓨터와 같은 모바일 단말의 사용이 보편화됨에 따라, 다양한 유형의 서비스를 제공하는 어플리케이션이 등장하고 있다. 이러한 어플리케이션들 중에는 사용자 맞춤의 서비스를 제공함으로써 경쟁력을 확보하고자 한다. 사용자 맞춤의 서비스를 제공하기 위하여, 단순히 사용자에 대하여 변동되지 않는 고유의 정보를 이용하기도 하지만, 기술의 발전에 따라, 사용자가 시간적 혹은 장소적으로 처한 상황을 파악하기도 한다. 이러한 사용자의 상황을 객관적으로 파악하기 위하여 이용될 수 있는 데이터에는 사용자가 들고 다니는 모바일 장치에 구비되는 여러 센서들로부터 얻을 수 있는 센서 데이터가 있다. As the use of mobile terminals such as smartphones and tablet computers becomes more common, applications that provide various types of services are emerging. Among these applications, we intend to secure competitiveness by providing customized services. In order to provide a user-customized service, unique information that does not change for a user is simply used, but with the development of technology, a situation in which the user is in time or location is also grasped. Data that can be used to objectively grasp the user's situation includes sensor data that can be obtained from various sensors provided in a mobile device carried by the user.

선행기술문헌 1(대한민국 공개특허공보 10-2015-0118780호)에 따르면, 사용자의 프로필 정보와 사용자의 연관된, 장소, 현재 상황에 기초하여, 맥락 정보를 획득하도록 하고 있다. 그러나, 센서 데이터를 이용하여 획득한 정보가 동일한 경우라도, 사용자의 성격, 성향 등과 같은 고유의 특징에 따라, 맥락은 상이할 수 있으며, 잘못 파악된 사용자 맥락은 사용자에게 도움이 되지 않을 수 있다. 또한, 사용자의 정확한 현재 맥락은 사용자의 고유의 특징과 상호 영향을 주며, 과거의 사용자 맥락으로부터도 영향 받을 수 있다. According to Prior Art Document 1 (Korean Patent Laid-Open No. 10-2015-0118780), context information is obtained based on the user's profile information and the user's association, place, and current situation. However, even if the information acquired by using the sensor data is the same, the context may be different according to the unique characteristics such as the user's personality and propensity, and the misidentified user context may not be helpful to the user. In addition, the user's exact current context mutually influences the user's unique characteristics, and may be influenced by the user context in the past.

본 개시는 위와 같은 문제점들을 해결하기 위한 것으로서, 사용자 맥락 정보 및 사용자 모델링을 효과적으로 하기 위한 방법, 장치 및 컴퓨터 판독가능 저장매체를 제시한다.The present disclosure is to solve the above problems, and proposes a method, an apparatus, and a computer-readable storage medium for effectively performing user context information and user modeling.

본 개시의 일부 실시예에서, 사용자 모델링 장치가 설명된다. 일 예시적인 사용자 모델링 장치는 센서 데이터 수집부, 맥락 인식부, 블랙보드부 및 사용자 모델 추론부를 포함할 수 있다. 센서 데이터 수집부는 사용자의 적어도 하나의 사용자 장치와 연관된 센서 데이터를 획득하도록 구성될 수 있다. 맥락 인식부는 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하도록 구성될 수 있다. 블랙보드부는 블랙보드 데이터 구조(blackboard data structure)를 가지며, 생성된 사용자 맥락 정보를 블랙보드 데이터 구조에 저장하도록 구성될 수 있다. 사용자 모델 추론부는 복수의 사용자 프로파일을 포함하는 사용자 모델을 관리할 수 있다. 사용자 모델 추론부는 맥락 인식부에 의해 생성된 맥락 정보를 이용하여 복수의 사용자 프로파일 중 적어도 하나를 평가하도록 구성될 수 있다. 일부 예시에서, 맥락 인식부는 블랙보드부에 기 저장된 사용자 맥락 정보 및 사용자 프로파일 중 적어도 하나를 더 이용하여 사용자 맥락 정보를 생성하거나 블랙보드부에 저장된 사용자 맥락 정보를 갱신할 수 있다. 일부 예시에서, 블랙보드부는 센서 데이터 및/또는 사용자 맥락 정보는 시계열적(time-series), 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장될 수 있다.In some embodiments of the present disclosure, a user modeling device is described. An exemplary user modeling device may include a sensor data collection unit, a context recognition unit, a black board unit, and a user model inference unit. The sensor data collection unit may be configured to acquire sensor data associated with at least one user device of a user. The context recognition unit may be configured to generate user context information by using sensor data. The blackboard unit has a blackboard data structure, and may be configured to store the generated user context information in the blackboard data structure. The user model inference unit may manage a user model including a plurality of user profiles. The user model inference unit may be configured to evaluate at least one of a plurality of user profiles using context information generated by the context recognition unit. In some examples, the context recognition unit may generate user context information or update user context information stored in the black board unit by further using at least one of user context information and user profile previously stored in the black board unit. In some examples, the black board unit may store sensor data and/or user context information in a time-series, spatial, or spatio-temporal manner.

일부 다른 실시예에서, 사용자 모델링 방법이 설명된다. 일 예시적인 사용자 모델링 방법은 컴퓨팅 장치의 제어 하에서 수행될 수 있다. 사용자 모델링 방법은 사용자의 사용자 장치로부터 센서 데이터를 수신하는 단계; 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하는 단계; 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 단계; 및 복수의 사용자 프로파일을 포함하는 사용자 모델을 관리하는 단계를 포함할 수 있다. 사용자 모델을 관리하는 단계는 메모리의 블랙보드 데이터 구조에 저장된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 하나를 평가하는 단계를 포함할 수 있다.In some other embodiments, a user modeling method is described. An exemplary user modeling method may be performed under the control of a computing device. The user modeling method includes receiving sensor data from a user device of a user; Generating user context information by using the sensor data; Storing the generated user context information in a blackboard data structure in a memory; And managing a user model including a plurality of user profiles. Managing the user model may include evaluating at least one of a plurality of user profiles using user context information stored in a blackboard data structure of a memory.

일부 실시에에 따르면, 사용자를 모델링 하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 저장 매체가 설명된다. 일부 예시에서, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램은 컴퓨팅 장치에 의하여 실행되면, 컴퓨팅 장치로 하여금, 사용자의 사용자 장치로부터 센서 데이터를 수신하는 동작; 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하는 동작; 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 동작; 및 블랙보드 데이터 구조에 저장된 적어도 하나의 맥락정보를 참조하여, 적어도 하나의 사용자 프로파일을 평가하는 동작을 포함하는 동작들을 수행하도록 할 수 있다.According to some implementations, a computer-readable storage medium storing a computer program for modeling a user is described. In some examples, when the computer program stored on the computer-readable storage medium is executed by the computing device, causing the computing device to: receive sensor data from the user's user device; Generating user context information by using the sensor data; Storing the generated user context information in a blackboard data structure of a memory; And evaluating at least one user profile by referring to at least one context information stored in the blackboard data structure.

이상의 간단한 요약 및 효과에 관한 설명은 단순히 예시적인 것으로서 본 개시에서 의도한 기술적 사항을 제한하기 위한 것이 아니다. 이하의 상세한 설명과 첨부된 도면을 참조함으로써, 전술한 예시적인 실시예들과 기술적 특징들에 더하여, 추가적인 실시예와 기술적 특징들이 이해될 수 있을 것이다.The above brief summary and description of the effects are merely illustrative and are not intended to limit the technical matters intended in the present disclosure. By referring to the following detailed description and the accompanying drawings, in addition to the above-described exemplary embodiments and technical features, additional embodiments and technical features may be understood.

본 개시의 전술한 특징들 및 기타 특징들은, 첨부 도면을 참조하여 이하의 설명으로부터 충분히 분명해질 것이다. 이러한 도면들은 본 개시에 따르는 단지 몇 가지의 실시예만을 도시한 것이고, 따라서 그 범위를 제한하는 것으로 간주되어서는 안되는 것을 이해하면서, 본 개시는 첨부된 도면의 사용을 통하여, 더 구체적이고 상세하게 기술될 것이다.
도 1은 본 개시의 적어도 일부 실시예에 따른 사용자 모델링을 위한 예시적인 환경을 도시한다.
도 2는 본 개시의 적어도 일부 실시예에 따라, 사용자 모델링 장치를 도시하는 블록도이다.
도 3은 본 개시의 적어도 일부 실시예에 따라 수집될 수 있는 센서 데이터의 일 예시이다.
도 4는 본 개시의 적어도 일부 실시예에 따라 생성될 수 있는 사용자 맥락 정보의 일 예시이다.
도 5는 본 개시의 적어도 일부 실시예에 따라 관리될 수 있는 사용자 프로파일을 포함하는 사용자 모델의 일 예시이다.
도 6은 본 개시의 적어도 일부 실시예에 따라 사용자 모델링을 위한 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 본 개시의 적어도 일부 실시예에 따른 사용자 모델링을 하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램을 제품을 도시한다.
도 8은 본 개시의 적어도 일부 실시에에 따라 사용자 모델링을 하기 위한 시스템을 구현하도록 사용될 수 있는 범용 컴퓨팅 장치를 도시한다.
도 9는 본 개시의 적어도 일부 실시예에 따른 사용자 모델링에 관하여 이용될 수 있는 사용자 장치를 도시하는 블록도이다.
The above-described and other features of the present disclosure will become sufficiently apparent from the following description with reference to the accompanying drawings. These drawings illustrate only a few embodiments according to the present disclosure, and therefore, with the understanding that they should not be regarded as limiting their scope, the present disclosure is described in more detail and detail through the use of the accompanying drawings. Will be.
1 illustrates an example environment for user modeling in accordance with at least some embodiments of the present disclosure.
2 is a block diagram illustrating a user modeling apparatus according to at least some embodiments of the present disclosure.
3 is an example of sensor data that may be collected according to at least some embodiments of the present disclosure.
4 is an example of user context information that may be generated according to at least some embodiments of the present disclosure.
5 is an example of a user model including a user profile that can be managed according to at least some embodiments of the present disclosure.
6 is a flow diagram illustrating an exemplary process for user modeling in accordance with at least some embodiments of the present disclosure.
7 depicts a product of an exemplary computer program that may be used to model a user in accordance with at least some embodiments of the present disclosure.
8 illustrates a general purpose computing device that may be used to implement a system for user modeling in accordance with at least some implementations of the present disclosure.
9 is a block diagram illustrating a user device that may be used with respect to user modeling according to at least some embodiments of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 구현예 및 실시예를 상세히 설명한다. 그러나, 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 구현예 및 실시예에 한정되지 않는다. Hereinafter, embodiments and embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present disclosure. However, the present application may be implemented in various different forms and is not limited to the embodiments and examples described herein.

본 개시는 일반적으로 사용자 모델링을 하기 위한 방법, 장치, 컴퓨터 판독가능 저장 매체 및 이에 저장된 프로그램에 관한 것이다.The present disclosure generally relates to a method, an apparatus, a computer-readable storage medium, and a program stored therein for modeling a user.

본 개시에서, "맥락(context)"은 일반적으로 개체(entity)(예컨대, 사람, 장소 또는 사용자와 어플리케이션 간의 상호작용에 관련되어 고려되는 오브젝트)의 상황을 특징짓는 데 이용될 수 있는 임의의 정보를 지칭한다. 이러한 점에서, "사용자 맥락"은 대상 개체가 사용자(사람)인 경우의 맥락을 의미하며, "사용자 맥락 정보"는 사용자의 상황을 특징짓는 데 이용될 수 있는 다양한 유형의 정보를 포함하는 것으로 이해될 수 있다. 예를 들어, 사용자 맥락 정보의 유형은 사용자와 연관된 장치의 컴퓨팅 맥락(예컨대, 네트워크 연결, 메모리 가용량, 프로세서 유형, CPU 컨텐션(CPU contention) 등), 사용자 맥락(예컨대, 이름, 성별, 나이 등과 같은 개인 정보, 위치, 행동, 주변 친구, 소셜 네트워크 관련 정보, 상황 등), 물리적 맥락(예컨대, 조명, 소음 수준, 교통 등), 시간적 맥락(년, 월, 일, 시각, 계절 등), 이들의 이력(history) 등을 포함할 수 있다.In this disclosure, “context” is generally any information that can be used to characterize the context of an entity (eg, a person, place, or object considered in connection with the interaction between a user and an application). Refers to. In this respect, "user context" refers to the context in which the target entity is a user (person), and "user context information" is understood to include various types of information that can be used to characterize the user's situation. Can be. For example, the type of user context information is the computing context of the device associated with the user (e.g., network connection, memory availability, processor type, CPU contention, etc.), user context (e.g., name, gender, age). Personal information such as location, behavior, friends around you, information related to social networks, situations, etc.), physical context (e.g., lighting, noise level, traffic, etc.), temporal context (year, month, day, time, season, etc.), It may include their history and the like.

한편, 본 개시에서, "사용자 모델"은 사용자를 특징지을 수 있는 통합적인 정보 모델을 지칭하며, "사용자 프로파일"은 사용자 모델의 개별 요소로서, 사용자의 개별적인 특징을 특징 지을 수 있는 데이터를 지칭한다.Meanwhile, in the present disclosure, "user model" refers to an integrated information model that can characterize a user, and "user profile" is an individual element of a user model, and refers to data that can characterize individual characteristics of a user. .

도 1은 본 개시의 적어도 일부 실시예에 따른 사용자 모델링을 위한 예시적인 환경(100)을 도시한다. 예시적인 환경(100)은 사용자의 사용자 장치(110), 네트워크(120) 및 서버(130)를 포함할 수 있다. 추가적으로, 예시적인 환경(100)은 하나 이상의 서비스 서버(140)를 포함할 수 있다.1 illustrates an exemplary environment 100 for user modeling in accordance with at least some embodiments of the present disclosure. The exemplary environment 100 may include a user device 110, a network 120, and a server 130 of a user. Additionally, the exemplary environment 100 may include one or more service servers 140.

환경(100)에서 사용자는 사용자 장치(110-1, 110-2, 110-3, ..., 110-n)과 같은 다양한 유형의 사용자 장치(110)를 사용할 수 있다. 사용자 장치(110)는 이러한 사용자의 상황과 연관되어 다양한 센서 데이터를 수집할 수 있다. 사용자 장치(110)는 네트워크(120)를 통하여 서버(130)와 통신 가능한 장치, 예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 휴대 전화기, 개인 휴대용 단말기(PDA), 개인용 미디어 플레이 장치, 개인용 헤드셋 장치, 특정 용도 장치(예컨대, 전자책 리더기), 또는 위 기능 중 임의의 것을 포함하는 융합 장치와 같은 소형 폼팩터 휴대용(모바일) 전자 장치를 포함하지만, 이에 제한되는 것은 아니다. 일부 예시에서, 사용자 장치(110)는 센서 데이터를 생성하는 하나 이상의 센서를 포함할 수 있다. 이러한 센서는 사용자 장치(110)의 내부 또는 외부에 위치할 수 있다. 센서는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기, 카메라 등과 같은 하나 이상의 센서를 포함할 수 있다. 일부 추가적인 예시에서, 사용자 장치(110)는 사용자와 연관된 공간에 설치된 외부 센서 장치(114)로부터 센서 데이터를 수신할 수 있다. In the environment 100, a user may use various types of user devices 110 such as user devices 110-1, 110-2, 110-3, ..., 110-n. The user device 110 may collect various sensor data in association with the user's situation. The user device 110 is a device capable of communicating with the server 130 through the network 120, such as a desktop computer, a laptop computer, a smart phone, a tablet computer, a mobile phone, a personal portable terminal (PDA), a personal media play device, Small form factor portable (mobile) electronic devices such as personal headset devices, special purpose devices (eg, e-book readers), or fusion devices including any of the above functions. In some examples, user device 110 may include one or more sensors that generate sensor data. These sensors may be located inside or outside the user device 110. The sensor may include, for example, one or more sensors such as GPS, gyroscope, microphone, temperature sensor, barometer, accelerometer, illuminance sensor, timer, battery condition meter, WiFi module, display condition meter, camera, and the like. In some additional examples, the user device 110 may receive sensor data from an external sensor device 114 installed in a space associated with the user.

사용자 장치(110)는 수집된 센서 데이터를 네트워크(120)를 통하여 서버(130)로 전송할 수 있다. 사용자 장치(110)는, 구현예에 따라, 센서 데이터를 미리 정해진 시간 간격 전송하거나 실시간으로 전송(즉, 센서 데이터를 획득하면 곧바로 전송)할 수 있다. 네트워크(120)는 PAN(personal area network), LAN(local area network), WAN(wide area network), 케이블 네트워크, 위성 네트워크, 셀룰러 네트워크, GSM(Global System for Mobile Communications) 네트워크, CDMA(Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, LTE-A(Long Term Evolution-Advanced) 네트워크, WiMax(Interoperability for Microwave Access) 네트워크, Wi-Fi(Wireless Fidelity) 네트워크 등과 같은 다양한 유형의 네트워크일 수 있다.The user device 110 may transmit the collected sensor data to the server 130 through the network 120. Depending on the implementation, the user device 110 may transmit sensor data at predetermined time intervals or transmit in real time (ie, immediately when sensor data is acquired). The network 120 includes a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a cable network, a satellite network, a cellular network, a Global System for Mobile Communications (GSM) network, and a Code Division Multiple (CDMA) network. Access) network, Long Term Evolution (LTE) network, Long Term Evolution-Advanced (LTE-A) network, Interoperability for Microwave Access (WiMax) network, Wireless Fidelity (Wi-Fi) network, etc. .

서버(130)는 단일 컴퓨팅 장치와 같은 독립형 서버, 복수의 서버를 포함하는 서버 팜(server farm), 분산형 네트워크, 클라우드 컴퓨팅 구성 및 기타 데이터 송수신 기능, 데이터 식별 기능 및 데이터 처리 기능을 갖춘 임의의 컴퓨팅 장치일 수 있다. 서버(130)는 사용자 장치(110), 즉, 사용자 장치(110-1, 110-2, 110-3, ..., 110-n) 중 적어도 하나로부터 센서 데이터를 수신할 수 있다. 일부 예시에서, 서버(130)는 센서 데이터와 함께 센서 데이터와 연관된 시간 정보, 예컨대, 센서에서 센서 데이터가 획득된 시간 또는 센서 데이터를 수신한 시간에 관한 정보 및 공간 정보 중 적어도 하나를 획득할 수 있다. 일부 예시에서, 서버(130)는 수신된 센서 데이터를 이용하여 추가적인 연산을 수행함으로써 새로운 센서 데이터를 획득할 수도 있다. 이와 같이, 서버(130)는 센서 데이터를 사용자 장치(110)로부터 수신하거나 센서 데이터를 이용하여 새로운 센서 데이터를 생성하는 방식으로 사용자의 사용자 장치와 연관된 센서 데이터를 획득할 수 있다. 일부 예시에서, 서버(130)는 획득된 센서 데이터를 블랙보드에 시계열적(time-series), 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장할 수 있다.The server 130 is a standalone server such as a single computing device, a server farm including a plurality of servers, a distributed network, a cloud computing configuration and other data transmission and reception functions, any data identification function and data processing functions. It can be a computing device. The server 130 may receive sensor data from at least one of the user device 110, that is, the user devices 110-1, 110-2, 110-3, ..., 110-n. In some examples, the server 130 may obtain at least one of time information associated with sensor data along with the sensor data, for example, information about a time when the sensor data is acquired from the sensor or information about a time when the sensor data is received, and spatial information. have. In some examples, the server 130 may acquire new sensor data by performing an additional operation using the received sensor data. In this way, the server 130 may obtain sensor data associated with the user's user device by receiving sensor data from the user device 110 or generating new sensor data using the sensor data. In some examples, the server 130 may store the acquired sensor data on a black board in a time-series, spatial, or spatio-temporal manner.

서버(130)는 센서 데이터를 이용하여 사용자 맥락 정보를 생성할 수 있다. 일부 예시에서, 서버(130)는 하나 이상의 센서 데이터를 이용하여 사용자 맥락 정보를 계산할 수 있다. 사용자 맥락 정보의 계산 및 갱신에 대한 구체적인 예시에 대해서는 후술한다. 서버(130)는 생성된 사용자 맥락 정보를 블랙보드에 저장할 수 있다. 블랙보드는 하나 이상의 메모리 내의 데이터 구조를 지칭하며, 서버(110) 내의 복수의 독립적인 요소들이 공통으로 작업 가능한 공간을 제공하며, 복수의 독립적 요소들은 블랙보드를 통하여 서로 통신 가능하다. 센서 데이터 및/또는 사용자 맥락 정보는 블랙보드에 시계열적(time-series) , 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장될 수 있다.The server 130 may generate user context information using sensor data. In some examples, server 130 may calculate user context information using one or more sensor data. A specific example of the calculation and update of user context information will be described later. The server 130 may store the generated user context information in the black board. The black board refers to a data structure in one or more memories, and provides a space in which a plurality of independent elements in the server 110 can work in common, and a plurality of independent elements can communicate with each other through the black board. The sensor data and/or user context information may be stored in a blackboard in a time-series, spatial, or spatio-temporal manner.

서버(130)는 복수의 사용자 모델을 관리할 수 있으며, 여기서 각 사용자 모델은 이에 대응하는 사용자에 관한 것이다. 사용자 모델은 복수의 사용자 프로파일을 포함할 수 있다. 서버(130)는 블랙보드에 저장된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 하나를 평가할 수 있다. 이러한 사용자 프로파일의 평가는, 요구되는 바에 따라, 센서 데이터가 수집될 때마다, 사용자 맥락 정보가 평가될 때마다 또는 미리 정해진 주기(예컨대, 하루에 한번) 마다 수행될 수 있다. 일부 예시에서, 서버(130)는 평가된 사용자 프로파일을 블랙보드에 저장할 수 있다. The server 130 may manage a plurality of user models, where each user model relates to a corresponding user. The user model may include a plurality of user profiles. The server 130 may evaluate at least one of a plurality of user profiles by using user context information stored in the black board. The evaluation of such a user profile may be performed whenever sensor data is collected, whenever user context information is evaluated, or at a predetermined period (eg, once a day), as required. In some examples, server 130 may store the evaluated user profile in a blackboard.

일부 예시에서, 서버(130)는 예컨대, 블랙보드에 저장되는 센서 데이터, 사용자 맥락 정보 및 사용자 프로파일 중 적어도 하나를 이용하여 사용자 맥락 정보를 생성할 수 있다. 또한, 일부 예시에서, 서버(130)는 블랙보드에 저장되는 센서 데이터, 사용자 맥락 정보 및 사용자 프로파일 중 적어도 하나를 이용하여 블랙보드 내 사용자 맥락 정보 또는 사용자 프로파일을 수정 또는 갱신할 수 있다.In some examples, the server 130 may generate user context information using, for example, at least one of sensor data, user context information, and user profile stored in a blackboard. In addition, in some examples, the server 130 may modify or update user context information or user profile in the blackboard by using at least one of sensor data, user context information, and user profile stored in the blackboard.

일부 예시에서, 서버(130)는 사용자 맥락정보 및/또는 사용자 프로파일에 기초하여 사용자 모델을 분류할 수 있다. 이와 같이 사용자 모델을 분류해 놓음으로써, 서버(130)가 사용자 프로파일을 평가할 때, 평가된 사용자 프로파일과 유사한 사용자 프로파일을 가지는 유사 사용자 모델을 검색하는 것을 용이하게 할 수 있다. 또한, 이러한 예시에서, 서버(130)는 검색된 유사 사용자 모델에 대한 정보를 이용하여, 사용자 맥락 정보를 생성할 수 있다. 이와 같은 유사 사용자 모델은 사용자 모델의 수정을 하는 데, 사용자 모델이 충분히 형성되지 않은 경우 사용자 프로파일을 추측하는 데 등에 유용할 수 있다.In some examples, the server 130 may classify a user model based on user context information and/or a user profile. By classifying the user models in this way, when the server 130 evaluates the user profile, it is possible to easily search for a similar user model having a user profile similar to the evaluated user profile. In addition, in this example, the server 130 may generate user context information by using information on the searched similar user model. Such a similar user model may be useful for modifying a user model, and in guessing a user profile when the user model is not sufficiently formed.

서버(130)는 사용자 맥락 정보 중 적어도 일부를 사용자 장치(110)에 전송할 수 있다. 일부 예시에서, 서버(110)는 사용자 맥락 정보를 포함하는 메시지를 사용자 장치(110)에 전송할 수 있으며, 사용자 장치(110)는 수신된 메시지를 디스플레이 할 수 있다. 메시지는 예컨대, SMS 메시지, 메신저 메시지 또는 시스템 또는 응용 어플리케이션을 통한 푸시 메시지 등 다양한 유형의 메시지를 포함할 수 있다. 일부 예시에서, 사용자 장치(110)는 수신된 사용자 맥락 정보를 이용하여 사용자의 현재 사용자 맥락 정보를 갱신할 수 있다. 현재 사용자 맥락 정보의 갱신은 사용자 장치(110)의 시스템의 시스템 백그라운드에서 실행 중인 서비스에 의해 수행될 수 있다. The server 130 may transmit at least some of the user context information to the user device 110. In some examples, the server 110 may transmit a message including user context information to the user device 110, and the user device 110 may display the received message. The message may include various types of messages, such as an SMS message, a messenger message, or a push message through a system or application application. In some examples, the user device 110 may use the received user context information to update the user's current user context information. The update of the current user context information may be performed by a service running in the system background of the system of the user device 110.

일부 예시에서, 사용자 장치(110) 상에는 하나 이상의 어플리케이션이 설치될 수 있으며, 각 어플리케이션은 사용자에게 특정 서비스를 제공할 수 있으며, 사용자 맥락 정보를 이용할 수 있는 기능을 가질 수 있다. 사용자 장치(110)는 어플리케이션이 실행되면, 네트워크(120)를 통하여 각각의 어플리케이션에 해당하는 서비스 서버(140)에 연결될 수 있다. 사용자 장치(110)는 서버(130)로부터 수신된 사용자 맥락 정보가 사용자 장치(110)에서 실행되는 어플리케이션과 연관된 서비스에서 이용 가능하도록, 해당 사용자 맥락 정보를 브로드캐스팅(broadcasting)할 수 있다. 사용자 맥락 정보가 브로드캐스팅 되면, 예컨대, 서비스 서버(140)는 요구되는 바에 따라, 사용자 맥락 정보를 선택 및/또는 수신할 수 있으며, 선택 및/또는 수신된 사용자 맥락 정보를 이용하여 사용자에게 적절한 서비스를 제공할 수 있다.In some examples, one or more applications may be installed on the user device 110, and each application may provide a specific service to a user, and may have a function of using user context information. When the application is executed, the user device 110 may be connected to the service server 140 corresponding to each application through the network 120. The user device 110 may broadcast the corresponding user context information so that the user context information received from the server 130 can be used in a service related to an application executed on the user device 110. When user context information is broadcast, for example, the service server 140 may select and/or receive user context information as required, and use the selected and/or received user context information to provide services appropriate to the user. Can provide.

일부 추가적인 예시에서, 서버(130)는 사용자 모델의 일부 사용자 프로파일 및/또는 사용자 맥락 정보에 기초하여, 사용자에 추천 정보를 생성하여 사용자 장치에 전송할 수 있다. 이러한 예시에서, 사용자 장치(130)는 추천 정보를 수신하고 이를 디스플레이 할 수 있다.In some additional examples, the server 130 may generate recommendation information to the user and transmit it to the user device based on some user profile and/or user context information of the user model. In this example, the user device 130 may receive and display recommended information.

도 2는 본 개시의 적어도 일부 실시예에 따라, 사용자 모델링 장치(200)를 도시하는 블록도이다. 사용자 모델링 장치(200)는 예컨대, 도 1에 도시된 서버(110)의 일 예시일 수 있다. 따라서, 사용자 모델링 장치(200)는 단일 컴퓨팅 장치와 같은 독립형 서버, 복수의 서버를 포함하는 서버 팜(server farm), 분산형 네트워크, 클라우드 컴퓨팅 구성 및 기타 데이터 송수신 기능, 데이터 식별 기능 및 데이터 처리 기능을 갖춘 임의의 컴퓨팅 장치일 수 있다.2 is a block diagram illustrating a user modeling apparatus 200 according to at least some embodiments of the present disclosure. The user modeling device 200 may be, for example, an example of the server 110 illustrated in FIG. 1. Therefore, the user modeling device 200 is a standalone server such as a single computing device, a server farm including a plurality of servers, a distributed network, a cloud computing configuration and other data transmission and reception functions, a data identification function, and a data processing function. It may be any computing device equipped with.

일부 실시예에서, 사용자 모델링 장치(200)는 센서 데이터 수집부(210), 맥락 인식부(220), 블랙보드부(230) 및 사용자 모델 추론부(240)를 포함할 수 있다. 센서 데이터 수집부(210), 맥락 인식부(220) 및 사용자 모델 추론부(240)는 독립적인 요소들이며 블랙보드부(230)에 공통 작업이 가능하도록 연결된다. 추가적인 실시예에서, 사용자 모델링 장치(200)는 사용자 관리부(250)를 더 포함할 수 있다. 도 2 의 각 구성은 분리된 컴포넌트로 도시되었으나, 개시된 대상의 범위를 벗어나지 않으면서 다양한 컴포넌트가 추가적인 컴포넌트로 분리될 수 있거나 더 적은 컴포넌트로 조합될 수 있거나 또는 제거될 수 있다. 당업자라면 컴포넌트의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어 또는 그들의 임의의 조합에 의해, 개별적으로 및/또는 종합적으로 구현될 수 있음을 이해할 것이다.In some embodiments, the user modeling apparatus 200 may include a sensor data collection unit 210, a context recognition unit 220, a black board unit 230, and a user model inference unit 240. The sensor data collection unit 210, the context recognition unit 220, and the user model inference unit 240 are independent elements and are connected to the black board unit 230 so that a common operation is possible. In an additional embodiment, the user modeling apparatus 200 may further include a user management unit 250. Although each component of FIG. 2 is shown as a separate component, various components may be separated into additional components, combined into fewer components, or removed without departing from the scope of the disclosed subject matter. Those skilled in the art will understand that each function and/or operation of a component may be implemented individually and/or collectively, by hardware, software, firmware, or any combination thereof.

센서 데이터 수집부(210)는 사용자의 적어도 하나의 사용자 장치와 연관된 센서 데이터를 획득하도록 구성될 수 있다. 일부 실시예에서, 센서 데이터 수집부(210)는 센서 데이터 수신부(212) 및 센서 데이터 생성부(214)를 포함할 수 있다. 수신부(212)는 사용자의 사용자 장치로부터 센서 데이터를 수신하도록 구성될 수 있으며, 여기서, 수신되는 유형의 센서 데이터를 제1 유형의 센서 데이터라고 지칭할 수 있다. 수신부(212)는 센서 데이터를 사용자 장치가 센서 데이터를 획득하는 것에 응답한 전송에 의해 실시간으로 센서 데이터를 수신할 수 있거나, 미리 정해진 기간 마다 센서 데이터를 수신할 수 있다. 수신부(212)에 의하여 수신되는 센서 데이터는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기와 같은 하나 이상의 물리적 센서에 의해 획득되는 물리적 센서 데이터 및/또는 이미지, 메시지, 영상 등의 데이터로부터 인식되는 논리적 센서 데이터를 포함할 수 있다. 사용자 장치로부터 수신되는 센서 데이터의 구체적인 예시는 이하 도 3에서 보다 구체적으로 설명된다.The sensor data collection unit 210 may be configured to acquire sensor data associated with at least one user device of a user. In some embodiments, the sensor data collecting unit 210 may include a sensor data receiving unit 212 and a sensor data generating unit 214. The receiver 212 may be configured to receive sensor data from a user device of a user, and here, the received type of sensor data may be referred to as a first type of sensor data. The receiving unit 212 may receive sensor data in real time by transmitting sensor data in response to the user device acquiring sensor data, or may receive sensor data every predetermined period. The sensor data received by the receiver 212 is, for example, by one or more physical sensors such as GPS, gyroscope, microphone, temperature sensor, barometer, accelerometer, illuminance sensor, timer, battery condition meter, WiFi module, and display condition meter. It may include logical sensor data recognized from acquired physical sensor data and/or data such as images, messages, and images. A specific example of sensor data received from the user device will be described in more detail below with reference to FIG. 3.

생성부(214)는 제1 유형의 센서 데이터를 이용하여 추가적인 연산을 수행함으로써 새로운 센서 데이터를 생성할 수 있으며, 여기서, 생성부(214)에 의해 생성되는 센서 데이터를 제2 유형의 센서 데이터라고 지칭할 수 있다. 예컨대, 사용자 장치는 SMS 메시지 및 이미지에 특정 조건을 만족하는 텍스트가 포함되는 경우, 해당 텍스트 데이터를 추출할 수 있고, 수신부(212)는 추출된 텍스트 데이터를 수신할 수 있으며, 생성부(214)는 추출된 텍스트 데이터로부터, 결제 정보와 같은 유의미한 정보를 검출할 수 있다. 다른 예시에서, 사용자 장치는 마이크로폰으로부터 음성 데이터를 획득할 수 있다. 이러한 예시에서, 수신부(212)는 아날로그 음성 데이터를 수신하고 생성부(214)는 음성 데이터로부터 텍스트 데이터를 인식할 수 있거나, 수신부(212)는 음성 데이터로부터 인식된 텍스트 데이터를 수신하고 생성부(214)는 텍스트 데이터로부터 유의미한 텍스트 데이터를 추출할 수 있다. 일부 예시에서, 센서 데이터 수집부(210)는 센서 데이터를 예컨대, 시간 및/또는 공간적 기준에 따라 분류 및 정리함으로써, 블랙보드부(230)에, 시계열적, 공간적 또는 시공간적으로 저장할 수 있다.The generation unit 214 may generate new sensor data by performing an additional operation using the first type of sensor data, where the sensor data generated by the generation unit 214 is referred to as the second type of sensor data. Can be referred to. For example, when text that satisfies a specific condition is included in the SMS message and image, the user device may extract the corresponding text data, and the receiving unit 212 may receive the extracted text data, and the generation unit 214 May detect meaningful information such as payment information from the extracted text data. In another example, the user device may obtain voice data from a microphone. In this example, the receiver 212 may receive analog voice data and the generator 214 may recognize text data from the voice data, or the receiver 212 receives text data recognized from the voice data and the generator ( 214) may extract meaningful text data from the text data. In some examples, the sensor data collection unit 210 may classify and organize the sensor data according to, for example, a temporal and/or spatial criterion, so that the black board unit 230 may store the sensor data in time series, spatially, or spatiotemporally.

맥락 인식부(220)는 센서 데이터 수집부(210)에 의해 획득된 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 센서 데이터의 수신에 응답하여 생성될 수 있다. 맥락 인식부(220)는 센서 데이터에 기초하여, 사용자 맥락 정보를 계산할 수 있다. 제한되지 않는 예시로서, 맥락 인식부(220)는 사용자의 맥락정보를 3 가지 기준, 즉 시간 정보, 위치 정보 및 활동 정보로 구분하여 사용자의 맥락을 구할 수 있다. 이러한 3 가지 기준은 독립적인 것이 아니라 상호 연관되어 특정 시점의 사용자 장치 사용자의 상태나 정황을 나타내는 사용자의 맥락을 나타낼 수 있다. 예컨대, 사용자가 오전 9시부터 오후 1시까지(시간 정보) 회사에서(위치 정보) 업무(활동 정보)를 한다는 사실은 그 사용자의 해당 시간대에서의 특정 맥락을 나타낸다. 예컨대, 센서 데이터 중에서 시간 데이터는 사용자 맥락의 시간 정보를 계산하는 기준이 되고, 특정 시간 데이터에 해당하는 GPS 데이터는 사용자 맥락의 위치 정보를 계산하는 기준이 되며, 특정 시간 데이터 및 해당 GPS 데이터에서 이에 해당하는 WiFi 데이터가 WiFi 사용 중임을 나타내는 경우 사용자가 WiFi를 통해 모바일 단말(110)을 이용 중인 맥락을 도출해 낼 수 있게 된다. 한편, 사용자 맥락 정보 중에서 시간 정보는 여러 기준으로 구분될 수 있는데, 예컨대 크게 시간대 별로 새벽(자정부터 오전 6시까지), 오전(오전 6시부터 정오까지), 오후(정오부터 오후 6시까지) 및 저녁(오후 6시부터 자정까지)로 나누거나, 혹은 매 1시간 간격으로 구분하거나, 또는 해당 어플리케이션의 제공 서비스의 속성 및/또는 기능에 따라 필요한 기준으로 구분할 수 있다. 사용자 맥락정보 중에서 장소 정보는 사용자 장치 사용자가 자주 위치하게 되는 곳(예컨대, 집, 회사 등)과 그 위치하게 되는 빈도수가 상대적으로 낮은 곳으로 구분하거나, 혹은 GPS 데이터에 근거한 특정 위치 별로 구분할 수 있으며, 이 역시 해당 어플리케이션의 제공 서비스의 속성 및/또는 기능에 따라 필요한 기준으로 구분할 수 있다. 사용자 맥락정보 중에서 활동 정보도 마찬가지로 큰 카테고리별(예컨대, 이동 중, 업무 중, 휴식 중 등)로 구분하거나 구체적인 활동별(예컨대, 걷는 중, 뛰는 중, 자는 중 등)로 구분할 수 있다. 활동 정보의 구체적인 예시는 이하 도 4에서 보다 구체적으로 설명된다.The context recognition unit 220 may be configured to generate user context information by using sensor data acquired by the sensor data collection unit 210. This user context information may be generated in response to receipt of sensor data. The context recognition unit 220 may calculate user context information based on sensor data. As a non-limiting example, the context recognition unit 220 may obtain the user's context by dividing the user's context information into three criteria, namely, time information, location information, and activity information. These three criteria are not independent but are related to each other to represent the user's context indicating the state or context of the user of the user device at a specific time. For example, the fact that a user does work (activity information) at a company (location information) from 9 am to 1 pm (time information) indicates a specific context for that user's time zone. For example, among sensor data, time data becomes the basis for calculating time information in the user context, and GPS data corresponding to specific time data becomes the basis for calculating the location information in the user context. When the corresponding WiFi data indicates that WiFi is being used, a context in which the user is using the mobile terminal 110 can be derived through WiFi. On the other hand, time information among the user context information can be classified according to various criteria, for example, early morning (midnight to 6 am), morning (6 am to noon), and afternoon (noon to 6 pm) for each time zone. And evening (from 6 pm to midnight), or every hour, or according to the properties and/or functions of the service provided by the application. Among the user context information, the location information can be classified into a place where the user device user is frequently located (e.g., home, company, etc.) and a place with a relatively low frequency of the location, or by a specific location based on GPS data. , This can also be classified into a necessary criterion according to the properties and/or functions of the service provided by the corresponding application. Among the user context information, activity information may be classified into large categories (eg, while moving, during work, while resting, etc.) or by specific activities (eg, while walking, while running, while sleeping, etc.). A specific example of the activity information will be described in more detail in FIG. 4 below.

맥락 인식부(220)는 생성된 사용자 맥락 정보를 블랙보드부(230)에 저장할 수 있다. 예컨대, 사용자 맥락 정보는 블랙보드부(230)에 시계열적, 공간적 또는 시공간적으로 저장될 수 있다. 블랙보드부(230)는 블랙보드 데이터 구조를 가진다. 블랙보드부(230)는 맥락 인식부(220)에 의해 생성된 사용자 맥락 정보를 이러한 블랙보드 데이터 구조에 저장할 수 있다. 추가적으로, 블랙보드부(230)는 센서 데이터도 블랙보드 데이터 구조에 저장할 수 있다. 예컨대, 사용자가 집에 있을 경우, 회사에 있을 경우, 여행할 경우에 동일한 행동은 다른 맥락을 나타낼 수 있다. 이러한 점에서, 블랙보드부(230)는 공간 단위에 따라 그리고 시계열에 따라 센서 데이터 및 맥락 정보를 분류 및 저장할 수 있다. The context recognition unit 220 may store the generated user context information in the black board unit 230. For example, the user context information may be stored in time series, spatially, or spatiotemporally in the blackboard unit 230. The black board unit 230 has a black board data structure. The black board unit 230 may store user context information generated by the context recognition unit 220 in this black board data structure. Additionally, the black board unit 230 may also store sensor data in the black board data structure. For example, if the user is at home, at work, or traveling, the same behavior may indicate a different context. In this regard, the black board unit 230 may classify and store sensor data and context information according to a space unit and a time series.

일부 실시예에서, 맥락 인식부(220)는 센서 데이터에 기초하여 사용자 맥락 정보를 생성할 때, 블랙보드부(230)에 저장된 사용자 맥락 정보를 더 이용하여, 계산된 사용자 맥락 정보를 정정할 수 있다. 예컨대, 사용자가 출근 시간에 버스를 타고 이동하는 경우, 맥락 인식부(220)는 "버스를 타고 출근 중"이라는 맥락을 인식할 수 있으며, 이를 블랙보드부(230)에 시간 정보와 함께 저장할 수 있다. 이후, 사용자는 실질적으로 동일한 출근 시간에 버스를 타고 이동할 수 있지만, 교통 정체로 인하여 매우 느리게 이동할 수 있다. 맥락 인식부(220)는 보통, 매우 느린 속도로 인하여, "걷는 중"이라고 인식할 수도 있지만, 블랙 보드에서 동일한 시간대로 저장된 맥락 정보를 참조하여, 버스를 타고 이동 중이라고 정정할 수 있다. In some embodiments, the context recognition unit 220 may correct the calculated user context information by further using the user context information stored in the black board unit 230 when generating user context information based on sensor data. have. For example, when a user moves on a bus during the rush hour, the context recognition unit 220 may recognize the context of “on the bus to work”, and this may be stored together with the time information in the black board unit 230. have. Thereafter, the user may ride the bus at substantially the same rush hour, but may move very slowly due to traffic congestion. The context recognition unit 220 may recognize that it is "walking" due to a generally very slow speed, but may correct that it is moving on a bus by referring to context information stored in the same time zone on the black board.

사용자 모델 추론부(240)는 사용자 모델(242), 사용자 모델(244) 등을 포함하는 복수의 사용자 모듈을 관리할 수 있다. 사용자 모델(242)은 복수의 사용자 프로파일을 포함할 수 있다. 일부 예시에서, 복수의 사용자 프로파일은 하나 이상의 카테고리로 분류될 수 있다. 카테고리는, 예컨대, 사용자의 기본 정보, 식사/외식, 이동, 반복적인 일상 정보, 음악, 영화 등을 포함할 수 있다. 카테고리 중 일부는 사용자의 선호도를 나타내는 사용자 프로파일(선호 프로파일)을 적어도 하나 포함할 수 있다. 사용자 프로파일은 예컨대, 집 위치, 회사 위치, 성별, 자주가는 지역, 자주가는 장소, 평균 주변 소음도, 평균 식사시간, 좋아하는 음식, 좋아하는 식당, 통근 시간, 하루 평균 걸음수, 평균 보폭, 좋아하는 음악, 좋아하는 가수, 하루평균 음악을 듣는 시간, 선호하는 볼륨, 좋아하는 영화 등과 같이 사용자의 특징을 나타낼 수 있는 다양한 개별적인 요소들에 관한 것일 수 있다.The user model inference unit 240 may manage a plurality of user modules including a user model 242 and a user model 244. The user model 242 may include a plurality of user profiles. In some examples, a plurality of user profiles may be classified into one or more categories. The category may include, for example, basic information of the user, eating/dining out, moving, repetitive daily information, music, movies, and the like. Some of the categories may include at least one user profile (preferred profile) indicating the user's preference. User profiles include, for example, home location, company location, gender, frequented areas, frequented places, average ambient noise level, average meal time, favorite food, favorite restaurant, commuting time, average daily steps, average stride length, favorite It may be about various individual elements that can represent the user's characteristics, such as music, favorite singers, average time to listen to music per day, preferred volume, and favorite movies.

일부 실시예에서, 사용자 모델 추론부(240)는 맥락 인식부(220)에 의해 생성된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 일부를 평가할 수 있다. 사용자 모델 추론부(240)는 사용자 맥락 정보가 결정될 때마다 또는 미리 정해진 주기(예컨대, 1 주일 또는 1 일에 한번)로 사용자 프로파일을 평가할 수 있다. 일부 실시예에서, 사용자 모델 추론부(240)는 블랙보드부(230)에 저장된 사용자 맥락 정보를 판독하여 복수의 사용자 프로파일 중 적어도 일부를 평가할 수 있다. 예컨대, 맥락 인식부(220)에 의하여, 사용자가 "지하철로 출근 중"이라는 맥락이 인식된 경우, 사용자 모델 추론부(240)는 사용자가 이용하는 이동 수단, 지하철 역, 통근 시간, 출근 시각 등에 관한 사용자 프로파일에 대한 정보를 계산, 누적 및 저장할 수 있다. 구체적인 사용자 모델 및 사용자 프로파일의 예시에 관해서는, 이하 도 5에서 구체적으로 예시한다.In some embodiments, the user model inference unit 240 may evaluate at least some of the plurality of user profiles by using the user context information generated by the context recognition unit 220. The user model inference unit 240 may evaluate the user profile whenever user context information is determined or at a predetermined period (eg, once a week or once a day). In some embodiments, the user model inference unit 240 may evaluate at least some of the plurality of user profiles by reading user context information stored in the black board unit 230. For example, when the context that the user is "going to work by subway" is recognized by the context recognition unit 220, the user model inference unit 240 relates to a means of transportation used by the user, a subway station, commuting time, and attendance time. Information on user profiles can be calculated, accumulated, and stored. A specific example of a user model and a user profile will be described in detail in FIG. 5 below.

일부 실시예에서, 맥락 인식부(220)는 센서 데이터에 기초하여 사용자 맥락 정보를 생성할 때, 사용자 프로파일(236)을 더 이용하여, 계산된 사용자 맥락 정보를 정정할 수 있다. 예컨대, 센서 데이터 수집부(210)는 소음도에 대한 센서 데이터를 획득할 수 있고, 맥락 인식부(220)는 센서 데이터에 기초하여, "시끄럽다"라고 인식할 수도 있지만, 평균 주변 소음이나 집에서의 소음과 같은 사용자 프로파일을 더 참조하여, 해당 사용자 프로파일에 나타나는 소음도가 센서 데이터에 나타나는 소음도 보다 높은 경우, 센서 데이터에 따른 사용자 맥락은 "조용하다"라고 결정할 수 있다. In some embodiments, the context recognition unit 220 may correct the calculated user context information by further using the user profile 236 when generating user context information based on sensor data. For example, the sensor data collection unit 210 may acquire sensor data on the noise level, and the context recognition unit 220 may recognize that it is “noisy” based on the sensor data, but the average ambient noise or at home With further reference to a user profile such as noise, when the noise level shown in the corresponding user profile is higher than the noise level shown in the sensor data, the user context according to the sensor data may be determined as "quiet".

일부 예시에서, 수신부(212)가 복수의 사용자 장치로부터 복수의 센서 데이터를 수신하고 맥락 인식부(220)가 이러한 복수의 사용자 장치로부터의 복수의 센서 데이터를 이용함으로써, 사용자 맥락 정보의 추론(생성)을 향상시킬 수 있다. 일 예시에서, 사용자가 스마트폰과 태블릿 컴퓨터를 동시에 사용하는 경우, 수신부(212)는 스마트폰과 태블릿 컴퓨터로부터 다양한 센서 데이터를 수신할 수 있다. 이후, 맥락 인식부(220)는 수신된 센서 데이터를 이용하여, 스마트폰이 수행하는 동작과 태블릿 컴퓨터가 수행하는 동작을 구별할 수 있고, 이후, 예컨대, "작업중", "육아중" 등의 보다 구체적인 맥락을 결정할 수 있다. 맥락 인식부(220)는 이러한 결정에, 블랙보드부(230)에 저장된 사용자 프로파일(236)을 더 이용함으로써 보다 정확한 결정을 행할 수 있다. 다른 예시에서, 수신부(212)는 사용자의 스마트폰과 데스크탑으로부터 기압 센서 데이터를 수신할 수 있으며, 맥락 인식부(220)는 스마트폰과 데스크탑으로부터의 기압 센서 데이터의 값의 상대적인 차이에 기초하여 사용자의 현재 고도(altitude)를 결정할 수 있다.In some examples, the receiving unit 212 receives a plurality of sensor data from a plurality of user devices, and the context recognition unit 220 uses a plurality of sensor data from such a plurality of user devices, thereby inferring (generating) user context information. ) Can be improved. In one example, when a user uses a smartphone and a tablet computer at the same time, the receiving unit 212 may receive various sensor data from the smartphone and the tablet computer. Thereafter, the context recognition unit 220 may use the received sensor data to distinguish between an action performed by the smartphone and an action performed by the tablet computer, and then, for example, "in working", "in parenting", etc. You can decide on a more specific context. The context recognition unit 220 may make a more accurate determination by further using the user profile 236 stored in the black board unit 230 for this determination. In another example, the receiving unit 212 may receive barometric pressure sensor data from the user's smartphone and desktop, and the context recognition unit 220 is based on a relative difference between the values of the barometric pressure sensor data from the smartphone and the desktop. You can determine your current altitude.

추가적인 예시에서, 사용자 관리부(250)는 맥락 인식부(220)에 의하여 생성되고 블랙보드부(230)에 저장되는 사용자 맥락 정보를 사용자 장치로 전송하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 사용자 장치의 디스플레이 상에서 나타날 수 있는 메시지의 형태 또는 시스템에서 이용 가능한 시스템 메시지의 형태일 수 있다. 사용자의 사용자 장치로 전송되는 사용자 맥락 정보는 이후 사용자의 사용자 장치로부터 브로드캐스팅되어, 사용자 장치에 실행되는 어플리케이션과 연관된 서비스에서 이용 가능하도록 제공될 수 있다. 일부 예시에서, 사용자 관리부(250)는 블랙보드부(230)에 저장되는 사용자 프로파일을 더 전송하는 것 또한 가능하다.In an additional example, the user management unit 250 may be configured to transmit user context information generated by the context recognition unit 220 and stored in the black board unit 230 to the user device. This user context information may be in the form of a message that may appear on the display of the user device or a form of a system message available in the system. User context information transmitted to the user device of the user may be broadcasted from the user device of the user after that, and may be provided to be used in a service related to an application executed on the user device. In some examples, the user management unit 250 may further transmit a user profile stored in the black board unit 230.

추가적인 예시에서, 사용자 관리부(250)는 사용자 맥락 정보 및 사용자 모델의 사용자 프로파일에 기초하여, 사용자에 대한 추천 정보를 생성하도록 구성될 수 있다. 추천 정보는 인식된 사용자 맥락 정보와, 블랙보드사용자 관리부(250)는 사용자 맥락 정보와 사용자 프로파일의 연관성을 결정하고, 이에 기초하여 추천 정보를 생성할 수 있다. 일 예시에서, 맥락 인식부(220)에 의하여 인식된 사용자 맥락 정보가 "지하철로 출근 중"인 경우, 사용자 관리부(250)는 블랙보드부(230)를 참조하여, 인식된 맥락과 동일한 시간대에 "음악 청취중"이라는 맥락이 가장 자주 인식된 이력이 있다고 결정하고, 이러한 결정에 기초하여, 사용자 모델의 "출근 중 많이 청취한 음악"이라는 사용자 프로파일을 결정할 수 있고, 이에 해당하는 데이터를 추천 정보로서 결정할 수 있다. 사용자 관리부(250)는 결정된 추천 정보를 사용자의 사용자 장치에 전송할 수 있다. In an additional example, the user management unit 250 may be configured to generate recommendation information for a user based on user context information and a user profile of a user model. The recommendation information may be the recognized user context information, and the blackboard user management unit 250 may determine a correlation between the user context information and a user profile, and generate recommendation information based on this. In one example, when the user context information recognized by the context recognition unit 220 is "going to work by subway", the user management unit 250 refers to the black board unit 230 and is at the same time as the recognized context. It is determined that the context of "listening to music" is the most frequently recognized history, and based on this determination, the user profile of the user model of "music that was listened a lot while going to work" can be determined, and the corresponding data is recommended information Can be determined as The user management unit 250 may transmit the determined recommendation information to the user device of the user.

이와 같이, 본 개시에 따르면, 적어도 사용자 맥락 정보를 블랙 보드 데이터 구조에 저장함으로써, 사용자 맥락 정보 및 사용자의 특징을 결정하는 정확도를 보다 향상시킬 수 있다. 또한, 사용자 모델을 관리함으로써, 유사한 생활 패턴을 가진 다른 사용자의 사용자 모델을 이용하여, 보다 효과적인 추천 정보를 사용자에게 제공할 수 있다.As described above, according to the present disclosure, by storing at least the user context information in the black board data structure, it is possible to further improve the accuracy of determining the user context information and the characteristics of the user. In addition, by managing the user model, more effective recommendation information can be provided to the user by using the user model of another user having a similar life pattern.

도 3은 본 개시의 적어도 일부 실시예에 따라 수집될 수 있는 센서 데이터의 일 예시이다. 도 3에 도시된 표(300)는 사용자 장치를 위한 대표적인 2 가지 유형의 운영 체제인 Android 및 ioS에서 이용 가능한 센서 데이터의 유형을 예시하고 있다. 그러나, 센서 데이터는 도 3에서 예시된 유형에 제한되지 않고, 그 밖의 다른 유형의 데이터가 이용될 수 있다는 점을 이해할 것이다.3 is an example of sensor data that may be collected according to at least some embodiments of the present disclosure. Table 300 shown in FIG. 3 illustrates the types of sensor data available in Android and ioS, which are two representative types of operating systems for user devices. However, it will be appreciated that the sensor data is not limited to the type illustrated in FIG. 3, and other types of data may be used.

도 4는 본 개시의 적어도 일부 실시예에 따라 생성될 수 있는 사용자 맥락 정보의 일 예시이다. 도 4의 사용자 맥락정보(400)는 사용자의 활동을 크게 6 개의 카테고리인 MOVE(이동), WORK(업무), REST(휴식), PLAY(놀이), EAT(식사 등) 및 WATCH(관람)으로 구분하였으며, 각각의 카테고리 별로 구체적인 활동 정보를 세분화 하였다. 예컨대, 여기서 MOVE에 관한 사용자의 맥락정보는 센서 데이터 중 GPS 데이터 및 가속도계 데이터 등을 이용하여 계산될 수 있다. 통상의 기술자는 사용자 맥락 정보의 카테고리가 이에 제한되지 않으며, 보다 다양한 카테고리도 포함할 수 있음을 이해할 것이다.4 is an example of user context information that may be generated according to at least some embodiments of the present disclosure. The user context information 400 of FIG. 4 categorizes the user's activities into six categories: MOVE (movement), WORK (task), REST (rest), PLAY (play), EAT (meal, etc.), and WATCH (viewing). They were classified, and specific activity information for each category was subdivided. For example, the user's context information about MOVE may be calculated using GPS data and accelerometer data among sensor data. Those of ordinary skill in the art will understand that the category of user context information is not limited thereto, and may include more various categories.

도 5는 본 개시의 적어도 일부 실시예에 따라 관리될 수 있는 사용자 프로파일을 포함하는 사용자 모델의 일 예시이다. 도 5의 사용자 모델(500)은 예컨대, 기본정보, 식사/외식, 이동, Daily Routine, 음악, 영화 등과 같은 다양한 카테고리로 구분되며, 각 카테고리는 하나 이상의 사용자 프로파일을 포함하고 있다. 도 5에 도시된 바와 같이, 일부 사용자 프로파일은 예컨대, "집위치", "회사 위치", "성별" 등과 같이 사용자로부터 특정의 정보를 수신받거나 누적된 데이터로부터 추출함으로써 획득되는 고정된 정보일 수 있다. 일부 다른 사용자 프로파일은 예컨대, "평균 점심 식사 시간", "출근 시각", "업무 시간", "퇴근 시각", "취침 시간", "하루평균 걸음수"와 같이 누적 계산의 방식으로 계산될 수 있다. 일부 또 다른 사용자 프로파일은 예컨대, "자주가는 지역", "자주가는 장소", "선호하는 이동수단", "자주 이용하는 지하철 역", "좋아하는 가수", "좋아하는 노래" 등과 같이, 하나 이상의 데이터를 누적 계산하여 관리하고, 관리되는 하나 이상의 데이터 중 하나를 선택하는 방식으로 관리될 수 있다. 일부 또 다른 사용자 프로파일은 "최근 본 영화" 등과 같이 사용자 맥락 정보 또는 센서 정보에 의해 갱신되는 데이터일 수 있다. 사용자 프로파일은 도 5에 나타나는 특징에 한정되지 않으며, 사용자를 특징 짓기 위하여 표현할 수 있는 다른 유형의 사용자 프로파일, 보다 세부적인 사용자 프로파일 또는 보다 포괄적인 사용자 프로파일을 포함할 수 있다는 점이 당업자에게 잘 이해될 것이다.5 is an example of a user model including a user profile that can be managed according to at least some embodiments of the present disclosure. The user model 500 of FIG. 5 is divided into various categories such as, for example, basic information, eating/dining, moving, daily routine, music, and movies, and each category includes one or more user profiles. As shown in FIG. 5, some user profiles may be fixed information obtained by receiving specific information from the user or extracting from accumulated data, such as "home location", "company location", "gender", etc. have. Some other user profiles can be calculated in the manner of cumulative calculations, such as "average lunch time", "work time", "work time", "work time", "sleep time", "average daily steps". have. Some other user profiles include, for example, one or more, such as "Favorite Areas", "Favorite Places", "Favorite Vehicles", "Frequently Used Subway Stations", "Favorite Singers", "Favorite Songs", etc. It can be managed by accumulating and managing data, and selecting one of one or more managed data. Some other user profiles may be data updated by user context information or sensor information, such as "recently viewed movies". It will be well understood by those skilled in the art that the user profile is not limited to the features shown in FIG. 5, and may include other types of user profiles, more detailed user profiles, or more comprehensive user profiles that can be expressed to characterize the user. .

도 6은 본 개시의 적어도 일부 실시예에 따라 사용자 모델링을 위한 예시적인 프로세스(600)를 도시하는 흐름도이다. 예컨대, 프로세스(600)는 도 1의 서버(130) 및 도 2의 사용자 모델링 장치(200)와 같은 컴퓨팅 장치의 제어 하에서 수행될 수 있다. 도 6에 도시된 프로세스(600)는 블록(S610, S620, S630 및/또는 S640)에 의하여 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 포함할 수 있다. 추가적인 예시에서, 프로세스(600)는 블록(S650)에 의하여 예시된 바와 같은 하나 이상의 동작, 기능 또는 작용을 더 포함할 수 있다. 한편, 도 6에 예시된 개략적인 동작들은 예시로서만 제공되고, 개시된 실시예의 본질에서 벗어나지 않으면서, 동작들 중 일부가 선택적일 수 있거나, 더 적은 동작으로 조합될 수 있거나, 추가적인 동작으로 확장될 수 있다. 프로세스(600)는 센서 데이터를 획득하는 블록(S610)에서 시작할 수 있다.6 is a flow diagram illustrating an exemplary process 600 for user modeling in accordance with at least some embodiments of the present disclosure. For example, the process 600 may be performed under the control of a computing device such as the server 130 of FIG. 1 and the user modeling device 200 of FIG. 2. The process 600 shown in FIG. 6 may include one or more actions, functions, or actions as illustrated by blocks S610, S620, S630, and/or S640. In a further example, process 600 may further include one or more actions, functions, or actions as illustrated by block S650. On the other hand, the schematic operations illustrated in FIG. 6 are provided only as examples, and some of the operations may be optional, may be combined into fewer operations, or may be extended to additional operations without departing from the essence of the disclosed embodiment. I can. Process 600 may begin at block S610 of obtaining sensor data.

블록(S610)에서, 컴퓨팅 장치는 사용자의 적어도 하나의 사용자 장치로부터 센서 데이터를 수신할 수 있다. 이러한 센서 데이터의 수신은 실시간으로 또는 미리 정해진 기간 마다 수행될 수 있다. 일부 추가적인 예시에서, 컴퓨팅 장치는 사용자의 사용자 장치로부터 센서 데이터를 수신하고, 수신된 센서 데이터를 이용하여 맥락 정보의 생성에 적합한 새로운 센서 데이터를 생성할 수 있다. 프로세스(600)는 블록(S610)으로부터 사용자 맥락 정보를 생성하는 블록(S620)으로 이어질 수 있다.In block S610, the computing device may receive sensor data from at least one user device of the user. The reception of such sensor data may be performed in real time or every predetermined period. In some additional examples, the computing device may receive sensor data from the user's user device, and use the received sensor data to generate new sensor data suitable for generating contextual information. Process 600 may continue from block S610 to block S620 of generating user context information.

블록(S620)에서, 컴퓨팅 장치는 센서 데이터를 이용하여 사용자 맥락 정보를 생성할 수 있다. 이러한 사용자 맥락 정보의 생성은 센서 데이터의 수신에 응답하여 수행될 수 있다. 일부 예시에서, 컴퓨팅 장치는 센서 데이터에 기초하여 사용자 맥락 정보를 계산할 수 있다. 예컨대, 컴퓨팅 장치는 시간 정보, 위치 정보 및 활동 정보와 같은 같은 사용자 정보에 기초하여, 사용자의 맥락 정보를 결정할 수 있다. 프로세스(600)는 블록(S620)으로부터 사용자 맥락 정보를 블랙보드 데이터 구조에 저장하는 블록(S630)으로 이어질 수 있다.In block S620, the computing device may generate user context information using sensor data. Generation of such user context information may be performed in response to receipt of sensor data. In some examples, the computing device can calculate user context information based on sensor data. For example, the computing device may determine context information of the user based on user information such as time information, location information, and activity information. Process 600 may continue from block S620 to block S630 of storing user context information in a blackboard data structure.

블록(S630)에서, 컴퓨팅 장치는 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조에 저장할 수 있다. 이러한 사용자 맥락정보는 시계열적, 공간적, 시공간적으로 저장될 수 있다. 블랙보드 데이터 구조는 컴퓨팅 장치 내 복수의 독립적 요소들이 블랙보드를 통하여 서로 통신 가능하며, 공동으로 작업할 수 있는 공간을 제공할 수 있다. 프로세스(600)는 블록(S630)으로부터 사용자 모델을 관리하는 블록(S640)으로 이어질 수 있다.In block S630, the computing device may store the generated user context information in the blackboard data structure of the memory. Such user context information may be stored in time series, spatially, and spatiotemporally. The blackboard data structure may provide a space in which a plurality of independent elements in the computing device can communicate with each other through the blackboard and work together. The process 600 may continue from block S630 to block S640 for managing the user model.

블록(S640)에서, 컴퓨팅 장치는 생성된 사용자 맥락 정보를 이용하여 사용자 모델을 관리할 수 있다. 사용자 모델은 복수의 사용자 프로파일을 포함할 수 있으며, 컴퓨팅 장치는 블록(S630)에서 생성된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 하나를 평가할 수 있다. 이러한 사용자 프로파일의 평가는 사용자 맥락 정보가 결정될 때마다 또는 미리 정해진 주기(예컨대, 1 주일 또는 1 일에 한번)로 수행될 수 있다.In block S640, the computing device may manage the user model using the generated user context information. The user model may include a plurality of user profiles, and the computing device may evaluate at least one of the plurality of user profiles by using the user context information generated in block S630. The evaluation of the user profile may be performed whenever user context information is determined or at a predetermined period (eg, once a week or once a day).

프로세스(600)는, 그 반복적인 수행에서, 본 개시에 따른 추가적인 특징을 가질 수 있다. 블록(S620)에서 컴퓨팅 장치는 사용자 맥락 정보를 생성함에 있어서, 블랙보드 데이터 구조에 저장된 다른 사용자 맥락 정보 및/또는 사용자 프로파일을 더 이용할 수 있다. 블록(S630)에서 컴퓨팅 장치는 센서 데이터 및 평가된 사용자 프로파일을 블랙보드 데이터 구조에 더 저장할 수 있다. 블록(S640)에서, 컴퓨팅 장치는 사용자 모델을 관리함에 있어서, 블랙보드 데이터 구조에 저장된 다양한 정보를 더 참조할 수 있다.Process 600, in its repetitive performance, may have additional features in accordance with the present disclosure. In block S620, in generating the user context information, the computing device may further use other user context information and/or a user profile stored in the blackboard data structure. In block S630, the computing device may further store the sensor data and the evaluated user profile in the blackboard data structure. In block S640, the computing device may further refer to various pieces of information stored in the blackboard data structure in managing the user model.

추가적인 예시에서, 프로세스(600)는 블록(S640)에서 사용자 장치에 사용자 맥락 정보를 전송하는 블록(S650)으로 이어질 수 있다. 블록(S650)에서, 컴퓨팅 장치는 블록(S620)에서 생성되고 블록(S630)에서 저장되는 사용자 맥락 정보를 사용자 장치로 전송하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 다양한 형태의 메시지로 전송될 수 있다. 이후, 사용자 맥락 정보는 사용자 장치에 의해, 브로드캐스팅 될 수 있다.In a further example, process 600 may lead to block S650 of transmitting user context information to the user device at block S640. In block S650, the computing device may be configured to transmit user context information generated in block S620 and stored in block S630 to the user device. This user context information can be transmitted in various types of messages. Thereafter, the user context information may be broadcast by the user device.

추가적인 다른 예시에서, 프로세스(600)는 블록(S640) 이후에, 사용자 장치에 사용자 추천 정보를 생성하는 동작을 더 수행할 수 있다. 컴퓨팅 장치는 인식된 사용자 프로파일 및 사용자 모델의 적어도 하나의 사용자 프로파일에 기초하여, 사용자에 대한 추천 정보를 생성할 수 있다. 컴퓨팅 장치는 생성된 사용자 추천 정보를 사용자 장치에 전송할 수 있다.In an additional example, the process 600 may further perform an operation of generating user recommendation information in the user device after block S640. The computing device may generate recommendation information for a user based on the recognized user profile and at least one user profile of the user model. The computing device may transmit the generated user recommendation information to the user device.

도 7은 본 개시의 적어도 일부 실시예에 따른 사용자 모델링을 하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품(700)을 도시한다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 베어링 매체(710)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(700)의 신호 베어링 매체(710)는 컴퓨터 판독가능 매체(730) 및/또는 기록 가능 매체(740)를 포함할 수 있다.7 depicts an exemplary computer program product 700 that may be used to model a user in accordance with at least some embodiments of the present disclosure. An exemplary embodiment of an exemplary computer program product is provided using a signal bearing medium 710. In some embodiments, the signal bearing medium 710 of one or more computer program products 700 may include a computer-readable medium 730 and/or a recordable medium 740.

신호 베어링 매체(710)에 포함된 명령어(720)는 서버(130) 및 사용자 모델링 장치(200)와 같은 컴퓨팅 장치에 의해 실행될 수 있다. 명령어(720)가 실행되면, 컴퓨팅 장치로 하여금 사용자의 사용자 장치로부터 센서 데이터를 수신하기 위한 하나 이상의 명령어; 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하기 위한 하나 이상의 명령어; 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 동작; 및 블랙보드 데이터 구조에 저장된 적어도 하나의 맥락정보를 참조하여, 적어도 하나의 사용자 프로파일을 평가하기 위한 하나 이상의 명령어 중 적어도 하나를 포함할 수 있다.The instructions 720 included in the signal bearing medium 710 may be executed by a computing device such as the server 130 and the user modeling device 200. When the instruction 720 is executed, one or more instructions for causing the computing device to receive sensor data from the user's user device; One or more instructions for generating user context information using the sensor data; Storing the generated user context information in a blackboard data structure of a memory; And at least one of one or more commands for evaluating at least one user profile with reference to at least one context information stored in the blackboard data structure.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수도 있다.The foregoing description of the present application is for illustrative purposes only, and those of ordinary skill in the art to which the present application pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

도 8은, 여기에서 기술되는 적어도 일부 실시예에 따르는, 사용자 모델링을 하기 위한 시스템을 구현하도록 사용될 수 있는 범용 컴퓨팅 장치(800)를 도시한다. 이러한 예시에서, 컴퓨팅 장치(800)의 구성요소들은 시스템을 위해 배열 또는 구성될 수 있다. 매우 기본적인 구성(basic configuration)(802)에서, 컴퓨팅 장치(800)는 전형적으로 하나 이상의 프로세서(804) 및 시스템 메모리(806)를 포함한다. 메모리 버스(808)가 프로세서(804)와 시스템 메모리(806) 사이의 통신을 위해 사용될 수 있다.8 illustrates a general purpose computing device 800 that may be used to implement a system for user modeling, in accordance with at least some embodiments described herein. In this example, the components of computing device 800 may be arranged or configured for a system. In a very basic configuration 802, computing device 800 typically includes one or more processors 804 and system memory 806. Memory bus 808 may be used for communication between processor 804 and system memory 806.

요구되는 구성에 따라, 프로세서(804)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(804)는 레벨 1 캐시(810) 및 레벨 2 캐시(812)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(814) 및 레지스터(816)를 포함할 수 있다. 예시적인 프로세서 코어(814)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(818)는 또한 프로세서(804)와 사용될 수 있거나, 또는 일부 구현예에서, 메모리 컨트롤러(818)는 프로세서(804)의 내부 부품일 수 있다.Depending on the required configuration, the processor 804 may be of any type including, but is not limited to, a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. Processor 804 may include one or more levels of caching, such as level 1 cache 810 and level 2 cache 812, processor core 814 and registers 816. The exemplary processor core 814 may include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP), or any combination thereof. The exemplary memory controller 818 may also be used with the processor 804, or, in some implementations, the memory controller 818 may be an internal component of the processor 804.

요구되는 구성에 따라, 시스템 메모리(806)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함하나 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(806)는 운영 체제(820), 하나 이상의 애플리케이션(822) 및 프로그램 데이터(824)를 포함할 수 있다. 애플리케이션(822)은 도 2에서 설명된 기능 및/또는 도 6의 프로세스에 관하여 설명된 작용을 포함하여 여기에 설명된 기능을 수행하도록 배열될 수 있는 명령어(826)를 포함할 수 있다. 프로그램 데이터(824)는 명령어(826)를 구현하기 위해 이용될 수 있는 데이터(828), 예컨대, 블랙보드 데이터 구조로 저장되는 사용자 맥락 정보를 포함할 수 있다. 일부 예시에서, 여기에서 설명되는 명령어를 구현하도록 애플리케이션(822)은 운영 체제(820) 상에서 프로그램 데이터(824)와 동작하도록 배열될 수 있다.Depending on the configuration required, system memory 806 may be of any type, including, but not limited to, volatile memory (such as RAM), nonvolatile memory (such as ROM, flash memory, etc.), or any combination thereof. System memory 806 may include an operating system 820, one or more applications 822, and program data 824. The application 822 may include instructions 826 that may be arranged to perform the functions described herein, including the functions described in FIG. 2 and/or with respect to the process of FIG. 6. Program data 824 may include data 828 that may be used to implement instructions 826, such as user context information stored in a blackboard data structure. In some examples, application 822 may be arranged to operate with program data 824 on operating system 820 to implement the instructions described herein.

컴퓨팅 장치(800)는 추가적인 특징 또는 기능, 및 기본 구성(802)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들어, 버스/인터페이스 컨트롤러(830)는 저장 인터페이스 버스(834)를 통한 기본 구성(802)과 하나 이상의 데이터 저장 장치(832) 간의 통신을 용이하게 하는 데에 사용될 수 있다. 데이터 저장 장치(832)는 분리형 저장 장치(836), 비분리형 저장 장치(838), 또는 그 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD), 및 테이프 드라이브를 포함할 수 있다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.Computing device 800 may have additional features or functionality, and additional interfaces to facilitate communication between the basic configuration 802 and any required device and interface. For example, the bus/interface controller 830 may be used to facilitate communication between the basic configuration 802 and one or more data storage devices 832 over the storage interface bus 834. The data storage device 832 may be a removable storage device 836, a non-removable storage device 838, or a combination thereof. Examples of removable and non-removable storage devices include magnetic disk devices such as flexible disk drives and hard disk drives (HDD), compact disk (CD) drives, or optical disks such as digital multifunction disk (DVD) drives, to name a few. Drives, solid state drives (SSDs), and tape drives. Exemplary computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. have.

시스템 메모리(806), 분리형 저장 장치(836) 및 비분리형 저장 장치(838)는 컴퓨터 저장 매체의 예시이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD) 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는 데에 사용될 수 있고 컴퓨팅 장치(800)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 컴퓨팅 장치(800)의 일부일 수 있다.System memory 806, removable storage device 836, and non-removable storage device 838 are examples of computer storage media. Computer storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital multifunction disk (DVD) or other optical storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device, or Including, but not limited to, any other medium that can be used to store desired information and that can be accessed by computing device 800. Any such computer storage media may be part of computing device 800.

컴퓨팅 장치(800)는 버스/인터페이스 컨트롤러(830)를 통한 다양한 인터페이스 장치(예컨대, 출력 장치(842), 주변 인터페이스(844) 및 통신 장치(846))로부터 기본 구성(802)으로의 통신을 용이하게 하기 위한 인터페이스 버스(840)도 포함할 수 있다. 예시적인 출력 장치(842)는 그래픽 처리 유닛(848) 및 오디오 처리 유닛(850)을 포함하며, 이는 하나 이상의 A/V 포트(852)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 예시적인 주변 인터페이스(844)는 직렬 인터페이스 컨트롤러(854) 또는 병렬 인터페이스 컨트롤러(856)를 포함하며, 이는 하나 이상의 I/O 포트(858)를 통해 입력 장치(예컨대, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예컨대, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(846)는 네트워크 컨트롤러(860)를 포함하며, 이는 하나 이상의 통신 포트(864)를 통해 네트워크 통신 링크 상에서의 하나 이상의 다른 컴퓨팅 장치(862)와의 통신을 용이하게 하도록 배치될 수 있다.Computing device 800 facilitates communication from various interface devices (e.g., output device 842, peripheral interface 844, and communication device 846) to basic configuration 802 via bus/interface controller 830 It may also include an interface bus 840 to enable. An exemplary output device 842 includes a graphics processing unit 848 and an audio processing unit 850, which may be configured to communicate with various external devices such as a display or speaker through one or more A/V ports 852. I can. Exemplary peripheral interface 844 includes serial interface controller 854 or parallel interface controller 856, which is an input device (e.g., keyboard, mouse, pen, voice input) via one or more I/O ports 858. Devices, touch input devices, etc.) or other peripheral devices (eg, printers, scanners, etc.). The exemplary communication device 846 includes a network controller 860, which may be arranged to facilitate communication with one or more other computing devices 862 over a network communication link through one or more communication ports 864. .

네트워크 통신 링크는 통신 매체의 하나의 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향(acoustic), 무선 주파수(RF), 마이크로파(microwave), 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기에서 사용되는 컴퓨터 판독 가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.The network communication link may be an example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. A “modulated data signal” may be a signal that has one or more of its characteristics set or changed in such a way as to encode information within the signal. As a non-limiting example, communication media include wired media such as a wired network or direct wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. Can include. The term computer-readable medium as used herein may include both storage media and communication media.

컴퓨팅 장치(800)는 휴대 전화, PDA(personal data assistant), 개인용 미디어 플레이어 장치, 무선 웹-워치(web-watch) 장치, 개인용 헤드셋 장치, 특수 용도 장치, 또는 위 기능 중 임의의 것을 포함하는 하이브리드 장치와 같은 소형 폼 팩터(small-form factor)의 휴대용(또는 모바일) 전자 장치의 일부로서 구현될 수 있다. 컴퓨팅 장치(800)는 또한 랩톱 컴퓨터 및 랩톱이 아닌 컴퓨터 구성을 모두 포함하는 개인용 컴퓨터로서 구현될 수 있다.Computing device 800 is a mobile phone, personal data assistant (PDA), personal media player device, wireless web-watch device, personal headset device, special purpose device, or a hybrid device including any of the above functions. It may be implemented as part of a small-form factor portable (or mobile) electronic device such as a device. Computing device 800 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.

도 9는 본 개시의 적어도 일부 실시예에 따른 사용자 모델링에 관하여 이용될 수 있는 사용자 장치(900)를 도시하는 블록도이다. 사용자 장치(900)는 예컨대, 도 1에 도시된 사용자의 사용자 장치(130)의 일 예시일 수 있다. 따라서, 사용자 장치(900)는 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 휴대 전화기, 개인 휴대용 단말기(PDA), 개인용 미디어 플레이 장치, 개인용 헤드셋 장치, 특정 용도 장치(예컨대, 전자책 리더기), 또는 위 기능 중 임의의 것을 포함하는 융합 장치와 같은 소형 폼팩터 휴대용(모바일) 전자 장치를 포함하지만, 이에 제한되는 것은 아니다.9 is a block diagram illustrating a user device 900 that may be used with respect to user modeling in accordance with at least some embodiments of the present disclosure. The user device 900 may be, for example, an example of the user device 130 of the user shown in FIG. 1. Accordingly, the user device 900 is a desktop computer, a laptop computer, a smart phone, a tablet computer, a mobile phone, a personal digital assistant (PDA), a personal media play device, a personal headset device, a specific-purpose device (eg, an e-book reader), Or a small form factor portable (mobile) electronic device such as a fusion device including any of the above functions, but is not limited thereto.

일부 실시예에서, 사용자 장치(900)는 센서부(910), 프로세스(920), 메모리(930) 및 통신부(940)를 포함할 수 있다. 센서부(910)는 센서 데이터를 획득하도록 구성될 수 있다. 센서 데이터는 물리적 센서 데이터 및 논리적 센서 데이터 중 적어도 하나를 포함할 수 있다. 일부 예시에서, 센서부(910)는 사용자 장치(900)의 내부 또는 외부에 설치되는 하나 이상의 센서를 포함할 수 있다. 센서는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기, 카메라 등과 같은 하나 이상의 장치를 포함할 수 있다. 일부 다른 예시에서, 센서부(910)는 외부 장치, 예컨대, 외부 센서 장치로부터 센서 데이터를 수신할 수도 있다.In some embodiments, the user device 900 may include a sensor unit 910, a process 920, a memory 930, and a communication unit 940. The sensor unit 910 may be configured to acquire sensor data. The sensor data may include at least one of physical sensor data and logical sensor data. In some examples, the sensor unit 910 may include one or more sensors installed inside or outside the user device 900. The sensor may include, for example, one or more devices such as GPS, gyroscope, microphone, temperature sensor, barometer, accelerometer, illuminance sensor, timer, battery condition meter, WiFi module, display condition meter, camera, and the like. In some other examples, the sensor unit 910 may receive sensor data from an external device, for example, an external sensor device.

일부 실시예에서, 메모리(930)는 사용자 맥락 관리 어플리케이션(932) 및 제1 사용자 어플리케이션(936), 제2 사용자 어플리케이션(938) 등을 포함하는 하나 이상의 사용자 어플리케이션을 저장할 수 있다. 사용자 맥락 관리 어플리케이션(932)은, 예컨대, 미들웨어(Middleware)와 같이 사용자 장치(900)의 운영체제(OS)와 사용자 어플리케이션(936, 938, ...)과 같은 최종 어플리케이션 사이에서 동작할 수 있다. 따라서, 사용자 맥락 관리 어플리케이션(932)은 사용자 장치(900)가 동작하는 백그라운드 프로세스로서 실행될 수 있다. 메모리(930)에 저장된 사용자 맥락 관리 어플리케이션(932)이 프로세서(920)에 의하여 실행되면, 사용자 장치(900)로 하여금 본 개시에 따른 하나 이상의 동작을 수행하도록 할 수 있다. In some embodiments, the memory 930 may store one or more user applications including a user context management application 932 and a first user application 936 and a second user application 938. The user context management application 932 may operate between an operating system (OS) of the user device 900 such as middleware and a final application such as user applications 936, 938, ..., for example. Accordingly, the user context management application 932 may be executed as a background process in which the user device 900 operates. When the user context management application 932 stored in the memory 930 is executed by the processor 920, the user device 900 may cause the user device 900 to perform one or more operations according to the present disclosure.

통신부(940)는 서버로부터 현재 사용자에 대한 사용자 맥락 정보를 수신할 수 있고, 프로세서(920)는 사용자 맥락 관리 어플리케이션(932)으로 하여금 현재 사용자의 상태를 수신된 사용자 맥락 정보에 따라 갱신할 수 있다. 일부 실시예에서, 프로세서(920)는 사용자 맥락 관리 어플리케이션(932)으로 하여금 수신된 사용자 맥락 정보를 모든 사용자 어플리케이션(936, 938, ...)을 향하여 브로드캐스팅 할 수 있다. 통신부(940)를 통하여 연결되고 각 사용자 어플리케이션(936, 938, ...)과 연관되는 외부 다른 서버의 요청에 따라, 프로세서(920)는 해당 사용자 어플리케이션(예컨대, 936)으로 하여금 통신부(940)를 통하여 사용자 맥락 정보를 전송하도록 할 수 있다.The communication unit 940 may receive user context information for the current user from the server, and the processor 920 may cause the user context management application 932 to update the current user status according to the received user context information. . In some embodiments, the processor 920 may cause the user context management application 932 to broadcast the received user context information to all user applications 936, 938, .... According to a request from another external server connected through the communication unit 940 and associated with each user application (936, 938, ...), the processor 920 causes the corresponding user application (eg, 936) to cause the communication unit 940 User context information can be transmitted through.

이상, 본 개시에서 청구하고자 하는 대상에 대해 구체적으로 살펴 보았다. 본 개시에서 청구된 대상은 앞서 기술한 특정 구현예로 그 범위가 제한되지 않는다. 예컨대, 어떤 구현예에서는 장치 또는 장치의 조합 상에서 동작 가능하게 사용되는 하드웨어의 형태일 수 있으며, 다른 구현예에서는 소프트웨어 및/또는 펌웨어의 형태로 구현될 수 있고, 또 다른 구현예에서는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. 여기서, CD-ROM, 컴퓨터 디스크, 플래시 메모리 등과 같은 저장 매체는, 예컨대 컴퓨팅 시스템, 컴퓨팅 플랫폼 또는 기타 시스템과 같은 컴퓨팅 장치에 의하여 실행될 때 앞서 설명한 구현예에 따라 해당 프로세서의 실행을 야기시킬 수 있는 명령을 저장할 수 있다. 이러한 컴퓨팅 장치는 하나 이상의 처리 유닛 또는 프로세서, 디스플레이, 키보드 및/또는 마우스와 같은 하나 이상의 입/출력 장치, 및 정적 랜덤 액세스 메모리, 동적 랜덤 액세스 메모리, 플래시 메모리 및/또는 하드 드라이브와 같은 하나 이상의 메모리를 포함할 수 있다.As described above, the subject to be claimed in the present disclosure was examined in detail. The subject matter claimed in this disclosure is not limited in scope to the specific implementations described above. For example, in some implementations, it may be in the form of hardware that is operably used on a device or a combination of devices, in other implementations it may be implemented in the form of software and/or firmware, and in another implementation, a signal bearing medium, It may include one or more articles such as storage media. Here, the storage medium, such as a CD-ROM, a computer disk, or a flash memory, is an instruction capable of causing execution of a corresponding processor according to the above-described implementation when executed by a computing device such as a computing system, a computing platform, or other system. Can be saved. Such computing devices may include one or more processing units or processors, one or more input/output devices such as displays, keyboards, and/or mice, and one or more memory such as static random access memory, dynamic random access memory, flash memory and/or hard drive. It may include.

한편, 시스템을 하드웨어로 구현할 것인지 아니면 소프트웨어로 구현할 것인지는, 일반적으로 비용 대비 효율의 트레이드오프를 나타내는 설계상 선택 문제이다. 본 개시에서는 프로세스, 시스템, 기타 다른 기술들의 영향을 받을 수 있는 다양한 수단(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 구현자가 속도 및 정확성이 가장 중요하다고 결정한다면, 구현자는 주로 하드웨어 및/또는 펌웨어 수단을 선택할 수 있으며, 유연성이 가장 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며; 또는, 다른 대안으로서, 구현자는 하드웨어, 소프트웨어 및/또는 펌웨어의 어떤 결합을 선택할 수 있다.On the other hand, whether to implement the system as hardware or software is a design choice that generally represents a cost-effective tradeoff. In this disclosure, there are various means (e.g., hardware, software and/or firmware) that can be influenced by processes, systems, and other technologies, and the preferred means is that processes and/or systems and/or other technologies are used. It will change according to the context of being. For example, if the implementer decides that speed and accuracy are paramount, the implementer can primarily choose hardware and/or firmware means, and if flexibility is paramount, the implementer can choose primarily software implementation; Or, as another alternative, the implementer may opt for some combination of hardware, software and/or firmware.

전술한 상세한 설명에서는 블록도, 흐름도 및/또는 기타 예시를 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 기타 예시는 하나 이상의 기능 및/또는 동작을 포함하게 되며, 당업자라면 블록도, 흐름도 및/또는 기타 예시 내의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합에 의해 개별적으로 혹은 집합적으로 구현될 수 있다는 점을 이해할 수 있을 것이다. 일 실시예에서, 본 개시에 기재된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 이와 달리, 본 개시의 실시예의 일부 양상은 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 이들의 실질적으로 임의의 조합으로써 전체적으로 또는 부분적으로 균등하게 집적 회로에서 구현될 수도 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자의 기술 범위 내에 속하는 것이다. 또한, 당업자라면, 본 개시의 대상의 매커니즘들이 다양한 형태의 프로그램 제품으로 분배될 수 있음을 이해할 것이며, 본 개시의 대상의 예시는 분배를 실제로 수행하는데 사용되는 신호 베어링 매체의 특정 유형과 무관하게 적용됨을 이해할 것이다. In the foregoing detailed description, various embodiments of an apparatus and/or process have been described through block diagrams, flow charts, and/or other examples. Such block diagrams, flow charts, and/or other examples will include one or more functions and/or operations, and those skilled in the art will understand that each function and/or operation in the block diagrams, flow charts, and/or other examples is hardware, software, firmware, Or it will be appreciated that they may be implemented individually or collectively by any combination thereof. In one embodiment, some parts of the object described in the present disclosure may be implemented through an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or other form of integration. In contrast, some aspects of embodiments of the present disclosure include one or more computer programs running on one or more computers (e.g., one or more programs running on one or more computer systems), one or more programs running on one or more processors ( For example, one or more programs running on one or more microprocessors), firmware, or substantially any combination thereof, may be implemented in an integrated circuit wholly or partially evenly, and writing code for software and/or firmware And/or the design of the circuit is within the skill of those skilled in the art in light of the present disclosure. In addition, those skilled in the art will understand that the mechanisms of the object of the present disclosure can be distributed to various types of program products, and the example of the object of the present disclosure is applied irrespective of the specific type of signal bearing medium used to actually perform the distribution. Will understand.

특정 예시적 기법이 다양한 방법 및 시스템을 이용하여 여기에서 기술되고 도시되었으나, 당업자라면, 청구된 대상에서 벗어남이 없이, 다양한 기타의 수정 또는 등가물로의 치환 가능성을 이해할 수 있다. 추가적으로, 여기에 기술된 중심 개념으로부터 벗어남이 없이 특정 상황을 청구된 대상의 교시로 적응시키도록 많은 수정이 이루어질 수 있다. 따라서, 청구된 대상이 개시된 특정 예시로 제한되지 않으나, 그러한 청구된 대상은 또한 첨부된 청구범위 및 그 균등의 범위 내에 들어가는 모든 구현예를 포함할 수 있음이 의도된다.While certain exemplary techniques have been described and illustrated herein using various methods and systems, those skilled in the art can understand the possibility of substitution with various other modifications or equivalents without departing from the claimed subject matter. Additionally, many modifications can be made to adapt a particular situation to the claimed subject's teachings without departing from the central concept described herein. Thus, while claimed subject matter is not limited to the specific examples disclosed, it is intended that such claimed subject matter may also include all embodiments falling within the scope of the appended claims and their equivalents.

본 개시 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 본 개시 전체에서, 어떤 부재가 다른 부재 "상에" 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다. 나아가, 본 개시 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본 개시에서 사용되는 정도의 용어 "약," "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. Throughout this disclosure, when a part is said to be "connected" with another part, this includes not only the case that it is "directly connected", but also the case that it is "electrically connected" with another element interposed therebetween. do. In addition, throughout the present disclosure, when a member is said to be positioned "on" another member, this includes not only a case where a member is in contact with another member, but also a case where another member exists between the two members. Furthermore, throughout the present disclosure, when a certain part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless specifically stated to the contrary. The terms "about," "substantially", etc. of the degree used in the present disclosure are used at or close to the numerical value when manufacturing and material tolerances specific to the stated meaning are presented, and to aid understanding of the present application In order to avoid unreasonable use by unscrupulous infringers of the stated disclosures, either exact or absolute figures are used.

본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위, 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present disclosure is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims, and the concept of equivalents thereof should be construed as being included in the scope of the present disclosure. do.

Claims (13)

사용자의 적어도 하나의 사용자 장치와 연관된 센서 데이터를 획득하도록 구성되는 센서 데이터 수집부;
상기 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하도록 구성되는 맥락 인식부;
블랙보드 데이터 구조(blackboard data structure)를 가지고, 상기 생성된 사용자 맥락 정보를 상기 블랙보드 데이터 구조에 저장하도록 구성되는 블랙보드부;
복수의 사용자 프로파일을 포함하는 사용자 모델을 관리하고, 상기 사용자 맥락 정보를 이용하여 상기 복수의 사용자 프로파일 중 적어도 하나를 평가하도록 구성되는 사용자 모델 추론부
를 포함하고,
상기 사용자 모델 추론부는 평가된 적어도 하나의 사용자 프로파일에 기초하여, 상기 사용자의 사용자 모델과 연관성을 가지는 다른 사용자의 사용자 모델을 검색하며, 그리고
상기 맥락 인식부는 상기 검색된 사용자 모델에 기초하여, 사용자 맥락 정보를 생성하거나 상기 블랙보드부에 저장된 사용자 맥락 정보를 갱신하도록 구성되는 것인, 사용자 모델링 장치.
A sensor data collection unit configured to acquire sensor data associated with at least one user device of a user;
A context recognition unit configured to generate user context information by using the sensor data;
A blackboard unit having a blackboard data structure and configured to store the generated user context information in the blackboard data structure;
A user model inference unit configured to manage a user model including a plurality of user profiles and to evaluate at least one of the plurality of user profiles using the user context information
Including,
The user model inference unit searches for a user model of another user having a correlation with the user model of the user, based on the evaluated at least one user profile, and
The context recognition unit is configured to generate user context information or update user context information stored in the black board unit based on the searched user model.
제1항에 있어서,
상기 맥락 인식부는 상기 블랙보드부에 저장된 사용자 맥락 정보를 더 이용하여 사용자 맥락 정보를 생성하거나 상기 블랙보드부에 저장된 사용자 맥락 정보를 갱신하도록 구성되는 것인, 사용자 모델링 장치.
The method of claim 1,
The context recognition unit is configured to generate user context information by further using the user context information stored in the black board unit or to update the user context information stored in the black board unit.
제1항에 있어서,
상기 맥락 인식부는 상기 사용자 모델 추론부에 의해 관리되는 상기 사용자 모델의 상기 복수의 사용자 프로파일 중 적어도 하나를 더 이용하여 사용자 맥락 정보를 생성하도록 구성되는 것인, 사용자 모델링 장치.
The method of claim 1,
The context recognition unit is configured to generate user context information by further using at least one of the plurality of user profiles of the user model managed by the user model inference unit.
제1항에 있어서,
상기 블랙보드부는 상기 센서 데이터 수집부에 의해 획득된 상기 센서 데이터를 사용자 맥락 정보와 함께 블랙보드 데이터 구조에 저장하도록 구성되는 것인, 사용자 모델링 장치
The method of claim 1,
The black board unit is configured to store the sensor data acquired by the sensor data collection unit together with user context information in a black board data structure
제4항에 있어서,
상기 블랙보드부는 센서 데이터 및 사용자 맥락 정보 중 적어도 하나를 시계열적(time-series), 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장하도록 구성되는 것인, 사용자 모델링 장치.
The method of claim 4,
The black board unit is configured to store at least one of sensor data and user context information in a time-series, spatial, or spatio-temporal manner.
삭제delete 제1항에 있어서,
상기 복수의 사용자 프로파일은 하나 이상의 카테고리로 분류되고,
상기 사용자 모델 추론부는 상기 하나 이상의 카테고리 각각에 대한 적어도 하나의 선호 프로파일을 평가하도록 구성되는 것인, 사용자 모델링 장치.
The method of claim 1,
The plurality of user profiles are classified into one or more categories,
Wherein the user model inference unit is configured to evaluate at least one preference profile for each of the one or more categories.
제1항에 있어서,
상기 블랙보드부에 저장된 사용자 맥락 정보를 상기 적어도 하나의 사용자 장치로 전송하도록 구성되는 사용자 관리부
를 더 포함하고,
상기 적어도 하나의 사용자 장치는 전송된 사용자 맥락 정보가 상기 적어도 하나의 사용자 장치에서 실행되는 어플리케이션과 연관된 서비스에서 이용가능하도록, 해당 사용자 맥락 정보를 브로드캐스팅 하는 것인, 사용자 모델링 장치.
The method of claim 1,
User management unit configured to transmit user context information stored in the blackboard unit to the at least one user device
Including more,
The at least one user device broadcasts the corresponding user context information so that the transmitted user context information is available in a service associated with an application executed in the at least one user device.
제1항에 있어서,
상기 블랙보드부에 저장된 사용자 맥락 정보 및 상기 사용자 모델의 적어도 하나의 사용자 프로파일에 기초하여, 상기 맥락 인식부에 의하여 생성된 사용자 맥락 정보와 연관되는 사용자 추천 정보를 생성하고 생성된 사용자 추천 정보를 사용자에게 전송하도록 구성되는 사용자 관리부
를 더 포함하는 사용자 모델링 장치.
The method of claim 1,
Based on the user context information stored in the blackboard unit and at least one user profile of the user model, user recommendation information related to the user context information generated by the context recognition unit is generated, and the generated user recommendation information is user User management unit configured to send to
User modeling device further comprising a.
컴퓨팅 장치의 제어 하에서 수행되는, 사용자 모델링 방법으로서,
사용자의 적어도 하나의 사용자 장치로부터 센서 데이터를 수신하는 단계;
상기 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하는 단계;
상기 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 단계; 및
복수의 사용자 프로파일을 포함하는 사용자 모델을 관리하는 단계
를 포함하고,
상기 사용자 모델을 관리하는 단계는 상기 메모리의 블랙보드 데이터 구조에 저장된 사용자 맥락 정보를 이용하여, 상기 복수의 사용자 프로파일 중 적어도 하나를 평가하는 단계를 포함하고,
상기 사용자 모델링 방법은 상기 복수의 사용자 프로파일 중 적어도 하나를 평가한 이후에,
평가된 상기 적어도 하나의 사용자 프로파일에 기초하여, 상기 사용자의 사용자 모델과 연관성을 가지는 다른 사용자의 사용자 모델을 검색하는 단계; 및
상기 검색된 사용자 모델에 기초하여, 사용자 맥락 정보를 생성하거나 상기 블랙보드 데이터 구조에 저장된 사용자 맥락 정보를 갱신하는 단계
를 포함하는, 사용자 모델링 방법.
As a user modeling method performed under the control of a computing device,
Receiving sensor data from at least one user device of a user;
Generating user context information by using the sensor data;
Storing the generated user context information in a blackboard data structure of a memory; And
Managing a user model including a plurality of user profiles
Including,
The step of managing the user model includes evaluating at least one of the plurality of user profiles using user context information stored in the blackboard data structure of the memory,
After the user modeling method evaluates at least one of the plurality of user profiles,
Searching for a user model of another user having a correlation with the user model of the user based on the evaluated at least one user profile; And
Generating user context information or updating user context information stored in the blackboard data structure based on the retrieved user model
Containing, user modeling method.
제10항에 있어서,
상기 사용자 맥락 정보를 생성하는 단계는 상기 메모리의 블랙보드 데이터 구조에 기 저장된 사용자 맥락 정보 및 상기 복수의 사용자 프로파일 중 적어도 하나의 사용자 프로파일 중 적어도 하나를 더 이용하여, 사용자 맥락 정보를 생성하는 단계를 포함하는 것인, 사용자 모델링 방법.
The method of claim 10,
The generating of the user context information may further include generating user context information by further using at least one of user context information and at least one user profile from among the plurality of user profiles previously stored in the blackboard data structure of the memory. Including, user modeling method.
제10항에 있어서,
상기 블랙보드 데이터 구조에 기 저장된 사용자 맥락 정보 및 상기 사용자 모델의 평가된 적어도 하나의 사용자 프로파일에 기초하여, 인식되는 사용자 맥락 정보에 대한 사용자 추천 정보를 생성하는 단계
를 더 포함하는 사용자 모델링 방법.
The method of claim 10,
Generating user recommendation information for recognized user context information based on user context information previously stored in the blackboard data structure and at least one user profile evaluated of the user model.
User modeling method further comprising a.
사용자를 모델링 하기 위한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 컴퓨팅 장치에 의하여 실행되면, 상기 컴퓨팅 장치로 하여금,
사용자의 적어도 하나의 사용자 장치로부터 센서 데이터를 수신하는 동작;
상기 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하는 동작;
상기 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 동작; 및
상기 블랙보드 데이터 구조에 저장된 적어도 하나의 맥락정보를 참조하여, 적어도 하나의 사용자 프로파일을 평가하는 동작
을 수행하도록 하고,
또한, 상기 컴퓨터 프로그램은 복수의 사용자 프로파일 중 적어도 하나를 평가한 이후에, 상기 컴퓨팅 장치로 하여금,
평가된 상기 적어도 하나의 사용자 프로파일에 기초하여, 상기 사용자의 사용자 모델과 연관성을 가지는 다른 사용자의 사용자 모델을 검색하는 동작; 및
상기 검색된 사용자 모델에 기초하여, 사용자 맥락 정보를 생성하거나 상기 블랙보드 데이터 구조에 저장된 사용자 맥락 정보를 갱신하는 동작
을 수행하도록 하는, 컴퓨터 판독가능 저장 매체.
A computer readable storage medium storing a computer program for modeling a user, wherein when the computer program is executed by a computing device, the computing device causes the computer program to:
Receiving sensor data from at least one user device of a user;
Generating user context information by using the sensor data;
Storing the generated user context information in a blackboard data structure of a memory; And
An operation of evaluating at least one user profile by referring to at least one context information stored in the blackboard data structure
To perform,
In addition, the computer program, after evaluating at least one of the plurality of user profiles, the computing device,
Searching for a user model of another user having a correlation with the user model of the user based on the evaluated at least one user profile; And
Generating user context information or updating user context information stored in the blackboard data structure based on the retrieved user model
A computer-readable storage medium to perform.
KR1020190115227A 2019-09-19 2019-09-19 Method, device and computer readable storage medium for user modeling based on blackboard Expired - Fee Related KR102252084B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190115227A KR102252084B1 (en) 2019-09-19 2019-09-19 Method, device and computer readable storage medium for user modeling based on blackboard

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190115227A KR102252084B1 (en) 2019-09-19 2019-09-19 Method, device and computer readable storage medium for user modeling based on blackboard

Publications (2)

Publication Number Publication Date
KR20210033668A KR20210033668A (en) 2021-03-29
KR102252084B1 true KR102252084B1 (en) 2021-05-17

Family

ID=75249935

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190115227A Expired - Fee Related KR102252084B1 (en) 2019-09-19 2019-09-19 Method, device and computer readable storage medium for user modeling based on blackboard

Country Status (1)

Country Link
KR (1) KR102252084B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228225A (en) * 2015-06-29 2015-12-17 株式会社東芝 Information recommendation device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8175617B2 (en) * 2009-10-28 2012-05-08 Digimarc Corporation Sensor-based mobile search, related methods and systems
US9183580B2 (en) * 2010-11-04 2015-11-10 Digimarc Corporation Methods and systems for resource management on portable devices
KR20150118780A (en) * 2014-04-15 2015-10-23 한국과학기술원 Method and apparatus for generating scheduling information based on cost function optimized on the basis of user's profile information and context information
KR101804967B1 (en) * 2016-03-16 2017-12-06 (주)멜로다임 Method and system to recommend music contents by database composed of user's context, recommended music and use pattern
KR20180099350A (en) * 2017-02-28 2018-09-05 (주)블루와이즈 Wellness contents collection and curation system based on situation information

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015228225A (en) * 2015-06-29 2015-12-17 株式会社東芝 Information recommendation device

Also Published As

Publication number Publication date
KR20210033668A (en) 2021-03-29

Similar Documents

Publication Publication Date Title
US10009728B2 (en) Dynamic geographic beacons for geographic-positioning-capable devices
US10028224B2 (en) Substantially continuous location logging for geographic-positioning capable devices
US10474727B2 (en) App recommendation using crowd-sourced localized app usage data
JP6791569B2 (en) User profile generation method and terminal
CA3001006C (en) Dynamic duty-cycling of processor of mobile device based on operating condition of mobile device
WO2019140703A1 (en) Method and device for generating user profile picture
KR101691129B1 (en) Routine deviation notification
KR101605366B1 (en) Grouping ambient-location updates
US9736781B2 (en) Determining points of interest within a geofence
EP2769562B1 (en) Periodic ambient waveform analysis for dynamic device configuration
US20150350351A1 (en) Location-Based Ephemerality of Shared Content
WO2019140702A1 (en) Method and device for generating user profile picture
KR101603682B1 (en) Routine estimation
KR20170090957A (en) Apparatus and method for location determining of electronic device
US9386417B1 (en) Two-pass copresence
KR101690620B1 (en) Pattern Labeling
KR102290755B1 (en) Method and apparatus for providing information based on proximity
CN110782289B (en) Service recommendation method and system based on user portrait
JP7478140B2 (en) Demand forecasting device
US10320860B1 (en) Server orchestrated connectivity
US20190090197A1 (en) Saving battery life with inferred location
KR102252084B1 (en) Method, device and computer readable storage medium for user modeling based on blackboard
AU2015224489B2 (en) Dynamic duty-cycling of processor of mobile device based on operating condition of mobile device
Al-Turjman et al. Ubiquitous cloud-based monitoring via a mobile app in smartphones: An overview
KR20220131069A (en) User profile search system using language model and its operation method

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20240511

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20240511