KR101441983B1 - Apparatus and method for generating user profile - Google Patents

Apparatus and method for generating user profile Download PDF

Info

Publication number
KR101441983B1
KR101441983B1 KR1020130004522A KR20130004522A KR101441983B1 KR 101441983 B1 KR101441983 B1 KR 101441983B1 KR 1020130004522 A KR1020130004522 A KR 1020130004522A KR 20130004522 A KR20130004522 A KR 20130004522A KR 101441983 B1 KR101441983 B1 KR 101441983B1
Authority
KR
South Korea
Prior art keywords
profile
user
text
information
learning data
Prior art date
Application number
KR1020130004522A
Other languages
Korean (ko)
Other versions
KR20140093352A (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 KR1020130004522A priority Critical patent/KR101441983B1/en
Publication of KR20140093352A publication Critical patent/KR20140093352A/en
Application granted granted Critical
Publication of KR101441983B1 publication Critical patent/KR101441983B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 사용자 프로파일 생성 장치 및 그 방법에 관한 것으로, 사용자 프로파일 생성 장치는 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터를 포함하는 분류 정보를 산출하는 학습부, 그리고 사용자에 의해 생성된 모든 텍스트에 가중치 벡터를 반영하여 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함한다.The present invention relates to an apparatus and method for generating a user profile, in which a user profile generation apparatus performs learning by using a plurality of pieces of learning data as one learning unit, and calculates a weight value And a text profile generating unit for generating a text profile by calculating first class information for all the sets of texts by reflecting a weight vector on all the texts generated by the user .

Figure R1020130004522
Figure R1020130004522

Description

사용자 프로파일 생성 장치 및 그 방법{APPARATUS AND METHOD FOR GENERATING USER PROFILE}[0001] APPARATUS AND METHOD FOR GENERATING USER PROFILE [0002]

본 발명은 사용자 프로파일을 생성하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a user profile.

스마트폰이 널리 보급되면서 스마트폰에서 제공하는 여러 센서나 서비스, 응용 프로그램 등을 통해 사용자에 대한 다양한 정보를 얻을 수 있게 되었다. 예를 들어, GPS 센서를 통해 사용자의 현재 위치 정보, 거점에 대한 방문 정보 및 이동 정보 등의 획득이 가능해졌으며, 페이스북(Facebook), 트위터(Twitter) 등의 소셜 네트워크 서비스(SNS; Social Network Service)를 통해 작성한 텍스트로부터 사용자에 관한 정보들을 얻을 수 있게 되었다.As smartphones become widespread, various information, such as sensors, services, and applications, provided by smart phones, can be obtained. For example, it is possible to acquire the current location information of the user, the visit information of the user, and the movement information through the GPS sensor, and the social network service (SNS) such as Facebook, Twitter, ) To obtain information about the user from the text created by the user.

최근, 사용자에 대한 다양한 정보를 분석하여 사용자에게 맞춤형 정보를 제공해주는 연구들이 소개되고 있다. 기존의 사용자 맞춤형 서비스는 일반적으로 사용자가 직접 입력한 프로파일에 기반을 두고 있다. 하지만, 사용자가 특별히 연애유무, 정치적 성향 등의 속성을 입력하지 않는 경우에는, 해당 속성에 관한 사용자 프로파일을 얻기 어려우며, 특정 서비스에서는 사생활 보호를 위해 사용자 프로파일을 직접적으로 수집하지 않도록 하고 있다.In recent years, researches have been introduced to provide customized information to users by analyzing various information about users. Existing customized services are generally based on user-entered profiles. However, when the user does not input the attributes such as the presence of love or the political tendency in particular, it is difficult to obtain the user profile related to the attribute, and in the case of the specific service, the user profile is not collected directly to protect the privacy.

이에 따라, 최근에는 예를 들어, 블로그, 전화 대화문서 또는 영화 리뷰와 같은 도메인에서 사용자가 생성한 정보로 그 사용자의 프로파일을 식별하는 연구들이 소개되고 있다. 대한민국 공개특허공보 제10-2012-0050255호(2012.05.18.)는 사용자 아이덴티티 모델링에 기초한 상황인지기반 서비스 제공 방법 및 시스템을 개시하고 있다. 종래의 사용자 맞춤형 서비스는 많은 양의 컨텐츠들을 활용하여 사용자 프로파일을 식별하기 위하여 자동화 방법들을 적용하며, 이러한 자동화 방법들은 일반적으로 기계학습 방법에 기반을 두고 있다. 즉, 먼저 사용자들이 생성한 컨텐츠들을 수집하고 이 컨텐츠들을 사람이 분류한 뒤, 기계학습 방법을 이용하여 컨텐츠들로부터 프로파일 식별을 위한 패턴을 찾는다. 이후, 새로운 사용자가 입력되면 앞서 구축한 패턴을 사용하여 새로운 사용자가 생성한 컨텐츠로부터 사용자의 프로파일을 식별한다.Recently, studies have been introduced to identify the profile of a user with information generated by a user in a domain, such as a blog, a phone conversation document, or a movie review, for example. Korean Patent Laid-Open Publication No. 10-2012-0050255 (May 18, 2012) discloses a method and system for providing context-aware services based on user identity modeling. Conventional user-customized services utilize automation methods to identify user profiles utilizing a large amount of content, and these automation methods are generally based on machine learning methods. That is, first, the contents generated by the users are collected, and the contents are classified by a person, and a pattern for profile identification is searched from the contents using a machine learning method. Thereafter, when a new user is input, the user's profile is identified from the content created by the new user using the pattern thus constructed.

그런데, 사용자가 생성한 컨텐츠들 중에는 프로파일 식별에 도움이 되는 컨텐츠가 있는 반면, 그렇지 않은 컨텐츠도 존재한다. 예를 들어, 30대 남성이 SNS에서 작성한 텍스트들 중에는 승진이나 육아 등에 관한 30대 남성과 관련 있는 텍스트들도 있는 반면, 일상 생활 등에 관한 30대 남성과 관련 없는 텍스트들도 존재할 수 있다. 기존의 기계학습 기반의 프로파일 식별 방법은 이들을 모두 사용하여 프로파일을 식별한다. 즉, 기존의 방법은 사용자가 생성한 컨텐츠들이 모두 사용자의 프로파일과 관련 있다고 가정하고 있으나, 실제로 사용자가 생성한 컨텐츠에는 사용자와 관련이 없는 텍스트도 존재한다.Incidentally, among the contents generated by the user, there are contents which are helpful for the profile identification, and some contents are not. For example, some texts written by men in their 30s on the SNS include texts related to men in their 30s, such as promotion or parenting, while there may be texts in their 30s that are not related to men in their daily lives. Existing machine learning based profile identification methods use both to identify profiles. That is, in the existing method, it is assumed that all the contents created by the user are related to the user's profile, but there is also text that is not related to the user in the contents actually created by the user.

따라서, 기존 방법에 의하면 사용자 프로파일 식별을 위한 학습 및 테스트시 사용자 프로파일과 관련 없는 컨텐츠들이 포함되기 때문에 프로파일 식별의 성능을 떨어뜨리게 된다. 사용자 프로파일과 관련 있는 컨텐츠만을 사용하기 위해 주어진 컨텐츠가 사용자 프로파일과 관련이 있는지를 먼저 검사하는 방법을 고려할 수 있지만, 현재 프로파일과 관련이 없는지를 구분하는 작업은 효율성 측면에서 매우 낮은 성능을 보이고 있으며, 잘못 분석된 결과가 다음의 결과에 전파될 수 있다. 또한, 사용자 프로파일과의 관련도를 구분하기 위해 사람이 직접 분류하여 학습 데이터를 구축하여야 하므로, 많은 시간과 비용이 소요된다.Therefore, according to the existing method, since the contents related to the user profile are included in the learning and testing for identifying the user profile, the performance of the profile identification is degraded. In order to use only contents related to the user profile, it is possible to consider how to check whether the given contents are related to the user profile. However, the operation to distinguish whether the contents are not related to the current profile is very low in terms of efficiency, Misleading results can be propagated to the following results. In addition, since it is necessary to construct learning data by human classification in order to classify the relationship with the user profile, it takes a lot of time and cost.

기존의 사용자 프로파일 식별 방식의 다른 문제점은 서로 다른 특징을 가지는 프로파일들 간의 상관 관계나 상호 영향을 고려하지 않는 것에 있다. 즉, 기존의 사용자 프로파일 식별 방식은 예를 들어 사용자가 이동한 정보들을 이용하여 사용자의 지역 정보와 같은 속성을 식별하고, 사용자가 생성한 텍스트를 이용하여 성별과 같은 속성을 식별한 다음, 서로 다른 속성에 대하여 생성한 프로파일들을 단순히 합하는 정도의 수준에 그치고 있다. 이에 따라, 각각의 프로파일에 내재되어 있는 사용자의 특정 속성에 관련되는 모든 정보들을 사용자 프로파일에 반영하지 못하거나, 서로 다른 프로파일 간의 중요도 등을 고려하지 않음으로 인하여, 사용자 프로파일의 정확도를 떨어뜨리는 요인이 된다.Another problem with existing user profile identification schemes is that they do not take into account the correlation or mutual influence between profiles having different characteristics. That is, in the conventional user profile identification method, for example, the user identifies attributes such as local information using the information moved by the user, identifies attributes such as gender using the text generated by the user, Attributes are merely added to the level of the profiles generated. Accordingly, the user profile does not reflect all the information related to the specific attribute of the user inherent in each profile, or the importance of the different profiles is not considered. do.

본 발명은 사용자와 관련 있는 컨텐츠만을 반영하여 사용자 프로파일을 식별할 수 있는 사용자 프로파일 생성 장치 및 그 방법을 제공하는 것을 목적으로 한다.It is an object of the present invention to provide an apparatus and method for generating a user profile capable of identifying a user profile only by reflecting contents related to the user.

본 발명이 해결하고자 하는 다른 과제는 사용자 프로파일을 식별하는데 도움되지 않거나 악영향을 끼치는 텍스트에 의한 영향을 최소화하여 정확한 사용자 프로파일을 생성하는 사용자 프로파일 생성 장치 및 방법을 제공하는 것에 있다.It is another object of the present invention to provide an apparatus and method for generating a user profile that generates an accurate user profile by minimizing the influence of text that is not helpful in identifying a user profile or adversely affecting the user profile.

본 발명이 해결하고자 하는 또 다른 과제는 서로 다른 특징을 가지는 프로파일들을 속성별로 통합하여 사용자 프로파일을 생성하는 사용자 프로파일 생성 장치 및 방법을 제공하는 것에 있다.It is another object of the present invention to provide an apparatus and method for generating a user profile by integrating profiles having different characteristics for each attribute.

본 발명이 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않는다. 언급되지 않은 다른 기술적 과제들은 이하의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems. Other technical subjects not mentioned will be apparent to those skilled in the art from the description below.

본 발명의 일 측면에 따른 사용자 프로파일 생성 장치는 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터를 포함하는 분류 정보를 산출하는 학습부; 그리고 사용자에 의해 생성된 모든 텍스트에 상기 가중치 벡터를 반영하여 상기 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함한다.The apparatus for generating a user profile according to an aspect of the present invention performs learning by using a plurality of pieces of learning data as one learning unit and classifies the classification information including a weight vector indicating the influence of each learning data on classification of classes for each attribute A learning unit for calculating a learning result; And a text profile generator for generating a text profile by calculating the first class information for all the sets of texts by reflecting the weight vectors on all the texts generated by the user.

일 실시 예로, 상기 학습부는 서포트 벡터 머신(Support Vector Machine)을 이용하여, 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 초평면(Hyperplane) 및 상기 가중치 벡터를 산출할 수 있다.In one embodiment, the learning unit may calculate a hyperplane representing a criterion for classifying the plurality of pieces of learning data by the attribute vector and a weight vector using a support vector machine.

일 실시 예로, 상기 텍스트 프로파일 생성부는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 초평면을 기준으로 상기 제1 클래스 정보를 산출할 수 있다.In one embodiment, the text profile generator reflects only a vector component corresponding to learning data corresponding to a support vector closest to the hyperplane among the weight vectors, and sets the hyperplane as a reference The first class information can be calculated.

일 실시 예로, 상기 속성은 성별, 연령, 지역, 직업, 정치적 성향, 취미, 관심 분야 중의 적어도 하나 이상을 포함할 수 있다.In one embodiment, the attribute may include at least one of gender, age, region, occupation, political orientation, hobby, and interest.

일 실시 예로, 상기 텍스트는 소셜 네트워크 서비스(Social Network Service)를 통해 상기 사용자에 의하여 생성된 텍스트를 포함할 수 있다.In one embodiment, the text may include text generated by the user via a Social Network Service.

