KR20170088574A - 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체 - Google Patents

전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체 Download PDF

Info

Publication number
KR20170088574A
KR20170088574A KR1020160008608A KR20160008608A KR20170088574A KR 20170088574 A KR20170088574 A KR 20170088574A KR 1020160008608 A KR1020160008608 A KR 1020160008608A KR 20160008608 A KR20160008608 A KR 20160008608A KR 20170088574 A KR20170088574 A KR 20170088574A
Authority
KR
South Korea
Prior art keywords
distribution data
information
population distribution
user information
received
Prior art date
Application number
KR1020160008608A
Other languages
English (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 KR1020160008608A priority Critical patent/KR20170088574A/ko
Priority to US16/072,817 priority patent/US20190037261A1/en
Priority to PCT/KR2017/000872 priority patent/WO2017131429A1/ko
Publication of KR20170088574A publication Critical patent/KR20170088574A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25883Management of end-user data being end-user demographical data, e.g. age, family status or address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23109Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion by placing content in organized collections, e.g. EPG data repository
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/251Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/252Processing of multiple end-users' preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

전자 장치가 개시된다. 전자 장치는, 외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하고, 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 통신부, 수신된 사용자 정보 중 기설정된 항목에 대해서 미지의 정보를 갖는 사용자 정보에 대해서 기저장된 가변적 파라미터를 이용하여 미지의 정보를 예측하는 예측 모델을 이용하여 미지의 정보를 예측하고, 수신된 사용자 정보 및 예측된 미지의 정보를 이용하여 기설정된 항목에 대한 인구 분포 데이터를 생성하고, 생성된 인구 분포 데이터 및 수신된 인구 분포 데이터를 비교하여 생성된 인구 분포 데이터의 에러를 계산하고, 계산된 에러를 기초로 예측 모델의 파라미터를 변경하여 예측 모델을 수정하는 프로세서를 포함한다.

Description

전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체{ELECTRONIC APPARATUS, METHOD FOR CONTROLLING THE SAME AND COMPUTER-READABLE RECORDING MEDIUM}
본 개시는 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체에 대한 것으로, 보다 상세하게는, 사용자의 미지의 정보를 예측하는 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체에 대한 것이다.
다양한 정보에 기반하여 개인화 서비스를 제공하는 기술은 다양한 분야에서 적용되고 있다. 예를 들면 사용자의 구매 패턴에 기반한 컨텐츠 추천시스템과 같은 기술이 있다. 이외에도, 컨텐츠 아이템 사용자의 행동 내역을 학습하여 컨텐츠를 추천하는 기술, TV 시청 사용자에 따라 미디어 리스트를 추천하는 기술, 지역정보와 사용자의 컨텐츠 사용 로그에 기반한 추천 기술, 소셜-네트워크와 프로파일 필터링에 기반한 추천 기술 등 다양한 추천 기술이 제시되어 있다.
그러나, 이러한 종래 추천 기술은 정적인 정보나 단편적인 정보만을 이용하여 추천서비스를 제공한다. 즉, 추천서비스를 제공하기 위해서는 추천에 사용하기 위한 사용자의 정보를 사용자가 직접 제공하는 단계가 반드시 필요하다.
또한, 제공되는 사용자의 정보는 양이 매우 적거나, 불완전하며, 이를 수집하기 위해 높은 비용이 소요된다는 점에서 사용자에게 맞는 적절한 컨텐츠를 추천하기가 곤란하다는 문제점이 있었다.
이에 따라, 적은 양의 사용자의 정보를 기반으로 사용자 프로파일링을 보다 정확하게 하기 위한 기술의 필요성이 대두되고 있다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은, 인구 분포 데이터를 이용하여, 보다 정확한 사용자의 미지의 정보를 예측할 수 있는 전자 장치, 그 제어 방법 및 판독가능 기록 매체를 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는 외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하고, 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 통신부, 및 상기 수신된 사용자 정보 중 기설정된 항목에 대해서 미지의 정보를 갖는 사용자 정보에 대해서 기저장된 가변적 파라미터를 이용하여 상기 미지의 정보를 예측하는 예측 모델을 이용하여 상기 미지의 정보를 예측하고, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하고, 상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하고, 상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 컨텐츠를 검색하고, 상기 검색된 컨텐츠를 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송되도록 상기 통신부를 제어할 수 있다.
이 경우, 상기 프로세서는, 상기 예측 모델을 이용하여 상기 미지의 정보를 예측한 후, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 상기 복수의 사용자 정보 각각에 대응되는 컨텐츠를 검색할 수 있다.
한편, 상기 프로세서는, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 사용자 인터페이스 화면을 생성하고, 상기 생성된 사용자 인터페이스 화면을 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송되도록 상기 통신부를 제어할 수 있다.
한편, 상기 프로세서는, 상기 수신된 사용자 정보, 상기 예측된 미지의 정보 및 커널 확률 밀도 추정(kernel probability density estimation) 방법을 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성할 수 있다.
한편, 상기 프로세서는, 상기 생성된 인구 분포 데이터의 값이 상기 수신된 인구 분포 데이터의 값에 근사하도록 상기 파라미터를 변경하여 상기 예측 모델을 수정할 수 있다.
한편, 상기 프로세서는, 상기 수신된 인구 분포 데이터에서 상기 기설정된 항목에 대한 인구 분포 데이터를 추출하고, 상기 생성된 인구 분포 데이터 및 상기 추출된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산할 수 있다.
한편, 상기 수신된 복수의 항목으로 구성된 사용자 정보는, 상기 복수의 타 전자 장치에서의 컨텐츠 이용 정보 및 상기 복수의 타 전자 장치에서 입력된 사용자의 성별, 연령 및 소득 중 적어도 하나일 수 있다.
한편, 상기 프로세서는, 상기 예측된 정보를 상기 복수의 타 전자 장치 각각에 전송하도록 상기 통신부를 제어할 수 있다.
한편, 상기 외부 서버는, 공공 기관, 정부, 시장 조사 기관, 설문 조사 기관 및 기업 중 적어도 하나의 것일 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치 제어 방법은, 외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하는 단계, 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 단계, 기저장된 가변적 파라미터를 이용하여 상기 수신된 사용자 정보 중 기설정된 항목에 대한 미지의 정보를 예측하는 예측 모델 및 상기 수신된 사용자 정보를 이용하여 상기 미지의 정보를 예측하는 단계, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 단계, 상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 단계, 및 상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 단계를 포함한다.
이 경우, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 컨텐츠를 검색하는 단계, 및 상기 검색된 컨텐츠를 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송하는 단계를 더 포함할 수 있다.
이 경우, 상기 검색하는 단계는, 상기 예측 모델을 이용하여 상기 미지의 정보를 예측한 후, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 상기 복수의 사용자 정보 각각에 대응되는 컨텐츠를 검색할 수 있다.
한편, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 사용자 인터페이스 화면을 생성하는 단계, 및 상기 생성된 사용자 인터페이스 화면을 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송하는 단계를 더 포함할 수 있다.
한편, 상기 인구 분포 데이터를 생성하는 단계는, 상기 수신된 사용자 정보, 상기 예측된 미지의 정보 및 커널 확률 밀도 추정(kernel probability density estimation) 방법을 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성할 수 있다.
한편, 상기 예측 모델을 수정하는 단계는, 상기 생성된 인구 분포 데이터의 값이 상기 수신된 인구 분포 데이터의 값에 근사하도록 상기 파라미터를 변경하여 상기 예측 모델을 수정할 수 있다.
한편, 상기 수신된 인구 분포 데이터에서 상기 기설정된 항목에 대한 인구 분포 데이터를 추출하는 단계를 더 포함하고, 상기 에러를 계산하는 단계는, 상기 생성된 인구 분포 데이터 및 상기 추출된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산할 수 있다.
한편, 상기 수신된 복수의 항목으로 구성된 사용자 정보를 수신하는 단계는, 상기 복수의 타 전자 장치에서의 컨텐츠 이용 정보 및 상기 복수의 타 전자 장치에서 입력된 사용자의 성별, 연령 및 소득 중 적어도 하나를 수신할 수 있다.
한편, 상기 예측된 정보를 상기 복수의 타 전자 장치 각각에 전송하는 단계;를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서, 상기 제어 방법은, 외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하는 단계, 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 단계, 기저장된 가변적 파라미터를 이용하여 상기 수신된 사용자 정보 중 기설정된 항목에 대한 미지의 정보를 예측하는 예측 모델 및 상기 수신된 사용자 정보를 이용하여 상기 미지의 정보를 예측하는 단계, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 단계, 상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 단계, 및 상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 이용한 사용자 프로파일링 시스템의 구성을 나타내는 도면,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도,
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 구체적으로 나타내는 블럭도,
도 4는 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 개략적으로 나타낸 도면,
도 5는 타 전자 장치를 통해 사용자에게 제공되는 사용자 인터페이스 화면의 일 실시 예를 도시한 도면,
도 6은 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 나타내는 흐름도,
도 7은 본 개시의 일 실시 예에 따른 기계 학습 과정을 구체적으로 나타낸 흐름도, 그리고,
도 8 내지 도 11은 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 이용한 결과를 나타낸 그래프이다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 나아가, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 개시의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치를 이용한 사용자 프로파일링 시스템의 구성을 나타내는 도면이다.
도 1을 참조하면, 본 개시의 일 실시 예에 따른 사용자 프로파일링 시스템(100)은 전자 장치(100), 외부 서버(200) 및 복수의 타 전자 장치(301, 302)를 포함한다.
이 때, 전자 장치(100)는 사용자의 미지의 정보를 예측할 수 있다. 구체적으로, 전자 장치(100)는 외부 서버(200)로부터 수신된 인구 분포 데이터 및 복수의 타 전자 장치(301, 302)로부터 수신된 사용자 정보를 기초로 사용자의 미지의 정보를 예측할 수 있다. 이 때, 전자 장치(100)는 수신된 사용자 정보 및 사용자에 대한 미지의 정보를 예측하는 예측 모델(predictive model)을 이용하여 사용자의 미지의 정보를 예측할 수 있다.
이 때, 예측 모델은 독립 변수에 대한 종속 변수의 관계를 설명하거나, 투입에 대한 산출의 관계를 설명하는 모델로서, 입력과 출력 및 수행 기능은 알려져 있으나 내부적인 구현은 알려져 있지 않거나, 크게 개의치 않는 모델로, 블랙 박스 모델(black box model)이라고도 한다.
한편, 전자 장치(100)의 구체적인 구성은 이하 도 2를 참조하여 자세히 설명한다.
한편, 전자 장치(100)는 예측된 사용자의 미지의 정보를 이용하여 예측 모델을 수정할 수 있다. 구체적으로, 전자 장치(100)는 예측 모델의 파라미터를 변경하여 예측 모델을 수정할 수 있다. 한편, 예측 모델을 수정하는 방법에 대해서는 이하 도 8 내지 도 10을 참조하여 자세히 설명한다.
이 때, 전자 장치(100)는 외부 서버(200) 및 타 전자 장치(301, 302)와 연결된 서버 또는, 외부 서버(200) 및 타 전자 장치(301, 302)와 연결된 스마트폰, 노트북, 태블릿 PC 등과 같은 모바일 장치, 스마트 TV, 데스크탑 PC 등의 다양한 디스플레이 장치일 수 있다.
한편, 외부 서버(200)는 전자 장치(100)에 인구 분포 데이터를 제공한다. 구체적으로, 외부 서버(200)는 성별, 연령 및 소득 중 적어도 하나의 항목에 대한 인구 분포 데이터를 전자 장치(100)에 전송할 수 있다. 한편, 외부 서버(200)는 성별, 연령 및 소득 이외에도 거주지역, 교육 수준, 세대 구조 등 다양한 항목에 대한 인구 분포 데이터를 전자 장치(100)에 제공할 수 있다.
이 때, 외부 서버(200)는 공공 기관, 정부, 시장 조사 기관, 설문 조사 기관 및 기업 중 적어도 하나의 것일 수 있다. 따라서, 외부 서버(200)로부터 제공되는 인구 분포 데이터는 오픈 데이터이거나, 소정의 비용이 요구될 수 있다.
복수의 타 전자 장치(301, 302)는 전자 장치(100)에 복수의 항목으로 구성된 사용자 정보를 전송할 수 있다. 이 때, 복수의 타 전자 장치(301, 302)는 사용자로부터 사용자의 정보를 입력받을 수 있고, 사용자가 선택한 컨텐츠 등 제공할 수 있는 장치일 수 있다. 구체적으로, 복수의 타 전자 장치(301, 302)는 스마트폰, 노트북, 데스크탑 PC, 태블릿 PC, 스마트 TV 등 다양한 디스플레이 장치일 수 있다.
구체적으로, 복수의 타 전자 장치(301, 302)는 각각의 타 전자 장치에서의 사용자의 로그 정보 및 사용자의 계정 정보를 포함하는 사용자 정보를 전자 장치(100)에 전송할 수 있다.
이 때, 사용자의 로그 정보는 복수의 타 전자 장치(301, 302) 각각의 사용자의 행동 정보를 의미할 수 있다. 구체적으로, 사용자의 로그 정보는 전자 장치 사용 시간, 선호 TV 채널, 선호 TV 프로그램, 컨텐츠 구매 이력, 서비스 사용 이력 등을 포함하는 사용자의 행동 정보일 수 있다.
한편, 사용자의 계정 정보는 복수의 타 전자 장치(301, 302) 각각의 사용자가 각 전자 장치에 직접 입력한 정보일 수 있다. 구체적으로, 사용자의 계정 정보는 사용자의 나이, 성별, 소득 수준, 거주 지역, 교육 수준, 세대 구조 등 사용자의 개인 정보를 포함할 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 2를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 통신부(110) 및 프로세서(120)을 포함한다.
통신부(110)는 외부 서버 및 복수의 타 전자 장치와 본 개시의 일 실시 예에 따른 전자 장치를 연결하기 위해 유선 이더넷(Ethernet), 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, 무선 통신(예를 들어, GSM, UMTS, LTE, WiBRO, WiFi, 블루투스 등의 무선 통신) 방식을 이용할 수 있다.
구체적으로, 통신부(110)는 외부 서버로부터 인구 분포 데이터를 수신할 수 있다. 구체적으로, 통신부(110)는 외부 서버로부터 성별, 연령, 및 소득 중 적어도 하나의 항목에 대한 인구 분포 데이터를 수신할 수 있다. 한편, 이에 한정되지 않고 통신부(110)는 외부 서버로부터 거주 지역, 교육 수준, 세대 구조 등 다양한 항목에 대한 인구 분포 데이터를 수신할 수 있다.
한편, 통신부(110)는 복수의 타 전자 장치로부터 복수의 항목으로 구성된 사용자의 정보를 수신할 수 있다. 구체적으로, 통신부(110)는 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자의 로그 정보 및 사용자의 계정 정보를 포함하는 복수의 항목으로 구성된 사용자 정보를 수신할 수 있다.
이 때, 사용자 로그 정보는 전자 장치 사용 시간, 선호 TV 채널, 선호 TV 프로그램, 컨텐츠 구매 이력, 서비스 사용 이력 등을 포함하는 복수의 타 전자 장치 각각의 사용자의 행동 정보를 의미할 수 있다.
한편, 사용자의 계정 정보는 사용자의 나이, 성별, 소득 수준, 거주 지역, 교육 수준, 세대 구조 등 사용자의 개인 정보를 포함하는 복수의 타 전자 장치 각각의 사용자가 복수의 타 전자 장치 각각에 입력한 정보를 의미할 수 있다.
한편, 통신부(110)는 프로세서(120)에 의해 예측된 사용자의 미지의 정보를 복수의 타 전자 장치 각각에 전송할 수 있다. 이 때, 통신부(110)는 사용자 각각에 대응되는 컨텐츠 및 사용자 인터페이스 화면을 복수의 타 전자 장치 각각에 전송할 수 있다. 구체적으로, 통신부(110)는 프로세서(120)에 의해 검색된 사용자 각각에 대응되는 컨텐츠 및 프로세서(120)에 의해 생성된 사용자 인터페이스 화면을 복수의 타 전자 장치 각각에 전송할 수 있다.
프로세서(120)는 외부 서버 및 복수의 타 전자 장치로부터 데이터를 수신하도록 통신부(110)를 제어할 수 있다.
한편, 프로세서(120)는 복수의 타 전자 장치로부터 수신된 사용자 정보를 이용하여, 수신된 사용자 정보 중 기설정된 항목에 대해서 미지의 정보를 갖는 사용자 정보에 대해서 예측할 수 있다. 구체적으로, 프로세서(120)는 미지의 정보를 예측하는 예측 모델 및 수신된 사용자 정보를 이용하여 수신된 사용자 정보 중 미지의 정보를 예측할 수 있다. 이 때, 예측 모델은 기저장된 가변적 파라미터를 이용하여 미지의 정보를 예측할 수 있다.
한편, 프로세서(120)는 수신된 사용자 정보 및 예측된 미지의 정보를 이용하여 기설정된 항목에 대한 인구 분포 데이터를 생성할 수 있다. 구체적으로, 프로세서(120)는 확률 밀도 추정(probability density estimation)을 통하여 기설정된 항목에 대한 인구 분포 데이터를 생성할 수 있다.
이 때, 확률 밀도 추정은 어떤 변수의 확률 밀도 함수(probability density function)를 추정한다는 것으로, 획득한 데이터의 분포로부터 원래 변수의 확률 분포 특성을 추정하고자 하는 것을 의미한다.
확률 밀도 추정에는 파라메트릭 확률 밀도 추정(parametric probability density estimation) 방법 및 논-파라메트릭 확률 밀도 추정(non-parametric probability density estimation) 방법이 있다. 이 때, 파라메트릭 확률 밀도 추정은 미리 확률 밀도 함수에 대한 모델을 정해놓고, 데이터들로부터 모델의 파라미터만 추정하는 방법이다. 그러나, 실제로는 모델이 미리 주어지는 경우는 거의 없어, 획득된 데이터만으로 확률 밀도 함수를 추정해야하는데, 이를 논-파라메트릭 확률 밀도 추정 방법이라 한다.
구체적으로, 논-파라메트릭 확률 밀도 추정 방법은 히스토그램 방법, 커널 확률 밀도 추정(kernel probability density estimation) 방법 및 신경망 확률 밀도 추정(neural probability density estimation) 방법 등을 포함한다. 이 때, 히스토그램 방법은 획득된 데이터들로부터 히스토그램을 구한 후, 구해진 히스토그램을 정규화하여 확률 밀도 함수로 사용하는 방법이다. 한편, 커널 확률 밀도 추정 방법은, 커널 함수를 이용한 방법으로, 이 때, 커널 함수란 원점을 중심으로 대칭이면서 적분값이 1인 비음(non-negative) 함수이며, 대표적으로는 가우시언(Gaussian), Epanechnikov, 균등(uniform) 함수 등이 있다.
예를 들어, x를 변수(random variable), x1, x2,..., xn을 관측된 샘플 데이터, K를 커널 함수라 하면, 커널 확률 밀도 추정에서는, x에 대한 확률 밀도 함수를 다음과 같이 추정한다.
Figure pat00001
...(1)
식(1)에서 h는 커널 함수의 대역폭 파라미터로서 커널이 뾰족한 형태(h가 작은 값)인지 완만한 형태(h가 큰 값)인지를 조절하는 파라미터이다.
커널 확률 밀도 추정에서는, 커널 함수의 종류와 커널 함수의 대역폭 파라미터인 h의 값이 중요 요인이다. 당 분야에서는 최적의 커널 함수는 Epanechnikov 커널 함수인 것으로 알려져 있다.
한편, 프로세서(120)는 기저장된 가변적 파라미터를 변경하여 예측 모델을 수정할 수 있다. 구체적으로, 프로세서(120)는 수신된 사용자 정보 및 예측된 미지의 정보를 이용한 확률 밀도 추정을 통하여 기설정된 항목에 대한 인구 분포 데이터를 생성하고, 생성된 인구 분포 데이터의 에러를 기초로 기저장된 파라미터를 변경하여 예측 모델을 수정할 수 있다.
이 때, 프로세서(120)는 생성된 인구 분포 데이터와 외부 서버로부터 수신된 인구 분포 데이터를 비교하여 계산된 에러를 기초로 기저장된 파라미터를 변경할 수 있다. 구체적으로, 프로세서(120)는 수신된 인구 분포 데이터에서 기설정된 항목에 대한 인구 분포 데이터를 추출하고, 추출된 인구 분포 데이터와 생성된 인구 분포 데이터를 비교하여 생성된 인구 분포 데이터의 에러를 계산할 수 있다.
이 때, 프로세서(120)는 확률 밀도 유사성 측정(probability density similarity measure)을 통해 생성된 인구 분포 데이터와 수신된 인구 분포 데이터를 비교하여 생성된 인구 분포 데이터의 에러를 계산할 수 있다. 구체적으로, 프로세서(120)는 쿨백-라이블러 발산(Kullback-Leibler divergence)을 이용하여 생성된 인구 분포 데이터와 수신된 인구 분포 데이터를 비교할 수 있다.
예를 들어, 프로세서(120)는 외부 서버로부터 대한민국 남성의 연령 분포에 대한 인구 분포 데이터를 수신하였다면, 수신된 인구 분포 데이터에서 대한민국 20대 남성의 연령 분포를 추출하여 본 개시의 일 실시 예에 따른 사용자 프로파일링 시스템에 이용할 수 있다.
이 때, 쿨백-라이블러 발산은 두 확률 분포의 차이를 계산하는 데 사용하는 함수로, 어떤 이상적인 분포에 대해, 그 분포를 근사하는 다른 분포를 사용해 샘플링을 한다면 발생할 수 있는 정보 획득량 차이를 계산할 수 있다.
한편, 프로세서(120)는 생성된 인구 분포 데이터의 계산된 에러를 기초로 기저장된 가변적 파라미터를 변경하여 예측 모델을 수정할 수 있다. 즉, 프로세서(120)는 획득된 데이터를 기초로 기계 학습(machine learning)이 가능하다. 이 때, 기계 학습은 새로운 정보를 습득하고, 습득한 정보를 효율적으로 사용할 수 있는 능력으로, 데이터의 생성량, 생성 주기, 생성 형식 등이 방대한 빅데이터 기술에서 한 단계 진보한 형태로 데이터들을 분석해 예측하는 기술을 일컫는다. 또한, 기계 학습은 작업을 반복적으로 수행함으로써 결과를 얻어내는 기술의 개선 과정을 포함할 수 있다.
구체적으로, 프로세서(120)는 최적화 방법을 이용하여 기저장된 가변적 파라미터를 변경할 수 있다. 이 때, 최적화 방법은 어떤 목적 함수의 함수 값을 최적화시키는 파라미터 조합을 찾는 것을 의미할 수 있다. 구체적으로, 최적화 방법은 파라미터 값을 최적화 파라미터 값으로 조금씩 이동하는 것을 원리로 한다. 구체적으로, 파라미터 방향과 이동 정도가 중요 요인인데, 이를 결정하는 방법으로는, 뉴턴 방법, 기울기 하강법(gradient descent), Levenberg-Marquardt 방법, 일차 미분법, 이차 미분법, 라인 서치(line search)법, 신뢰 영역(trust region)법, 댐핑(damping)법 등이 있다.
예를 들어, 프로세서(120)는 생성된 인구 분포 데이터의 값이, 최적화된 파라미터를 갖는 외부 서버로부터 수신된 인구 분포 데이터의 값과 근사하도록 기저장된 가변적 파라미터를 변경할 수 있다.
한편, 프로세서(120)는 예측된 사용자의 미지의 정보를 복수의 타 전자 장치 각각으로 전송하도록 통신부(110)를 제어할 수 있다. 한편, 프로세서(120)는 수신된 사용자 정보 및 예측된 사용자의 미지의 정보에 기초하여 사용자 각각에 대응되는 컨텐츠를 복수의 사용자 각각에 대응되는 타 전자 장치 각각에 전송하도록 통신부(110)를 제어할 수 있다. 이 때, 전송되는 컨텐츠는 예측된 사용자의 미지의 정보에 기초하여 프로세서(120)에 의해 검색된 것일 수 있다. 이 때, 전송되는 컨텐츠는 사용자 맞춤형 TV 채널 리스트, TV 프로그램 리스트, 광고, 영화 등일 수 있다.
한편, 프로세서(120)는 수신된 사용자 정보 및 예측된 사용자의 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 사용자 인터페이스 화면을 생성할 수 있다. 이 때, 생성된 사용자 인터페이스 화면에는 사용자의 정보 및 복수의 추천 컨텐츠가 표시될 수 있다. 한편, 프로세서(120)는 생성된 사용자 인터페이스 화면을 복수의 사용자 각각에 대응되는 타 전자 장치에 전송되도록 통신부(110)를 제어할 수 있다.
본 개시와 같이 외부 서버에서 수신된 인구 분포 데이터를 이용하여 예측 모델의 파라미터를 반복적으로 변경하여 예측 모델을 수정함으로써, 적은 데이터를 기초로, 보다 정확한 사용자 정보 예측이 가능한 전자 장치를 제공할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 구체적으로 나타낸 블럭도이다.
도 3을 참조하면, 본 개시의 일 실시 예에 따른 전자 장치(100)는 통신부(110), 프로세서(120) 및 저장부(130)을 포함한다. 이상에서는 설명의 편의를 위하여 생략하였지만, 실제 구현시에는 전자 장치(100)에 디스플레이부, 오디오 출력부 등 다양한 구성이 포함될 수 있을 것이다.
통신부(110) 및 프로세서(120)는 도 2에 도시된 구성과 동일한 바, 자세한 설명은 생략한다.
저장부(130)는 전자 장치(100)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 구체적으로, 저장부(130)는 전자 장치(100)의 제어를 위한 제어 프로그램, 제조사에서 최초 제공되거나 외부에서부터 다운로드 받은 어플리케이션, 어플리케이션과 관련된 GUI(graphical user interface), GUI를 제공하기 위한 오브젝트(예를 들어, 이미지 텍스트, 아이콘, 버튼 등), 사용자 정보, 문서, 데이터베이스들 또는 관련 데이터들을 저장할 수 있다.
구체적으로, 저장부(130)는 통신부(110)로부터 수신된 복수의 항목에 대한 사용자 정보를 저장할 수 있다. 이 때, 사용자 정보는 복수의 타 전자 장치 각각의 사용자의 성별, 연령, 소득 수준, 거주 지역, 세대 구조, 장치 사용 정보, 장치에서의 서비스 이용 정보, 장치 이용 시간, 선호 채널 및 선호 TV 프로그램 등을 포함할 수 있다.
그리고, 저장부(130)는 수신된 복수의 항목에 대한 사용자 정보 중 미지의 정보를 예측하기 위한 파라미터를 저장할 수 있다.
그리고, 저장부(130)는 저장된 파라미터를 이용하여 프로세서(120)에 의해 예측된 미지의 사용자 정보를 저장할 수 있다. 또한, 저장부(130)는 수신된 사용자 정보 및 예측된 미지의 사용자 정보를 이용하여 생성된 기설정된 항목에 대한 인구 분포 데이터를 저장할 수 있다.
그리고, 저장부(130)는 생성된 인구 분포 데이터의 에러에 기초하여 변경된 파라미터를 저장할 수 있다.
그리고, 저장부(130)는 각종 컨텐츠를 저장할 수 있다. 여기서 컨텐츠는 타 전자 장치에서 사용자에게 제공될 광고, 영화, TV 프로그램과 같은 동영상 파일이나, 이에 대응되는 썸네일 이미지와 같은 이미지 파일 등일 수 있다.
도 4는 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 개략적으로 나타낸 도면이다.
도 4를 참조하면, 본 개시의 일 실시 예에 따른 전자 장치의 프로세서(120)는 사용자 로그 정보(10), 사용자 계정 정보(20), 및 인구 분포 데이터(30)를 이용하여 기계 학습 과정(121)을 통해 사용자의 미지의 정보를 예측한 결과 정보(40)를 획득할 수 있다.
우선, 프로세서(120)는 사용자 로그 정보(10) 및 사용자 계정 정보(20)를 취합하여 사용자 정보를 프로파일링할 수 있다. 이 때, 사용자 로그 정보(10) 및 사용자 계정 정보(20)는 복수의 사용자가 각각 사용하는 스마트 TV 또는 모바일 장치 등과 같은 복수의 타 전자 장치로부터 수신된 것일 수 있다.
이 때, 사용자 계정 정보(20)는 사용자가 타 전자 장치에서 직접 입력한 정보로, 사용자의 정보 입력 여부에 따라 미지의 정보가 포함될 수 있다. 예를 들어, 사용자 1은 연령과 성별을 모두 입력하였으나, 사용자 2는 연령만을 입력하였고, 사용자 3은 연령 및 성별을 모두 입력하지 않았으므로, 사용자 2의 성별, 사용자 3의 연령 및 성별은 미지의 정보에 해당할 수 있다.
이 때, 프로세서(120)는 외부 서버로부터 인구 분포 데이터를 수신하여, 수신된 사용자 정보의 미지의 정보를 예측한 결과 정보(40)를 획득할 수 있다. 이 때, 프로세서(120)는 기계 학습 과정(121)을 통해 보다 정확한 결과 정보를 획득할 수 있다.
예를 들어, 프로세서(120)는 외부 서버로부터 대한민국 국민의 성별에 따른 연령 분포 데이터를 수신하여, 예측 모델을 통해 사용자 3의 연령이 29세임을 예측할 수 있다. 이 때, 프로세서(120)은 기계 학습 과정(121)을 통하여 보다 정확한 연령 정보를 예측할 수 있다. 한편, 기계 학습 과정(121)에 대해서는 이하 도 6 내지 도 8을 참조하여 자세히 설명한다.
도 5는 타 전자 장치를 통해 사용자에게 제공되는 사용자 인터페이스 화면의 일 실시 예를 도시한 도면이다.
도 5를 참조하면, 타 전자 장치(300)는 구비된 디스플레이부를 통해 사용자 인터페이스 화면(310)을 제공할 수 있다. 이 때, 사용자 인터페이스 화면(310)은 사용자 정보(311), 사용자 정보에 대응되는 추천 채널 리스트(312) 및 사용자 정보에 대응되는 추천 광고(313)을 포함할 수 있다.
한편, 도 5에 도시된 사용자 인터페이스 화면(310)은 일 실시 예에 불과한 것으로, 이에 한정되지 않고, 예측된 사용자의 미지의 정보를 포함하는 사용자 정보(311)가 표시되지 않을 수 있고, 추천 채널 리스트(312) 및 추천 광고(313) 이외에 추천 TV 프로그램, 추천 컨텐츠 등을 더 포함할 수 있다.
이 때, 제공되는 사용자 인터페이스 화면(310)은, 전자 장치로부터 예측된 사용자의 미지의 정보를 수신하여, 기입력된 사용자 정보 및 예측된 미지의 정보를 기초로 타 전자 장치(300)가 생성한 것일 수 있고, 전자 장치가 타 전자 장치로부터 수신한 사용자 정보 및 예측된 사용자의 미지의 정보를 기초로 생성한 사용자 인터페이스 화면(310)을 타 전자 장치(300)가 수신하여 디스플레이하는 것일 수 있다.
한편, 설명의 편의를 위하여 사용자 인터페이스 화면이 스마트 TV에 제공되는 것으로 한정하여 도시하고 설명하였으나, 실제 구현시에는 스마트폰과 같은 모바일 장치에도 제공될 수 있다.
인구 분포 데이터를 이용하여 사용자의 미지의 정보를 보다 정확하게 예측하여 사용자의 정보에 대응되는 컨텐츠 또는 사용자 인터페이스 화면을 제공함으로써, 사용자의 컨텐츠 선택에 대한 편리성을 향상시킬 수 있다.
도 5는 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 나타내는 흐름도이다.
도 5를 참조하면, 우선 전자 장치는 외부 서버로부터 인구 분포 데이터를 수신한다(S510). 이 때, 인구 분포 데이터는 공공 기관 및 정부 등에서 제공하는 오픈 데이터일 수 있고, 시장 조사 기관, 설문 조사 기관 및 기업 등에서 제공하여 소정이 비용이 요구될 수 있다.
이 때, 인구 분포 데이터는 성별, 연령 및 소득 중 적어도 하나의 항목에 대한 인구 분포 데이터일 수 있다. 구체적으로, 국가 또는 도시 전체 또는 기설정된 항목에 대한 인구 분포 데이터일 수 있다. 한편, 전자 장치는 외부 서버로부터 수신한 인구 분포 데이터에서 기설정된 항목에 대한 인구 분포 데이터를 추출할 수 있다. 예를 들어, 전자 장치는 외부 서버로부터 대한민국 인구의 전체 연령에 대한 인구 분포 데이터를 수신하여, 대한민국 20대의 연령에 따른 인구 분포 데이터를 추출할 수 있다.
그 다음, 전자 장치는 복수의 타 전자 장치로부터 사용자 정보를 수신할 수 있다(S520). 구체적으로, 전자 장치는 복수의 타 전자 장치로부터 각각의 타 전자 장치에서의 사용자의 행동 정보를 포함하는 사용자의 로그 정보 및 사용자가 직접 입력한 사용자의 계정 정보를 포함하는 사용자 정보를 수신할 수 있다. 한편, 복수의 타 전자 장치로부터 수신된 사용자 정보에는 기설정된 항목에 대한 사용자의 미지의 정보가 포함되어 있을 수 있다. 예를 들어, 타 전자 장치로부터 수신된, 타 전자 장치의 사용자인 사용자 1의 연령, 성별, 소득 등 복수의 항목으로 구성된 사용자 정보 중 어느 하나의 항목, 예를 들어 도 3을 참조하면, 사용자 3의 연령이 미지의 정보일 수 있다.
그 다음, 전자 장치는 예측 모델을 이용하여 미지의 정보를 예측할 수 있다(S530). 구체적으로, 전자 장치는 기저장된 가변적 파라미터를 이용하여 미지의 정보를 예측하는 예측 모델을 이용하여 사용자의 미지의 정보를 예측할 수 있다. 이 때, 예측 모델은 독립 변수에 대한 종속 변수의 관계를 설명하거나, 투입에 대한 산출의 관계를 설명하는 모델로서, 입력과 출력 및 수행 기능은 알려져 있으나 내부적인 구현은 알려져 있지 않은 블랙 박스 모델(black box model)일 수 있다.
그 다음, 전자 장치는 수신된 사용자 정보 및 예측된 정보를 이용하여 인구 분포 데이터를 생성할 수 있다(S540). 구체적으로, 전자 장치는 확률 밀도 추정 방법을 이용하여 기설정된 항목에 대한 인구 분포 데이터를 생성할 수 있다. 이 때, 확률 밀도 추정 방법은 히스토그램 방법, 커널 확률 밀도 추정 방법 및 신경망 확률 밀도 추정 방법 중 어느 하나일 수 있다. 확률 밀도 추정 방법에 대해서는 도 2에 기재된 내용과 동일한 바, 자세한 설명은 생략한다.
예를 들어, 도 3에 도시된 바와 같이, 전자 장치는 수신된 사용자 1 및 2의 연령 정보, 예측된 사용자 3의 연령 정보 및 확률 밀도 추정 방법을 이용하여 대한민국 전체 인구의 연령에 따른 인구 분포 데이터를 생성할 수 있다. 한편, 설명의 편의를 위하여 사용자 1, 2 및 3의 정보만을 이용해 인구 분포 데이터를 생성하는 것으로 설명하였으나, 실제 구현시에는 보다 많은 사용자의 정보를 이용하여 인구 분포 데이터를 생성하는 것으로 구현될 것이다.
그 다음, 전자 장치는 생성된 인구 분포 데이터의 에러를 계산할 수 있다(S550). 구체적으로, 전자 장치는 생성된 인구 분포 데이터와 외부 서버로부터 수신된 인구 분포 데이터를 비교하여 생성된 인구 분포 데이터의 에러를 계산할 수 있다. 이 때, 전자 장치는 쿨백-라이블러 발산과 같은 확률 밀도 유사성 측정을 통해 생성된 인구 분포 데이터의 에러를 계산할 수 있다.
그 다음, 전자 장치는 계산된 에러를 기초로 예측 모델을 수정할 수 있다(S560). 구체적으로, 전자 장치는 계산된 에러를 기초로 기저장된 파라미터를 변경하여 예측 모델을 수정할 수 있다. 구체적으로, 전자 장치는 최적화된 파라미터를 가진 외부 서버로부터 수신된 인구 분포 데이터의 값과 생성된 인구 분포 데이터의 값이 일치하도록, 기저장된 파라미터를 변경하여 예측 모델을 수정할 수 있다.
외부 서버로부터 수신된 인구 분포 데이터를 이용하여 예측 모델의 파라미터를 반복적으로 변경하여 예측 모델을 수정함으로써, 적은 데이터를 기초로, 보다 정확한 사용자 정보 예측을 통한 사용자 프로파일링이 가능할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 기계 학습 과정을 구체적으로 나타낸 흐름도이다.
도 7을 참조하면, 본 개시의 일 실시 예에 따른 기계 학습 과정은 파라미터 최적화 파트(601), 모델링 파트(602) 및 확률 밀도 생성 파트(603)를 포함한다. 본 개시의 확률 밀도는 인구 분포 데이터를 의미할 수 있다.
구체적으로, 기계 학습의 시작점에서 파라미터 최적화 파트(601)는 우선 기저장된 파라미터를 모델링 파트(602)에 전달할 수 있다.
한편, 모델링 파트(602)는 입력 데이터 및 파라미터 최적화 파트(601)로부터 파라미터를 전달받아 입력 데이터에 포함된 기설정된 항목에 대한 미지의 정보를 예측(target prediction)할 수 있다. 이 때, 입력 데이터는 복수의 타 전자 장치로부터 수신된 사용자의 행동 정보 및 사용자의 계정 정보, 및 외부 서버로부터 수신된 인구 분포 데이터일 수 있다. 이 때, 모델링 파트(602)는 예측된 미지의 정보를 출력하는 한편, 확률 밀도 생성 파트(603)에 전달할 수 있다.
한편, 확률 밀도 생성 파트(603)는 입력 데이터 및 모델링 파트(602)로부터 전달된 예측된 미지의 정보를 이용하여 기설정된 항목에 대한 확률 밀도를 생성할 수 있다. 구체적으로, 확률 밀도 생성 파트(603)는 입력 데이터에 포함된 외부 서버로부터 수신된 인구 분포 데이터를 이용하여 생성된 확률 밀도를 생성할 수 있다.
한편, 확률 밀도 생성 파트(603)는 생성된 기설정된 항목에 대한 확률 밀도를 출력하는 한편, 파라미터 최적화 파트(601)로 전달할 수 있다.
한편, 파라미터 최적화 파트(601)는 확률 밀도 생성 파트(603)로부터 전달받은 생성된 확률 밀도를 이용하여 기저장된 파라미터를 변경할 수 있다. 구체적으로, 파라미터 최적화 파트(601)는 확률 밀도 생성 파트(603)로부터 전달받은 생성된 확률 밀도 및 입력 데이터에 포함된 외부 서버로부터 수신된 인구 분포 데이터를 비교하여, 최적화된 파라미터를 갖는 외부 서버로부터 수신된 인구 분포 데이터의 값과 근사하도록 기저장된 파라미터를 변경할 수 있다.
한편, 파라미터 최적화 파트(601)는 변경된 파라미터를 모델링 파트(602)에 전달하여, 모델링 파트(602)가 변경된 파라미터를 이용하여 미지의 정보를 예측하도록 할 수 있다.
이와 같이, 예측된 미지의 정보로 생성된 확률 밀도와 외부 서버로부터 수신된 인구 분포 데이터를 비교하여 예측 모델의 파라미터를 반복적으로 변경하는 기계 학습 과정을 통해 파라미터를 최적화함으로써, 적은 입력 데이터를 이용하여 보다 정확한 사용자 정보 예측을 통한 사용자 프로파일링이 가능할 수 있다.
도 8은 적은 양의 데이터를 이용하여 종래 기술에 따른 사용자 프로파일링 방법에 따라 사용자 정보 예측 모델을 수행한 결과를 나타낸 도면이다.
도 9는 적은 양의 데이터를 이용하여 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법에 따라 사용자 정보 예측 모델을 수행한 결과를 나타낸 도면이다.
도 8 및 도 9를 참조하면, 적은 양의 데이터를 이용하여 종래 기술에 따른 예측 모델링을 수행하면, 실제 함수 값(801)에 비해 입력 변수에 따른 출력 함수 값(802)과 함수 형태 및 함수 값이 차이가 있는 반면, 본 개시의 일 실시 예에 따른 예측 모델링을 수행하면, 실제 함수 값(801)과 비교하여, 입력 변수에 따른 출력 함수 값(901)이 거의 일치하는 것을 확인할 수 있다. 이로 인해, 본 개시의 일 실시 예에 따라 외부 서버로부터 수신된 인구 분포 데이터를 이용하여 파라미터를 반복적으로 변경함에 따라, 적은 양의 데이터를 이용하여도 보다 정확한 사용자 정보 예측이 가능함을 알 수 있다.
도 10은 적은 양의 데이터를 이용하여 종래 기술에 따라 예측된 사용자 정보를 이용하여 생성된 확률 밀도를 나타낸 도면이다.
도 11은 적은 양의 데이터를 이용하여 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 통해 예측된 사용자 정보를 이용하여 생성된 확률 밀도를 나타낸 도면이다.
도 10 및 도 11을 참조하면, 외부 서버로부터 수신된 인구 분포 데이터에 기초한 확률 분포(1001)에 비해, 적은 양의 데이터를 이용하여 종래 기술에 따라 예측된 사용자 정보를 이용하여 생성된 확률 밀도(1002)는, 예측된 사용자 정보(model output)에 따른 확률 밀도 형태 및 확률 밀도 값이 차이가 있는 반면, 본 개시의 일 실시 예에 따른 사용자 프로파일링 방법을 통해 예측된 사용자 정보를 이용하여 생성된 확률 밀도(1101)는 외부 서버로부터 수신된 인구 분포 데이터에 기초한 확률 분포(1001)와 거의 일치하는 것을 확인할 수 있다. 이로 인해, 본 개시의 일 실시 예에 따라 외부 서버로부터 수신된 인구 분포 데이터를 이용하여 파라미터를 반복적으로 변경함에 따라, 적은 양의 데이터를 이용하여도 보다 정확한 사용자 정보 예측이 가능함을 알 수 있다.
이상과 같이 본 개시의 다양한 실시 예에 따르면, 외부 서버로부터 수신된 인구 분포 데이터를 이용하여 예측 모델의 파라미터를 반복적으로 변경하여 파라미터를 최적화함으로써, 적은 입력 데이터를 이용하여 보다 정확한 사용자 정보 예측을 통한 사용자 프로파일링이 가능할 수 있다.
본 개시의 예시적 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 예를 들어, 상기 컴퓨터 판독 가능 매체는 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 이동 단말 내에 포함될 수 있는 메모리는 본 개시의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. 상기 매체에 기록되는 프로그램 명령은 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 개시는 비록 한정된 예시적 실시 예와 도면에 의해 설명되었으나, 본 개시는 상기의 예시적 실시 예에 한정되는 것은 아니며, 본 개시가 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 개시의 범위는 설명된 예시적 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1000 : 사용자 프로파일링 시스템
100 : 전자 장치
200 : 외부 서버
301, 302 : 타 전자 장치

Claims (20)

  1. 전자 장치에 있어서,
    외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하고, 복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 통신부; 및
    상기 수신된 사용자 정보 중 기설정된 항목에 대해서 미지의 정보를 갖는 사용자 정보에 대해서 기저장된 가변적 파라미터를 이용하여 상기 미지의 정보를 예측하는 예측 모델을 이용하여 상기 미지의 정보를 예측하고, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하고, 상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하고, 상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 컨텐츠를 검색하고,
    상기 검색된 컨텐츠를 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송되도록 상기 통신부를 제어하는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 예측 모델을 이용하여 상기 미지의 정보를 예측한 후, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 상기 복수의 사용자 정보 각각에 대응되는 컨텐츠를 검색하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 사용자 인터페이스 화면을 생성하고,
    상기 생성된 사용자 인터페이스 화면을 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송되도록 상기 통신부를 제어하는 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 수신된 사용자 정보, 상기 예측된 미지의 정보 및 커널 확률 밀도 추정(kernel probability density estimation) 방법을 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 생성된 인구 분포 데이터의 값이 상기 수신된 인구 분포 데이터의 값에 근사하도록 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 수신된 인구 분포 데이터에서 상기 기설정된 항목에 대한 인구 분포 데이터를 추출하고,
    상기 생성된 인구 분포 데이터 및 상기 추출된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 전자 장치.
  8. 제1항에 있어서,
    상기 수신된 복수의 항목으로 구성된 사용자 정보는,
    상기 복수의 타 전자 장치에서의 컨텐츠 이용 정보 및 상기 복수의 타 전자 장치에서 입력된 사용자의 성별, 연령 및 소득 중 적어도 하나인 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는
    상기 예측된 정보를 상기 복수의 타 전자 장치 각각에 전송하도록 상기 통신부를 제어하는 전자 장치.
  10. 제1항에 있어서,
    상기 외부 서버는,
    공공 기관, 정부, 시장 조사 기관, 설문 조사 기관 및 기업 중 적어도 하나의 것인 전자 장치.
  11. 전자 장치 제어 방법에 있어서,
    외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하는 단계;
    복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 단계;
    기저장된 가변적 파라미터를 이용하여 상기 수신된 사용자 정보 중 기설정된 항목에 대한 미지의 정보를 예측하는 예측 모델 및 상기 수신된 사용자 정보를 이용하여 상기 미지의 정보를 예측하는 단계;
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 단계;
    상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 단계; 및
    상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 단계;를 포함하는 전자 장치 제어 방법.
  12. 제11항에 있어서,
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 컨텐츠를 검색하는 단계; 및
    상기 검색된 컨텐츠를 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송하는 단계;를 더 포함하는 전자 장치 제어 방법.
  13. 제12항에 있어서,
    상기 검색하는 단계는,
    상기 예측 모델을 이용하여 상기 미지의 정보를 예측한 후, 상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 상기 복수의 사용자 정보 각각에 대응되는 컨텐츠를 검색하는 전자 장치 제어 방법.
  14. 제11항에 있어서,
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보 중 적어도 하나에 기초하여 복수의 사용자 각각에 대응되는 사용자 인터페이스 화면을 생성하는 단계; 및
    상기 생성된 사용자 인터페이스 화면을 상기 복수의 사용자 각각에 대응되는 타 전자 장치에 전송하는 단계;를 더 포함하는 전자 장치 제어 방법.
  15. 제11항에 있어서,
    상기 인구 분포 데이터를 생성하는 단계는,
    상기 수신된 사용자 정보, 상기 예측된 미지의 정보 및 커널 확률 밀도 추정(kernel probability density estimation) 방법을 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 전자 장치 제어 방법.
  16. 제11항에 있어서,
    상기 예측 모델을 수정하는 단계는,
    상기 생성된 인구 분포 데이터의 값이 상기 수신된 인구 분포 데이터의 값에 근사하도록 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 전자 장치 제어 방법.
  17. 제11항에 있어서,
    상기 수신된 인구 분포 데이터에서 상기 기설정된 항목에 대한 인구 분포 데이터를 추출하는 단계;를 더 포함하고,
    상기 에러를 계산하는 단계는,
    상기 생성된 인구 분포 데이터 및 상기 추출된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 전자 장치 제어 방법.
  18. 제11항에 있어서,
    상기 수신된 복수의 항목으로 구성된 사용자 정보를 수신하는 단계는,
    상기 복수의 타 전자 장치에서의 컨텐츠 이용 정보 및 상기 복수의 타 전자 장치에서 입력된 사용자의 성별, 연령 및 소득 중 적어도 하나를 수신하는 전자 장치 제어 방법.
  19. 제11항에 있어서,
    상기 예측된 정보를 상기 복수의 타 전자 장치 각각에 전송하는 단계;를 더 포함하는 전자 장치 제어 방법.
  20. 전자 장치의 제어 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서,
    상기 제어 방법은,
    외부 서버로부터 성별, 연령 및 소득 중 적어도 하나의 항목 대한 인구 분포 데이터를 수신하는 단계;
    복수의 타 전자 장치 각각으로부터 복수의 항목으로 구성된 사용자 정보를 수신하는 단계;
    기저장된 가변적 파라미터를 이용하여 상기 수신된 사용자 정보 중 기설정된 항목에 대한 미지의 정보를 예측하는 예측 모델 및 상기 수신된 사용자 정보를 이용하여 상기 미지의 정보를 예측하는 단계;
    상기 수신된 사용자 정보 및 상기 예측된 미지의 정보를 이용하여 상기 기설정된 항목에 대한 인구 분포 데이터를 생성하는 단계;
    상기 생성된 인구 분포 데이터 및 상기 수신된 인구 분포 데이터를 비교하여 상기 생성된 인구 분포 데이터의 에러를 계산하는 단계; 및
    상기 계산된 에러를 기초로 상기 예측 모델의 상기 파라미터를 변경하여 상기 예측 모델을 수정하는 단계;를 포함하는 컴퓨터 판독가능 기록 매체.
KR1020160008608A 2016-01-25 2016-01-25 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체 KR20170088574A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160008608A KR20170088574A (ko) 2016-01-25 2016-01-25 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체
US16/072,817 US20190037261A1 (en) 2016-01-25 2017-01-25 Electronic device, control method therefor, and computer-readable recording medium
PCT/KR2017/000872 WO2017131429A1 (ko) 2016-01-25 2017-01-25 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160008608A KR20170088574A (ko) 2016-01-25 2016-01-25 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체

Publications (1)

Publication Number Publication Date
KR20170088574A true KR20170088574A (ko) 2017-08-02

Family

ID=59398380

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160008608A KR20170088574A (ko) 2016-01-25 2016-01-25 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체

Country Status (3)

Country Link
US (1) US20190037261A1 (ko)
KR (1) KR20170088574A (ko)
WO (1) WO2017131429A1 (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6177931B1 (en) * 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
CN1352776A (zh) * 1998-11-30 2002-06-05 英戴克系统公司 基于习惯、统计推导和心理学-人口统计简档的智能工具
CN100383725C (zh) * 2003-07-22 2008-04-23 索福帮股份有限公司 内容提示装置、管理服务器及内容提示系统
WO2007135436A1 (en) * 2006-05-24 2007-11-29 Icom Limited Content engine
US7882056B2 (en) * 2007-09-18 2011-02-01 Palo Alto Research Center Incorporated Method and system to predict and recommend future goal-oriented activity
US20110054960A1 (en) * 2009-08-25 2011-03-03 Yahoo! Inc., A Delaware Corporation Dynamic web page creation
WO2013033229A1 (en) * 2011-08-29 2013-03-07 Massachusetts Institute Of Technology System and method for providing personalized recommendations
US20160189182A1 (en) * 2014-12-31 2016-06-30 The Nielsen Company (Us), Llc Methods and apparatus to correct age misattribution in media impressions
US9870486B2 (en) * 2015-05-28 2018-01-16 The Nielsen Company (Us), Llc Methods and apparatus to assign demographic information to panelists
US20170127133A1 (en) * 2015-10-30 2017-05-04 The Nielsen Company (Us), Llc Methods and apparatus to categorize media impressions by age
US9805306B1 (en) * 2016-11-23 2017-10-31 Accenture Global Solutions Limited Cognitive robotics analyzer

Also Published As

Publication number Publication date
US20190037261A1 (en) 2019-01-31
WO2017131429A1 (ko) 2017-08-03

Similar Documents

Publication Publication Date Title
CN110297848B (zh) 基于联邦学习的推荐模型训练方法、终端及存储介质
US11200611B2 (en) Computer vision for unsuccessful queries and iterative search
US11243747B2 (en) Application digital content control using an embedded machine learning module
US20210027160A1 (en) End-to-end deep collaborative filtering
US9838743B2 (en) Techniques for context aware video recommendation
US11062225B2 (en) Techniques for providing sequential recommendations to users
CN106557480B (zh) 查询改写的实现方法及装置
US11522938B2 (en) Feature generation for online/offline machine learning
US10750239B2 (en) Server apparatus and method for controlling same
US11593860B2 (en) Method, medium, and system for utilizing item-level importance sampling models for digital content selection policies
CN105635824A (zh) 个性化频道推荐方法和系统
KR101855147B1 (ko) 사용자 선호도 분석 방법 및 그를 위한 디바이스
KR20190070625A (ko) 메타데이터를 이용한 아이템 추천 방법 및 장치
CN109922379B (zh) 广告视频优化方法、装置、设备及计算机可读存储介质
WO2016202214A2 (zh) 一种关键词的展示方法和装置
CN114896454B (zh) 一种基于标签分析的短视频数据推荐方法及系统
CN109583228B (zh) 一种隐私信息管理方法、装置和系统
CN110737824B (zh) 内容查询方法和装置
CN107515870B (zh) 一种搜索方法和装置、一种用于搜索的装置
KR20210066495A (ko) 렌탈 서비스 제공 시스템
KR101450453B1 (ko) 컨텐츠 추천 방법 및 장치
US20160004664A1 (en) Binary tensor factorization
KR20220103016A (ko) 창업을 위한 정보를 제공하기 위한 전자 장치 및 그 동작 방법
CN114595323B (zh) 画像构建、推荐、模型训练方法、装置、设备及存储介质
KR20170088574A (ko) 전자 장치, 그 제어 방법 및 컴퓨터 판독가능 기록 매체