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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
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.
Description
본 개시는 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체에 관한 것이다.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
환경(100)에서 사용자는 사용자 장치(110-1, 110-2, 110-3, ..., 110-n)과 같은 다양한 유형의 사용자 장치(110)를 사용할 수 있다. 사용자 장치(110)는 이러한 사용자의 상황과 연관되어 다양한 센서 데이터를 수집할 수 있다. 사용자 장치(110)는 네트워크(120)를 통하여 서버(130)와 통신 가능한 장치, 예컨대, 데스크탑 컴퓨터, 랩탑 컴퓨터, 스마트폰, 태블릿 컴퓨터, 휴대 전화기, 개인 휴대용 단말기(PDA), 개인용 미디어 플레이 장치, 개인용 헤드셋 장치, 특정 용도 장치(예컨대, 전자책 리더기), 또는 위 기능 중 임의의 것을 포함하는 융합 장치와 같은 소형 폼팩터 휴대용(모바일) 전자 장치를 포함하지만, 이에 제한되는 것은 아니다. 일부 예시에서, 사용자 장치(110)는 센서 데이터를 생성하는 하나 이상의 센서를 포함할 수 있다. 이러한 센서는 사용자 장치(110)의 내부 또는 외부에 위치할 수 있다. 센서는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기, 카메라 등과 같은 하나 이상의 센서를 포함할 수 있다. 일부 추가적인 예시에서, 사용자 장치(110)는 사용자와 연관된 공간에 설치된 외부 센서 장치(114)로부터 센서 데이터를 수신할 수 있다. In the
사용자 장치(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
서버(130)는 단일 컴퓨팅 장치와 같은 독립형 서버, 복수의 서버를 포함하는 서버 팜(server farm), 분산형 네트워크, 클라우드 컴퓨팅 구성 및 기타 데이터 송수신 기능, 데이터 식별 기능 및 데이터 처리 기능을 갖춘 임의의 컴퓨팅 장치일 수 있다. 서버(130)는 사용자 장치(110), 즉, 사용자 장치(110-1, 110-2, 110-3, ..., 110-n) 중 적어도 하나로부터 센서 데이터를 수신할 수 있다. 일부 예시에서, 서버(130)는 센서 데이터와 함께 센서 데이터와 연관된 시간 정보, 예컨대, 센서에서 센서 데이터가 획득된 시간 또는 센서 데이터를 수신한 시간에 관한 정보 및 공간 정보 중 적어도 하나를 획득할 수 있다. 일부 예시에서, 서버(130)는 수신된 센서 데이터를 이용하여 추가적인 연산을 수행함으로써 새로운 센서 데이터를 획득할 수도 있다. 이와 같이, 서버(130)는 센서 데이터를 사용자 장치(110)로부터 수신하거나 센서 데이터를 이용하여 새로운 센서 데이터를 생성하는 방식으로 사용자의 사용자 장치와 연관된 센서 데이터를 획득할 수 있다. 일부 예시에서, 서버(130)는 획득된 센서 데이터를 블랙보드에 시계열적(time-series), 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장할 수 있다.The
서버(130)는 센서 데이터를 이용하여 사용자 맥락 정보를 생성할 수 있다. 일부 예시에서, 서버(130)는 하나 이상의 센서 데이터를 이용하여 사용자 맥락 정보를 계산할 수 있다. 사용자 맥락 정보의 계산 및 갱신에 대한 구체적인 예시에 대해서는 후술한다. 서버(130)는 생성된 사용자 맥락 정보를 블랙보드에 저장할 수 있다. 블랙보드는 하나 이상의 메모리 내의 데이터 구조를 지칭하며, 서버(110) 내의 복수의 독립적인 요소들이 공통으로 작업 가능한 공간을 제공하며, 복수의 독립적 요소들은 블랙보드를 통하여 서로 통신 가능하다. 센서 데이터 및/또는 사용자 맥락 정보는 블랙보드에 시계열적(time-series) , 공간적(spatial) 또는 시공간적(spatio-temporal)으로 저장될 수 있다.The
서버(130)는 복수의 사용자 모델을 관리할 수 있으며, 여기서 각 사용자 모델은 이에 대응하는 사용자에 관한 것이다. 사용자 모델은 복수의 사용자 프로파일을 포함할 수 있다. 서버(130)는 블랙보드에 저장된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 하나를 평가할 수 있다. 이러한 사용자 프로파일의 평가는, 요구되는 바에 따라, 센서 데이터가 수집될 때마다, 사용자 맥락 정보가 평가될 때마다 또는 미리 정해진 주기(예컨대, 하루에 한번) 마다 수행될 수 있다. 일부 예시에서, 서버(130)는 평가된 사용자 프로파일을 블랙보드에 저장할 수 있다. The
일부 예시에서, 서버(130)는 예컨대, 블랙보드에 저장되는 센서 데이터, 사용자 맥락 정보 및 사용자 프로파일 중 적어도 하나를 이용하여 사용자 맥락 정보를 생성할 수 있다. 또한, 일부 예시에서, 서버(130)는 블랙보드에 저장되는 센서 데이터, 사용자 맥락 정보 및 사용자 프로파일 중 적어도 하나를 이용하여 블랙보드 내 사용자 맥락 정보 또는 사용자 프로파일을 수정 또는 갱신할 수 있다.In some examples, the
일부 예시에서, 서버(130)는 사용자 맥락정보 및/또는 사용자 프로파일에 기초하여 사용자 모델을 분류할 수 있다. 이와 같이 사용자 모델을 분류해 놓음으로써, 서버(130)가 사용자 프로파일을 평가할 때, 평가된 사용자 프로파일과 유사한 사용자 프로파일을 가지는 유사 사용자 모델을 검색하는 것을 용이하게 할 수 있다. 또한, 이러한 예시에서, 서버(130)는 검색된 유사 사용자 모델에 대한 정보를 이용하여, 사용자 맥락 정보를 생성할 수 있다. 이와 같은 유사 사용자 모델은 사용자 모델의 수정을 하는 데, 사용자 모델이 충분히 형성되지 않은 경우 사용자 프로파일을 추측하는 데 등에 유용할 수 있다.In some examples, the
서버(130)는 사용자 맥락 정보 중 적어도 일부를 사용자 장치(110)에 전송할 수 있다. 일부 예시에서, 서버(110)는 사용자 맥락 정보를 포함하는 메시지를 사용자 장치(110)에 전송할 수 있으며, 사용자 장치(110)는 수신된 메시지를 디스플레이 할 수 있다. 메시지는 예컨대, SMS 메시지, 메신저 메시지 또는 시스템 또는 응용 어플리케이션을 통한 푸시 메시지 등 다양한 유형의 메시지를 포함할 수 있다. 일부 예시에서, 사용자 장치(110)는 수신된 사용자 맥락 정보를 이용하여 사용자의 현재 사용자 맥락 정보를 갱신할 수 있다. 현재 사용자 맥락 정보의 갱신은 사용자 장치(110)의 시스템의 시스템 백그라운드에서 실행 중인 서비스에 의해 수행될 수 있다. The
일부 예시에서, 사용자 장치(110) 상에는 하나 이상의 어플리케이션이 설치될 수 있으며, 각 어플리케이션은 사용자에게 특정 서비스를 제공할 수 있으며, 사용자 맥락 정보를 이용할 수 있는 기능을 가질 수 있다. 사용자 장치(110)는 어플리케이션이 실행되면, 네트워크(120)를 통하여 각각의 어플리케이션에 해당하는 서비스 서버(140)에 연결될 수 있다. 사용자 장치(110)는 서버(130)로부터 수신된 사용자 맥락 정보가 사용자 장치(110)에서 실행되는 어플리케이션과 연관된 서비스에서 이용 가능하도록, 해당 사용자 맥락 정보를 브로드캐스팅(broadcasting)할 수 있다. 사용자 맥락 정보가 브로드캐스팅 되면, 예컨대, 서비스 서버(140)는 요구되는 바에 따라, 사용자 맥락 정보를 선택 및/또는 수신할 수 있으며, 선택 및/또는 수신된 사용자 맥락 정보를 이용하여 사용자에게 적절한 서비스를 제공할 수 있다.In some examples, one or more applications may be installed on the
일부 추가적인 예시에서, 서버(130)는 사용자 모델의 일부 사용자 프로파일 및/또는 사용자 맥락 정보에 기초하여, 사용자에 추천 정보를 생성하여 사용자 장치에 전송할 수 있다. 이러한 예시에서, 사용자 장치(130)는 추천 정보를 수신하고 이를 디스플레이 할 수 있다.In some additional examples, the
도 2는 본 개시의 적어도 일부 실시예에 따라, 사용자 모델링 장치(200)를 도시하는 블록도이다. 사용자 모델링 장치(200)는 예컨대, 도 1에 도시된 서버(110)의 일 예시일 수 있다. 따라서, 사용자 모델링 장치(200)는 단일 컴퓨팅 장치와 같은 독립형 서버, 복수의 서버를 포함하는 서버 팜(server farm), 분산형 네트워크, 클라우드 컴퓨팅 구성 및 기타 데이터 송수신 기능, 데이터 식별 기능 및 데이터 처리 기능을 갖춘 임의의 컴퓨팅 장치일 수 있다.2 is a block diagram illustrating a
일부 실시예에서, 사용자 모델링 장치(200)는 센서 데이터 수집부(210), 맥락 인식부(220), 블랙보드부(230) 및 사용자 모델 추론부(240)를 포함할 수 있다. 센서 데이터 수집부(210), 맥락 인식부(220) 및 사용자 모델 추론부(240)는 독립적인 요소들이며 블랙보드부(230)에 공통 작업이 가능하도록 연결된다. 추가적인 실시예에서, 사용자 모델링 장치(200)는 사용자 관리부(250)를 더 포함할 수 있다. 도 2 의 각 구성은 분리된 컴포넌트로 도시되었으나, 개시된 대상의 범위를 벗어나지 않으면서 다양한 컴포넌트가 추가적인 컴포넌트로 분리될 수 있거나 더 적은 컴포넌트로 조합될 수 있거나 또는 제거될 수 있다. 당업자라면 컴포넌트의 각각의 기능 및/또는 동작이 하드웨어, 소프트웨어, 펌웨어 또는 그들의 임의의 조합에 의해, 개별적으로 및/또는 종합적으로 구현될 수 있음을 이해할 것이다.In some embodiments, the
센서 데이터 수집부(210)는 사용자의 적어도 하나의 사용자 장치와 연관된 센서 데이터를 획득하도록 구성될 수 있다. 일부 실시예에서, 센서 데이터 수집부(210)는 센서 데이터 수신부(212) 및 센서 데이터 생성부(214)를 포함할 수 있다. 수신부(212)는 사용자의 사용자 장치로부터 센서 데이터를 수신하도록 구성될 수 있으며, 여기서, 수신되는 유형의 센서 데이터를 제1 유형의 센서 데이터라고 지칭할 수 있다. 수신부(212)는 센서 데이터를 사용자 장치가 센서 데이터를 획득하는 것에 응답한 전송에 의해 실시간으로 센서 데이터를 수신할 수 있거나, 미리 정해진 기간 마다 센서 데이터를 수신할 수 있다. 수신부(212)에 의하여 수신되는 센서 데이터는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기와 같은 하나 이상의 물리적 센서에 의해 획득되는 물리적 센서 데이터 및/또는 이미지, 메시지, 영상 등의 데이터로부터 인식되는 논리적 센서 데이터를 포함할 수 있다. 사용자 장치로부터 수신되는 센서 데이터의 구체적인 예시는 이하 도 3에서 보다 구체적으로 설명된다.The sensor
생성부(214)는 제1 유형의 센서 데이터를 이용하여 추가적인 연산을 수행함으로써 새로운 센서 데이터를 생성할 수 있으며, 여기서, 생성부(214)에 의해 생성되는 센서 데이터를 제2 유형의 센서 데이터라고 지칭할 수 있다. 예컨대, 사용자 장치는 SMS 메시지 및 이미지에 특정 조건을 만족하는 텍스트가 포함되는 경우, 해당 텍스트 데이터를 추출할 수 있고, 수신부(212)는 추출된 텍스트 데이터를 수신할 수 있으며, 생성부(214)는 추출된 텍스트 데이터로부터, 결제 정보와 같은 유의미한 정보를 검출할 수 있다. 다른 예시에서, 사용자 장치는 마이크로폰으로부터 음성 데이터를 획득할 수 있다. 이러한 예시에서, 수신부(212)는 아날로그 음성 데이터를 수신하고 생성부(214)는 음성 데이터로부터 텍스트 데이터를 인식할 수 있거나, 수신부(212)는 음성 데이터로부터 인식된 텍스트 데이터를 수신하고 생성부(214)는 텍스트 데이터로부터 유의미한 텍스트 데이터를 추출할 수 있다. 일부 예시에서, 센서 데이터 수집부(210)는 센서 데이터를 예컨대, 시간 및/또는 공간적 기준에 따라 분류 및 정리함으로써, 블랙보드부(230)에, 시계열적, 공간적 또는 시공간적으로 저장할 수 있다.The
맥락 인식부(220)는 센서 데이터 수집부(210)에 의해 획득된 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 센서 데이터의 수신에 응답하여 생성될 수 있다. 맥락 인식부(220)는 센서 데이터에 기초하여, 사용자 맥락 정보를 계산할 수 있다. 제한되지 않는 예시로서, 맥락 인식부(220)는 사용자의 맥락정보를 3 가지 기준, 즉 시간 정보, 위치 정보 및 활동 정보로 구분하여 사용자의 맥락을 구할 수 있다. 이러한 3 가지 기준은 독립적인 것이 아니라 상호 연관되어 특정 시점의 사용자 장치 사용자의 상태나 정황을 나타내는 사용자의 맥락을 나타낼 수 있다. 예컨대, 사용자가 오전 9시부터 오후 1시까지(시간 정보) 회사에서(위치 정보) 업무(활동 정보)를 한다는 사실은 그 사용자의 해당 시간대에서의 특정 맥락을 나타낸다. 예컨대, 센서 데이터 중에서 시간 데이터는 사용자 맥락의 시간 정보를 계산하는 기준이 되고, 특정 시간 데이터에 해당하는 GPS 데이터는 사용자 맥락의 위치 정보를 계산하는 기준이 되며, 특정 시간 데이터 및 해당 GPS 데이터에서 이에 해당하는 WiFi 데이터가 WiFi 사용 중임을 나타내는 경우 사용자가 WiFi를 통해 모바일 단말(110)을 이용 중인 맥락을 도출해 낼 수 있게 된다. 한편, 사용자 맥락 정보 중에서 시간 정보는 여러 기준으로 구분될 수 있는데, 예컨대 크게 시간대 별로 새벽(자정부터 오전 6시까지), 오전(오전 6시부터 정오까지), 오후(정오부터 오후 6시까지) 및 저녁(오후 6시부터 자정까지)로 나누거나, 혹은 매 1시간 간격으로 구분하거나, 또는 해당 어플리케이션의 제공 서비스의 속성 및/또는 기능에 따라 필요한 기준으로 구분할 수 있다. 사용자 맥락정보 중에서 장소 정보는 사용자 장치 사용자가 자주 위치하게 되는 곳(예컨대, 집, 회사 등)과 그 위치하게 되는 빈도수가 상대적으로 낮은 곳으로 구분하거나, 혹은 GPS 데이터에 근거한 특정 위치 별로 구분할 수 있으며, 이 역시 해당 어플리케이션의 제공 서비스의 속성 및/또는 기능에 따라 필요한 기준으로 구분할 수 있다. 사용자 맥락정보 중에서 활동 정보도 마찬가지로 큰 카테고리별(예컨대, 이동 중, 업무 중, 휴식 중 등)로 구분하거나 구체적인 활동별(예컨대, 걷는 중, 뛰는 중, 자는 중 등)로 구분할 수 있다. 활동 정보의 구체적인 예시는 이하 도 4에서 보다 구체적으로 설명된다.The
맥락 인식부(220)는 생성된 사용자 맥락 정보를 블랙보드부(230)에 저장할 수 있다. 예컨대, 사용자 맥락 정보는 블랙보드부(230)에 시계열적, 공간적 또는 시공간적으로 저장될 수 있다. 블랙보드부(230)는 블랙보드 데이터 구조를 가진다. 블랙보드부(230)는 맥락 인식부(220)에 의해 생성된 사용자 맥락 정보를 이러한 블랙보드 데이터 구조에 저장할 수 있다. 추가적으로, 블랙보드부(230)는 센서 데이터도 블랙보드 데이터 구조에 저장할 수 있다. 예컨대, 사용자가 집에 있을 경우, 회사에 있을 경우, 여행할 경우에 동일한 행동은 다른 맥락을 나타낼 수 있다. 이러한 점에서, 블랙보드부(230)는 공간 단위에 따라 그리고 시계열에 따라 센서 데이터 및 맥락 정보를 분류 및 저장할 수 있다. The
일부 실시예에서, 맥락 인식부(220)는 센서 데이터에 기초하여 사용자 맥락 정보를 생성할 때, 블랙보드부(230)에 저장된 사용자 맥락 정보를 더 이용하여, 계산된 사용자 맥락 정보를 정정할 수 있다. 예컨대, 사용자가 출근 시간에 버스를 타고 이동하는 경우, 맥락 인식부(220)는 "버스를 타고 출근 중"이라는 맥락을 인식할 수 있으며, 이를 블랙보드부(230)에 시간 정보와 함께 저장할 수 있다. 이후, 사용자는 실질적으로 동일한 출근 시간에 버스를 타고 이동할 수 있지만, 교통 정체로 인하여 매우 느리게 이동할 수 있다. 맥락 인식부(220)는 보통, 매우 느린 속도로 인하여, "걷는 중"이라고 인식할 수도 있지만, 블랙 보드에서 동일한 시간대로 저장된 맥락 정보를 참조하여, 버스를 타고 이동 중이라고 정정할 수 있다. In some embodiments, the
사용자 모델 추론부(240)는 사용자 모델(242), 사용자 모델(244) 등을 포함하는 복수의 사용자 모듈을 관리할 수 있다. 사용자 모델(242)은 복수의 사용자 프로파일을 포함할 수 있다. 일부 예시에서, 복수의 사용자 프로파일은 하나 이상의 카테고리로 분류될 수 있다. 카테고리는, 예컨대, 사용자의 기본 정보, 식사/외식, 이동, 반복적인 일상 정보, 음악, 영화 등을 포함할 수 있다. 카테고리 중 일부는 사용자의 선호도를 나타내는 사용자 프로파일(선호 프로파일)을 적어도 하나 포함할 수 있다. 사용자 프로파일은 예컨대, 집 위치, 회사 위치, 성별, 자주가는 지역, 자주가는 장소, 평균 주변 소음도, 평균 식사시간, 좋아하는 음식, 좋아하는 식당, 통근 시간, 하루 평균 걸음수, 평균 보폭, 좋아하는 음악, 좋아하는 가수, 하루평균 음악을 듣는 시간, 선호하는 볼륨, 좋아하는 영화 등과 같이 사용자의 특징을 나타낼 수 있는 다양한 개별적인 요소들에 관한 것일 수 있다.The user
일부 실시예에서, 사용자 모델 추론부(240)는 맥락 인식부(220)에 의해 생성된 사용자 맥락 정보를 이용하여, 복수의 사용자 프로파일 중 적어도 일부를 평가할 수 있다. 사용자 모델 추론부(240)는 사용자 맥락 정보가 결정될 때마다 또는 미리 정해진 주기(예컨대, 1 주일 또는 1 일에 한번)로 사용자 프로파일을 평가할 수 있다. 일부 실시예에서, 사용자 모델 추론부(240)는 블랙보드부(230)에 저장된 사용자 맥락 정보를 판독하여 복수의 사용자 프로파일 중 적어도 일부를 평가할 수 있다. 예컨대, 맥락 인식부(220)에 의하여, 사용자가 "지하철로 출근 중"이라는 맥락이 인식된 경우, 사용자 모델 추론부(240)는 사용자가 이용하는 이동 수단, 지하철 역, 통근 시간, 출근 시각 등에 관한 사용자 프로파일에 대한 정보를 계산, 누적 및 저장할 수 있다. 구체적인 사용자 모델 및 사용자 프로파일의 예시에 관해서는, 이하 도 5에서 구체적으로 예시한다.In some embodiments, the user
일부 실시예에서, 맥락 인식부(220)는 센서 데이터에 기초하여 사용자 맥락 정보를 생성할 때, 사용자 프로파일(236)을 더 이용하여, 계산된 사용자 맥락 정보를 정정할 수 있다. 예컨대, 센서 데이터 수집부(210)는 소음도에 대한 센서 데이터를 획득할 수 있고, 맥락 인식부(220)는 센서 데이터에 기초하여, "시끄럽다"라고 인식할 수도 있지만, 평균 주변 소음이나 집에서의 소음과 같은 사용자 프로파일을 더 참조하여, 해당 사용자 프로파일에 나타나는 소음도가 센서 데이터에 나타나는 소음도 보다 높은 경우, 센서 데이터에 따른 사용자 맥락은 "조용하다"라고 결정할 수 있다. In some embodiments, the
일부 예시에서, 수신부(212)가 복수의 사용자 장치로부터 복수의 센서 데이터를 수신하고 맥락 인식부(220)가 이러한 복수의 사용자 장치로부터의 복수의 센서 데이터를 이용함으로써, 사용자 맥락 정보의 추론(생성)을 향상시킬 수 있다. 일 예시에서, 사용자가 스마트폰과 태블릿 컴퓨터를 동시에 사용하는 경우, 수신부(212)는 스마트폰과 태블릿 컴퓨터로부터 다양한 센서 데이터를 수신할 수 있다. 이후, 맥락 인식부(220)는 수신된 센서 데이터를 이용하여, 스마트폰이 수행하는 동작과 태블릿 컴퓨터가 수행하는 동작을 구별할 수 있고, 이후, 예컨대, "작업중", "육아중" 등의 보다 구체적인 맥락을 결정할 수 있다. 맥락 인식부(220)는 이러한 결정에, 블랙보드부(230)에 저장된 사용자 프로파일(236)을 더 이용함으로써 보다 정확한 결정을 행할 수 있다. 다른 예시에서, 수신부(212)는 사용자의 스마트폰과 데스크탑으로부터 기압 센서 데이터를 수신할 수 있으며, 맥락 인식부(220)는 스마트폰과 데스크탑으로부터의 기압 센서 데이터의 값의 상대적인 차이에 기초하여 사용자의 현재 고도(altitude)를 결정할 수 있다.In some examples, the receiving
추가적인 예시에서, 사용자 관리부(250)는 맥락 인식부(220)에 의하여 생성되고 블랙보드부(230)에 저장되는 사용자 맥락 정보를 사용자 장치로 전송하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 사용자 장치의 디스플레이 상에서 나타날 수 있는 메시지의 형태 또는 시스템에서 이용 가능한 시스템 메시지의 형태일 수 있다. 사용자의 사용자 장치로 전송되는 사용자 맥락 정보는 이후 사용자의 사용자 장치로부터 브로드캐스팅되어, 사용자 장치에 실행되는 어플리케이션과 연관된 서비스에서 이용 가능하도록 제공될 수 있다. 일부 예시에서, 사용자 관리부(250)는 블랙보드부(230)에 저장되는 사용자 프로파일을 더 전송하는 것 또한 가능하다.In an additional example, the
추가적인 예시에서, 사용자 관리부(250)는 사용자 맥락 정보 및 사용자 모델의 사용자 프로파일에 기초하여, 사용자에 대한 추천 정보를 생성하도록 구성될 수 있다. 추천 정보는 인식된 사용자 맥락 정보와, 블랙보드사용자 관리부(250)는 사용자 맥락 정보와 사용자 프로파일의 연관성을 결정하고, 이에 기초하여 추천 정보를 생성할 수 있다. 일 예시에서, 맥락 인식부(220)에 의하여 인식된 사용자 맥락 정보가 "지하철로 출근 중"인 경우, 사용자 관리부(250)는 블랙보드부(230)를 참조하여, 인식된 맥락과 동일한 시간대에 "음악 청취중"이라는 맥락이 가장 자주 인식된 이력이 있다고 결정하고, 이러한 결정에 기초하여, 사용자 모델의 "출근 중 많이 청취한 음악"이라는 사용자 프로파일을 결정할 수 있고, 이에 해당하는 데이터를 추천 정보로서 결정할 수 있다. 사용자 관리부(250)는 결정된 추천 정보를 사용자의 사용자 장치에 전송할 수 있다. In an additional example, the
이와 같이, 본 개시에 따르면, 적어도 사용자 맥락 정보를 블랙 보드 데이터 구조에 저장함으로써, 사용자 맥락 정보 및 사용자의 특징을 결정하는 정확도를 보다 향상시킬 수 있다. 또한, 사용자 모델을 관리함으로써, 유사한 생활 패턴을 가진 다른 사용자의 사용자 모델을 이용하여, 보다 효과적인 추천 정보를 사용자에게 제공할 수 있다.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
도 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
도 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
블록(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.
블록(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.
블록(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
블록(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)에서, 컴퓨팅 장치는 사용자 모델을 관리함에 있어서, 블랙보드 데이터 구조에 저장된 다양한 정보를 더 참조할 수 있다.
추가적인 예시에서, 프로세스(600)는 블록(S640)에서 사용자 장치에 사용자 맥락 정보를 전송하는 블록(S650)으로 이어질 수 있다. 블록(S650)에서, 컴퓨팅 장치는 블록(S620)에서 생성되고 블록(S630)에서 저장되는 사용자 맥락 정보를 사용자 장치로 전송하도록 구성될 수 있다. 이러한 사용자 맥락 정보는 다양한 형태의 메시지로 전송될 수 있다. 이후, 사용자 맥락 정보는 사용자 장치에 의해, 브로드캐스팅 될 수 있다.In a further example,
추가적인 다른 예시에서, 프로세스(600)는 블록(S640) 이후에, 사용자 장치에 사용자 추천 정보를 생성하는 동작을 더 수행할 수 있다. 컴퓨팅 장치는 인식된 사용자 프로파일 및 사용자 모델의 적어도 하나의 사용자 프로파일에 기초하여, 사용자에 대한 추천 정보를 생성할 수 있다. 컴퓨팅 장치는 생성된 사용자 추천 정보를 사용자 장치에 전송할 수 있다.In an additional example, the
도 7은 본 개시의 적어도 일부 실시예에 따른 사용자 모델링을 하는 데 이용될 수 있는 예시적인 컴퓨터 프로그램 제품(700)을 도시한다. 예시적인 컴퓨터 프로그램 제품의 예시적인 실시예는 신호 베어링 매체(710)를 이용하여 제공된다. 일부 실시예에서, 하나 이상의 컴퓨터 프로그램 제품(700)의 신호 베어링 매체(710)는 컴퓨터 판독가능 매체(730) 및/또는 기록 가능 매체(740)를 포함할 수 있다.7 depicts an exemplary
신호 베어링 매체(710)에 포함된 명령어(720)는 서버(130) 및 사용자 모델링 장치(200)와 같은 컴퓨팅 장치에 의해 실행될 수 있다. 명령어(720)가 실행되면, 컴퓨팅 장치로 하여금 사용자의 사용자 장치로부터 센서 데이터를 수신하기 위한 하나 이상의 명령어; 센서 데이터를 이용하여, 사용자 맥락 정보를 생성하기 위한 하나 이상의 명령어; 생성된 사용자 맥락 정보를 메모리의 블랙보드 데이터 구조(blackboard data structure)에 저장하는 동작; 및 블랙보드 데이터 구조에 저장된 적어도 하나의 맥락정보를 참조하여, 적어도 하나의 사용자 프로파일을 평가하기 위한 하나 이상의 명령어 중 적어도 하나를 포함할 수 있다.The
전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수도 있다.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
요구되는 구성에 따라, 시스템 메모리(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
컴퓨팅 장치(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/
시스템 메모리(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/
네트워크 통신 링크는 통신 매체의 하나의 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예시로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향(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
일부 실시예에서, 사용자 장치(900)는 센서부(910), 프로세스(920), 메모리(930) 및 통신부(940)를 포함할 수 있다. 센서부(910)는 센서 데이터를 획득하도록 구성될 수 있다. 센서 데이터는 물리적 센서 데이터 및 논리적 센서 데이터 중 적어도 하나를 포함할 수 있다. 일부 예시에서, 센서부(910)는 사용자 장치(900)의 내부 또는 외부에 설치되는 하나 이상의 센서를 포함할 수 있다. 센서는 예컨대, GPS, 자이로스코프, 마이크로폰, 온도 센서, 기압계, 가속도계, 조도 센서, 타이머, 배터리 상태 측정기, WiFi 모듈, 디스플레이 상태 측정기, 카메라 등과 같은 하나 이상의 장치를 포함할 수 있다. 일부 다른 예시에서, 센서부(910)는 외부 장치, 예컨대, 외부 센서 장치로부터 센서 데이터를 수신할 수도 있다.In some embodiments, the
일부 실시예에서, 메모리(930)는 사용자 맥락 관리 어플리케이션(932) 및 제1 사용자 어플리케이션(936), 제2 사용자 어플리케이션(938) 등을 포함하는 하나 이상의 사용자 어플리케이션을 저장할 수 있다. 사용자 맥락 관리 어플리케이션(932)은, 예컨대, 미들웨어(Middleware)와 같이 사용자 장치(900)의 운영체제(OS)와 사용자 어플리케이션(936, 938, ...)과 같은 최종 어플리케이션 사이에서 동작할 수 있다. 따라서, 사용자 맥락 관리 어플리케이션(932)은 사용자 장치(900)가 동작하는 백그라운드 프로세스로서 실행될 수 있다. 메모리(930)에 저장된 사용자 맥락 관리 어플리케이션(932)이 프로세서(920)에 의하여 실행되면, 사용자 장치(900)로 하여금 본 개시에 따른 하나 이상의 동작을 수행하도록 할 수 있다. In some embodiments, the
통신부(940)는 서버로부터 현재 사용자에 대한 사용자 맥락 정보를 수신할 수 있고, 프로세서(920)는 사용자 맥락 관리 어플리케이션(932)으로 하여금 현재 사용자의 상태를 수신된 사용자 맥락 정보에 따라 갱신할 수 있다. 일부 실시예에서, 프로세서(920)는 사용자 맥락 관리 어플리케이션(932)으로 하여금 수신된 사용자 맥락 정보를 모든 사용자 어플리케이션(936, 938, ...)을 향하여 브로드캐스팅 할 수 있다. 통신부(940)를 통하여 연결되고 각 사용자 어플리케이션(936, 938, ...)과 연관되는 외부 다른 서버의 요청에 따라, 프로세서(920)는 해당 사용자 어플리케이션(예컨대, 936)으로 하여금 통신부(940)를 통하여 사용자 맥락 정보를 전송하도록 할 수 있다.The
이상, 본 개시에서 청구하고자 하는 대상에 대해 구체적으로 살펴 보았다. 본 개시에서 청구된 대상은 앞서 기술한 특정 구현예로 그 범위가 제한되지 않는다. 예컨대, 어떤 구현예에서는 장치 또는 장치의 조합 상에서 동작 가능하게 사용되는 하드웨어의 형태일 수 있으며, 다른 구현예에서는 소프트웨어 및/또는 펌웨어의 형태로 구현될 수 있고, 또 다른 구현예에서는 신호 베어링 매체, 저장 매체와 같은 하나 이상의 물품을 포함할 수 있다. 여기서, 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.
상기 맥락 인식부는 상기 블랙보드부에 저장된 사용자 맥락 정보를 더 이용하여 사용자 맥락 정보를 생성하거나 상기 블랙보드부에 저장된 사용자 맥락 정보를 갱신하도록 구성되는 것인, 사용자 모델링 장치.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.
상기 맥락 인식부는 상기 사용자 모델 추론부에 의해 관리되는 상기 사용자 모델의 상기 복수의 사용자 프로파일 중 적어도 하나를 더 이용하여 사용자 맥락 정보를 생성하도록 구성되는 것인, 사용자 모델링 장치.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.
상기 블랙보드부는 상기 센서 데이터 수집부에 의해 획득된 상기 센서 데이터를 사용자 맥락 정보와 함께 블랙보드 데이터 구조에 저장하도록 구성되는 것인, 사용자 모델링 장치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
상기 블랙보드부는 센서 데이터 및 사용자 맥락 정보 중 적어도 하나를 시계열적(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.
상기 복수의 사용자 프로파일은 하나 이상의 카테고리로 분류되고,
상기 사용자 모델 추론부는 상기 하나 이상의 카테고리 각각에 대한 적어도 하나의 선호 프로파일을 평가하도록 구성되는 것인, 사용자 모델링 장치.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.
상기 블랙보드부에 저장된 사용자 맥락 정보를 상기 적어도 하나의 사용자 장치로 전송하도록 구성되는 사용자 관리부
를 더 포함하고,
상기 적어도 하나의 사용자 장치는 전송된 사용자 맥락 정보가 상기 적어도 하나의 사용자 장치에서 실행되는 어플리케이션과 연관된 서비스에서 이용가능하도록, 해당 사용자 맥락 정보를 브로드캐스팅 하는 것인, 사용자 모델링 장치.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.
상기 블랙보드부에 저장된 사용자 맥락 정보 및 상기 사용자 모델의 적어도 하나의 사용자 프로파일에 기초하여, 상기 맥락 인식부에 의하여 생성된 사용자 맥락 정보와 연관되는 사용자 추천 정보를 생성하고 생성된 사용자 추천 정보를 사용자에게 전송하도록 구성되는 사용자 관리부
를 더 포함하는 사용자 모델링 장치.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.
상기 사용자 맥락 정보를 생성하는 단계는 상기 메모리의 블랙보드 데이터 구조에 기 저장된 사용자 맥락 정보 및 상기 복수의 사용자 프로파일 중 적어도 하나의 사용자 프로파일 중 적어도 하나를 더 이용하여, 사용자 맥락 정보를 생성하는 단계를 포함하는 것인, 사용자 모델링 방법.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.
상기 블랙보드 데이터 구조에 기 저장된 사용자 맥락 정보 및 상기 사용자 모델의 평가된 적어도 하나의 사용자 프로파일에 기초하여, 인식되는 사용자 맥락 정보에 대한 사용자 추천 정보를 생성하는 단계
를 더 포함하는 사용자 모델링 방법.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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015228225A (en) * | 2015-06-29 | 2015-12-17 | 株式会社東芝 | Information recommendation device |
Family Cites Families (5)
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 |
-
2019
- 2019-09-19 KR KR1020190115227A patent/KR102252084B1/en not_active Expired - Fee Related
Patent Citations (1)
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 |