일 실시 예로, 상기 사용자 프로파일 생성 장치는, 상기 사용자의 이동 정보에 기초하여 상기 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 사용자에 대한 모빌리티 프로파일을 생성하는 모빌리티 프로파일 생성부; 그리고 상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 사용자에 대한 사용자 프로파일을 생성하는 프로파일 통합부를 더 포함할 수 있다.In an exemplary embodiment, the user profile generation device may include: a mobility profile generation unit that generates a mobility profile for the user by calculating second class information for the set of all the texts based on the movement information of the user; And a profile integrating unit for merging the text profile and the mobility profile to generate a user profile for the user.

일 실시 예로, 상기 프로파일 통합부는, 상기 제1 클래스 정보에 제1 중요도를 반영하고, 상기 제2 클래스 정보에 제2 중요도를 반영하여 상기 사용자 프로파일을 생성하는 프로파일 생성부를 포함할 수 있다.In one embodiment, the profile integration unit may include a profile generation unit that reflects a first importance degree to the first class information and a second importance degree to the second class information to generate the user profile.

일 실시 예로, 상기 프로파일 통합부는, 상기 사용자 프로파일의 클래스 정보와 상기 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제1 중요도를 갱신하고, 상기 사용자 프로파일의 클래스 정보와 상기 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제2 중요도를 갱신하는 중요도 갱신부를 더 포함할 수 있다.In one embodiment, the profile integrating unit updates the first importance degree based on a difference between the class information of the user profile and the actual class information of the user, and updates the first importance degree based on the difference between the class information of the user profile and the actual class information of the user The importance level updating unit may update the second importance level based on the first importance level.

본 발명의 다른 일 측면에 따르면, 복수 개의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터 및 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 초평면(Hyperplane)을 포함하는 분류 정보를 저장하는 저장부; 그리고 상대방 사용자로부터 전송된 텍스트들에 상기 가중치 벡터를 반영하여, 상기 텍스트들의 집합에 대하여 제1 클래스 정보를 산출함으로써 상기 상대방 사용자에 대한 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함하는 단말이 제공될 수 있다.According to another aspect of the present invention, there is provided an information processing apparatus including: a weighting vector indicating the influence of a plurality of pieces of learning data on classification of classes for each attribute; and classification information including a hyperplane representing a criterion for classifying the plurality of pieces of learning data, A storage unit for storing the data; And a text profile generating unit for generating a text profile for the other user by reflecting the weight vector on texts transmitted from the other user and calculating first class information for the set of texts, have.

일 실시 예로, 상기 텍스트는 상기 상대방 사용자에 의하여 생성되어 상기 단말로 전송된 소셜 네트워크 서비스(Social Network Service) 텍스트를 포함할 수 있다.In one embodiment, the text may include a Social Network Service text generated by the other user and transmitted to the terminal.

본 발명의 또 다른 일 측면에 따르면, 복수 개의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터 및 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 초평면(Hyperplane)을 포함하는 분류 정보를 저장하는 데이터베이스; 그리고 사용자 단말로부터 전송된 텍스트들에 상기 가중치 벡터를 반영하여, 상기 텍스트들의 집합에 대하여 제1 클래스 정보를 산출함으로써 상기 사용자에 대한 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함하는 사용자 프로파일 생성 서버 시스템이 제공될 수 있다.According to another aspect of the present invention, there is provided a classifier including a weight vector indicating the influence of a plurality of pieces of learning data on classification of a class for each attribute, and a hyperplane representing a criterion for classifying the plurality of pieces of learning data by the attribute A database for storing information; And a text profile generation unit for generating a text profile for the user by calculating the first class information for the set of texts by reflecting the weight vector on the texts transmitted from the user terminal Can be provided.

일 실시 예로, 상기 사용자 프로파일 생성 서버 시스템은, 상기 사용자 단말로부터 상기 사용자 단말의 위치 정보의 이력을 나타내는 로그 파일을 전송받고, 상기 로그 파일에 기초하여 상기 텍스트들의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 사용자에 대한 모빌리티 프로파일을 생성하는 모빌리티 프로파일 생성부; 그리고 상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 사용자에 대한 사용자 프로파일을 생성하는 프로파일 통합부를 포함할 수 있다.In one embodiment, the user profile creation server system receives a log file indicating a history of location information of the user terminal from the user terminal, and calculates second class information on the set of text based on the log file A mobility profile generator for generating a mobility profile for the user; And a profile integration unit for integrating the text profile and the mobility profile to generate a user profile for the user.

본 발명의 또 다른 일 측면에 따르면, 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터를 포함하는 분류 정보를 산출하는 단계; 그리고 사용자에 의해 생성된 모든 텍스트에 상기 가중치 벡터를 반영하여 상기 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하는 단계를 포함하는 사용자 프로파일 생성 방법이 제공될 수 있다.According to another aspect of the present invention, learning is performed using a plurality of pieces of learning data as one learning unit, and classification information including a weight vector indicating the influence of each piece of learning data on classification of each class of attributes is calculated ; And generating a text profile by calculating the first class information for all the sets of texts by reflecting the weight vector on all texts generated by the user.

일 실시 예로, 상기 분류 정보를 산출하는 단계는 서포트 벡터 머신(Support Vector Machine)을 이용하여, 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 초평면(Hyperplane) 및 상기 가중치 벡터를 산출하는 단계를 포함할 수 있다.In one embodiment, the step of calculating the classification information may include generating a hyperplane representing a criterion for classifying the plurality of learning data by the attribute using a support vector machine, and calculating a weight vector . ≪ / RTI >

일 실시 예로, 상기 텍스트 프로파일을 생성하는 단계는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 초평면을 기준으로 상기 제1 클래스 정보를 산출하는 단계를 포함할 수 있다.In one embodiment, the step of generating the text profile may include a step of reflecting only vector components corresponding to learning data corresponding to a support vector closest to the hyperplane among the weight vectors, And calculating the first class information based on the hyperplane.

일 실시 예로, 상기 사용자 프로파일 생성 방법은, 상기 사용자의 이동 정보에 기초하여 상기 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 사용자에 대한 모빌리티 프로파일을 생성하는 단계; 그리고 상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 사용자에 대한 사용자 프로파일을 생성하는 단계를 더 포함할 수 있다.In one embodiment, the method of generating a user profile comprises: generating a mobility profile for the user by calculating second class information for a set of all the texts based on movement information of the user; And combining the text profile and the mobility profile to generate a user profile for the user.

일 실시 예로, 상기 사용자 프로파일을 생성하는 단계는, 상기 제1 클래스 정보에 제1 중요도를 반영하고, 상기 제2 클래스 정보에 제2 중요도를 반영하여 상기 사용자 프로파일을 생성하는 단계를 포함할 수 있다.In one embodiment, the step of generating the user profile may include the step of reflecting the first importance degree in the first class information and the second importance degree in the second class information to generate the user profile .

일 실시 예로, 상기 사용자 프로파일을 생성하는 단계는, 상기 사용자 프로파일의 클래스 정보와 상기 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제1 중요도를 갱신하고, 상기 사용자 프로파일의 클래스 정보와 상기 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제2 중요도를 갱신하는 단계를 더 포함할 수 있다.In one embodiment, the step of generating the user profile may include updating the first importance degree based on a difference between the class information of the user profile and the actual class information of the user, And updating the second importance degree based on the difference of the class information.

본 발명의 또 다른 일 측면에 따르면, 상기한 사용자 프로파일 생성 방법을 실행하기 위한 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체가 제공될 수 있다.According to another aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for executing the method of generating a user profile.

본 발명의 실시 예에 의하면, 사용자와 관련 있는 컨텐츠만을 반영하여 사용자 프로파일을 식별하고, 사용자 프로파일의 식별에 도움이 되지 않는 텍스트에 의한 영향을 최소화하여 사용자 프로파일을 정확하게 생성할 수 있다.According to an embodiment of the present invention, a user profile can be accurately reflected by only identifying contents related to a user and minimizing the influence of text that is not helpful in identifying a user profile.

또한, 본 발명의 실시 예에 의하면, 서로 다른 특징을 가지는 프로파일들을 속성별로 통합하여 사용자 프로파일을 보다 더 정확하게 생성할 수 있다.In addition, according to the embodiment of the present invention, profiles having different characteristics can be integrated for each attribute to more accurately generate a user profile.

본 발명의 효과는 상술한 효과들로 제한되지 않는다. 언급되지 않은 효과들은 본 명세서 및 첨부된 도면으로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확히 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects described above. Unless stated, the effects will be apparent to those skilled in the art from the description and the accompanying drawings.

도 1은 본 발명의 제1 실시 예에 따른 사용자 프로파일 생성 시스템(10)의 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 사용자 프로파일 생성 방법의 흐름도이다.
도 3은 본 발명의 제2 실시 예에 따른 사용자 프로파일 생성 장치의 구성도이다.
1 is a configuration diagram of a user profile creation system 10 according to a first embodiment of the present invention.
2 is a flowchart of a method of generating a user profile according to an embodiment of the present invention.
3 is a configuration diagram of a user profile generating apparatus according to a second embodiment of the present invention.

본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.Other advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Although not defined, all terms (including technical or scientific terms) used herein have the same meaning as commonly accepted by the generic art in the prior art to which this invention belongs. Terms defined by generic dictionaries may be interpreted to have the same meaning as in the related art and / or in the text of this application, and may be conceptualized or overly formalized, even if not expressly defined herein I will not.

본 발명의 실시 예에 따른 사용자 프로파일 생성 시스템은 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하여 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터를 포함하는 분류 정보를 산출한다. 본 발명의 실시 예에 의하면 사용자에 의해 생성된 모든 텍스트에 가중치 벡터를 반영하여 모든 텍스트의 집합에 대해 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하므로, 사용자 프로파일을 식별하는데 도움이 되지 않거나 악영향을 끼치는 텍스트들에 의한 영향을 최소화하여 보다 정확한 사용자 프로파일을 생성할 수 있다.The user profile creation system according to the embodiment of the present invention performs learning by using a plurality of pieces of learning data as one learning unit to classify classification information including a weight vector indicating the influence of each piece of learning data on classification of each class . According to the embodiment of the present invention, a text profile is generated by calculating the class information for all the sets of text by reflecting the weight vector on all the texts generated by the user, so that the text that does not help identifying the user profile It is possible to generate a more accurate user profile.

도 1은 본 발명의 제1 실시 예에 따른 사용자 프로파일 생성 시스템(10)의 구성도이다. 도 1을 참조하면, 본 발명의 제1 실시 예에 따른 사용자 프로파일 생성 시스템(10)은 복수 개의 사용자 단말(100), 그리고 사용자 프로파일 생성 서버 시스템(200)을 포함한다. 각 사용자 단말(100)은 유선 또는 무선의 통신 네트워크를 통해 사용자 프로파일 생성 서버 시스템(200)과 연결된다. 사용자 단말(100)은 스마트폰, 노트북, PDA(Personal Digital Assistant) 등과 같은 이동형 통신기기일 수도 있고, 데스크 탑 PC와 같은 고정형 통신기기일 수도 있다. 이동형 통신기기의 경우, 후술되는 바와 같이 텍스트 프로파일과 모빌리티 프로파일을 통합하여 사용자 프로파일을 생성할 수 있다. 사용자 단말(100)이 고정형 통신기기인 경우 텍스트 프로파일만을 포함하는 사용자 프로파일이 생성될 수 있다.1 is a configuration diagram of a user profile creation system 10 according to a first embodiment of the present invention. Referring to FIG. 1, a user profile creation system 10 according to a first embodiment of the present invention includes a plurality of user terminals 100, and a user profile creation server system 200. Each user terminal 100 is connected to a user profile creation server system 200 via a wired or wireless communication network. The user terminal 100 may be a mobile communication device such as a smart phone, a notebook, a PDA (Personal Digital Assistant), or a fixed communication device such as a desktop PC. In the case of the mobile communication device, the user profile can be generated by integrating the text profile and the mobility profile as described later. If the user terminal 100 is a fixed-type communication device, a user profile including only a text profile may be generated.

본 발명의 제1 실시 예에 있어서, 사용자 단말(100)은 사용자 인터페이스부(110), 디스플레이부(120), 통신부(130), 그리고 저장부(140)를 포함한다. 사용자 인터페이스부(110)는 예를 들어 키보드, 마우스 등으로 구현될 수 있다. 다른 예로, 스마트폰과 같은 사용자 단말(100)의 경우, 사용자 인터페이스부(110)는 그래픽 유저 인터페이스(Graphic User Interface) 등에 의해 터치스크린 방식으로 구현될 수 있다. 디스플레이부(120)는 화면상으로 사용자에게 각종 컨텐츠를 표시한다. 통신부(130)는 사용자 단말(100)들 사이, 또는 사용자 단말(100)과 사용자 프로파일 생성 서버 시스템(200) 사이, 또는 사용자 단말(100)과 다른 서버 시스템(미도시) 사이에 유선 또는 무선으로 통신을 수행한다. 저장부(140)는 예를 들어 각종 컨텐츠, 사용자 단말(100)의 이동 정보 등을 저장할 수 있다. 만약, 사용자 단말(100)이 스마트폰과 같은 휴대 전화기인 경우, 사용자 단말(100)은 통화 기능을 수행하기 위한 통상의 폰 모듈(phone module)(미도시)을 더 포함할 수 있다.The user terminal 100 includes a user interface unit 110, a display unit 120, a communication unit 130, and a storage unit 140. In this case, The user interface unit 110 may be implemented as a keyboard, a mouse, or the like. As another example, in the case of a user terminal 100 such as a smart phone, the user interface unit 110 may be implemented in a touch screen manner by a graphic user interface or the like. The display unit 120 displays various contents to the user on the screen. The communication unit 130 may be connected to the user terminal 100 either between the user terminals 100 or between the user terminal 100 and the user profile creation server system 200 or between the user terminal 100 and another server system And performs communication. The storage unit 140 may store various contents, movement information of the user terminal 100, and the like. If the user terminal 100 is a mobile phone such as a smart phone, the user terminal 100 may further include a normal phone module (not shown) for performing a call function.

사용자 프로파일 생성 서버 시스템(200)은 학습부(210), 텍스트 프로파일 생성부(220), 모빌리티 프로파일 생성부(230), 프로파일 통합부(240), 그리고 데이터베이스(250,260,270)를 포함한다. 일 실시 예로, 사용자 프로파일 생성 서버 시스템(200)은 사용자 단말(100)들 상호 간에 통신을 연결하는 통신 서버 시스템(미도시)과 별도로 제공될 수도 있고, 통신 서버 시스템과 통합된 형태로 구현될 수도 있다.The user profile creation server system 200 includes a learning unit 210, a text profile creation unit 220, a mobility profile creation unit 230, a profile integration unit 240, and databases 250, 260 and 270. In one embodiment, the user profile creation server system 200 may be provided separately from a communication server system (not shown) connecting the communication between the user terminals 100, or may be implemented in an integrated manner with the communication server system have.

사용자 프로파일 생성 서버 시스템(200)이 통신 서버 시스템과 별개로 제공되는 경우, 사용자 프로파일 생성 서버 시스템(200)은 통신 서버 시스템으로부터 사용자 단말(100)들 간에 전송되는 SNS(Social Network System) 텍스트를 전송받아 이를 학습 데이터 데이터베이스(DB; DataBase)(250)에 저장할 수 있다. 대안적으로, 사용자 프로파일 생성 서버 시스템(200)이 통신 서버 시스템과 통합된 형태로 구현되는 경우, SNS 텍스트를 사용자 단말(100)로부터 직접 전송받아 이를 학습 데이터 DB(250)에 저장할 수 있다.When the server system 200 is provided separately from the communication server system, the user profile creation server system 200 transmits SNS (Social Network System) texts transmitted between the user terminals 100 from the communication server system And stores it in a learning data database (DB) 250. Alternatively, when the user profile creation server system 200 is implemented in a form integrated with the communication server system, the SNS text may be directly received from the user terminal 100 and stored in the learning data DB 250.

학습 데이터 DB(250)에는 실제 프로파일 정보가 알려져 있는 사용자들에 대한 학습 데이터들이 저장된다. 학습 데이터 DB(250)는 예를 들어 성별, 연령, 지역, 직업, 정치적 성향, 취미 또는 관심 분야 등의 속성별로 복수의 사용자에 대한 학습 데이터들을 저장할 수 있다. 학습 데이터는 예를 들어 온라인(On-line) 또는 오프라인(Off-line) 설문 조사를 통해 이루어지거나, 사용자가 통신망에 가입할 때 사용자가 직접 입력한 정보에 기초하여 수집될 수 있다.Learning data DB 250 stores learning data for users whose actual profile information is known. The learning data DB 250 may store learning data for a plurality of users for each attribute such as, for example, sex, age, area, occupation, political disposition, hobbies, or area of interest. The learning data may be collected, for example, via an on-line or off-line survey, or may be collected based on information entered directly by the user when the user subscribes to the network.

학습부(210)는 사용자 프로파일을 미리 알고 있는 사용자들에 대한 학습 데이터들을 이용하여 분류 정보를 생성한다. 본 발명의 실시 예는 종래와 다른 방식으로 분류 정보를 생성한다. 텍스트 프로파일 생성부(220)는 분류 정보를 이용하여 종래와 다른 방식으로 텍스트 프로파일을 생성한다. 본 발명의 실시 예에 대하여 설명하기에 앞서 종래의 학습 및 사용자 프로파일 식별 방식에 대해 설명하면 다음과 같다.The learning unit 210 generates classification information using learning data for users who know the user profile in advance. Embodiments of the present invention generate classification information in a manner different from conventional methods. The text profile generating unit 220 generates a text profile in a manner different from the conventional method using the classification information. Before describing the embodiment of the present invention, the conventional learning and user profile identification method will be described as follows.

종래에는 개별 인스턴스 학습 방식으로 사용자가 작성한 텍스트 개별에 대해 사용자 프로파일을 식별하기 때문에, 사용자 프로파일을 식별하는데 도움이 되지 않거나 악영향을 끼치는 텍스트들로 인하여 정확한 사용자 프로파일을 얻지 못하였다. 즉, 종래의 프로파일 식별 모델은 사용자가 작성한 새로운 텍스트들이 주어질 때, 각 텍스트마다 클래스를 추정하고, 추정된 클래스 중 가장 많이 분류된(Majority Voting) 클래스로 사용자 프로파일을 식별한다. 예를 들어, 사용자가 작성한 10개의 텍스트가 존재할 때, 10개의 텍스트 각각에 대해 프로파일을 식별한 다음, 그 결과를 합쳐서 최종적으로 사용자 프로파일을 식별하게 된다.Traditionally, individual instance learning methods have identified user profiles for individual texts created by the user, and thus failed to obtain accurate user profiles due to texts that either do not help identify the user profile or have adverse effects. That is, in the conventional profile identification model, when new texts created by the user are given, the class is estimated for each text and the user profile is identified by the most frequently classified class among the estimated classes. For example, when there are ten texts created by the user, the profile is identified for each of the ten texts, and then the results are combined to ultimately identify the user profile.

하지만, 사용자가 작성한 텍스트에는 프로파일을 추정함에 있어 영향을 끼치지 않거나 성능을 하락시키는 것들이 존재한다. 이들을 모델 구축에 사용하게 되면 잘못된 모델 파라미터가 선택되고 최종적으로 프로파일 식별 모델의 성능을 하락시킬 수 있다. 이에 따라, 본 발명의 실시 예는 상술한 종래 기술의 문제점을 해결하고자, 다중 인스턴스(Multi Instance) 학습에 기반한 프로파일 식별 모델을 제시한다. 본 발명의 실시 예에 의하면 사용자가 작성한 텍스트들 각각에 대해 개별적으로 프로파일을 식별하는 것이 아니라, 텍스트들의 그룹 전체를 하나로 간주하여 프로파일을 식별한다.However, there are some things that user-written text do not affect or degrade performance in estimating the profile. When these are used in model construction, incorrect model parameters are selected and finally the performance of the profile identification model can be degraded. Accordingly, embodiments of the present invention propose a profile identification model based on multi-instance learning to solve the problems of the above-described prior art. According to the embodiment of the present invention, the profile is identified by considering the entire group of texts as one, rather than individually identifying the profile for each text created by the user.

이를 위해, 본 발명의 실시 예에 따른 학습부(210)는 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터 및 초평면(Hyperplane)에 관한 정보를 포함하는 분류 정보를 산출한다. 일 실시 예에 있어서, 학습부(210)는 서포트 벡터 머신(Support Vector Machine)(미도시)을 이용하여 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 초평면의 법선 벡터 및 가중치 벡터를 포함하는 분류 정보를 산출할 수 있다. 분류 정보를 산출하는 보다 구체적인 과정은 이후 도 2를 참조하여 후술될 것이다. 학습부(210)에 의해 산출된 분류 정보는 분류 정보 DB(260)에 저장될 수 있다.To this end, the learning unit 210 according to the embodiment of the present invention performs learning using a plurality of pieces of learning data as one learning unit, and calculates a weight vector indicating the influence of each piece of learning data on classification of each class And generates classification information including information on the hyperplane. In one embodiment, the learning unit 210 uses a support vector machine (not shown) to classify a normal vector of a hyperplane representing a criterion for classifying a plurality of pieces of learning data by attribute, and a classification including a weight vector Information can be calculated. A more detailed process of calculating classification information will be described later with reference to FIG. The classification information calculated by the learning unit 210 may be stored in the classification information DB 260. [

텍스트 프로파일 생성부(220)는 예를 들어 사용자가 사용자 단말(100)을 이용하여 페이스북(Facebook) 또는 트위터(Twitter) 등과 같은 소셜 네트워크 서비스(Social Network Service)를 통해 작성한 SNS 텍스트들로부터 사용자의 텍스트 프로파일을 식별할 수 있다. 이때, 사용자들이 작성한 텍스트들 중에는 사용자 프로파일을 식별하는데 도움이 되는 텍스트도 포함되어 있지만, 사용자 프로파일을 식별하는데 도움이 되지 않거나 악영향을 끼치는 텍스트들도 존재할 수 있다.The text profile generating unit 220 generates a text profile from the SNS texts created through a social network service such as Facebook or Twitter using the user terminal 100, You can identify the text profile. At this time, among the texts created by users, texts are included to help identify the user profile, but there may be texts that do not help or adversely affect the identification of the user profile.

본 발명의 실시 예는 사용자에 의해 생성된 모든 텍스트에 가중치 벡터를 반영하여 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성한다. 이러한 본 발명의 실시 예에 의하면, 사용자가 작성한 모든 텍스트들을 프로파일 식별을 위한 하나의 단위로 간주하여 텍스트 프로파일을 식별하므로, 사용자가 작성한 텍스트들 중에 프로파일 식별과 관련이 없는 텍스트들은 식별에 영향을 끼치지 않게 된다. 이는 가중치 벡터의 성분들 중에서, 프로파일 식별의 기준이 되는 초평면에 근접한 서포트 벡터에 해당하지 않는 학습 데이터의 벡터 성분이 '0'으로 산출되어, 프로파일 식별에 영향을 미치지 않는 학습 데이터의 영향을 최소화할 수 있기 때문이다.The embodiment of the present invention generates a text profile by calculating first class information on a set of all texts by reflecting a weight vector on all texts generated by a user. According to the embodiment of the present invention, all the texts created by the user are regarded as one unit for profile identification, and the text profile is identified. Therefore, among the texts created by the user, the texts not related to the profile identification affect the identification . This means that the vector component of the learning data that does not correspond to the support vector close to the hyperplane serving as the reference for the profile identification is calculated as '0' among the components of the weight vector so that the influence of the learning data which does not affect the profile identification is minimized It is because.

즉, 본 발명의 실시 예에 의하면, 텍스트 프로파일 생성부(220)는 분류 정보의 가중치 벡터 중에서 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 모든 텍스트의 집합에 대하여 초평면을 기준으로 제1 클래스 정보를 산출한다. 서포트 벡터가 아닌 학습 데이터에 대응하는 다른 벡터 성분들은 예를 들어 '0'의 값을 갖게 되므로, 속성의 클래스 분류에 영향을 미치지 않는 텍스트들로 인한 사용자 프로파일 식별의 오류가 방지된다.That is, according to the embodiment of the present invention, the text profile generator 220 reflects only the vector components corresponding to the learning data corresponding to the support vector (Support Vector) closest to the hyperplane among the weight vectors of classification information, The first class information is calculated based on the hyperplane. Since other vector components corresponding to learning data other than the support vector have a value of, for example, '0', errors in user profile identification due to texts that do not affect class classification of the attribute are prevented.

이동 정보 DB(270)는 예를 들어 시간에 따른 사용자 단말(100)의 위치 정보의 이력을 나타내는 로그 파일(Log File)과 같은 이동 정보를 저장할 수 있다. 사용자의 이동 정보는 예를 들어 사용자 단말(100)로부터 전송받거나, 사용자 단말(100)의 위치 추적이 가능한 위치 추적 서버 시스템(미도시)으로부터 전송받을 수 있다. 사용자 단말(100)의 위치 정보는 예를 들어 GPS(Global Positioning System) 모듈(미도시)에 의하여 획득될 수 있다. GPS 모듈은 사용자 단말(100)의 위성들로부터의 거리와 시간을 측정하고, 이로부터 삼각 방법에 따라 사용자 단말(100)의 위치 정보를 검출할 수 있다.The movement information DB 270 may store movement information such as a log file indicating the history of the position information of the user terminal 100 with respect to time. The movement information of the user may be received from the user terminal 100 or from a location tracking server system (not shown) capable of tracking the location of the user terminal 100, for example. The location information of the user terminal 100 may be obtained, for example, by a Global Positioning System (GPS) module (not shown). The GPS module measures the distance and time from the satellites of the user terminal 100 and can detect the location information of the user terminal 100 according to the triangular method.

모빌리티 프로파일 생성부(230)는 사용자의 이동 정보에 기초하여 사용자의 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 사용자에 대한 모빌리티 프로파일을 생성한다. 일 실시 예로, 모빌리티 프로파일 생성부(230)는 모바일 기기 등을 사용하여 수신된 GPS 정보로부터 거점별 방문 빈도, 거점별 방문 시간대, 거점별 머문 시간, 거점에서 거점으로 방문한 이동 정보를 추출하고 이를 바탕으로 모빌리티 프로파일을 식별할 수 있다.The mobility profile generation unit 230 generates a mobility profile for the user by calculating second class information for all the sets of texts of the user based on the movement information of the user. In one embodiment, the mobility profile generation unit 230 extracts movement information visited from a base point at a base point, visit frequency of each base point, visit time period per base point, stay time per base point from GPS information received using a mobile device or the like, To identify the mobility profile.

모빌리티 프로파일 생성부(230)는 많은 사용자의 이동 정보를 자동화하여 획득하기 위하여 기계 학습 방법 중 하나로 알려져 있는 kNN(k-Nearest Neighborhood) 방식을 사용하여 모빌리티 프로파일을 생성할 수 있다. 모빌리티 프로파일 생성부(230)는 예를 들어 kNN 방식을 통해 사용자 모빌리티 패턴과 유사한 패턴을 가지는 k명의 사용자를 찾은 후, k명의 사용자 프로파일로부터 사용자의 프로파일을 식별할 수 있다.The mobility profile generation unit 230 may generate a mobility profile using a k-Nearest Neighborhood (kNN) scheme, which is known as one of the machine learning methods, in order to automate and acquire movement information of many users. The mobility profile generating unit 230 may find k users having a pattern similar to the user mobility pattern through the kNN scheme, for example, and then identify the user profile from k user profiles.

프로파일 통합부(240)는 텍스트 프로파일과, 모빌리티 프로파일을 통합하여 사용자 프로파일을 생성한다. 프로파일 통합부(240)는 서로 다른 특성을 지닌 두 모델을 하나로 합쳐 최종적으로 사용자 프로파일을 식별한다. 이를 위해, 프로파일 통합부(240)는 텍스트 프로파일 생성부(220)의 출력값인 제1 클래스 정보에 제1 중요도를 반영하고, 모빌리티 프로파일 생성부(230)의 출력값인 제2 클래스 정보에 제2 중요도를 반영하여 사용자 프로파일을 생성한다.The profile integration unit 240 integrates the text profile and the mobility profile to create a user profile. The profile integrating unit 240 combines the two models having different characteristics into one to finally identify the user profile. To this end, the profile integration unit 240 reflects the first importance degree to the first class information, which is the output value of the text profile generation unit 220, and the second importance degree information, which is the output value of the mobility profile generation unit 230, To generate a user profile.

일 실시 예로, 프로파일 통합부(240)는 프로파일 생성부(241)와, 중요도 갱신부(242)를 포함할 수 있다. 중요도 갱신부(242)는 제1 중요도와 제2 중요도를 학습을 통해 갱신한다. 즉, 중요도 갱신부(242)는 사용자 프로파일의 클래스 정보와 사용자의 실제 클래스 정보의 차이에 기초하여 제1 중요도를 갱신하고, 사용자 프로파일의 클래스 정보와 사용자의 실제 클래스 정보의 차이에 기초하여 제2 중요도를 갱신한다. 이때, 프로파일 통합부(240)는 제1 중요도와 제2 중요도의 합을 항상 일정한 값, 예를 들어 '1'로 유지한다. 중요도가 갱신된 이후에는, 프로파일 생성부(241)는 최종적으로 갱신된 제1 중요도와 제2 중요도를 이용하여 최종적으로 사용자 프로파일을 생성한다.In one embodiment, the profile integrating unit 240 may include a profile generating unit 241 and an importance updating unit 242. The importance updating unit 242 updates the first importance degree and the second importance degree through learning. In other words, the importance updating unit 242 updates the first importance based on the difference between the class information of the user profile and the actual class information of the user, and updates the importance of the second profile based on the difference between the class information of the user profile and the actual class information of the user. Update the importance. At this time, the profile integrating unit 240 always keeps the sum of the first importance degree and the second importance degree at a constant value, for example, '1'. After the importance is updated, the profile generator 241 finally generates a user profile using the updated first importance and second importance.

본 발명의 제1 실시 예의 변형된 실시 예로서, 사용자 프로파일 생성 서버 시스템(200)은 학습부(210), 학습데이터 DB(250)를 구비하지 않을 수도 있다. 즉, 본 발명의 변형된 실시 예에서, 사용자 프로파일 생성 서버 시스템(200)은 미리 구축된 분류정보 DB(260)를 이용하여 사용자 단말(100)로부터 입력된 텍스트들로부터 텍스트 프로파일을 생성할 수 있다. 이때, 분류정보 DB(260)는 다른 서버 시스템에서 구축한 데이터베이스와 연동하거나, 다른 서버 시스템으로부터 데이터를 전송받아 구축될 수도 있다.As a modified embodiment of the first embodiment of the present invention, the user profile creation server system 200 may not include the learning unit 210 and the learning data DB 250. That is, in a modified embodiment of the present invention, the user profile creation server system 200 can generate a text profile from the texts input from the user terminal 100 using the pre-established classification information DB 260 . At this time, the classification information DB 260 may be constructed in association with a database constructed in another server system or by receiving data from another server system.

이하에서는 본 발명의 실시 예에 따른 사용자 프로파일 생성 장치의 동작 및 작용, 그리고 본 발명의 실시 예에 따른 사용자 프로파일 생성 방법에 대해 설명한다. 도 2는 본 발명의 일 실시 예에 따른 사용자 프로파일 생성 방법의 흐름도이다. 도 1 내지 도 2를 참조하면, 먼저 단계 S21에서 학습부(210)는 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 가중치 벡터 및 초평면을 포함하는 분류 정보를 산출한다. 학습부(210)는 새로운 사용자 프로파일의 식별을 위하여, 학습 데이터 DB(250)에 저장된 학습 데이터들을 학습하여, 새로운 사용자 프로파일의 식별을 위한 기준이 되는 분류 정보를 생성한다. 학습 데이터 DB(250)에 저장되는 학습 데이터는 아래의 식 1과 같은 형식으로 표현될 수 있다.Hereinafter, an operation and an operation of the apparatus for generating a user profile according to an embodiment of the present invention, and a method for generating a user profile according to an embodiment of the present invention will be described. 2 is a flowchart of a method of generating a user profile according to an embodiment of the present invention. 1 and 2, in step S21, the learning unit 210 performs learning by using a plurality of pieces of learning data as one learning unit, and indicates the influence of each piece of learning data on the classification of classes for each attribute A weight vector and a hyperplane. The learning unit 210 learns the learning data stored in the learning data DB 250 and generates classification information serving as a reference for identifying a new user profile, in order to identify a new user profile. The learning data stored in the learning data DB 250 can be expressed in the following Equation 1.

[식 1][Formula 1]

D = {(X1,Y1),(X2,Y2),...,(Xk,Yk)}D = {(X 1 , Y 1 ), (X 2 , Y 2 ), ..., (X k , Y k )

Xi = {xi1,xi2,...,xil}X i = {x i1 , x i2 , ..., x il }

식 1에서, D는 k명의 사용자가 작성한 모든 텍스트(학습 데이터)의 집합을 나타내며, XI(I=1,2,...,k)는 k명의 사용자 중 I번째 사용자가 작성한 텍스트들의 집합을 나타내며, YI(I=1,2,...,k)는 I번째 사용자의 속성별 실제 클래스 정보를 나타내며, XI(I=1,2,...,k) 내의 xI1,xI2,...,xIl는 I번째 사용자가 작성한 텍스트 개별을 나타낸다. 예를 들어, YI는 +1 또는 -1의 값을 가질 수 있다. I번째 사용자의 특정 속성, 예를 들어 성별이 남자인 경우, 클래스 값으로 YI = +1이 저장되고, 성별이 여자인 경우, 클래스 값으로 YI = -1이 저장될 수 있다.In Equation 1, D represents a set of all the texts (learning data) created by k users, and X I (I = 1,2, ..., k) represents a set of texts represents a, Y I (I = 1,2, ..., k) are in the class represents the actual information of each I-th user attribute, X I (I = 1,2, ..., k) x I1, x I2 , ..., xIl represent the individual texts created by the I-th user. For example, Y I may have a value of +1 or -1. If the I-th user of a particular attribute, such as gender is male, and Y I = +1 is stored class value, when the gender is a woman, there is a Y I = -1 for a class value can be stored.

본 발명의 실시 예에 따른 사용자 프로파일 생성 방법은 사용자가 작성한 모든 텍스트를 하나의 학습 단위로 사용한다. 학습부(210)는 학습 시 텍스트들의 집합에서 식별에 도움이 되는 텍스트만을 찾아 학습을 수행하여 사용자 프로파일의 식별에 관련 없거나 잘못 태깅된 텍스트들로부터의 성능 하락을 최소화한다. 학습부(210)는 예를 들어 서포트 벡터 머신(Support Vector Machine)을 이용하여, 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 초평면(Hyperplane) 및 가중치 벡터를 포함하는 분류 정보를 산출할 수 있다. 학습부(210)는 예를 들어 다중 인스턴스 서포트 벡터 머신(MISVM; Multi-Instance Support Vector Machine)을 사용하여 아래의 식 2에 따라 분류 정보를 생성할 수 있다.A user profile creation method according to an embodiment of the present invention uses all texts created by a user as one learning unit. The learning unit 210 performs learning by searching only a text that is helpful for identification in a set of texts during learning, thereby minimizing the performance degradation from unrelated or mis-tagged texts of the identification of the user profile. The learning unit 210 may calculate classification information including a hyperplane and a weight vector indicating a criterion for classifying a plurality of pieces of learning data by attributes, for example, using a support vector machine (Support Vector Machine) . The learning unit 210 may generate classification information according to the following Equation 2 using, for example, a multi-instance support vector machine (MISVM).

[식 2][Formula 2]

Figure 112013004108999-pat00001
Figure 112013004108999-pat00001

식 2에서, xi는 k(k=1,2,..,i,..,I)명의 사용자 중 I번째 사용자에 해당하는 I번째 백(Bag)에 존재하는 i(i=1,2,...,l)번째 인스턴스(Instance)를 나타내며, YI는 I번째 사용자의 프로파일(클래스 값)을 나타내며, εI는 슬랙 변수(slack variable)를 나타내며, w는 초평면(hyperplane)의 법선 벡터(normal vector)를 나타내며, ∥w∥는 초평면의 법선 벡터의 크기를 나타내며, <w,xi>는 w와 xi의 내적(dot product)을 나타내며, C는 학습 데이터나 모델 특성과 직접 연관되지 않고 실험적으로 최적의 값으로 결정되는 상수를 나타내며, b는 초평면의 중심으로부터의 편이량을 나타낸다.In Equation 2, x i is an i ( i = 1, 2,..., I) existing in an I- , ..., l) represents a second instance (instance), Y I represents the I-th user's profile (class value), ε I represents a slack variable (slack variable), w is the normal to the hyperplane (hyperplane) denotes a vector (normal vector), ∥w∥ represents the magnitude of the normal vector of the hyperplane, <w, x i> denotes the inner product (dot product) of the w and x i, C is directly and learning data and model characteristics Represents a constant determined as an optimal value experimentally and not related, and b represents a shift amount from the center of the hyperplane.

학습부(210)는 상기한 식 2의 최적화를 통해 초평면의 법선 벡터(w)와 편이량(b), 그리고 슬랙 변수(εI)를 포함하는 분류 정보를 산출할 수 있다. 학습부(210)는 예를 들어 최적화 방법 중 하나로 알려져 있는 혼합 계획 정수법(Mixed Integer Programming)을 사용하여 분류 정보를 산출할 수 있다.The learning unit 210 can calculate classification information including the normal vector w of the hyperplane, the deviation amount b, and the slack variable? I through the optimization of Equation (2). The learning unit 210 may calculate classification information using, for example, Mixed Integer Programming, which is known as one of optimization methods.

다음으로 단계 S22에서 텍스트 프로파일 생성부(220)는 텍스트 프로파일을 생성하고, 단계 S23에서 모빌리티 프로파일 생성부(230)는 모빌리티 프로파일을 생성한다. 도 2의 실시 예에는 단계 S22의 수행 후에 단계 S23이 수행되는 것으로 도시되어 있지만, 단계 S23이 단계 S22보다 먼저 수행되거나 동시에 수행될 수도 있다.Next, in step S22, the text profile generation unit 220 generates a text profile, and in step S23, the mobility profile generation unit 230 generates a mobility profile. Although the embodiment of FIG. 2 shows that step S23 is performed after the execution of step S22, step S23 may be performed before or simultaneously with step S22.

단계 S22에서 텍스트 프로파일 생성부(220)는 사용자에 의해 생성된 모든 텍스트에 가중치 벡터를 반영하여 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성한다. 가중치 벡터는 각 학습 데이터가 서포트 벡터인지 아닌지를 구분하는 정보를 나타내며, 가중치 벡터는 단계 S21에서 생성한 초평면으로부터 산출할 수 있다. 일 실시 예로, 초평면에 가장 근접한 학습 데이터가 서포트 벡터로 결정된다. 일 실시 예로, 텍스트 프로파일 생성부(220)는 가중치 벡터의 성분들 중에서 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 모든 텍스트의 집합에 대하여 초평면을 기준으로 제1 클래스 정보를 산출할 수 있다.In step S22, the text profile generation unit 220 generates the text profile by calculating the first class information for all the sets of text by reflecting the weight vector on all the texts generated by the user. The weight vector represents information for distinguishing whether each learning data is a support vector or not, and the weight vector can be calculated from the hyperplane generated in step S21. In one embodiment, the learning data closest to the hyperplane is determined as a support vector. In one embodiment, the text profile generator 220 reflects only the vector component corresponding to the learning data corresponding to the support vector (nearest to the hyperplane) among the components of the weight vector, The first class information can be calculated on the basis of the first class information.

새로운 사용자의 데이터

Figure 112013004108999-pat00002
가 주어지면, 텍스트 프로파일 생성부(220)는 사용자의 프로파일을 식별하기 위하여, 예를 들어 아래의 식 3에 따라 텍스트 프로파일을 식별할 수 있다. 이때, 새로운 사용자의 데이터는 n개의 텍스트들(x1,x2,..xn)을 포함한다.Data for new users
Figure 112013004108999-pat00002
The text profile creation unit 220 can identify the text profile according to the following Equation 3, for example, in order to identify the user's profile. At this time, the data of the new user includes n texts (x 1 , x 2 , .. x n ).

[식 3][Formula 3]

Figure 112013004108999-pat00003
Figure 112013004108999-pat00003

Figure 112013004108999-pat00004
Figure 112013004108999-pat00004

식 2에서 구해진 초평면의 법선 벡터 w는 식 3과 같이 표현될 수 있다. 식 3에 따라, 텍스트 프로파일 생성부(220)는 초평면의 법선 벡터 w에 새로운 사용자의 데이터 X를 반영하여 "f(X) = wX+b" 의 형식으로 클래스 정보를 산출한다. 이때, 텍스트 프로파일 생성부(220)는 학습에 사용한 모든 데이터와 사용자가 작성한 데이터 모두를 비교한다. 텍스트 프로파일 생성부(220)에 의해 생성된 클래스 정보는 후술되는 바와 같이 모빌리티 프로파일 생성부(230)에서 생성된 클래스 정보와 통합되어 최종적으로 사용자 프로파일을 생성하는데 사용될 수 있다. 대안적으로, 텍스트 프로파일 생성부(220)는 출력되는 클래스 값이 0보다 크면 +1의 클래스로, 그렇지 않으면 -1의 클래스로 할당할 수도 있다.The normal vector w of the hyperplane obtained in Eq. (2) can be expressed as Equation (3). According to Equation 3, the text profile generation unit 220 reflects the data X of the new user in the normal vector w of the hyperplane, and calculates class information in the form of "f (X) = wX + b". At this time, the text profile creation unit 220 compares all the data used for the learning with the data created by the user. The class information generated by the text profile generation unit 220 may be used to generate a user profile in a final state by being integrated with the class information generated by the mobility profile generation unit 230 as described later. Alternatively, the text profile generation unit 220 may assign a class of +1 if the output class value is greater than 0, and a class of -1 otherwise.

텍스트 프로파일 생성부(220)는 초평면의 법선 벡터 w의 가중치 벡터 정보(aj)를 이용하여 텍스트 프로파일을 생성하며, 이때 학습 데이터 중 분류에 직접적으로 영향을 끼치지 않는 데이터들(SVM에서 서포트 벡터가 아닌 데이터들)은 aj의 값이 '0'으로 산출된다. 따라서, 실질적으로 분류에 직접적인 영향을 끼치는 데이터(SVM에서 서포트 벡터에 해당하는 학습 데이터)만이 새로운 사용자의 텍스트 데이터와 비교되어, 텍스트 프로파일을 생성하게 되므로, 사용자의 프로파일을 효율적으로 식별할 수 있다. 또한, 본 발명의 실시 예에 의하면, 개별 텍스트에 대하여 클래스 추정 후 종합하는 것이 아니라, 식 3에서와 같이 모든 텍스트들에 대하여 일회적, 종합적으로 클래스 값을 산출하므로, 추정된 결과를 결합하는 모듈 없이 바로 새로운 사용자에 대해 텍스트 프로파일을 식별할 수 있다.The text profile generating unit 220 generates a text profile using the weight vector information a j of the normal vector w of the hyperplane. At this time, the text profile generating unit 220 generates data that does not directly affect the classification of the learning data is not the data) is calculated, the value of a j to '0'. Therefore, only the data (learning data corresponding to the support vector in the SVM) that substantially affects the classification is compared with the text data of the new user to generate the text profile, so that the user's profile can be efficiently identified. In addition, according to the embodiment of the present invention, since the class value is calculated once and collectively for all the texts, as in Equation 3, instead of synthesizing the individual text after class estimation, You can immediately identify the text profile for the new user.

사용자 프로파일 식별에 사용되는 텍스트는 사용자가 작성한 컨텐츠를 자질로 표현하여 얻을 수 있다. SNS 텍스트는 기존 문서와 달리 길이가 짧고, 이모티콘, 알파벳 반복 등이 자주 사용되므로, 이러한 SNS 텍스트의 특징을 반영하기 위한 예를 들어 아래의 표 1과 같이 자질을 정의할 수 있다.The text used to identify the user profile can be obtained by expressing the content created by the user in the quality. Since the SNS text is short in length unlike the existing document, and the emoticon, the alphabet repetition, and the like are frequently used, the qualities can be defined as shown in Table 1 below to reflect the characteristics of the SNS text.

자질endowment 내용Contents Bag-of-WordBag-of-Word 명사, 미등록어, 기호Noun, unregistered word, symbol 이모티콘 유무Presence of emoticons ㅡㅡ, ㅠㅠ, ㅜㅜ, T_T, ㅇㅁㅇ, ㅇㅅㅇ, ^^, ^_^,
:), :(, ♡, ... 등이 포함되면 1, 아니면 0
ㅡ ㅡ, ㅠㅠ, ㅜㅜ, T_T, ㅇㅁㅇ, ㅇㅅㅇ, ^^, ^ _ ^,
1 if it contains :), :(, ♡, ..., or 0 if it contains
같은 문자, 기호 반복 유무Whether the same character, symbol repeat [ㅋ|ㅎ|ㄷ|.|!|;|~]+ 으로 매치되면 1, 아니면 01 if it matches with [ㅋ | ㅎ | ㄷ |. | | | | | ~] +, Or 0

표 1에서와 같이, 문서 분류에서 널리 사용되는 백오브워드(Bag-of-Word), 소셜 텍스트의 특성인 이모티콘과, 문자나 기호의 반복 유무와 같은 자질을 정의하여 사용한다. 예를 들어, 주어진 텍스트를 형태소 분석한 후, 명사, 미등록어 및 기호만을 사용하여 자질 중에서 백오브워드를 추출하고, 추출한 백오브워드만을 텍스트 프로파일 식별을 위한 텍스트로 활용할 수 있다.As shown in Table 1, the attributes such as the bag-of-word, the emoticon characteristic of the social text, and the repetition of characters and symbols, which are widely used in document classification, are defined and used. For example, after a given text is morphed, a back-word is extracted from the qualities using only nouns, unrecognized words and symbols, and only the extracted back-word is used as text for identifying the text profile.

단계 S23에서 모빌리티 프로파일 생성부(230)는 사용자의 이동 정보에 기초하여 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 사용자에 대한 모빌리티 프로파일을 생성한다. 사용자가 이동한 모빌리티 정보는 사용자 프로파일을 식별함에 있어 중요한 역할을 할 수 있다. 예를 들어, 미용실에 자주 가고 오래 머물러 있는 사용자의 이동 정보가 있다고 가정하면, 이러한 이동 정보를 바탕으로 이 사용자의 성별이 여성임을 알 수 있다. 또 다른 예로 아침에 학교에 간 후 저녁 늦게 학교에서 학원으로, 밤에 학원에서 집으로 돌아오는 사용자의 이동 정보가 있으면 이로부터 이 사용자의 나이는 10대 또는 20대일 것으로 추정할 수 있다. 스마트폰에 의해 사용자의 GPS 정보가 주어진다면, 모빌리티 프로파일 생성부(230)는 예를 들어 아래의 표 2와 같이 4가지 정보를 추출할 수 있다.In step S23, the mobility profile generation unit 230 generates the mobility profile for the user by calculating the second class information on the set of all the texts based on the movement information of the user. The mobility information that the user has moved can play an important role in identifying the user profile. For example, suppose that there is movement information of a user who frequently goes to a beauty salon and stays for a long time. Based on this movement information, it can be seen that the user's gender is female. As another example, if there is movement information of a user returning to school in the morning in the evening, school to school in the evening, and user returning from the school at night, it can be assumed that the user is 10 or 20 years old. If the user's GPS information is given by the smartphone, the mobility profile generator 230 may extract four pieces of information, for example, as shown in Table 2 below.

정보Information 예제example 거점별 방문 빈도Frequency of visit by base 네일샵 : 5번, PC방 : 10번,...Nail Shop: 5 times, PC Room: 10 times, ... 거점별 방문 시간대Visit time by base 학원 : 오전 1번, 저녁 3번
PC방 : 오후 2번, 저녁 4번, 밤 3번,...
School: 1 am and 3 pm
PC room: 2 PM, 4 PM, 3 PM, ...
거점별 머문 시간Time spent by base 미용실 : 200분, PC방 : 360분, ...Beauty salon: 200 minutes, PC room: 360 minutes, ... 거점 간 이동 횟수Number of movements between bases 집 -> 학교 : 3번, 학교 -> 학원 : 3번
집 -> 학원 : 3번, 학원 -> 회사 : 3번 ...
Home -> School: 3 times, School -> School: 3 times
Home -> School: 3 times, school -> Company: 3 times ...

모빌리티 프로파일 생성부(230)는 GPS 정보로부터 n차원의 벡터로 사용자 정보를 표현한 후, kNN 알고리즘을 사용하여 사용자의 모빌리티 프로파일을 식별할 수 있다. 즉, 주어진 사용자의 이동 정보와 유사한 k명의 사용자를 찾고 k명의 사용자 프로파일로부터 사용자 모빌리티 프로파일을 식별할 수 있다. 일 실시 예로, 모빌리티 프로파일 생성부(230)는 유사한 사용자들을 찾기 위해서 코사인 유사도(Cosine similarity) 함수를 사용할 수 있다. 이렇게 유사한 사용자들을 k명 찾은 후, 최종적으로 모빌리티 프로파일을 식별하기 위해 과반수 투표 방식(Majority voting)에 의해 프로파일을 식별할 수 있다. 다만, 모빌리티 프로파일을 생성하는 방식은 이에 제한되지 않으며, 본 발명의 기술 분야에서 공지되어 있는 다양한 방식으로 모빌리티 프로파일을 생성할 수 있다.The mobility profile generation unit 230 may express the user information from the GPS information into the n-dimensional vector, and then use the kNN algorithm to identify the user's mobility profile. That is, it is possible to find k users similar to the movement information of a given user, and to identify the user's mobility profile from k user profiles. In one embodiment, the mobility profile generator 230 may use a cosine similarity function to find similar users. After finding k users like this, the profile can be identified by Majority voting to finally identify the mobility profile. However, the manner in which the mobility profile is generated is not limited thereto, and a mobility profile can be generated in various manners known in the technical field of the present invention.

단계 S24에서 프로파일 통합부(240)는 텍스트 프로파일과, 모빌리티 프로파일을 통합하여 사용자에 대한 사용자 프로파일을 생성한다. 일 실시 예로, 프로파일 통합부(240)는 제1 클래스 정보에 제1 중요도를 반영하고, 제2 클래스 정보에 제2 중요도를 반영하여 사용자 프로파일을 생성할 수 있다. In step S24, the profile integration unit 240 integrates the text profile and the mobility profile to create a user profile for the user. In one embodiment, the profile integrating unit 240 may reflect the first importance degree in the first class information and reflect the second importance degree in the second class information, thereby generating a user profile.

이동 정보와 텍스트로부터 각각 생성된 프로파일들은 서로 다른 특성을 반영하고 있으므로, 프로파일 통합부(240)는 이들 결과를 통합하여 최종적으로 사용자 프로파일을 식별한다. 이때, 클래스(성별, 나이 혹은 10대, 20대 등) 마다 중요하게 생각하는 모델이 다르므로, 프로파일 통합부(240)는 클래스별로 각 모델마다 다른 가중치로 반영해줄 수 있다. 예를 들어, 성별을 식별할 경우에는 모빌리티 모델과 텍스트 모델이 비슷하게 반영이 되는 반면, 그 사용자의 정치적 성향을 식별할 경우에는 텍스트 모델이 더 중요하게 간주되어야 한다.Since the profiles generated from the movement information and the text respectively reflect different characteristics, the profile integration unit 240 integrates these results to finally identify the user profile. At this time, since the model considered to be important for each class (sex, age, teenage, twenties, etc.) is different, the profile integrating unit 240 can reflect the different weights for each model for each class. For example, when identifying gender, the mobility model and the text model are similarly reflected, whereas when identifying the user's political tendencies, the text model should be considered more important.

이에 따라, 프로파일 통합부(240)는 제1 중요도와 제2 중요도를 갱신할 수 있다. 일 실시 예로, 중요도 갱신부(242)는 사용자 프로파일의 클래스 정보와 사용자의 실제 클래스 정보의 차이에 기초하여 제1 중요도를 갱신하고, 사용자 프로파일의 클래스 정보와 사용자의 실제 클래스 정보의 차이에 기초하여 제2 중요도를 갱신할 수 있다. 사용자 xi가 주어질 때, 프로파일 통합부(240)는 예를 들어 아래의 식 4 내지 식 5에 따라 사용자의 최종 프로파일을 결정할 수 있다.Accordingly, the profile integrating unit 240 can update the first importance degree and the second importance degree. In one embodiment, the importance updating unit 242 updates the first importance based on the difference between the class information of the user profile and the actual class information of the user, and based on the difference between the class information of the user profile and the actual class information of the user The second importance degree can be updated. Given the user x i , the profile integration unit 240 may determine the user's final profile, for example, according to Equation 4 through Equation 5 below.

[식 4][Formula 4]

Figure 112013004108999-pat00005
Figure 112013004108999-pat00005

Figure 112013004108999-pat00006
Figure 112013004108999-pat00006

[식 5][Formula 5]

wTv + wMv = 1wTv + wMv = 1

식 4 내지 식 5에서, yi *는 사용자 프로파일을 나타내며, V는 클래스의 집합을 나타내며, v는 V의 원소 즉 클래스를 나타낸다. 예를 들어, 식별하고자 하는 프로파일이 성별인 경우, V는 {+1(남성), -1(여성)}이 된다. Textv(xi)는 클래스 v에 대한 텍스트 프로파일 모델에서 나온 결과값을 나타내며, Mobilityv(xi)는 클래스 v에 대한 모빌리티 프로파일 모델에서 나온 결과값을 나타낸다. wTv는 클래스 v에 대한 텍스트 프로파일 모델의 중요도를 나타내며, wMv는 클래스 v에 대한 모빌리티 프로파일 모델의 중요도를 나타낸다. 식 5에 따라 모빌리티 프로파일 모델의 중요도와 텍스트 프로파일 모델의 중요도의 합은 항상 '1'로 유지된다.In Equations 4 to 5, y i * denotes a user profile, V denotes a set of classes, and v denotes an element or class of V. For example, if the profile to be identified is gender, V is {+1 (male), -1 (female)}. Text v (x i ) represents the result value from the text profile model for class v, and Mobility v (x i ) represents the result value from the mobility profile model for class v. w Tv represents the importance of the text profile model for class v, and w Mv represents the importance of the mobility profile model for class v. The sum of the importance of the mobility profile model and the importance of the text profile model is always maintained at '1' according to Equation (5).

정치적 성향을 식별하는 것을 예로 들면, 사용자의 정치적 성향은 모빌리티에서 잘 들어나지 않으므로 중요도 값 wMv이 상대적으로 작은 값, 예를 들어 0.1로 결정된다. 반면, 텍스트에서는 사용자의 정치적 성향이 잘 들어나므로 중요도 값 wTv가 상대적으로 큰 값, 예를 들어 0.9로 결정된다. 예를 들어, 모빌리티 프로파일 모델에서 사용자의 속성을 보수로 출력하고, 텍스트 프로파일 모델에서 사용자의 속성을 진보라고 출력할 때, 정치적 성향의 속성에서 텍스트 프로파일의 가중치가 더 높게 추정되므로, 사용자는 최종적으로 진보 성향으로 식별될 수 있다.For example, in the case of identifying a political tendency, since the user's political tendency is not well understood in the mobility, the importance value w Mv is determined to be a relatively small value, for example, 0.1. On the other hand, since the user's political tendency is well received in the text, the importance value w Tv is determined to be a relatively large value, for example, 0.9. For example, when outputting the attribute of the user as a complement in the mobility profile model and outputting the attribute of the user as progress in the text profile model, the weight of the text profile in the attribute of the political tendency is estimated to be higher, It can be identified as a progressive tendency.

이때, 중요도 값은 임의로 설정될 수도 있지만, 후술되는 바와 같이 학습 데이터를 이용하여 자동으로 추정되는 것이 보다 바람직하다. 일 실시 예로, 중요도 갱신부(242)는 학습 데이터를 이용하여 선형 모델 중 퍼셉트론에 따라 두 모델의 중요도를 자동으로 학습할 수 있다. 중요도 갱신부(242)는 예를 들어 아래의 식 6 내지 식 8에 따라 중요도를 갱신할 수 있다.At this time, the importance value may be arbitrarily set, but it is more preferable that the importance value is automatically estimated using learning data as described later. In one embodiment, the importance updating unit 242 can automatically learn the importance of the two models according to the perceptron among the linear models using the learning data. The importance updating unit 242 can update the importance according to the following Equations 6 to 8, for example.

[식 6][Formula 6]

Figure 112013004108999-pat00007
Figure 112013004108999-pat00007

[식 7][Equation 7]

Figure 112013004108999-pat00008
Figure 112013004108999-pat00008

[식 8][Equation 8]

Figure 112013004108999-pat00009
Figure 112013004108999-pat00009

식 6 내지 식 8에서, yiv는 클래스 v에 대한 사용자 i의 실제 클래스를 나타내며, yiv *는 모델에서 추정한 클래스를 나타내며, E는 클래스 v에 대한 사용자 i의 실제 클래스와, 모델에서 추정한 클래스의 차이(에러)를 나타내며, wTv는 클래스 v에 대한 텍스트 프로파일 모델의 중요도를 나타내며, wMv는 클래스 v에 대한 모빌리티 프로파일 모델의 중요도를 나타내며, λ는 학습 비율로서, 얼마만큼 업데이트를 할지에 대한 파라미터를 나타내며, Textv(xi)는 클래스 v에 대한 텍스트 프로파일 모델에서 나온 결과값을 나타내며, Mobilityv(xi)는 클래스 v에 대한 모빌리티 프로파일 모델에서 나온 결과값을 나타낸다.In Equations 6 to 8, y iv represents the actual class of user i for class v, y iv * represents the class estimated in the model, E represents the actual class of user i for class v, Where w Tv represents the importance of the text profile model for class v, w Mv represents the importance of the mobility profile model for class v, and λ represents the rate of learning. , Text v (x i ) represents the result value derived from the text profile model for class v, and Mobility v (x i ) represents the result value derived from the mobility profile model for class v.

중요도 갱신부(242)는 식 7과 식 8에 따라 식 6의 에러를 최소화하도록 반복 학습을 수행하여 텍스트 프로파일 모델의 중요도 wTv 및 모빌리티 프로파일 모델의 중요도 wMv를 갱신(업데이트)할 수 있다. 즉, 중요도 갱신부(242)는 사용자 i의 클래스와, 각 모델에서 사용자 i에 대하여 추정한 클래스의 오차에 현재 텍스트 또는 프로파일 모델의 결과값 및 학습 비율을 곱하여 중요도를 업데이트할 수 있다. 중요도 업데이트는 학습 사용자에 대하여 반복적으로 수행될 수 있으며, 더 이상 모델의 중요도에 변화가 없거나 기존의 중요도와 현재 업데이트된 중요도의 차이가 특정 값, 예를 들어 0.001 이하가 될 때까지 반복 수행될 수 있다.The importance updating unit 242 can update (update) the importance wTv of the text profile model and the importance wMv of the mobility profile model by performing iterative learning to minimize the error of Equation (6) according to Equation 7 and Equation (8). That is, the importance updating unit 242 can update the importance by multiplying the error of the class of the user i and the error of the class estimated for the user i in each model by the result value of the current text or profile model and the learning ratio. The importance update can be repeatedly performed for the learning user and can be repeated until there is no longer a change in the importance of the model or the difference between the existing importance and the currently updated importance becomes a specific value, have.

중요도 갱신부(242)에 의해 중요도가 갱신되면 프로파일 생성부(241)는 갱신된 중요도를 반영하여 전술한 식 4에 따라 최종적으로 사용자 프로파일을 생성할 수 있다. 사용자 프로파일 생성 시스템(10)에 의하여 생성된 사용자 프로파일은 예를 들어 사용자에게 맞춤형 컨텐츠, 광고 등을 제공하기 위한 자료로서 활용될 수 있다.When the importance level is updated by the importance level update unit 242, the profile generation unit 241 may finally generate the user profile according to the above-described Equation 4, reflecting the updated importance level. The user profile generated by the user profile creation system 10 may be utilized as data for providing customized contents, advertisements, etc. to the user, for example.

도 2에 도시된 실시 예에 따른 사용자 프로파일 생성 방법은 예를 들어 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 SRAM(Static RAM), DRAM(Dynamic RAM), SDRAM(Synchronous DRAM) 등과 같은 휘발성 메모리, ROM(Read Only Memory), PROM(Programmable ROM), EPROM(Electrically Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), 플래시 메모리 장치, PRAM(Phase-change RAM), MRAM(Magnetic RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM) 등과 같은 불휘발성 메모리를 포함할 수 있으나, 이에 제한되지는 않는다. 또한, 상기 컴퓨터로 읽을 수 있는 기록매체는 플로피 디스크, 하드 디스크 또는 광학적 판독 매체 예를 들어 시디롬, 디브이디 등과 같은 형태의 저장매체일 수 있으나, 이에 제한되지는 않는다.The user profile creation method according to the embodiment shown in FIG. 2 can be implemented in a general-purpose digital computer that can be created as a program that can be executed by a computer and operates the program using a computer-readable recording medium have. The computer readable recording medium may be a volatile memory such as SRAM (Static RAM), DRAM (Dynamic RAM), SDRAM (Synchronous DRAM), ROM (Read Only Memory), PROM (Programmable ROM), EPROM Volatile memory such as an electrically erasable programmable read-only memory (EEPROM), a flash memory device, a phase-change RAM (PRAM), a magnetic RAM (MRAM), a resistive RAM (RRAM), a ferroelectric RAM (FRAM) But is not limited thereto. The computer-readable recording medium may be, but not limited to, a floppy disk, a hard disk, or an optical storage medium such as a CD-ROM, a DVD, or the like.

도 3은 본 발명의 제2 실시 예에 따른 사용자 프로파일 생성 장치의 구성도이다. 도 3을 참조하면, 본 발명의 제2 실시 예에 따른 사용자 프로파일 생성 장치(20)는 사용자 단말(100), 상대방 사용자 단말(300), 그리고 서버 시스템(400)을 포함한다. 도 3에 도시된 실시 예의 구성들 중 사용자 단말(100)의 사용자 인터페이스부(110), 디스플레이부(120), 통신부(130) 및 저장부(140), 그리고 서버 시스템(400)의 학습 데이터 DB(410), 학습부(420) 및 분류 정보 DB(430)는 도 1에 도시된 구성들과 동일하므로 중복되는 설명을 생략한다.3 is a configuration diagram of a user profile generating apparatus according to a second embodiment of the present invention. Referring to FIG. 3, a user profile generation apparatus 20 according to a second embodiment of the present invention includes a user terminal 100, a counterpart user terminal 300, and a server system 400. 3, the user interface unit 110, the display unit 120, the communication unit 130, and the storage unit 140 of the user terminal 100, and the learning data DB 140 of the server system 400, The learning unit 420, and the classification information DB 430 are the same as those shown in FIG. 1, so duplicate descriptions are omitted.

도 3에 도시된 제2 실시 예에서, 텍스트 프로파일 생성부(150)는 서버 시스템(400)이 아닌 사용자 단말(100)에 구비되며, 사용자 단말(100)의 저장부(140)는 가중치 벡터와 초평면을 포함하는 분류 정보를 저장한다. 도 1에 도시된 제1 실시 예에서 설명한 바와 같이, 가중치 벡터는 복수 개의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타낸다. 초평면은 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내며, 서포트 벡터에 해당하는 학습 데이터로부터 가장 멀리 떨어지도록 설정된다.3, the text profile generation unit 150 is provided in the user terminal 100, not the server system 400, and the storage unit 140 of the user terminal 100 includes a weight vector Classification information including hyperplanes is stored. As described in the first embodiment shown in Fig. 1, the weight vector indicates the influence of a plurality of pieces of learning data on classification of classes for each attribute. The hyperplane represents a criterion for classifying a plurality of pieces of learning data by attribute, and is set to be farthest from the learning data corresponding to the support vector.

본 발명의 제2 실시 예에서, 사용자 단말(100)의 텍스트 프로파일 생성부(150)는 상대방 사용자로부터 전송된 텍스트들에 가중치 벡터를 반영하여, 텍스트들의 집합에 대하여 제1 클래스 정보를 산출함으로써 상대방 사용자에 대한 텍스트 프로파일을 생성한다. 일 실시 예에 있어서, 텍스트는 상대방 사용자 단말(300)에 의하여 생성되어 사용자 단말(100)로 전송된 소셜 네트워크 서비스(Social Network Service) 텍스트를 포함할 수 있다.In the second embodiment of the present invention, the text profile generation unit 150 of the user terminal 100 reflects the weight vector to the texts transmitted from the opposite user, calculates the first class information for the set of texts, Create a text profile for the user. In one embodiment, the text may include Social Network Service text generated by the other user terminal 300 and transmitted to the user terminal 100.

텍스트 프로파일 생성부(150)는 가중치 벡터 중에서 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 텍스트들의 집합에 대하여 초평면을 기준으로 제1 클래스 정보를 산출할 수 있다. 본 발명의 제2 실시 예에 의하면, 사용자 단말(100)의 사용자는 자신의 사용자 단말(100)을 이용하여 SNS 서비스를 통해 SNS 컨텐츠를 주고 받는 상대방 사용자에 대한 사용자 프로파일을 생성할 수 있다. 텍스트 프로파일 생성부(150)에 의해 생성된 텍스트 프로파일은 사용자 단말(100)의 디스플레이부(120)에 표시될 수 있다.The text profile generator 150 reflects only the vector components corresponding to the learning data corresponding to the support vector closest to the hyperplane among the weight vectors, and calculates the first class information on the basis of the hyperplane for the set of texts can do. According to the second embodiment of the present invention, a user of the user terminal 100 can create a user profile for the other user to exchange SNS contents through the SNS service using his or her own user terminal 100. The text profile generated by the text profile creation unit 150 may be displayed on the display unit 120 of the user terminal 100.

이에 따라, 사용자 단말(100)의 사용자는 상대방 사용자의 성향이나 관심 정보 등을 확인하여 활용할 수 있는 이점을 얻게 된다. 본 발명의 제2 실시 예에서, 사용자 단말(100)의 사용자는 다양한 애플리케이션(Application)을 제공하는 서버에서 해당 애플리케이션을 다운로드하는 등의 방법으로 텍스트 프로파일 생성부(150)를 자신의 사용자 단말(100)에 설치할 수 있다.Accordingly, the user of the user terminal 100 obtains an advantage of confirming and utilizing the propensity and interest information of the other user. In the second embodiment of the present invention, the user of the user terminal 100 transmits the text profile creation unit 150 to the user terminal 100 (e.g., ).

본 발명의 제2 실시 예에서, 사용자 단말(100)이 상대방 사용자 단말(300)로부터 위치 정보를 제공받도록 허용되는 경우, 텍스트 프로파일과 모빌리티 프로파일을 통합하여 상대방 사용자의 사용자 프로파일을 생성하는 것도 가능하다. 이러한 경우, 도 1에 도시된 제1 실시 예의 구성들 중 모빌리티 프로파일 생성부(230), 프로파일 통합부(240)가 도 3에 도시된 제2 실시 예의 사용자 단말(100) 내에 제공되는 것도 가능하다.In the second embodiment of the present invention, when the user terminal 100 is allowed to receive location information from the counterpart user terminal 300, it is also possible to combine the text profile and the mobility profile to generate the user profile of the counterpart user . In this case, it is also possible that the mobility profile generating unit 230 and the profile integrating unit 240 among the configurations of the first embodiment shown in FIG. 1 are provided in the user terminal 100 of the second embodiment shown in FIG. 3 .

이상의 실시 예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시 예들도 본 발명의 범위에 속하는 것임을 이해하여야 한다. 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명에 대하여까지 미치는 것임을 이해하여야 한다.It is to be understood that the above-described embodiments are provided to facilitate understanding of the present invention, and do not limit the scope of the present invention, and it is to be understood that various modifications are possible within the scope of the present invention. It is to be understood that the technical scope of the present invention should be determined by the technical idea of the claims and that the technical scope of the present invention is not limited to the literary description of the claims, To the invention of the invention.

10,20: 사용자 프로파일 생성 시스템 100: 사용자 단말
110: 사용자 인터페이스부 120: 디스플레이부
130: 통신부 140: 저장부
150: 텍스트 프로파일 생성부 200: 사용자 프로파일 생성 서버 시스템
210,420: 학습부 220: 텍스트 프로파일 생성부
230: 모빌리티 프로파일 생성부 240: 프로파일 통합부
241: 프로파일 생성부 242: 중요도 갱신부
250,410: 학습 데이터 DB 260,430: 분류 정보 DB
270: 이동 정보 DB 300: 상대방 사용자 단말
400: 서버 시스템
10, 20: user profile creation system 100: user terminal
110: user interface unit 120: display unit
130: communication unit 140:
150: text profile creation unit 200: user profile creation server system
210, 420: Learning part 220: Text profile creation part
230: mobility profile generation unit 240: profile integration unit
241: Profile generating unit 242:
250, 410: learning data DB 260, 430: classification information DB
270: Movement information DB 300:
400: Server system

Claims (20)

사용자 프로파일을 미리 알고 있는 사용자들에 대한 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 상기 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 동시에 사용자 프로파일을 알고자 하는 사용자에 대해 속성별 클래스를 분류하기 위한 기준이 되고, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 초평면(Hyperplane)의 법선 벡터 및 상기 법선 벡터의 가중치 벡터를 포함하는 분류 정보를 산출하는 학습부; 그리고
상기 사용자 프로파일을 알고자 하는 사용자에 의해 생성된 모든 텍스트에 상기 가중치 벡터를 반영하여 상기 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함하며,
상기 텍스트 프로파일 생성부는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 제1 클래스 정보를 산출하는 사용자 프로파일 생성 장치.
A learning method, comprising: learning a plurality of learning data for users who know a user profile in advance as one learning unit; displaying a criterion for classifying the plurality of learning data by an attribute, A learning unit that generates classification information including a normal vector of a hyperplane and a weight vector of the normal vector, the classification vector being a criterion for classifying a star class, the influence of each learning data on classification of each class of the attribute; And
And a text profile generator for generating a text profile by calculating first class information for all the sets of text by reflecting the weight vector on all texts generated by a user who wants to know the user profile,
The text profile generator reflects only the vector component corresponding to the learning data corresponding to the support vector closest to the hyperplane among the weight vectors and calculates the first class information for the set of all the texts User profile creation device.
제1 항에 있어서,
상기 학습부는 서포트 벡터 머신(Support Vector Machine)을 이용하여, 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 상기 초평면(Hyperplane) 및 상기 가중치 벡터를 산출하는 사용자 프로파일 생성 장치.
The method according to claim 1,
Wherein the learning unit calculates the hyperplane and the weight vector indicating a criterion for classifying the plurality of learning data by the attribute using a support vector machine.
제2 항에 있어서,
상기 텍스트 프로파일 생성부는,
상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 초평면을 기준으로 상기 제1 클래스 정보를 산출하는 사용자 프로파일 생성 장치.
3. The method of claim 2,
Wherein the text profile generating unit comprises:
A user who reflects only vector components corresponding to learning data corresponding to a support vector closest to the hyperplane among the weight vectors and calculates the first class information on the basis of the hyperplane for all the sets of texts, Profile generating device.
제1 항에 있어서,
상기 속성은 성별, 연령, 지역, 직업, 정치적 성향, 취미, 관심 분야 중의 적어도 하나 이상을 포함하는 사용자 프로파일 생성 장치.
The method according to claim 1,
Wherein the attribute includes at least one of gender, age, region, occupation, political orientation, hobby, and interest.
제1 항에 있어서,
상기 텍스트는 소셜 네트워크 서비스(Social Network Service)를 통해 상기 사용자 프로파일을 알고자 하는 사용자에 의하여 생성된 텍스트를 포함하는 사용자 프로파일 생성 장치.
The method according to claim 1,
Wherein the text includes text generated by a user who wants to know the user profile through a Social Network Service.
제1 항 내지 제5 항 중 어느 한 항에 있어서,
상기 사용자의 이동 정보에 기초하여 상기 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 사용자 프로파일을 알고자 하는 사용자에 대한 모빌리티 프로파일을 생성하는 모빌리티 프로파일 생성부; 그리고
상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 사용자 프로파일을 알고자 하는 사용자에 대한 사용자 프로파일을 생성하는 프로파일 통합부를 더 포함하는 사용자 프로파일 생성 장치.
6. The method according to any one of claims 1 to 5,
A mobility profile generating unit for generating a mobility profile for a user who wants to know the user profile by calculating second class information on the set of all the texts based on the movement information of the user; And
And a profile integrating unit for merging the text profile and the mobility profile to generate a user profile for a user who wants to know the user profile.
제6 항에 있어서,
상기 프로파일 통합부는,
상기 제1 클래스 정보에 제1 중요도를 반영하고, 상기 제2 클래스 정보에 제2 중요도를 반영하여 상기 사용자 프로파일을 생성하는 프로파일 생성부를 포함하는 사용자 프로파일 생성 장치.
The method according to claim 6,
The profile integrating unit,
And a profile generator for reflecting the first importance information to the first class information and generating the user profile reflecting the second importance information to the second class information.
제7 항에 있어서,
상기 프로파일 통합부는,
상기 사용자 프로파일의 클래스 정보와 상기 사용자 프로파일을 알고자 하는 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제1 중요도를 갱신하고, 상기 사용자 프로파일의 클래스 정보와 상기 사용자 프로파일을 알고자 하는 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제2 중요도를 갱신하는 중요도 갱신부를 더 포함하는 사용자 프로파일 생성 장치.
8. The method of claim 7,
The profile integrating unit,
Updating the first importance level based on a difference between the class information of the user profile and the actual class information of a user who wants to know the user profile, And an importance updating unit for updating the second importance degree based on a difference of information.
사용자 프로파일을 미리 알고 있는 사용자들에 대한 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하여 제공되고, 상기 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 동시에 사용자 프로파일을 알고자 하는 사용자에 대해 속성별 클래스를 분류하기 위한 기준이 되고, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 초평면(Hyperplane)의 법선 벡터 및 상기 법선 벡터의 가중치 벡터를 포함하는 분류 정보를 저장하는 저장부; 그리고
상대방 사용자로부터 전송된 텍스트들에 상기 가중치 벡터를 반영하여, 상기 텍스트들의 집합에 대하여 제1 클래스 정보를 산출함으로써 상기 상대방 사용자에 대한 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함하는 단말로서,
상기 텍스트 프로파일 생성부는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 텍스트들의 집합에 대하여 상기 제1 클래스 정보를 산출하는 단말.
A user who is provided by performing learning using a plurality of learning data for users who know a user profile in advance as one learning unit and is provided with a criterion for classifying the plurality of learning data by attributes, A hyperplane normal vector representing the influence of each learning data on classification of each class of attribute and a storage storing classification information including a weight vector of the normal vector part; And
And a text profile generator for generating a text profile for the counterpart user by calculating the first class information for the set of texts by reflecting the weight vector to texts transmitted from the counterpart user,
Wherein the text profile generator reflects only a vector component corresponding to learning data corresponding to a support vector closest to the hyperplane among the weight vectors and calculates the first class information for a set of the texts, .
제9 항에 있어서,
상기 텍스트 프로파일 생성부는 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 텍스트들의 집합에 대하여 상기 초평면을 기준으로 상기 제1 클래스 정보를 산출하는 단말.
10. The method of claim 9,
The text profile generator reflects only the vector component corresponding to the learning data corresponding to the support vector closest to the hyperplane among the weight vectors so as to generate the first class information .
제9 항 또는 제10 항에 있어서,
상기 텍스트는 상기 상대방 사용자에 의하여 생성되어 상기 단말로 전송된 소셜 네트워크 서비스(Social Network Service) 텍스트를 포함하는 단말.
11. The method according to claim 9 or 10,
Wherein the text includes a Social Network Service text generated by the counterpart user and transmitted to the terminal.
사용자 프로파일을 미리 알고 있는 사용자들에 대한 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하여 제공되고, 상기 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 동시에 사용자 프로파일을 알고자 하는 사용자에 대해 속성별 클래스를 분류하기 위한 기준이 되고, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 초평면(Hyperplane)의 법선 벡터 및 상기 법선 벡터의 가중치 벡터를 포함하는 분류 정보를 저장하는 데이터베이스; 그리고
상기 사용자 프로파일을 알고자 하는 상대방 사용자의 단말로부터 전송된 텍스트들에 상기 가중치 벡터를 반영하여, 상기 텍스트들의 집합에 대하여 제1 클래스 정보를 산출함으로써 상기 상대방 사용자에 대한 텍스트 프로파일을 생성하는 텍스트 프로파일 생성부를 포함하는 사용자 프로파일 생성 서버 시스템으로서,
상기 텍스트 프로파일 생성부는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 텍스트들의 집합에 대하여 상기 제1 클래스 정보를 산출하는 사용자 프로파일 생성 서버 시스템.
A user who is provided by performing learning using a plurality of learning data for users who know a user profile in advance as one learning unit and is provided with a criterion for classifying the plurality of learning data by attributes, A database for storing classification information including a normal vector of a hyperplane representing the influence of each learning data on classification of each class of the attribute and a weight vector of the normal vector, ; And
Generating a text profile for the counterpart user by calculating the first class information for the set of texts by reflecting the weight vector to the texts transmitted from the terminal of the counterpart user who wants to know the user profile, A user profile creation server system comprising:
Wherein the text profile generator reflects only the vector component corresponding to the learning data corresponding to the support vector closest to the hyperplane among the weight vectors and calculates the first class information for the set of texts Profile creation server system.
제12 항에 있어서,
상기 상대방 사용자의 단말로부터 상기 상대방 사용자의 단말의 위치 정보의 이력을 나타내는 로그 파일을 전송받고, 상기 로그 파일에 기초하여 상기 텍스트들의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 상대방 사용자에 대한 모빌리티 프로파일을 생성하는 모빌리티 프로파일 생성부; 그리고
상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 상대방 사용자에 대한 사용자 프로파일을 생성하는 프로파일 통합부를 더 포함하는 사용자 프로파일 생성 서버 시스템.
13. The method of claim 12,
Receiving a log file indicating a history of location information of the terminal of the other user from the terminal of the other user and calculating second class information for the set of texts based on the log file, A mobility profile generating unit for generating a mobility profile; And
And a profile integrating unit for merging the text profile and the mobility profile to generate a user profile for the other user.
사용자 프로파일을 미리 알고 있는 사용자들에 대한 복수 개의 학습 데이터를 하나의 학습 단위로 하여 학습을 수행하며, 상기 복수 개의 학습 데이터를 속성별로 분류하는 기준을 나타내는 동시에 사용자 프로파일을 알고자 하는 사용자에 대해 속성별 클래스를 분류하기 위한 기준이 되고, 각각의 학습 데이터가 속성별 클래스의 분류에 미치는 영향을 나타내는 초평면(Hyperplane)의 법선 벡터 및 상기 법선 벡터의 가중치 벡터를 포함하는 분류 정보를 산출하는 단계; 그리고
상기 사용자 프로파일을 알고자 하는 사용자에 의해 생성된 모든 텍스트에 상기 가중치 벡터를 반영하여 상기 모든 텍스트의 집합에 대해 제1 클래스 정보를 산출함으로써 텍스트 프로파일을 생성하는 단계를 포함하며,
상기 텍스트 프로파일을 생성하는 단계는, 상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 제1 클래스 정보를 산출하는 사용자 프로파일 생성 방법.
A learning method, comprising: learning a plurality of learning data for users who know a user profile in advance as one learning unit; displaying a criterion for classifying the plurality of learning data by an attribute, Calculating classification information including a normal vector of a hyperplane and a weight vector of the normal vector, which is a criterion for classifying a star class, and which has an effect on classification of each class of the learning data; And
And generating a text profile by calculating first class information for all the sets of texts by reflecting the weight vectors to all texts generated by a user who wants to know the user profile,
The step of generating the text profile may include the step of reflecting only the vector component corresponding to the learning data corresponding to the support vector closest to the hyperplane among the weight vectors, / RTI &gt;
제14 항에 있어서,
상기 분류 정보를 산출하는 단계는 서포트 벡터 머신(Support Vector Machine)을 이용하여, 상기 복수 개의 학습 데이터를 상기 속성별로 분류하는 기준을 나타내는 상기 초평면 및 상기 가중치 벡터를 산출하는 단계를 포함하는 사용자 프로파일 생성 방법.
15. The method of claim 14,
Wherein the step of calculating the classification information includes the step of calculating the hyperplane and the weight vector indicating a criterion for classifying the plurality of learning data by the attribute using a support vector machine Way.
제15 항에 있어서,
상기 텍스트 프로파일을 생성하는 단계는,
상기 가중치 벡터 중에서 상기 초평면에 가장 근접한 서포트 벡터(Support Vector)에 해당하는 학습 데이터에 대응하는 벡터 성분만을 반영하여, 상기 모든 텍스트의 집합에 대하여 상기 초평면을 기준으로 상기 제1 클래스 정보를 산출하는 단계를 포함하는 사용자 프로파일 생성 방법.
16. The method of claim 15,
Wherein the step of generating the text profile comprises:
Reflecting only the vector component corresponding to learning data corresponding to a support vector closest to the hyperplane among the weight vectors and calculating the first class information with respect to the hyperplane for all the sets of texts / RTI &gt;
제14 항에 있어서,
상기 사용자의 이동 정보에 기초하여 상기 모든 텍스트의 집합에 대해 제2 클래스 정보를 산출함으로써 상기 사용자 프로파일을 알고자 하는 사용자에 대한 모빌리티 프로파일을 생성하는 단계; 그리고
상기 텍스트 프로파일과, 상기 모빌리티 프로파일을 통합하여 상기 사용자 프로파일을 알고자 하는 사용자에 대한 사용자 프로파일을 생성하는 단계를 더 포함하는 사용자 프로파일 생성 방법.
15. The method of claim 14,
Generating a mobility profile for a user who wants to know the user profile by calculating second class information for the set of all the texts based on the movement information of the user; And
Further comprising merging the text profile and the mobility profile to generate a user profile for a user who wants to know the user profile.
제17 항에 있어서,
상기 사용자 프로파일을 생성하는 단계는,
상기 제1 클래스 정보에 제1 중요도를 반영하고, 상기 제2 클래스 정보에 제2 중요도를 반영하여 상기 사용자 프로파일을 생성하는 단계를 포함하는 사용자 프로파일 생성 방법.
18. The method of claim 17,
Wherein the generating the user profile comprises:
And generating the user profile by reflecting the first importance to the first class information and reflecting the second importance to the second class information.
제18 항에 있어서,
상기 사용자 프로파일을 생성하는 단계는,
상기 사용자 프로파일의 클래스 정보와 상기 사용자 프로파일을 알고자 하는 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제1 중요도를 갱신하고, 상기 사용자 프로파일의 클래스 정보와 상기 사용자 프로파일을 알고자 하는 사용자의 실제 클래스 정보의 차이에 기초하여 상기 제2 중요도를 갱신하는 단계를 더 포함하는 사용자 프로파일 생성 방법.
19. The method of claim 18,
Wherein the generating the user profile comprises:
Updating the first importance level based on a difference between the class information of the user profile and the actual class information of a user who wants to know the user profile, And updating the second importance degree based on the difference of the information.
제14 항 내지 제19 항 중 어느 한 항에 기재된 방법을 실행하기 위한 프로그램을 기록한 컴퓨터에서 읽을 수 있는 기록 매체.
A computer-readable recording medium on which a program for executing the method according to any one of claims 14 to 19 is recorded.
KR1020130004522A 2013-01-15 2013-01-15 Apparatus and method for generating user profile KR101441983B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130004522A KR101441983B1 (en) 2013-01-15 2013-01-15 Apparatus and method for generating user profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130004522A KR101441983B1 (en) 2013-01-15 2013-01-15 Apparatus and method for generating user profile

Publications (2)

Publication Number Publication Date
KR20140093352A KR20140093352A (en) 2014-07-28
KR101441983B1 true KR101441983B1 (en) 2014-09-26

Family

ID=51739558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130004522A KR101441983B1 (en) 2013-01-15 2013-01-15 Apparatus and method for generating user profile

Country Status (1)

Country Link
KR (1) KR101441983B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6511865B2 (en) * 2015-03-03 2019-05-15 富士ゼロックス株式会社 INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING PROGRAM
KR101677108B1 (en) * 2015-09-04 2016-11-17 주식회사 소티뷰닷컴 System and Method of Managing Skin and Scalp Recording Data using Wireless Digital Microscope
KR101712022B1 (en) * 2015-10-29 2017-03-13 김명락 Method and server for constructing and utilizing needs traffic information database
KR102629876B1 (en) * 2020-05-18 2024-01-30 주식회사 딥하이 Method and System for extractinging user profile from unformal contents

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060050397A (en) * 2004-10-05 2006-05-19 마이크로소프트 코포레이션 Systems, methods, and interfaces for providing personalized search and information access
KR20070049426A (en) * 2005-11-08 2007-05-11 에스케이 텔레콤주식회사 Method and system of providing user centric service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060050397A (en) * 2004-10-05 2006-05-19 마이크로소프트 코포레이션 Systems, methods, and interfaces for providing personalized search and information access
KR20070049426A (en) * 2005-11-08 2007-05-11 에스케이 텔레콤주식회사 Method and system of providing user centric service

Also Published As

Publication number Publication date
KR20140093352A (en) 2014-07-28

Similar Documents

Publication Publication Date Title
US10162816B1 (en) Computerized system and method for automatically transforming and providing domain specific chatbot responses
CN108701118B (en) Semantic category classification
US9348898B2 (en) Recommendation system with dual collaborative filter usage matrix
US9183282B2 (en) Methods and systems for inferring user attributes in a social networking system
US8983976B2 (en) Dynamically expiring crowd-sourced content
US11372940B2 (en) Embedding user categories using graphs for enhancing searches based on similarities
US9529915B2 (en) Search results based on user and result profiles
US20210295270A1 (en) Machine-learning-based application for improving digital content delivery
US11494204B2 (en) Mixed-grained detection and analysis of user life events for context understanding
WO2017151899A1 (en) Determining key concepts in documents based on a universal concept graph
KR101519879B1 (en) Apparatus for recommanding contents using hierachical context model and method thereof
CN110956253A (en) Language independent machine learning model for title normalization
KR101441983B1 (en) Apparatus and method for generating user profile
JP2019149057A (en) Information processing device, information processing method, and information processing program
US11775601B2 (en) User electronic message system
US20190197422A1 (en) Generalized additive machine-learned models for computerized predictions
US20210328948A1 (en) Systems and methods for initiating communication between users based on machine learning techniques
US11334612B2 (en) Multilevel representation learning for computer content quality
US20150278907A1 (en) User Inactivity Aware Recommendation System
US20140280098A1 (en) Performing application search based on application gaminess
US20230214579A1 (en) Intelligent character correction and search in documents
CN111046304B (en) Data searching method and device
US20170186102A1 (en) Network-based publications using feature engineering
Rosa et al. A weight-aware recommendation algorithm for mobile multimedia systems
CN111125507B (en) Group activity recommendation method and device, server and computer storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170817

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180822

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190827

Year of fee payment: 6