KR20200045441A - 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 - Google Patents

신뢰할 수 있는 이니셜라이저 없는 비밀 공유 Download PDF

Info

Publication number
KR20200045441A
KR20200045441A KR1020197011609A KR20197011609A KR20200045441A KR 20200045441 A KR20200045441 A KR 20200045441A KR 1020197011609 A KR1020197011609 A KR 1020197011609A KR 20197011609 A KR20197011609 A KR 20197011609A KR 20200045441 A KR20200045441 A KR 20200045441A
Authority
KR
South Korea
Prior art keywords
data
user
social network
feature data
rating
Prior art date
Application number
KR1020197011609A
Other languages
English (en)
Other versions
KR102150816B1 (ko
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 알리바바 그룹 홀딩 리미티드
Publication of KR20200045441A publication Critical patent/KR20200045441A/ko
Application granted granted Critical
Publication of KR102150816B1 publication Critical patent/KR102150816B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0263Targeted advertisements based upon Internet or website rating
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0627Directed, with specific intent or strategy using item specifications
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

아이템 레이팅 및 추천 플랫폼은 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들을 포함하는 레이팅 데이터를 식별하고; 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하고; 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 복수의 랜덤 변수들에 기초하여 컴퓨팅된 조작된 소셜 네트워크 데이터를 수신한다. 소셜 네트워크 데이터는 복수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시한다. 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개함 없이, 조작된 소셜 네트워크 데이터를 아이템 레이팅 및 추천 플랫폼과 공유한다. 아이템 레이팅 및 추천 플랫폼은 레이팅 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트한다.

Description

신뢰할 수 있는 이니셜라이저 없는 비밀 공유
기술 및 데이터 분석의 개발과 함께, 다수의 온라인 플랫폼들은 상이한 유형들의 데이터를 수집한다. 예를 들어, 영화 레이팅 플랫폼(movie rating platform)들은 사용자들로부터 레이팅 데이터를 수집하는 반면, 소셜 미디어 플랫폼들은 사용자들로부터 소셜 네트워크 데이터를 수집한다. 이러한 수집된 데이터는 귀중하며 일반적으로 각각의 플랫폼들에 의해 개인 정보로서 보관된다. 플랫폼들은 데이터 프라이버시에 대한 관심이 점점 더 높아지고 있고 반드시 그의 수집된 데이터를 공유하기를 원하진 않는데, 적어도 오리지널 형태로는 공유하기를 원하지 않는다.
본 개시내용은 예를 들어, 소셜 추천(social recommendation)들을 제공하기 위해 2개의 플랫폼들 사이의 신뢰할 수 있는 이니셜라이저 없이 비밀 공유를 위한 방법들 및 시스템들을 설명한다.
구현에서, 컴퓨터-구현 방법은, 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들을 포함할 레이팅 데이터를 식별하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 단계; 신뢰할 수 있는 이니셜라이저(trusted initializer) 없는 비밀 공유 방식을 통해 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들에 기초하여 컴퓨팅된 다수의 조작된 소셜 네트워크 데이터를 수신하는 단계 ― 소셜 네트워크 데이터는 다수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개함 없이, 다수의 조작된 소셜 네트워크 데이터를 아이템 레이팅 및 추천 플랫폼과 공유함 ― ; 및 아이템 레이팅 및 추천 플랫폼에 의해, 레이팅 데이터 및 다수의 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트하는 단계를 포함한다.
이전에 설명된 구현은, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체; 및 또는 비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 명령들 또는 컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 동작 가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터-구현 시스템을 사용하여 구현 가능하다.
본 명세서에 설명된 청구 대상은 다음의 이점들 중 하나 이상을 실현하기 위해 특정 구현들로서 구현될 수 있다. 첫째, 설명된 기술들은, 개인 또는 민감성 데이터를 공개함 없이 상이한 플랫폼들이 비밀 공유에 있어 안전하게 협업할 수 있게 하며, 이는 데이터 프라이버시를 손상시키지 않으면서 플랫폼들 사이의 통합 및 협업이 장려한다. 둘째, 비밀 공유 방식을 적용하기 전에 다양한 플랫폼들에 의해 작업 대부분이 행해질 수 있기 때문에, 설명된 기술들은 (이를테면, 시간, 프로세서 사이클들, 메모리 사용 및 네트워크 대역폭/혼잡에 대해) 보다 효율적인 공통 개발 활동들 또는 현재 온라인 플랫폼들에 의해 지원되지 않는 활동들을 허용한다. 셋째, 설명된 기술들은 아이템 레이팅 및 추천 플랫폼들의 개선된 추천 모델들을 제공하고 더 양호한 타겟팅된 추천들을 제공할 수 있다(이를테면, 영화 추천 플랫폼은 소셜 미디어 플랫폼으로부터 획득된 소셜 네트워크 데이터를 적극 활용함으로써 사용자들에게 보다 타겟팅된 관련된 추천들을 제공함). 넷째, 설명된 기술들은 플랫폼들이 신뢰할 수 있는 기관의 오버헤드 없이 협업할 수 있게 한다. 다른 이점들이 당업자에게 명백해질 것이다.
본 명세서의 청구 대상의 하나 이상의 구현들의 세부사항들은 상세한 설명, 청구항들 및 첨부 도면들 및 청구항들에 기술된다. 청구 대상의 다른 특징들, 양상들 및 이점들은 상세한 설명, 청구항들 및 첨부 도면들로부터 명백해질 것이다.
도 1은 본 개시내용의 구현에 따라, 신뢰할 수 있는 이니셜라이저를 사용함 없이 플랫폼 A와 플랫폼 B 사이의 비밀 공유를 위한 예시적인 시스템을 예시하는 블록도이다.
도 2는 본 개시내용의 구현에 따라, 플랫폼 A에 의한 추천들을 생성하기 위한 신뢰할 수 있는 이니셜라이저를 사용함 없이 플랫폼 A와 플랫폼 B 사이의 예시적인 비밀 공유 방법을 예시하는 흐름도이다.
도 3은 본 개시내용의 구현에 따라, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 사용하여 행렬 A와 행렬 B의 행렬 곱의 엘리먼트(Zij)를 컴퓨팅하기 위한, 플랫폼 A와 플랫폼 B 간의 예시적인 비밀 공유 방법을 예시하는 흐름도이다.
도 4는 본 개시내용의 구현에 따라, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 사용하여 아이템 레이팅 및 추천 플랫폼에 의해 추천을 생성하기 위한 예시적인 방법을 예시하는 흐름도이다.
도 5는 본 개시내용의 구현에 따라, 본 개시내용에서 설명된 바와 같은 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 컴퓨테이셔널 기능성들(computational functionalities)을 제공하기 위해 사용되는 예시적인 컴퓨터 시스템을 예시하는 블록도이다.
다양한 도면들 내의 유사한 참조 번호들 및 지정들은 유사한 엘리먼트들을 표시한다.
다음의 상세한 설명은 예를 들어, 소셜 네트워크 데이터에 기초하여 사용자들에게 추천들을 제공하기 위해 2개의 플랫폼들 간의 신뢰할 수 있는 이니셜라이저 없는 비밀 공유를 설명하고, 임의의 당업자가 하나 이상의 특정 구현들의 맥락에서 개시된 청구 대상을 제조 및 이용하는 것을 가능하게 하도록 제시된다. 개시된 구현들의 다양한 수정들, 변경들 및 치환들이 이루어질 수 있고 당업자들 용이하게 명백해질 것이며, 본원에서 정의된 일반적인 원리들은 본 개시내용의 범위를 벗어나지 않으면서 다른 구현들 및 애플리케이션들에 적용될 수 있다. 일부 경우들에서, 설명된 청구 대상의 이해를 획득하는 데 불필요한 세부사항들은 불필요한 세부사항들로 하나 이상의 설명된 구현들을 모호하게 하지 않도록 그리고 그러한 세부사항들이 당업자의 기술범위 내에 있는 한 생략될 수 있다. 본 개시내용은 설명되거나 예시된 구현들로 제한되도록 의도되는 것이 아니라, 설명된 원리들 및 특징들에 부합하는 가장 넓은 범위를 부여하려는 것이다.
다수의 온라인 플랫폼들 중에서, 상이한 플랫폼들이 상이한 유형들의 데이터를 축적할 수 있다. 예를 들어, NETFLIX 또는 IMDB와 같은 아이템 레이팅 및 추천 플랫폼은 영화들 및 TV 시리즈들과 관련하여 사용자로부터의 레이팅 데이터를 축적한다. FACEBOOK 또는 TWITTER와 같은 소셜 미디어 또는 소셜 네트워크 플랫폼은 사용자들 및 그의 친구들로부터 소셜 네트워크 데이터를 축적한다. 가까운 친구들은 유사한 선호도들을 갖는 경향이 있기 때문에 소셜 정보는 추천 시스템의 성능을 개선할 수 있다. 기존의 소셜 기반 추천 방법들은 아이템의 사용자 레이팅 데이터 및 사용자들 간의 소셜 데이터가 공유된다고 가정한다. 그러나 데이터 프라이버시 또는 다른 우려들로 인해, 온라인 플랫폼은 통상적으로 자신의 오리지널 데이터를 다른 당사자들과 공유하지 않는다.
각각의 플랫폼의 개인 데이터를 다른 플랫폼에 공개함 없이, 레이팅 데이터 및 소셜 네트워크 데이터 둘 모두에 기초하여 개선된 추천 시스템을 구축하는 데 있어 플랫폼들이 안전하게 협업할 수 있도록 하는 예시적인 기술들이 설명된다. 예를 들어, 소셜 추천 모델은 아이템 레이팅 및 추천 플랫폼과 소셜 네트워크 플랫폼 간의 비밀 공유 방식을 통해 레이팅 데이터와 소셜 네트워크 데이터 둘 모두에 기초하여 트레이닝될 수 있다. 비밀 공유 방식 하에서, 플랫폼들 간에 교환되는 데이터는 오리지널 형태 보다는, 조작된 형태로 있다. 교환된 데이터는 조작된 데이터로부터 오리지널 데이터가 복원되거나 디코딩될 수 없도록 조작된다.
비밀 공유 방식은, 송신 이전에 데이터 소스가 (예를 들어, 송신기로서) 오리지널 데이터를 인코딩된 형태로 인코딩 또는 암호화하고 의도된 수신자가 예를 들어, 알려진 보안 키 또는 대응하는 디코딩 알고리즘에 기초하여, 수신된 인코딩된 데이터로부터 오리지널 데이터를 디코딩 또는 복원할 수 있는, 보안 데이터 송신을 위한 인코딩, 암호화 또는 다른 방식들과 상이하다. 비밀 공유 방식은 오리지널 데이터가 의도된 수신자에게도 알려지는 것이 방지된다. 따라서, 데이터 소스는 오리지널 데이터의 프라이버시를 보존할 수 있다.
따라서, 비밀 공유 방식은 데이터 프라이버시를 손상시키지 않으면서 상이한 플랫폼들 간의 협업을 장려하고 상호 이익들을 달성하는 데 도움이 될 수 있다. 예를 들어, 개시된 비밀 공유 방식에 따라, 아이템 레이팅 및 추천 플랫폼은 소셜 네트워크 플랫폼으로부터의 소셜 네트워크 정보를 적극 활용하여 사용자의 요구들을 보다 잘 예측하고 사용자에게 타겟팅된 추천들을 제공하여 사용자 경험을 향상시키고 잠재적인 이윤을 아이템 레이팅 및 추천 플랫폼에 되돌려준다.
도 1은 본 개시내용의 구현에 따라, 플랫폼 A(102)와 플랫폼 B(104) 사이의 비밀 공유를 위한 예시적인 시스템(100)을 예시하는 블록도이다. 플랫폼 A(102)는 엔터테인먼트, 소매, 서비스, 및 사용자들이 제품들, 서비스들 또는 다른 아이템들을 레이팅할 수 있는 다른 산업 또는 섹터들에서의 아이템 레이팅 및 추천 플랫폼을 포함(그러나 이에 제한되지 않음)할 수 있다. 아이템 레이팅 및 추천 플랫폼의 예들은 예를 들어, AMAZON, NETFLIX 또는 IMDB를 포함한다. 플랫폼 A(102)는 그의 사용자들로부터 레이팅 데이터(R)를 수집할 수 있다. 레이팅 데이터(R)는 사용자가 제공한 하나 이상의 아이템들(예를 들어, 제품들 또는 서비스들)의 하나 이상의 실제 레이팅들, 또는 사용자의 클릭들, 구매들, 검색들 또는 아이템들에 대한 다른 이력 활동들에 기초하여 하나 이상의 맵핑된 레이팅들을 포함할 수 있다. 레이팅들은 아이템들에 관한 사용자의 요구들, 애정들 또는 선호도들을 반영할 수 있다. 레이팅들은 특정 범위(예를 들어, [0, 1] 또는 [1, 5])를 가질 수 있다. 일부 구현들에서, 레이팅 데이터(R)는 M * N의 치수를 갖는 행렬로 표현될 수 있으며, 여기서 M은 사용자들의 수를 나타내고 N은 아이템의 수를 나타내며, 엔트리 Rij는 사용자 i에 의한 아이템 j의 레이팅을 나타낸다.
플랫폼 A(102)는 또한 사용자 데이터를 포함할 수 있으며, 이 사용자 데이터는 예를 들어, 플랫폼 A(102)에서 사용자들의 이름들, 나이들, 성별들, 주소들 또는 임의의 다른 계정 또는 프로파일 정보, 사용자들의 구매 이력들, 브라우징 이력들 또는 검색 이력들을 포함할 수 있다. 플랫폼 A(102)는 또한 예를 들어, 아이템들에 관련된 이름들, 카테고리들, 가격들, 키워드들, 지시들 등을 포함할 수 있는 아이템 데이터를 포함할 수 있다.
일부 구현들에서, 수집된 레이팅 데이터(R)는 아이템들에 대한 기존 사용자 활동들에 기초하여 레이팅 또는 맵핑된 레이팅을 갖는 (M * N에 비해)소수의 엔트리들(Rij)로 인해 희소 행렬일 수 있다. 일부 구현들에서, 플랫폼 A(102)는 아이템들의 타겟팅된 추천들을 사용자들에게 제공하도록 아이템들의 알려진 레이팅들을 예측할 수 있다. 일부 구현들에서, 플랫폼 A(102)는 예를 들어, 머신 학습 또는 통계 알고리즘에 따라 사용자 데이터 및 아이템 데이터에 기초하여 아이템들의 알려진 레이팅들을 예측할 수 있다. 예를 들어, 플랫폼 A(102)는 행렬 인수분해 방법들 또는 다른 기술들에 따라 사용자-특징 데이터(U)(사용자 팩터 데이터로서 또한 지칭됨) 및 아이템-특징 데이터(V)(아이템 팩터 데이터로서 또한 지칭됨)에 기초하여 아이템들의 추천들을 제공할 수 있다. 특히, 각각의 사용자(예를 들어, 사용자 i)는 나이, 성별, 지리적 위치, 방문 패턴 등과 같은 사용자 특징들의 벡터(예를 들어, Ui)를 특징으로 할 수 있다. 각각의 아이템(예를 들어, 아이템 j)은 카테고리, 키워드들, 토픽들, 가격들 등과 같은 아이템 특징들의 벡터(예를 들어, Vj)를 특징으로 할 수 있다. 사용자 특징들 및 아이템 특징들은 주어진 아이템의 주어진 사용자의 레이팅, 선택 또는 구매에 영향을 주는 팩터들일 수 있다. 일부 구현들에서, 사용자에 의해 주어진 아이템의 레이팅은 사용자 특징들의 벡터와 아이템 특징들의 벡터의 내적(dot product)에 의해 근사될 수 있다. 예를 들어,
Figure pct00001
(1) 이며,
여기서, Ui는 사용자 i에 대응하는 사용자-특징 데이터의 벡터를 나타내고; Vj는 아이템 j에 대응하는 아이템-특징 데이터의 벡터를 나타내고; Rij는 사용자 i에 의한 아이템 j의 레이팅을 나타낸다.
일부 구현들에서, 사용자 특징 벡터(예를 들어, Ui) 및 아이템 특징 벡터(예를 들어, Vj)는 트레이닝 데이터(예를 들어, 알려진 레이팅 데이터)로부터 학습될 수 있는 잠재 벡터(latent vector)이다.
플랫폼 B(104)는 소셜 미디어 플랫폼(예를 들어, FACEBOOK, TWITTER, 또는 INSTRAGRAM)을 포함(그러나 이에 제한되지 않음)할 수 있다. 플랫폼 B(104)는 그의 사용자들로부터 소셜 네트워크 데이터(S)를 수집할 수 있다. 소셜 네트워크 데이터는 예를 들어, 플랫폼 B에서 사용자의 이름들, 나이들, 성별들, 주소들, 직업들, 관계들, 취미들, 상태들, 댓글들, 블로그들, 브라우징 이력 또는 다른 인구통계, 취업 정보, 레크리에이션 정보, 및 사용자의 친구, 가족, 동료들 등의 대응하는 정보를 포함할 수 있다. 이러한 소셜 네트워크 데이터(S)는 아이템에 관한 사용자의 레이팅을 예측하고 추천들을 제공하기 위해 플랫폼 A에 유익할 수 있다.
예를 들어, 플랫폼 A는 수식(2)에서 도시된 바와 같이 최적화 문제를 해결함으로써 사용자의 레이팅들을 예측할 수 있다.
Figure pct00002
여기서 Sik는 소셜 네트워크 데이터(S)에서 사용자 i와 사용자 k 간의 소셜 관계를 나타내고, λ1은 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내고; λ2는 오버피팅을 방지하기 위한 미리 정의된 가중치를 나타낸다.
이 예에서, 수식(2)의 우변 상의 목적 함수는 3개의 항들을 포함한다. 제 1 항(
Figure pct00003
)은 알려진 레이팅 데이터와, 사용자-특징 데이터(예를 들어,
Figure pct00004
) 및 아이템-특징 데이터(예를 들어,
Figure pct00005
)에 기초하여 컴퓨팅된 근사된 레이팅 간의 오차 또는 거리를 나타낸다. 제 2 항(
Figure pct00006
)은 사용자 특징 벡터들에 대한 소셜 네트워크 데이터(S)의 효과들을 나타낸다. 예를 들어, 두명의 사용자들의 소셜 관계가 가깝거나 강할수록, 두명의 사용자-특징 벡터들이 더 유사하다. 일부 구현들에서, Sik이 클수록, 두 명의 사용자들의 소셜 관계가 가깝거나 강하다. 제 3 항(
Figure pct00007
)은 오버피팅을 방지하는 데 사용된다. 가중치들(λ1 및 λ2)의 값들은 미리 결정될 수 있다. 가중치가 클수록, 목적 함수에 대한 대응하는 항의 영향이 크다.
목적 함수를 최소화하기 위한 위의 최적화 문제는, 예를 들어, 구배 하강 또는 다른 알고리즘에 의해 해결될 수 있다. 예를 들어, 잠재 벡터들(U 및 V)의 도함수를 취하면 다음의 2개의 수식들(2)을 얻을 수 있다.
Figure pct00008
(3)
Figure pct00009
(4)
위의 수식들(3 및 4)에서 U 및 V를 풀기 위해, U 및 S의 알려진 값들을 개별적으로 알 필요 없이, 행렬 곱들(U·diag(S·IM) 및 U·S)의 결과들로 충분하다. 따라서, 행렬 곱들(U·diag(S·IM) 및 U·S)의 결과들을 획득하기 위해 플랫폼 A 및 플랫폼 B에 의해 비밀 공유 방식이 사용될 수 있다. 비밀 공유 방식 하에서, 플랫폼 A는 오리지널 U를 플랫폼 B에 공개하지 않고 조작된 U를 플랫폼 B에 공개할 수 있고; 플랫폼 B는 오리지널 S를 플랫폼 A에 공개하지 않고 조작된 S를 플랫폼 A에 공개할 수 있다.
일부 구현들에서, 비밀 공유 방식은 신뢰할 수 있는 이니셜라이저의 유무에 관계없이 구현될 수 있다. 신뢰할 수 있는 이니셜라이저를 갖는 경우, 공통 초기 포인트가 신뢰할 수 있는 이니셜라이저에 의해 설정되고 2개의 플랫폼들에 전송되어 그들의 데이터 교환을 보조한다. 신뢰할 수 있는 이니셜라이저가 없는 경우, 2개의 플랫폼들은 그들의 데이터 교환을 보조하기 위해 그들 각각의 초기 포인트들로서 난수들을 각각 생성할 수 있다. 플랫폼들은 민감한 개인 정보를 공유하지 않고 협업을 통해 이익을 얻을 수 있다.
도 2는 본 개시내용의 구현에 따라, 플랫폼 A에 의한 추천들을 생성하기 위해 신뢰할 수 있는 이니셜라이저를 사용함 없이 플랫폼 A와 플랫폼 B 사이의 예시적인 비밀 공유 방법(200)을 예시하는 흐름도이다. 플랫폼 A는 도 1에 설명된 플랫폼 A일 수 있고, 플랫폼 B는 도 1에 설명된 플랫폼 B일 수 있다. 일부 구현들에서, 예시적인 비밀 공유 방법은 반복 알고리즘에서 구현될 수 있다. 반복 횟수(T)는 예를 들어, 미리 결정된 값이거나 소정의 기준들(예를 들어, 알고리즘이 수렴 또는 업데이트하는지 여부 또는 상이한 반복들 후에 U 또는 V의 차이들이 임계치 미만인지 여부)에 기초하여 결정될 수 있다. 202에서, 플랫폼 A는 사용자 레이팅 데이터(R) 및 초기 사용자-특징 데이터(U) 및 아이템-특징 데이터(V) 및 반복 횟수(T)를 식별한다. 204에서, 플랫폼 B는 소셜 네트워크 데이터(S)를 식별한다. 208에서, t번째 반복(t<T)에 대해, 플랫폼 A 및 플랫폼 B는 행렬 곱(U·diag(S·IM) 및 U·S)을 획득하기 위해 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 수행할 수 있다. 206에서, 플랫폼 A는 예를 들어, 수식들(3 및 4)에 따라, 행렬 곱(U·(diag)(S·IM) 및 U·S)에 기초하여 U 또는 V를 업데이트한다. T 반복 후에, 210에서, 플랫폼 A 아이템-특징은 업데이트된 사용자-특징 데이터(U) 및 아이템-특징 데이터(V)에 기초하여 추천들을 생성한다.
일부 구현들에서, 행렬(Z)을 행렬(A)과 행렬(B)의 곱이라 하자. 즉 Z = A·B이다. Zij는 i번째 행 및 j번째 열에 있는 Z의 엔트리/엘리먼트를 나타낸다. Zij는 예를 들어, 수식(5)에 따라 컴퓨팅될 수 있다. 행렬 곱(U·diag(S·IM) 및 U·S)이 이루어지며, 예를 들어,
Figure pct00010
(5)이며,
여기서
Figure pct00011
는 행렬 A의 i 번째 행을 나타내고 Bj는 행렬 B의 j번째 열을 나타낸다.
도 3은 본 개시내용의 구현에 따라, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 사용하여 행렬 A와 행렬 B의 곱의 엘리먼트(Zij)를 컴퓨팅하기 위한, 플랫폼 A와 플랫폼 B 간의 예시적인 비밀 공유 방법(300)을 예시하는 흐름도이다. 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 두 플랫폼들은 일련의 단계들 및 컴퓨테이션들에서 신뢰할 수 있는 이니셜라이저의 필요성을 대체할 난수들을 생성한다.
304에서, 플랫폼 A(302)는 행렬 A의 i 번째 행인
Figure pct00012
일 수 있는 초기 벡터
Figure pct00013
를 획득한다. 324에서, 플랫폼 B(322)는 행렬 B의 j번째 열을 나타내는 Bj일 수 있는 초기 벡터
Figure pct00014
를 획득한다. 벡터들(x 및 y)은 2k의 동일한 치수를 가질 수 있다. 벡터들(x 및 y)은 예를 들어, 랜덤 변수들, 모두 제로, 미리 결정된 값들 또는 다른 초기 값들을 포함할 수 있다.
일부 구현들에서, 플랫폼 A 및 플랫폼 B는 k번 루핑(350)함으로써 출력을 컴퓨팅한다. k번째 반복에서, 306에서, 플랫폼 A(302)는 합(aj + cj)이 0이 아니도록 랜덤 값들(aj 및 cj)을 생성한다. 예를 들어, 랜덤 생성 값들(aj 및 cj)은, aj + cj가 308에서 도시된 바와 같이 0이 아닐 때까지 반복적으로 생성될 수 있다. aj + cj가 0이 아닌 것으로 밝혀질 때, 플랫폼 A(302)는, 조작되고 그 후 플랫폼 B(322)로 전송되는 값들을 컴퓨팅한다. 플랫폼 A(302)에 대한 컴퓨팅된 값은 310에서 도시된 바와 같이 pj = aj + cj, x'[ 2j-1] = x[2j-1] + aj 및 x'[ 2j] = x[2j] + cj를 포함(그러나 이에 제한되지 않음)할 수 있다. 311에서, 값들{pj, x'[ 2-1], x'[ 2j]}은 컴퓨테이션을 위해 플랫폼 B(322)로 전송된다. 유사하게, 326에서, 플랫폼 B(322)는 합(bj + dj)이 0이 아니도록 랜덤 값들(bj 및 dj)을 생성한다. 예를 들어, 랜덤 생성 값들(bj 및 dj)은, bj + dj가 328에서 도시된 바와 같이 0이 아닐 때까지 반복적으로 생성될 수 있다. 플랫폼 B(322)에 대한 컴퓨팅된 값은 330에서 도시된 바와 같이 qj = bj + dj, y'[ 2j-1] = y[2j-1] + bj, 및 y'[ 2j] = y[2j] + dj를 포함(그러나 이에 제한되지 않음)할 수 있다. 331에서, 값들{qj, y'[ 2-1], y'[ 2j]}은 컴퓨테이션을 위해 플랫폼 A(302)로 전송된다.
플랫폼이 k 루프에 여전히 있는 동안 서로 조작된 데이터를 전송한 후에, 두 플랫폼은 궁극적으로 출력 값들을 합한 값들을 컴퓨팅한다. 플랫폼 A(302)는 312에 도시된 바와 같이 hj = y'[ 2j-1] (x[2j-1] + 2aj) + y'[ 2j] ( x[2j] + 2cj) + qj (aj + 2cj) 를 컴퓨팅한다. 플랫폼 B(322)는 332에 도시된 바와 같이 gj= x'[ 2j-1] (2y'[ 2j-1] ― bj)+ x'[ 2j] (2y[2j] ― dj) + pj (dj ― 2bj)를 컴퓨팅한다. 314에서, 플랫폼 A(302)는 314에 도시된 바와 같이 hj 모두를 합산함으로써 값 h를 획득하는데, 즉
Figure pct00015
이다. 332에서, 플랫폼 B(322)는 334에 도시된 바와 같이, gj 모두를 합산함으로써 값 g를 획득하는데, 즉
Figure pct00016
이다.
315에서, 플랫폼 A는 플랫폼 B로부터 값 g를 수신할 수 있다. h 및 g의 합은 벡터들(x 및 y)의 곱과 동일하다. 즉, xy = h + g이다. 따라서, 315에서, 플랫폼 A는 플랫폼 B로부터 값 g를 수신한다. 335에서, 플랫폼 A는 플랫폼 B에 값 h를 전송한다. 316에서, 플랫폼 A는 벡터들(x 및 y)의 조작된 데이터인 h 및 g의 합을 컴퓨팅함으로써 벡터들(x 및 y)의 곱을 컴퓨팅할 수 있다. 유사하게, 336에서, 플랫폼 B는 또한 h 및 g의 합을 컴퓨팅함으로써 벡터들(x 및 y)의 곱을 컴퓨팅할 수 있다.
x가 행렬 A의 i번째 행(
Figure pct00017
)일 수 있고, y가 행렬 B의 j번째 열(Bj)일 수 있다는 것을 고려하면, 행렬 A 및 행렬 B의 곱의 엘리먼트(Zij)는
Figure pct00018
로서 획득될 수 있다. 따라서, 행렬 A 및 행렬 B의 행렬 곱 Z가 획득될 수 있다.
행렬 U를 A로 대체하고 diag(S·IM)를 B로 대체함으로써, 행렬 곱 S·diag(S·IM)가 획득될 수 있다. 유사하게, 행렬 U를 A로 대체하고 S를 B로 대체함으로써, 행렬 곱 U·S를 획득될 수 있다. 행렬 곱들(U·diag(S·IM) 및 U·S)을 사용하여, 플랫폼 A는 도 2의 206과 관련하여 설명된 바와 같이, 예를 들어, 수식들(3 및 4)에 따라 U 또는 V를 업데이트할 수 있다.
따라서, 플랫폼 A(302)는 업데이트된 사용자-특징 데이터 및 아이템-특징 데이터에 기초하여 예측된 레이팅 데이터를 생성할 수 있다. 일부 구현들에서, 플랫폼 A(302)는 다른 것들 중에서도, 예측된 레이팅 데이터에 기초하여 특정 고객을 위해 특정 아이템에 대한 추천을 생성할 수 있다. 위에서 설명된 기술 및 컴퓨테이션은 오버헤드로서 신뢰할 수 있는 기관의 필요 없이 달성될 수 있다.
도 4는 일 구현에 따라, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 사용하여 아이템 레이팅 및 추천 플랫폼에 의해 사용자에 대한 추천을 생성하기 위한 예시적인 방법(400)의 흐름도이다. 설명을 명료하게 하기 위해, 이어지는 설명은 이 설명의 다른 도면들의 맥락에서 방법(400)을 일반적으로 설명한다. 예를 들어, 아이템 레이팅 및 추천 플랫폼은 도 1 내지 도 3과 관련하여 설명된 바와 같은 플랫폼 A일 수 있다. 그러나, 방법(400)은 예를 들어, 임의의 적합한 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템들, 환경들, 소프트웨어 및 하드웨어의 조합에 의해 적절히 수행될 수 있다는 것이 이해될 것이다. 일부 구현들에서, 방법(400)의 다양한 단계들은 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
402에서, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅을 포함(그러나 이에 제한되지 않음)하는 레이팅 데이터가 아이템 레이팅 및 추천 플랫폼에 의해 식별된다. 레이팅 데이터를 식별하는 것은 (예를 들어, 다른 디바이스로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력들에 기초하여 레이팅 데이터를 결정하는 것을 포함한다. 레이팅 데이터는 도 1 내지 도 3과 관련하여 설명된 레이팅 데이터(R)를 포함할 수 있다. 예를 들어, 레이팅 데이터는 아이템들에 대한 기존 사용자 활동들에 기초하여 실제 레이팅 또는 맵핑된 레이팅을 포함할 수 있다. 402로부터, 방법(400)은 404로 진행된다.
404에서, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 사용자 특징들을 포함하는 사용자-특징 데이터가 아이템 레이팅 및 추천 플랫폼에 의해 식별된다. 사용자-특징 데이터를 식별하는 것은 (예를 들어, 다른 디바이스로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력들에 기초하여 사용자-특징 데이터를 결정하는 것을 포함한다. 일부 구현들에서, 사용자-특징 데이터는 행렬 U에 의해 표현될 수 있다. 사용자-특징 데이터는 도 1 내지 도 3과 관련하여 설명된 사용자-특징 데이터(U)를 포함할 수 있다. 404로부터, 방법(400)은 단계 406으로 진행된다.
406에서, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 아이템 특징들을 포함하는 아이템-특징 데이터가 아이템 레이팅 및 추천 플랫폼에 의해 식별된다. 일부 구현들에서, 아이템-특징 데이터를 식별하는 것은 (예를 들어, 다른 디바이스로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력들에 기초하여 아이템-특징 데이터를 결정하는 것을 포함한다. 아이템-특징 데이터는 도 1 내지 도 3과 관련하여 설명된 아이템-특징 데이터(V)를 포함할 수 있다. 406으로부터, 방법(400)은 408로 진행된다.
408에서, 아이템 레이팅 및 추천 플랫폼은 소셜 네트워크 플랫폼으로부터의 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터의 소셜 네트워크 데이터(예를 들어, 소셜 네트워크 데이터 행렬(S)의 벡터인 y)에 기초하여 컴퓨팅된 다수의 조작된 소셜 네트워크 데이터(예를 들어, 도 3과 관련하여 설명된 g)를 수신한다. 추가로, 소셜 네트워크 데이터는 다수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시한다. 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터(예를 들어, y)를 공개함 없이, 다수의 조작된 소셜 네트워크 데이터(예를 들어, g)를 아이템 레이팅 및 추천 플랫폼과 공유하며, 여기서, 조작된 소셜 네트워크 데이터는 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들(예를 들어, bj, dj)에 기초하여 컴퓨팅된다. 일부 구현들에서, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 아이템 레이팅 및 추천 플랫폼은, 사용자-특징 데이터(예를 들어, 사용자-특징 데이터 행렬(U)의 벡터인 x)를 공개함 없이, 다수의 조작된 사용자-특징 데이터(예를 들어, h)를 소셜 네트워크 플랫폼과 공유하며, 여기서 다수의 조작된 사용자-특징 데이터는 사용자-특징 데이터 및 제 2 다수의 랜덤 변수들(예를 들어, aj, cj)에 기초하여 컴퓨팅된다. 일부 구현들에서, 조작된 소셜 네트워크 데이터는 조작된 소셜 네트워크 데이터로부터 오리지널 소셜 네트워크 데이터가 복원될 수 없도록 조작된다.
일부 구현들에서, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식은 예를 들어, 도 3과 관련하여 설명된 바와 같이 수식(2)과 관련하여 설명된 바와 같은 최적화 문제를 해결하기 위해 사용된다. 예를 들어, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 아이템 레이팅 및 추천 플랫폼은 사용자-특징 데이터의 벡터(예를 들어, x)를 획득하고, 사용자-특징 데이터의 벡터(예를 들어, x)에 기초하여 제 1 조작된 사용자-특징 데이터(예를 들어, x') 및 제 2 다수의 랜덤 변수들(예를 들어, aj, cj)을 생성한다. 아이템 레이팅 및 추천 플랫폼은 제 1 조작된 사용자-특징 데이터(예를 들어, x')를 소셜 네트워크 플랫폼에 전송하고, 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터(예를 들어, y) 및 제 1 다수의 랜덤 변수들(예를 들어, bj, dj)에 기초하여 컴퓨팅된 제 1 조작된 소셜 네트워크 데이터(예를 들어, y')를 수신한다.
아이템 레이팅 및 추천 플랫폼은 제 1 조작된 사용자-특징 데이터(예를 들어, x'), 제 1 조작된 소셜 네트워크 데이터(예를 들어, y'), 또는 제 2 다수의 랜덤 변수들(예를 들어, aj, cj) 중 둘 이상에 기초하여 조작된 사용자-특징 데이터 중 하나(예를 들어, h)를 생성할 수 있다. 유사하게, 소셜 네트워크 플랫폼은, 제 1 조작된 사용자-특징 데이터(예를 들어, x'), 제 1 조작된 소셜 네트워크 데이터(예를 들어, y'), 또는 제 1 다수의 랜덤 변수들(예를 들어, bj, dj) 중 둘 이상에 기초하여 컴퓨팅된 조작된 소셜 네트워크 데이터 중 하나(예를 들어, g)를 생성할 수 있다. 408로부터, 방법(400)은 410으로 진행된다.
410에서, 아이템 레이팅 및 추천 플랫폼은 예를 들어, 도 3과 관련하여 설명된 바와 같이, 사용자-특징 데이터(예를 들어, x 또는 U의 임의의 벡터)를 공개함 없이 소셜 네트워크 플랫폼에 다수의 조작된 사용자-특징 데이터(예를 들어, 다수의 h)를 전송한다. 410로부터, 방법(400)은 412로 진행된다.
412에서, 아이템 레이팅 및 추천 플랫폼은 레이팅 데이터 및 다수의 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트한다. 일부 구현들에서, 사용자-특징 데이터를 업데이트하는 것은 다수의 조작된 사용자-특징 데이터 중 하나(예를 들어, h) 및 다수의 조작된 소셜 네트워크 데이터 중 하나(예를 들어, g)의 합을 컴퓨팅함으로써 사용자-특징 데이터 및 소셜 네트워크 데이터의 곱을 컴퓨팅하는 것을 포함한다. 추가로, 언급된 컴퓨테이션은, 사용자-특징 데이터 및 소셜 네트워크 데이터의 곱에서의 각각의 엔트리 마다, 소셜 네트워크 데이터 없이, 다수의 조작된 사용자-특징 데이터 중 하나 및 다수의 조작된 소셜 네트워크 데이터 중 하나를 컴퓨팅하는 것을 포함할 수 있다. 일부 구현들에서, 사용자-특징 데이터를 업데이트하는 것은, 예를 들어, 수식(2)에서 도시된 바와 같이, 예측된 레이팅 데이터와 레이팅 데이터 간의 차이, 소셜 네트워크 데이터에 의해 가중된 사용자-특징 데이터 및 오버피팅-방지 항(overfitting-preventing term)의 가중된 합을 최소화하도록 최적화 문제를 해결하는 것을 포함한다. 일부 구현들에서, 사용자 특징 데이터를 업데이트하는 것은 도 3과 관련하여 설명된 예시적인 기술들에 따라 사용자-특징 데이터를 업데이트하는 것을 포함한다. 412로부터, 방법(400)은 414로 진행된다.
414에서, 아이템 레이팅 및 추천 플랫폼은 예를 들어, 도 3과 관련하여 설명된 예시적인 기술들에 따라, 레이팅 데이터 및 사용자-특징 데이터에 기초하여 아이템-특징 데이터를 업데이트한다. 414로부터, 방법(400)은 416으로 진행된다.
416에서, 사용자-특징 데이터 및 아이템-특징 데이터의 곱에 기초하여 다수의 사용자들에 대한 다수의 아이템들의 예측된 레이팅 데이터가 생성된다. 일부 구현들에서, 예측된 레이팅 데이터는 예를 들어, 수식(1)에 따라, 사용자-특징 데이터 및 아이템-특징 데이터의 곱에 기초하여 생성될 수 있다. 일부 구현들에서, 생성된 레이팅은 소셜 네트워크의 통합으로 인해 사용자의 요구들 또는 선호도들에 더 잘 동조될 수 있다. 416로부터, 방법(400)은 418로 진행된다
418에서, 예측된 레이팅 데이터에 기초하여 특정 사용자에 대한 특정 아이템의 추천이 생성된다. 일부 구현들에서, 특정 사용자에 대해 최고(top) 예측 레이팅들을 갖는 하나 이상의 아이템들이 특정 사용자에게 추천될 수 있다. 특정 아이템의 추천은 영화 또는 쇼핑 아이템의 추천일 수 있다. 예를 들어, 소셜 네트워크 데이터에 기초하여 NETFLIX는 영화를 더 잘 추천할 수 있거나, 또는 AMAZON은 기초한 아이템을 더 잘 추천할 수 있다. 일부 구현들에서, 특정 아이템에 대한 특정 아이템의 추천은, 예를 들어, 사용자 인터페이스(UI)를 통해 출력될 수 있다. 일부 구현들에서, 선택된 토픽들은 그래픽 사용자 인터페이스(GUI) 또는 사용자의 검토 및 고려를 위한 다른 UI 내의 대화 상자, 팝 창 등에 디스플레이될 수 있다. 418로부터, 방법(400)이 중지된다.
도 5는 일 구현에 따라, 본 개시내용에서 설명된 바와 같은 설명된 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들과 연관된 컴퓨테이셔널 기능성들을 제공하기 위해 사용되는 예시적인 컴퓨터 시스템(500)의 블록도이다. 예시된 컴퓨터(502)는, 컴퓨팅 디바이스의 물리적 또는 가상 인스턴스들(또는 둘 모두)을 포함하는 임의의 컴퓨팅 디바이스, 이를테면, 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트 폰, PDA(personal data assistant), 태블릿 컴퓨팅 디바이스, 이들 디바이스 내의 하나 이상의 프로세서들 또는 임의의 다른 적합한 프로세싱 디바이스를 포괄하도록 의도된다. 부가적으로, 컴퓨터(502)는, 키패드, 키보드, 터치 스크린, 또는 사용자 정보를 수용할 수 있는 다른 디바이스와 같은 입력 디바이스, 및 디지털 데이터, 시각적 또는 오디오 정보(또는 정보의 조합)를 포함한, 컴퓨터(502)의 동작과 연관된 정보를 전달하는 출력 디바이스, 또는 그래픽-유형 사용자 인터페이스(UI)(또는 GUI)를 포함하는 컴퓨터를 포함할 수 있다.
컴퓨터(502)는 본 개시내용에서 설명된 청구 대상을 수행하기 위한 컴퓨터 시스템의 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 다른 지속성(persistency), 또는 임의의 다른 컴포넌트로서의 역할(또는 역할들의 조합)을 수행할 수 있다. 예시된 컴퓨터(502)는 네트워크(530)와 통신 가능하게 커플링된다. 일부 구현들에서, 컴퓨터(502)의 하나 이상의 컴포넌트는 클라우드-컴퓨팅-기반, 로컬, 글로벌 또는 다른 환경을 포함하는 환경들(또는 환경들의 조합) 내에서 동작하도록 구성될 수 있다.
높은 레벨에서, 컴퓨터(502)는 설명된 청구 대상과 연관된 데이터 및 정보를 수신, 송신, 프로세싱, 저장 또는 관리하도록 동작 가능한 전자 컴퓨팅 디바이스이다. 일부 구현들에 따라, 컴퓨터(502)는 또한, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 또는 다른 서버(또는 서버들의 조합)를 포함하거나 이들과 통신 가능하게 커플링될 수 있다.
컴퓨터(502)는 (예를 들어, 다른 컴퓨터(502) 상에서 실행중인) 클라이언트 애플리케이션으로부터 네트워크(530)를 통해 요청들을 수신하고 적절한 소프트웨어 애플리케이션(들)을 사용하여 수신된 요청들을 프로세싱함으로써 수신된 요청들에 응답할 수 있다. 게다가, 요청들은 또한 (예를 들어, 커맨드 콘솔로부터 또는 다른 적절한 액세스 방법에 의해) 내부 사용자들, 외부 또는 제 3 자의 다른 자동화된 애플리케이션들, 및 임의의 다른 적절한 엔티티들, 개인들, 시스템들 또는 컴퓨터들로부터 컴퓨터(502)로 전송될 수 있다.
컴퓨터(502)의 컴포넌트들 각각은 시스템 버스(503)를 사용하여 통신할 수 있다. 일부 구현들에서, 컴퓨터(502)의 컴포넌트들, 하드웨어 또는 소프트웨어(또는 하드웨어 및 소프트웨어 둘 모두의 조합) 중 전부 또는 임의의 것은 애플리케이션 프로그래밍 인터페이스(API)(512) 또는 서비스 층(513)(또는 API(512) 및 서비스 층(513)의 조합)을 사용하여 시스템 버스(503)를 통해 서로 또는 인터페이스(504)(또는 이 둘의 조합)와 인터페이싱할 수 있다. API(512)는 루틴들, 데이터 구조들 및 객체 클래스들에 대한 규격들을 포함할 수 있다. API(512)는 컴퓨터-언어 독립형 또는 의존형일 수 있고 완전한 인터페이스, 단일 기능 또는 심지어 API들의 세트를 지칭할 수 있다. 서비스 층(513)은 컴퓨터(502) 또는 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)에 소프트웨어 서비스들을 제공한다. 컴퓨터(502)의 기능성은 이 서비스 층을 사용하는 모든 서비스 소비자들이 액세스 가능할 수 있다. 서비스 층들(513)에 의해 제공되는 것들과 같은 소프트웨어 서비스들은 정의된 인터페이스를 통해 재사용 가능한 정의된 기능성들을 제공한다. 예를 들어, 인터페이스는 JAVA, C++ 또는 XML(extensible markup language) 포맷 또는 다른 적절한 포맷의 데이터를 제공하는 다른 적합한 언어로 작성된 소프트웨어일 수 있다. 컴퓨터(502)의 통합된 컴포넌트로서 예시되지만, 대안적인 구현들은 컴퓨터(502)의 다른 컴포넌트들 또는 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트들(예시되든 예시되지 않든 간에)과 관련하여 자립형 컴포넌트들로서 API(512) 또는 서비스 층(513)을 예시한다. 또한, API(512) 또는 서비스 층(513)의 임의의 또는 모든 부분들은 본 개시내용의 범위를 벗어나지 않고 다른 소프트웨어 모듈, 엔터프라이즈 애플리케이션 또는 하드웨어 모듈의 차일드(child) 또는 서브모듈들로서 구현될 수 있다.
컴퓨터(502)는 인터페이스(504)를 포함한다. 도 5에서 단일 인터페이스(504)로 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따라 둘 이상의 인터페이스들(504)이 사용될 수 있다. 인터페이스(504)는 컴퓨터(502)에 의해, 분산된 환경에서 네트워크(530)에 연결된 다른 시스템들(예시되든 예시되지 않든 간에)과의 통신을 위해 사용된다. 일반적으로, 인터페이스(504)는 소프트웨어 또는 하드웨어(또는 소프트웨어 및 하드웨어의 조합)로 인코딩된 로직을 포함하고 네트워크(530)와 통신하도록 동작 가능하다. 보다 구체적으로, 인터페이스(504)는 네트워크(530) 또는 인터페이스의 하드웨어가 예시된 컴퓨터(502) 내에 그리고 그 외부에서 물리적 신호들을 통신하게 동작 가능하도록 통신들과 연관된 하나 이상의 통신 프로토콜들을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(502)는 프로세서(505)를 포함한다. 도 5에서 단일 프로세서(505)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따라 둘 이상의 프로세서들이 사용될 수 있다. 일반적으로, 프로세서(505)는 본 개시내용에서 설명된 바와 같은 컴퓨터(502)의 동작들 및 임의의 알고리즘들, 방법들, 기능들, 프로세스들, 흐름들 및 절차들을 수행하도록 명령들을 실행하고 데이터를 조작한다.
컴퓨터(502)는 또한 네트워크(530)에 연결될 수 있는 컴퓨터(502) 또는 다른 컴포넌트(또는 둘의 조합)(예시되든 예시되지 않든 간에)에 대한 데이터를 보유할 수 있는 데이터베이스(506)를 포함한다. 예를 들어, 데이터베이스(506)는 본 개시내용과 부합하는 데이터를 저장하는 인-메모리, 종래의 또는 다른 유형의 데이터베이스일 수 있다. 일부 구현들에서, 데이터베이스(506)는 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 데이터베이스 유형들(예를 들어, 하이브리드 인-메모리 및 종래의 데이터베이스)의 조합일 수 있다. 도 5에서 단일 데이터베이스(506)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, (동일한 또는 유형들의 조합의) 둘 이상의 데이터베이스들이 사용될 수 있다. 데이터베이스(506)가 컴퓨터(502)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 데이터베이스(506)는 컴퓨터(502) 외부에 있을 수 있다. 예시된 바와 같이, 데이터베이스(506)는 이전에 설명된 레이팅 데이터(516), 사용자-특징 데이터(518), 아이템-특징 데이터(526) 및 소셜 네트워크 데이터(528)를 보유한다.
컴퓨터(502)는 또한 네트워크(530)에 연결될 수 있는 컴퓨터(502) 또는 다른 컴포넌트(또는 둘의 조합)(예시되든 예시되지 않든 간에)에 대한 데이터를 보유할 수 있는 메모리(507)를 포함한다. 메모리(507)는 본 개시내용과 부합하는 임의의 데이터를 저장할 수 있다. 일부 구현들에서, 메모리(507)는 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, 둘 이상의 상이한 유형의 메모리의 조합(예를 들어, 반도체 및 자기 스토리지의 조합)일 수 있다. 도 5에서 단일 메모리(507)로서 예시되지만, 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들 및 설명된 기능성에 따라, (동일한 또는 유형들의 조합의) 둘 이상의 메모리들(507)이 사용될 수 있다. 메모리(507)가 컴퓨터(502)의 통합 컴포넌트로서 예시되지만, 대안적인 구현들에서, 메모리(507)는 컴퓨터(502) 외부에 있을 수 있다.
애플리케이션(508)은 특히, 본 개시내용에 설명된 기능성과 관련하여 특정 요구들, 바램들 또는 컴퓨터(502)의 특정 구현들에 따른 기능성을 제공하는 알고리즘 소프트웨어 엔진이다. 예를 들어, 애플리케이션(508)은 하나 이상의 컴포넌트들, 모듈들 또는 애플리케이션들로서 역할을 할 수 있다. 또한, 단일 애플리케이션(508)으로서 예시되지만, 애플리케이션(508)은 컴퓨터(502) 상에서 다수의 애플리케이션들(508)로서 구현될 수 있다. 게다가, 컴퓨터(502)와 일체형인 것으로서 예시되지만, 대안적인 구현들에서, 애플리케이션(508)는 컴퓨터(502) 외부에 있을 수 있다.
컴퓨터(502)는 또한 전력 공급기(514)를 포함할 수 있다. 전력 공급기(514)는 사용자-교체 가능 또는 사용자-교체 불가능하도록 구성될 수 있는 재충전 가능 또는 재충전 불가능 배터리를 포함할 수 있다. 일부 구현들에서, 전력 공급기(514)는 (재충전, 대기 또는 다른 전력 관리 기능성을 포함하는) 전력-변환 또는 관리 회로들을 포함할 수 있다. 일부 구현들에서, 전력 공급기(514)는 예를 들어, 컴퓨터(502)에 전력을 공급하거나 재충전 가능 배터리를 재충전하기 위해 컴퓨터(502)가 벽 소켓 또는 다른 전원에 플러깅될 수 있게 하기 위한 전력 플러그를 포함할 수 있다.
컴퓨터(502)를 포함하는 컴퓨터 시스템과 연관되거나 그의 외부에 있는 임의의 수의 컴퓨터들(502)(각각의 컴퓨터(502)는 네트워크(530)를 통해 통신함)이 존재할 수 있다. 또한, 용어 "클라이언트", "사용자" 및 다른 적절한 용어는 본 개시내용의 범위를 벗어나지 않고 적절히 상호 교환 가능하게 사용될 수 있다. 또한, 본 개시내용은 다수의 사용자들이 하나의 컴퓨터(502)를 사용할 수 있거나 한 사용자가 다수의 컴퓨터들(502)를 사용할 수 있다는 것을 고려한다.
청구 대상의 설명된 구현들은 하나 이상의 특징들을 단독으로 또는 조합하여 포함할 수 있다.
예를 들어, 제 1 구현에서, 컴퓨터-구현 방법은, 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들을 포함할 레이팅 데이터를 식별하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 단계; 신뢰할 수 있는 이니셜라이저(trusted initializer) 없는 비밀 공유 방식을 통해 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들에 기초하여 컴퓨팅된 다수의 조작된 소셜 네트워크 데이터를 수신하는 단계 ― 소셜 네트워크 데이터는 다수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개함 없이, 다수의 조작된 소셜 네트워크 데이터를 아이템 레이팅 및 추천 플랫폼과 공유함 ― ; 및 아이템 레이팅 및 추천 플랫폼에 의해, 레이팅 데이터 및 다수의 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트하는 단계를 포함한다.
제 2 구현에서, 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체가 제공되며, 이 동작들은, 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들을 포함할 레이팅 데이터를 식별하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 단계; 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들에 기초하여 컴퓨팅된 다수의 조작된 소셜 네트워크 데이터를 수신하는 단계 ― 소셜 네트워크 데이터는 다수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개함 없이, 다수의 조작된 소셜 네트워크 데이터를 아이템 레이팅 및 추천 플랫폼과 공유함 ― ; 및 아이템 레이팅 및 추천 플랫폼에 의해, 레이팅 데이터 및 다수의 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트하는 단계를 포함한다.
제 3 구현에서, 하나 이상의 컴퓨터들; 및 하나 이상의 컴퓨터들과 상호 동작 가능하게 커플링되고 명령들을 저장한 유형의 비-일시적인 머신-판독 가능 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스들을 포함하는 컴퓨터-구현 시스템이 제공되며, 이 명령들은, 하나 이상의 컴퓨터들에 의해 실행될 때, 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들을 포함할 레이팅 데이터를 식별하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 단계; 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들에 기초하여 컴퓨팅된 다수의 조작된 소셜 네트워크 데이터를 수신하는 단계 ― 소셜 네트워크 데이터는 다수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개함 없이, 다수의 조작된 소셜 네트워크 데이터를 아이템 레이팅 및 추천 플랫폼과 공유함 ― ; 및 아이템 레이팅 및 추천 플랫폼에 의해, 레이팅 데이터 및 다수의 조작된 소셜 네트워크 데이터에 기초하여 사용자-특징 데이터를 업데이트하는 단계를 포함하는 동작들을 수행한다.
및 다른 설명된 구현들은 각각, 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다:
다음의 특징들 중 임의의 것과 결합 가능한 제 1 특징에 있어서, 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 아이템 레이팅 및 추천 플랫폼은 사용자-특징 데이터를 공개함 없이 다수의 조작된 사용자-특징 데이터를 소셜 네트워크 플랫폼과 공유하고, 다수의 조작된 사용자-특징 데이터는 사용자-특징 데이터 및 제 2 다수의 랜덤 변수들에 기초하여 컴퓨팅된다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 2 특징에 있어서, 사용자-특징 데이터를 업데이트하는 단계는 다수의 조작된 사용자-특징 데이터 중 하나 및 다수의 조작된 소셜 네트워크 데이터 중 하나의 합에 기초하여 사용자-특징 데이터 및 소셜 네트워크 데이터의 곱을 컴퓨팅하는 단계를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 3 특징에 있어서, 소셜 네트워크 데이터 없이 다수의 조작된 사용자-특징 데이터 중 하나 및 다수의 조작된 소셜 네트워크 데이터 중 하나의 합을 컴퓨팅함으로써 사용자-특징 데이터 및 소셜 네트워크 데이터의 곱을 컴퓨팅하는 단계는, 사용자-특징 데이터 및 소셜 네트워크 데이터의 곱에서의 각각의 엔트리 마다, 소셜 네트워크 데이터 없이, 복수의 조작된 사용자-특징 데이터 중 하나 및 복수의 조작된 소셜 네트워크 데이터 중 하나를 컴퓨팅하는 단계를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 4 특징에 있어서, 방법 또는 동작들은, 다수의 사용자들에 대한 다수의 아이템들의 각각의 레이팅들에 기여하는 다수의 아이템 특징들을 포함하는 아이템-특징 데이터를 식별하는 단계 포함할 사용자-특징 데이터 및 아이템-특징 데이터의 곱은 레이팅 데이터의 추정치를 발생시킴 ― ; 및 레이팅 데이터, 사용자-특징 데이터 및 다수의 조작된 복수의 소셜 네트워크 데이터에 기초하여 아이템-특징 데이터를 업데이트하는 단계를 더 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 5 특징에 있어서, 방법 또는 동작들은, 사용자-특징 데이터 및 아이템-특징 데이터의 곱에 기초하여 다수의 사용자들에 대한 다수의 아이템들의 예측된 레이팅 데이터를 생성하는 단계; 및 예측된 레이팅 데이터에 기초하여 특정 고객에 대해 특정 아이템의 추천을 생성하는 단계를 더 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 6 특징에 있어서, 사용자-특징 데이터를 업데이트하는 단계는 예측된 레이팅 데이터와 레이팅 데이터 간의 차이, 소셜 네트워크 데이터에 의해 가중된 사용자-특징 데이터 및 오버피팅-방지 항의 가중된 합을 최소화하도록 최적화 문제를 해결하는 단계를 포함한다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 7 특징에 있어서, 최적화 문제를 해결하는 단계는 수식을 푸는 단계를 포함하고:
Figure pct00019
여기서, Ui는 사용자 i에 대응하는 사용자-특징 데이터의 벡터를 나타내고; Vj는 아이템 j에 대응하는 아이템-특징 데이터의 벡터를 나타내고; Rij는 사용자 i에 의한 아이템 j의 레이팅을 나타내고; Sik는 사용자 i와 사용자 k 간의 소셜 관계를 나타내고; λ1은 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내고; λ2는 오버피팅을 방지하기 위해 미리 정의된 가중치를 나타낸다.
이전의 또는 다음의 특징들 중 임의의 것과 결합 가능한 제 8 특징에 있어서, 방법 또는 동작들은 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 아이템 레이팅 및 추천 플랫폼에 의해, 사용자-특징 데이터의 벡터를 획득하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 사용자-특징 데이터의 벡터 및 제 2 다수의 랜덤 변수들에 기초하여 제 1 조작된 사용자-특징 데이터를 생성하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 제 1 조작된 사용자-특징 데이터를 소셜 네트워크 플랫폼에 송신하는 단계; 아이템 레이팅 및 추천 플랫폼에 의해, 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 다수의 랜덤 변수들에 기초하여 컴퓨팅된 제 1 조작된 소셜 네트워크 데이터를 수신하는 단계; 및 아이템 레이팅 및 추천 플랫폼에 의해, 제 1 조작된 사용자-특징 데이터, 제 1 조작된 소셜 네트워크 데이터, 또는 제 2 다수의 랜덤 변수들 중 둘 이상에 기초하여 조작된 사용자-특징 데이터 중 하나를 생성하는 단계를 더 포함한다.
본 명세서에서 설명된 청구대상 및 기능적 동작들의 구현들은, 본 명세서에서 개시된 구조들 및 그들의 구조적 등가물들을 포함하는 디지털 전자 회로로, 유형으로 구체화되는 컴퓨터 소프트웨어로 또는 펌웨어로, 컴퓨터 하드웨어로, 또는 그들 중 하나 이상의 조합들로 구현될 수 있다. 설명된 청구 대상의 소프트웨어 구현들은, 데이터 프로세싱 장치에 의한 실행을 위해, 또는 데이터 프로세싱 장치의 동작을 제어하기 위해, 유형의 비-일시적인 컴퓨터-판독 가능 컴퓨터-저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 부가적으로, 프로그램 명령들은, 데이터 프로세싱 장치에 의한 실행을 위해 적합한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성되는, 인위적으로 생성된 전파된 신호, 예를 들어, 머신-생성 전기, 광학 또는 전자기 신호 상에/그 내에 인코딩될 수 있다. 컴퓨터-저장 매체는 머신-판독 가능 저장 디바이스, 머신-판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터-저장 매체들의 조합일 수 있다. 하나 이상의 컴퓨터들을 구성하는 것은, 소프트웨어가 하나 이상의 컴퓨터들에 의해 실행될 때 특정 컴퓨팅 동작들이 수행되도록 하나 이상의 컴퓨터들에 하드웨어, 펌웨어 또는 소프트웨어(또는 하드웨어, 펌웨어 및 소프트웨어의 조합들)가 설치되었음을 의미한다.
"실-시간", "실 시간", "실시간", "RFT(real fast time)", "NRT(near(ly) real-time)", "준 실-시간" 또는 (당업자에 의해 이해되는 바와 같은) 유사한 용어들은, 액션 및 반응이 시간적으로 근접하여서 개인이 액션 및 반응을 실질적으로 동시에 발생하는 것으로 지각한다는 것을 의미한다. 예를 들어, 데이터에 액세스하기 위한 개인의 액션에 이은 데이터의 디스플레이까지의 응답에 대한(또는 디스플레이의 초기화에 대한) 시간 차이는 1ms 미만, 1 초 미만 또는 5 초 미만일 수 있다. 요청된 데이터는 즉시 디스플레이(또는 디스플레이를 위해 초기화)될 필요는 없지만, 그것은 설명된 컴퓨팅 시스템의 프로세싱 제한들 및 예를 들어, 데이터를 수집하고, 정확하게 측정하고, 분석하고, 프로세싱하고, 저장하거나 또는 송신하는데 요구되는 시간을 고려하여 어떠한 의도적인 지연도 없이 디스플레이(또는 디스플레이를 위해 초기화)된다.
"데이터 프로세싱 장치", "컴퓨터" 또는 "전자 컴퓨터 디바이스"(또는 당업자에 의해 이해되는 바와 같은 등가물)이라는 용어는 데이터 프로세싱 하드웨어를 지칭하고, 예로서, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서들 또는 컴퓨터들을 포함하는, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스 및 머신들을 포괄한다. 장치는 또한, 예를 들어, 중앙 처리 장치(CPU), FPGA(field programmable gate array), 또는 an ASIC(application specific integrated circuit)와 같은 특수 목적 논리 회로일 수 있거나 이를 더 포함할 수 있다. 일부 구현들에서, 데이터 프로세싱 장치 또는 특수 목적 로직 회로(또는 데이터 프로세싱 장치 또는 특수 목적 로직 회로의 조합)는 하드웨어-기반 또는 소프트웨어-기반(또는 하드웨어-기반 및 소프트웨어-기반의 조합)일 수 있다. 장치는 컴퓨터 프로그램들에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시내용은 종래의 운영 체제들 예를 들어, 리눅스, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS 또는 임의의 다른 적합한 종래의 운영 체제를 갖거나 갖지 않는 데이터 프로세싱 장치의 사용을 고려한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로서 또한 지칭되거나 설명될 수 있는 컴퓨터 프로그램은 컴파일되거나 인터프리팅된 언어들, 선언형 또는 절차형 언어들을 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 그것은 자립형 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함한 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 대응할 필요는 없을 수 있다. 프로그램은, 다른 프로그램들 또는 데이터 예를 들어, 마크업 언어 문서에 저장되는 하나 이상의 스크립트들을 보유하는 파일의 부분에, 해당 프로그램에 전용된 단일 파일에, 또는 다수의 통합형 파일들 예를 들어, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 부분들을 저장하는 파일들에 저장될 수 있다. 컴퓨터 프로그램은 하나의 사이트에 위치되거나 다수의 사이트들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결되는 다수의 컴퓨터들 상에서 실행되거나 또는 하나의 컴퓨터 상에서 실행되도록 전개될 수 있다.
다양한 도면들에 예시된 프로그램들의 부분들은 다양한 객체들, 방법들 또는 다른 프로세스들을 통해 다양한 특징들 및 기능성을 구현하는 개별 모듈로서 도시되지만, 프로그램들은 다수의 서브-모듈들, 제 3 자 서비스들, 컴포넌트들, 라이브러들 등을 적절히 대신 포함할 수 있다. 반대로, 다양한 컴포넌트들의 특징들 및 기능성은 단일 컴포넌트로 적절히 결합될 수 있다. 컴퓨테이셔널 결정들을 내리는 데 사용되는 임계치들은 정적으로, 동적으로 또는 정적 및 동적 둘 모두로 결정될 수 있다.
본 명세서에서 설명된 방법들, 프로세스들 또는 로직 흐름들은 입력 데이터를 조작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍 가능 컴퓨터들에 의해 수행될 수 있다. 방법들, 프로세스들 또는 로직 흐름들은 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC에 의해 수행될 수 있고, 장치는 또한 특수 목적 로직 회로, 예를 들어 CPU, FPGA 또는 ASIC로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 범용 또는 특수 목적 마이크로프로세서들, 둘 모두 또는 임의의 다른 종류의 CPU에 기초할 수 있다. 일반적으로, CPU는 명령 및 데이터를 메모리로부터 수신하고 메모리에 기록할 것이다. 컴퓨터의 필수 엘리먼트들은 명령들을 수행하거나 실행하기 위한 CPU 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들 또는 광학 디스크들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하거나, 또는 둘 모두를 수행하도록 동작 가능하게 커플링되거나, 또는 이들을 포함할 것이다. 그러나 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 몇 개만 언급하면, 모바일 전화, 개인용 디지털 보조기기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기 또는 휴대용 저장 디바이스, 예를 들어 범용 직렬 버스(USB) 플래시 드라이브에 임베딩될 수 있다.
컴퓨터 프로그램 명령들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체(적절하게, 일시적 또는 비-일시적)는, 예로서 반도체 메모리 디바이스, 예를 들어, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 상변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 소거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM), 전기적 소거 가능 프로그래밍 가능 판독 전용 메모리(EEPROM) 및 플래시 메모리 디바이스들; 자기 디바이스들, 예를 들어 테이프, 카트리지들, 카세트들, 내부/이동식 디스크들; 광자기 디스크들; 광학 메모리 디바이스들, 예를 들어, 다지털 다용도 디스크(DVD), CD ROM, DVD +/- R, DVD-RAM, DVD-ROM, HD-DVD 및 BLURAY 및 다른 광학 메모리 기술들을 포함한, 모든 형태의 영구적/비-영구적 또는 휘발성/비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 메모리는 캐시들, 클래스들, 프레임 워크들, 애플리케이션들, 모듈들, 백업 데이터, 잡(job)들, 웹 페이지들, 웹 페이지 템플릿들, 데이터 구조들, 데이터베이스 테이블들, 동적 정보를 저장하는 저장소들, 및 임의의 파라미터들, 변수들, 알고리즘들, 명령들, 규칙들, 제약들 또는 이들에 대한 참조들을 포함하는 임의의 다른 적절한 정보를 포함하는 다양한 객체들 또는 데이터를 저장할 수 있다. 부가적으로, 메모리는 로그들, 정책들, 보안 또는 액세스 데이터, 보고 파일들 등과 같은 임의의 다른 적절한 데이터를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 또는 거기에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 명세서에 설명된 발명의 대상의 구현들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 음극선관(CRT), 액정 디스플레이(LCD), 발광 다이오드(LED) 또는 플라스마 모니터, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어 마우스, 트랙볼, 또는 트랙패드를 갖는 컴퓨터 상에서 구현될 수 있다. 입력은 또한, 압력 민감도를 갖는 태블릿 컴퓨터 표면, 용량성 또는 전기적 감지를 사용하는 멀티-터치 스크린 또는 다른 유형의 터치스크린과 같은 터치 스크린을 사용하여 컴퓨터에 제공될 수 있다. 다른 종류들의 디바이스들은 또한, 사용자와의 상호작용을 제공하기 위해 사용될 수 있으며, 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감지 피드백, 예를 들어, 시각적인 피드백, 청각적인 피드백, 또는 촉각적인 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가하여, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 이 디바이스로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 대한 응답으로 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 사용자와 상호작용할 수 있다.
"그래픽 사용자 인터페이스" 또는 "GUI"라는 용어는 하나 이상의 그래픽 사용자 인터페이스 및 특정 그래픽 사용자 인터페이스의 디스플레이들 각각을 설명하기 위해 단수 또는 복수로 사용될 수 있다. 따라서, GUI는, 정보를 프로세싱하고 정보 결과들을 사용자에게 효율적으로 제시하는 웹 브라우저, 터치 스크린 또는 커맨드 라인 인터페이스(CLI)를 포함(그러나 이에 제한되지 않음)하는 임의의 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 상호작용 필드들, 풀-다운 리스트들 및 버튼들과 같은 다수의 사용자 인터페이스(UI) 엘리먼트들을 포함할 수 있으며, 이들 중 일부 또는 전부는 웹 브라우저들과 연관된다. 이들 및 다른 UI 엘리먼트들은 웹 브라우저의 기능들과 관련되거나 웹 브라우저의 기능들을 나타낼 수 있다.
본 명세서에 설명된 발명의 대상의 구현들은 컴퓨팅 시스템에서 구현될 수 있는데, 컴퓨팅 시스템은, 예를 들어 데이터 서버로서 백 엔드(back end) 컴포넌트를 포함하거나, 미들웨어(middleware) 클라이언트 디바이스, 예를 들어 애플리케이션 서버를 포함하거나, 또는 프론트 엔드 컴포넌트, 예를 들어, 본 명세서에 설명된 발명의 대상의 구현과 사용자가 상호작용할 수 있게 하는 웹 브라우저 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 결합을 포함한다. 시스템의 컴포넌트들은, 유선 또는 무선 디지털 데이터 통신의 임의의 형태 또는 매체(또는 데이터 통신의 조합), 예컨대, 통신 네트워크에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은, 예를 들어 802.11 a/b/g/n 또는 802.20(또는 802.11x 및 802.20의 조합 또는 본 개시내용과 부합하는 다른 프로토콜들)을 사용하는 LAN(Local Area Network), RAN(Radio Access Network), MAN(Metropolitan Area Network), WAN(Wide Area Network), WIMAX(Worldwide Interoperability for Microwave Access), WLAN(wireless local area), 인터넷의 전부 또는 일부, 또는 하나 이상의 위치들에 있는 다른 통신 시스템 또는 시스템들(또는 통신 네트워크들의 조합)을 포함한다. 네트워크는 네트워크 어드레스 사이에서, 예를 들어 인터넷 프로토콜(IP) 패킷들, 프레임 릴레이 프레임, 비동기 전송 모드(ATM) 셀들, 음성, 비디오, 데이터 또는 다른 적합한 정보(또는 통신 유형들의 조합)와 통신할 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호작용할 수 있다. 클라이언트와 서버의 관계는, 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한들로서 해석되는 것이 아니라 오히려, 특정 발명들의 특정 구현들에 특유할 수 있는 특징들의 설명들로서 해석되어야 한다. 별개의 구현들의 맥락에서 본 명세서에 설명된 소정의 특징들은 또한, 단일 구현의 결합으로 구현될 수 있다. 대조적으로, 단일 구현의 맥락에서 설명된 다양한 특징들은 또한, 다수의 구현들에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 또한, 이전에 설명된 특징들이 소정의 조합들에서 동작하는 것으로 설명되고 심지어 초기에는 그와 같이 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 그 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브-조합 또는 서브-조합의 변동으로 지시될 수 있다.
청구대상의 특정 구현들이 설명되었다. 설명된 구현들의 다른 구현들, 변경들 및 치환들은 당업자에게 명백할 바와 같이 다음의 청구항들의 범위 내에 있다. 동작들이 특정한 순서로 도면들 및 청구항들에 도시되지만, 이것은, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행되거나, 모든 예시된 동작들이 수행된다는 것을 요구하는 것으로서 이해되지는 않아야 한다(일부 동작들은 선택적이라고 고려될 수 있음). 소정의 상황들에서, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹 및 병렬 프로세싱의 조합)이 유리하며 적절하다고 간주되면 수행될 수 있다.
또한, 이전에 설명된 구현들에서의 다양한 시스템 모듈들 및 컴포넌트들의 분리 및 통합은 모든 구현들에서 그러한 분리 및 통합을 요구하는 것으로서 이해되지는 않아야 하고, 그리고 설명된 프로그램 컴포넌트들 및 시스템들이 일반적으로, 단일 소프트웨어 아이템으로 함께 통합되거나 다수의 소프트웨어 아이템들로 패키징될 수 있다는 것이 이해되어야 한다.
따라서, 이전에 설명된 예시적인 구현들은 본 개시내용을 정의하거나 제한하지 않는다. 본 개시내용의 사상 및 범위를 벗어나지 않으면서 다른 변화들, 교체들 및 변경들이 또한 가능하다.
또한, 임의의 청구된 구현들은 적어도, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독 가능 명령들을 저장하는 비-일시적인 컴퓨터-판독 가능 매체; 및 비-일시적인 컴퓨터-판독 가능 매체 상에 저장된 명령들 또는 컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 동작 가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터 시스템에 적용 가능한 것으로 고려된다.

Claims (20)

  1. 컴퓨터-구현 방법으로서,
    아이템 레이팅 및 추천 플랫폼에 의해, 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들을 포함하는 레이팅 데이터를 식별하는 단계;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 사용자 특징들(features)을 포함하는 사용자-특징 데이터를 식별하는 단계;
    신뢰할 수 있는 이니셜라이저(trusted initializer) 없는 비밀 공유 방식을 통해 상기 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 개수의 랜덤 변수들에 기초하여 컴퓨팅된 복수의 조작된 소셜 네트워크 데이터를 수신하는 단계 ― 상기 소셜 네트워크 데이터는 상기 복수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 소셜 네트워크 플랫폼은 상기 소셜 네트워크 데이터를 공개함 없이, 상기 복수의 조작된 소셜 네트워크 데이터를 상기 아이템 레이팅 및 추천 플랫폼과 공유함 ― ; 및
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 레이팅 데이터 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 사용자-특징 데이터를 업데이트하는 단계를 포함하는, 컴퓨터-구현 방법.
  2. 제 1 항에 있어서,
    상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 아이템 레이팅 및 추천 플랫폼은 상기 사용자-특징 데이터를 공개함 없이 복수의 조작된 사용자-특징 데이터를 상기 소셜 네트워크 플랫폼과 공유하고, 상기 복수의 조작된 사용자-특징 데이터는 상기 사용자-특징 데이터 및 제 2 복수의 랜덤 변수들에 기초하여 컴퓨팅되는 것인, 컴퓨터-구현 방법.
  3. 제 2 항에 있어서,
    상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서,
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 사용자-특징 데이터의 벡터를 획득하는 단계;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 사용자-특징 데이터의 벡터 및 제 2 개수의 랜덤 변수들에 기초하여 제 1 조작된 사용자-특징 데이터를 생성하는 단계;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 제 1 조작된 사용자-특징 데이터를 상기 소셜 네트워크 플랫폼에 송신하는 단계;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼으로부터, 상기 소셜 네트워크 데이터 및 상기 제 1 개수의 랜덤 변수들에 기초하여 컴퓨팅된 제 1 조작된 소셜 네트워크 데이터를 수신하는 단계; 및
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 제 1 조작된 사용자-특징 데이터, 상기 제 1 조작된 소셜 네트워크 데이터, 또는 상기 제 2 개수의 랜덤 변수들 중 둘 이상에 기초하여 상기 조작된 사용자-특징 데이터 중 하나를 생성하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  4. 제 2 항에 있어서,
    상기 사용자-특징 데이터를 업데이트하는 단계는, 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합에 기초하여 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 단계를 포함하는 것인, 컴퓨터-구현 방법.
  5. 제 3 항에 있어서,
    상기 소셜 네트워크 데이터 없이 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합을 컴퓨팅함으로써 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 단계는, 상기 사용자-특징 데이터 및 상기 소셜 네트워크 데이터의 곱에서의 각각의 엔트리 마다, 상기 소셜 네트워크 데이터 없이, 상기 복수의 조작된 사용자-특징 데이터 중 하나 및 상기 복수의 조작된 소셜 네트워크 데이터 중 하나를 컴퓨팅하는 단계를 포함하는 것인, 컴퓨터-구현 방법.
  6. 제 1 항에 있어서,
    상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 아이템 특징들을 포함하는 아이템-특징 데이터를 식별하는 단계 ― 상기 사용자-특징 데이터와 상기 아이템-특징 데이터의 곱은 상기 레이팅 데이터의 추정치를 발생시킴 ― ; 및
    상기 레이팅 데이터, 상기 사용자-특징 데이터, 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 아이템-특징 데이터를 업데이트하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  7. 제 5 항에 있어서,
    상기 사용자-특징 데이터와 상기 아이템-특징 데이터의 곱에 기초하여 상기 복수의 사용자들에 대한 상기 복수의 아이템들의 예측된 레이팅 데이터를 생성하는 단계; 및
    상기 예측된 레이팅 데이터에 기초하여 특정 고객에 대해 특정 아이템의 추천을 생성하는 단계를 더 포함하는, 컴퓨터-구현 방법.
  8. 제 6 항에 있어서,
    상기 사용자-특징 데이터를 업데이트하는 단계는, 예측된 레이팅 데이터와 레이팅 데이터 간의 차이, 상기 소셜 네트워크 데이터에 의해 가중된 사용자-특징 데이터, 및 오버피팅-방지 항(overfitting-preventing term)의 가중된 합을 최소화하도록 최적화 문제를 해결하는 단계를 포함하는 것인, 컴퓨터-구현 방법.
  9. 제 7 항에 있어서,
    최적화 문제를 해결하는 단계는 다음 수식을 푸는 단계를 포함하고,
    Figure pct00020

    여기서,
    Ui는 사용자 i에 대응하는 사용자-특징 데이터의 벡터를 나타내고;
    Vj는 아이템 j에 대응하는 아이템-특징 데이터의 벡터를 나타내고;
    Rij는 사용자 i에 의한 아이템 j의 레이팅을 나타내고;
    Sik는 사용자 i와 사용자 k 간의 소셜 관계를 나타내고;
    λ1은 상기 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내고;
    λ2는 오버피팅을 방지하기 위해 미리 정의된 가중치를 나타내는 것인, 컴퓨터-구현 방법.
  10. 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어를 저장하는 비-일시적인 컴퓨터-판독 가능 매체로서,
    상기 동작들은,
    아이템 레이팅 및 추천 플랫폼에 의해, 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들을 포함하는 레이팅 데이터를 식별하는 동작;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 동작;
    신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 상기 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 개수의 랜덤 변수들에 기초하여 컴퓨팅된 복수의 조작된 소셜 네트워크 데이터를 수신하는 동작 - 상기 소셜 네트워크 데이터는 상기 복수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 소셜 네트워크 플랫폼은 상기 소셜 네트워크 데이터를 공개함 없이, 상기 복수의 조작된 소셜 네트워크 데이터를 상기 아이템 레이팅 및 추천 플랫폼과 공유함 - ; 및
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 레이팅 데이터 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 사용자-특징 데이터를 업데이트하는 동작을 포함하는, 비-일시적인 컴퓨터-판독 가능 매체.
  11. 제 10 항에 있어서,
    상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 아이템 레이팅 및 추천 플랫폼은 상기 사용자-특징 데이터를 공개함 없이 복수의 조작된 사용자-특징 데이터를 상기 소셜 네트워크 플랫폼과 공유하고,
    상기 복수의 조작된 사용자-특징 데이터는 상기 사용자-특징 데이터 및 제 2 복수의 랜덤 변수들에 기초하여 컴퓨팅되고,
    상기 사용자-특징 데이터를 업데이트하는 동작은, 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합에 기초하여 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 동작을 포함하는, 비-일시적인 컴퓨터-판독 가능 매체.
  12. 제 11 항에 있어서,
    상기 동작들은, 상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서,
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 사용자-특징 데이터의 벡터를 획득하는 동작;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 사용자-특징 데이터의 벡터 및 제 2 개수의 랜덤 변수들에 기초하여 제 1 조작된 사용자-특징 데이터를 생성하는 동작;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 제 1 조작된 사용자-특징 데이터를 상기 소셜 네트워크 플랫폼에 송신하는 동작;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼으로부터, 상기 소셜 네트워크 데이터 및 상기 제 1 개수의 랜덤 변수들에 기초하여 컴퓨팅된 제 1 조작된 소셜 네트워크 데이터를 수신하는 동작; 및
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 제 1 조작된 사용자-특징 데이터, 상기 제 1 조작된 소셜 네트워크 데이터, 또는 상기 제 2 개수의 랜덤 변수들 중 둘 이상에 기초하여 상기 조작된 사용자-특징 데이터 중 하나를 생성하는 동작을 더 포함하는, 비-일시적인 컴퓨터-판독 가능 매체.
  13. 제 11 항에 있어서,
    상기 소셜 네트워크 데이터 없이 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합을 컴퓨팅함으로써 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 동작은, 상기 사용자-특징 데이터 및 상기 소셜 네트워크 데이터의 곱에서의 각각의 엔트리 마다, 상기 소셜 네트워크 데이터 없이, 상기 복수의 조작된 사용자-특징 데이터 중 하나 및 상기 복수의 조작된 소셜 네트워크 데이터 중 하나를 컴퓨팅하는 동작을 포함하는, 비-일시적인 컴퓨터-판독 가능 매체.
  14. 제 10 항에 있어서,
    상기 동작들은,
    상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 아이템 특징들을 포함하는 아이템-특징 데이터를 식별하는 동작 ― 상기 사용자-특징 데이터와 상기 아이템-특징 데이터의 곱은 상기 레이팅 데이터의 추정치를 발생시킴 ― ; 및
    상기 레이팅 데이터, 상기 사용자-특징 데이터, 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 아이템-특징 데이터를 업데이트하는 동작을 더 포함하는, 비-일시적인 컴퓨터-판독 가능 매체.
  15. 컴퓨터-구현 시스템으로서,
    하나 이상의 컴퓨터; 및
    상기 하나 이상의 컴퓨터와 상호 동작 가능하게 커플링되고 명령어들을 저장한 유형의(tangible) 비-일시적인 머신-판독 가능 매체를 갖는 하나 이상의 컴퓨터 메모리 디바이스를 포함하고,
    상기 명령어들은, 상기 하나 이상의 컴퓨터에 의해 실행될 때,
    아이템 레이팅 및 추천 플랫폼에 의해, 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들을 포함하는 레이팅 데이터를 식별하는 동작;
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 사용자 특징들을 포함하는 사용자-특징 데이터를 식별하는 동작;
    신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식을 통해 상기 아이템 레이팅 및 추천 플랫폼에 의해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 제 1 개수의 랜덤 변수들에 기초하여 컴퓨팅된 복수의 조작된 소셜 네트워크 데이터를 수신하는 동작 - 상기 소셜 네트워크 데이터는 상기 복수의 사용자들 중 임의의 2명의 사용자들 사이의 소셜 관계들을 표시하고, 상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 소셜 네트워크 플랫폼은 상기 소셜 네트워크 데이터를 공개함 없이, 상기 복수의 조작된 소셜 네트워크 데이터를 상기 아이템 레이팅 및 추천 플랫폼과 공유함 - ; 및
    상기 아이템 레이팅 및 추천 플랫폼에 의해, 상기 레이팅 데이터 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 사용자-특징 데이터를 업데이트하는 동작
    을 포함하는 동작들을 수행하는, 컴퓨터-구현 시스템.
  16. 제 15 항에 있어서,
    상기 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 방식에서, 상기 아이템 레이팅 및 추천 플랫폼은 상기 사용자-특징 데이터를 공개함 없이 복수의 조작된 사용자-특징 데이터를 상기 소셜 네트워크 플랫폼과 공유하고,
    상기 복수의 조작된 사용자-특징 데이터는 상기 사용자-특징 데이터 및 제 2 복수의 랜덤 변수들에 기초하여 컴퓨팅되고,
    상기 사용자-특징 데이터를 업데이트하는 동작은, 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합에 기초하여 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 동작을 포함하는 것인, 컴퓨터-구현 시스템.
  17. 제 16 항에 있어서,
    상기 소셜 네트워크 데이터 없이 상기 복수의 조작된 사용자-특징 데이터 중 하나와 상기 복수의 조작된 소셜 네트워크 데이터 중 하나의 합을 컴퓨팅함으로써 상기 사용자-특징 데이터와 상기 소셜 네트워크 데이터의 곱을 컴퓨팅하는 동작은, 상기 사용자-특징 데이터 및 상기 소셜 네트워크 데이터의 곱에서의 각각의 엔트리 마다, 상기 소셜 네트워크 데이터 없이, 상기 복수의 조작된 사용자-특징 데이터 중 하나 및 상기 복수의 조작된 소셜 네트워크 데이터 중 하나를 컴퓨팅하는 동작을 포함하는,
    컴퓨터-구현 시스템.
  18. 제 15 항에 있어서,
    상기 동작들은,
    상기 복수의 사용자들에 대한 복수의 아이템들의 각각의 레이팅들에 기여하는 복수의 아이템 특징들을 포함하는 아이템-특징 데이터를 식별하는 동작 ― 상기 사용자-특징 데이터와 상기 아이템-특징 데이터의 곱은 상기 레이팅 데이터의 추정치를 발생시킴 ― ; 및
    상기 레이팅 데이터, 상기 사용자-특징 데이터, 및 상기 복수의 조작된 소셜 네트워크 데이터에 기초하여 상기 아이템-특징 데이터를 업데이트하는 동작을 더 포함하는, 컴퓨터-구현 시스템.
  19. 제 18 항에 있어서,
    상기 동작들은,
    상기 사용자-특징 데이터와 상기 아이템-특징 데이터의 곱에 기초하여 상기 복수의 사용자들에 대한 상기 복수의 아이템들의 예측된 레이팅 데이터를 생성하는 동작;
    상기 예측된 레이팅 데이터에 기초하여 특정 고객에 대해 특정 아이템의 추천을 생성하는 동작을 더 포함하고,
    상기 사용자-특징 데이터를 업데이트하는 동작은, 상기 예측된 레이팅 데이터와 레이팅 데이터 간의 차이, 상기 소셜 네트워크 데이터에 의해 가중된 사용자-특징 데이터, 및 오버피팅-방지 항의 가중된 합을 최소화하도록 최적화 문제를 해결하는 동작을 포함하는 것인, 컴퓨터-구현 시스템.
  20. 제 19 항에 있어서,
    최적화 문제를 해결하는 동작은 다음 수식을 푸는 동작을 포함하고,
    Figure pct00021

    여기서,
    Ui는 사용자 i에 대응하는 사용자-특징 데이터의 벡터를 나타내고;
    Vj는 아이템 j에 대응하는 아이템-특징 데이터의 벡터를 나타내고;
    Rij는 사용자 i에 의한 아이템 j의 레이팅을 나타내고;
    Sik는 사용자 i와 사용자 k 간의 소셜 관계를 나타내고;
    λ1은 상기 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내고;
    λ2는 오버피팅을 방지하기 위해 미리 정의된 가중치를 나타내는 것인, 컴퓨터-구현 시스템.
KR1020197011609A 2018-10-17 2018-10-17 신뢰할 수 있는 이니셜라이저 없는 비밀 공유 KR102150816B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110688 WO2020077573A1 (en) 2018-10-17 2018-10-17 Secret sharing with no trusted initializer

Publications (2)

Publication Number Publication Date
KR20200045441A true KR20200045441A (ko) 2020-05-04
KR102150816B1 KR102150816B1 (ko) 2020-09-02

Family

ID=66850327

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011609A KR102150816B1 (ko) 2018-10-17 2018-10-17 신뢰할 수 있는 이니셜라이저 없는 비밀 공유

Country Status (16)

Country Link
US (2) US10789377B2 (ko)
EP (2) EP3665583A4 (ko)
JP (1) JP6803980B1 (ko)
KR (1) KR102150816B1 (ko)
CN (2) CN110366722A (ko)
AU (2) AU2018353923B2 (ko)
BR (1) BR112019008135B1 (ko)
CA (2) CA3040669A1 (ko)
ES (1) ES2836207T3 (ko)
MX (1) MX2019004664A (ko)
PH (1) PH12019500891A1 (ko)
PL (1) PL3659292T3 (ko)
RU (1) RU2728522C1 (ko)
SG (2) SG11201903587TA (ko)
WO (2) WO2020077573A1 (ko)
ZA (1) ZA201902550B (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020077573A1 (en) 2018-10-17 2020-04-23 Alibaba Group Holding Limited Secret sharing with no trusted initializer
CN111030811B (zh) * 2019-12-13 2022-04-22 支付宝(杭州)信息技术有限公司 一种数据处理的方法
CN111176582A (zh) * 2019-12-31 2020-05-19 北京百度网讯科技有限公司 矩阵存储方法、矩阵访问方法、装置和电子设备
CN111461858B (zh) * 2020-03-10 2023-02-17 支付宝(杭州)信息技术有限公司 基于隐私保护的连乘计算方法、装置、系统和电子设备
CN111428276B (zh) * 2020-03-19 2022-08-02 腾讯科技(深圳)有限公司 一种数据处理的方法、装置、设备和介质
CN111162896B (zh) * 2020-04-01 2020-06-26 支付宝(杭州)信息技术有限公司 双方联合进行数据处理的方法及装置
CN111506922B (zh) * 2020-04-17 2023-03-10 支付宝(杭州)信息技术有限公司 多方联合对隐私数据进行显著性检验的方法和装置
CN111241570B (zh) * 2020-04-24 2020-07-17 支付宝(杭州)信息技术有限公司 保护数据隐私的双方联合训练业务预测模型的方法和装置
CN111291417B (zh) * 2020-05-09 2020-08-28 支付宝(杭州)信息技术有限公司 保护数据隐私的多方联合训练对象推荐模型的方法及装置
CN112163227B (zh) * 2020-09-02 2022-04-29 湖北工业大学 一种电商平台卖家用户销售额多维统计分析系统及方法
CN112231561B (zh) * 2020-10-14 2024-06-07 深圳前海微众银行股份有限公司 数据处理方法、装置、设备及存储介质
US11544767B2 (en) * 2020-11-02 2023-01-03 Sas Institute Inc. Recommendation system with implicit feedback
US11379743B2 (en) * 2020-11-02 2022-07-05 Sas Institute Inc. Recommendation system
CN112311546B (zh) * 2020-12-25 2021-04-09 鹏城实验室 数据保密判定方法、装置、设备及计算机可读存储介质
CN112560106B (zh) * 2021-02-20 2021-05-18 支付宝(杭州)信息技术有限公司 针对隐私矩阵进行处理的方法、装置和系统
JP2024081261A (ja) 2022-12-06 2024-06-18 富士通株式会社 プログラム、算出方法および情報処理装置
CN116383848B (zh) * 2023-04-04 2023-11-28 北京航空航天大学 一种三方安全计算防作恶方法、设备及介质
US11743524B1 (en) 2023-04-12 2023-08-29 Recentive Analytics, Inc. Artificial intelligence techniques for projecting viewership using partial prior data sources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110020818A (ko) * 2008-05-15 2011-03-03 야후! 인크. 리뷰들을 보여주는 데에 소셜 네트워크 정보를 활용하기 위한 방법 및 장치
KR20120031478A (ko) * 2009-06-16 2012-04-03 마이크로소프트 코포레이션 미디어 자산 추천 서비스
KR20130136401A (ko) * 2012-06-04 2013-12-12 애플 인크. 미디어 배포 플랫폼으로부터의 소셜 네트워크를 통한 피드백 제공
KR20180105744A (ko) * 2011-06-15 2018-09-28 페이스북, 인크. 소셜 네트워킹 시스템 데이터 교환

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7788123B1 (en) * 2000-06-23 2010-08-31 Ekhaus Michael A Method and system for high performance model-based personalization
US20040133574A1 (en) * 2003-01-07 2004-07-08 Science Applications International Corporaton Vector space method for secure information sharing
DE602004016678D1 (de) * 2003-11-03 2008-10-30 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
US20090197681A1 (en) 2008-01-31 2009-08-06 Microsoft Corporation System and method for targeted recommendations using social gaming networks
US8068426B2 (en) * 2008-05-29 2011-11-29 Massachusetts Institute Of Technology Feedback-based online network coding
US20100076850A1 (en) * 2008-09-22 2010-03-25 Rajesh Parekh Targeting Ads by Effectively Combining Behavioral Targeting and Social Networking
US8364713B2 (en) * 2009-01-20 2013-01-29 Titanium Fire Ltd. Personal data manager systems and methods
US8489515B2 (en) * 2009-05-08 2013-07-16 Comcast Interactive Media, LLC. Social network based recommendation method and system
US20110060738A1 (en) * 2009-09-08 2011-03-10 Apple Inc. Media item clustering based on similarity data
WO2011067620A1 (en) * 2009-12-04 2011-06-09 Telefonaktiebolaget L M Ericsson System and methods for protecting the privacy of user information in a recommendation system
US20110246500A1 (en) * 2010-03-30 2011-10-06 Praphul Chandra Storing and querying of user feedback in a personal repository accessible to a personal computing device
US9536268B2 (en) 2011-07-26 2017-01-03 F. David Serena Social network graph inference and aggregation with portability, protected shared content, and application programs spanning multiple social networks
EP2549423A1 (en) * 2011-07-22 2013-01-23 Axel Springer Digital TV Guide GmbH Automatic determination of the relevance of recommendations in a social network
US20130054481A1 (en) * 2011-08-23 2013-02-28 Infosys Limited System and method for sharing, analyzing and consolidating medical data in a social network
US20130097056A1 (en) * 2011-10-13 2013-04-18 Xerox Corporation Methods and systems for recommending services based on an electronic social media trust model
EP2590126A1 (en) * 2011-11-01 2013-05-08 Nederlandse Organisatie voor toegepast -natuurwetenschappelijk onderzoek TNO Recommender system for providing recommendations to groups of users
WO2013095333A1 (en) 2011-12-19 2013-06-27 Intel Corporation Smart device assisted commerce
US9043250B2 (en) * 2012-01-10 2015-05-26 Telcordia Technologies, Inc. Privacy-preserving aggregated data mining
CN104620267A (zh) * 2012-06-21 2015-05-13 汤姆逊许可公司 用于推断用户人口统计的方法和装置
WO2014023432A1 (en) * 2012-08-09 2014-02-13 Livestudies Srl Apparatus and method for a collaborative environment using distributed touch sensitive surfaces
CN102932100B (zh) * 2012-10-16 2016-09-21 四川电力科学研究院 一种并行加扰的方法及装置
US20160019394A1 (en) * 2013-03-04 2016-01-21 Thomson Licensing Method and system for privacy preserving counting
US10733194B2 (en) * 2013-03-08 2020-08-04 Warren Young Systems and methods for providing a review platform
US20140288999A1 (en) 2013-03-12 2014-09-25 Correlor Technologies Ltd Social character recognition (scr) system
US20150066689A1 (en) * 2013-08-27 2015-03-05 Jon Anthony ASTORE Method and system for providing social media ecosystem compensation
WO2015061696A1 (en) * 2013-10-25 2015-04-30 Peep Mobile Digital Social event system
CN103713938A (zh) * 2013-12-17 2014-04-09 江苏名通信息科技有限公司 虚拟化环境下基于OpenMP的多GPU协同计算方法
CN103995823A (zh) 2014-03-25 2014-08-20 南京邮电大学 一种基于社交网络的信息推荐方法
US10235403B2 (en) * 2014-07-08 2019-03-19 Palo Alto Research Center Incorporated Parallel collective matrix factorization framework for big data
US10360392B2 (en) * 2014-08-01 2019-07-23 National Ict Australia Limited Generating shares of secret data
CN104156436B (zh) 2014-08-13 2017-05-10 福州大学 一种社交云媒体协同过滤推荐方法
US9483311B2 (en) * 2014-09-15 2016-11-01 International Business Machines Corporation Logical data shuffling
CN107113183B (zh) * 2014-11-14 2021-08-10 比特诺比有限责任公司 大数据的受控共享的系统和方法
US10289733B2 (en) * 2014-12-22 2019-05-14 Rovi Guides, Inc. Systems and methods for filtering techniques using metadata and usage data analysis
US9706180B2 (en) * 2015-03-23 2017-07-11 Panasonic Intellectual Property Management Co., Ltd. Projection display apparatus
US10341701B2 (en) * 2015-04-21 2019-07-02 Edge2020 LLC Clustering and adjudication to determine a recommendation of multimedia content
CN104966125B (zh) 2015-05-06 2018-07-24 同济大学 一种社交网络的物品评分及推荐方法
US20160381158A1 (en) * 2015-06-29 2016-12-29 Google Inc. Automatic Invitation Delivery System
JP2017034531A (ja) * 2015-08-04 2017-02-09 富士通株式会社 動画像符号化装置及び動画像符号化方法
CN105550211A (zh) 2015-12-03 2016-05-04 云南大学 一种融合社交网络和项目内容的协同推荐系统
IL243026A0 (en) * 2015-12-10 2016-02-29 Rokach Lior Designing recommendation systems based on hidden context
US20180373793A1 (en) * 2015-12-16 2018-12-27 Thomson Licensing Methods and apparatuses for processing biometric responses to multimedia content
CN105677701A (zh) * 2015-12-24 2016-06-15 苏州大学 一种基于不经意传输的社会化推荐方法
US11367149B2 (en) * 2016-01-15 2022-06-21 Carnegie Mellon University Pattern identification in time-series social media data, and output-dynamics engineering for a dynamic system having one or more multi-scale time-series data sets
US10708234B2 (en) * 2016-03-24 2020-07-07 International Business Machines Corporation System, method, and recording medium for preventing back propogation of data protection
RU2613530C1 (ru) 2016-04-19 2017-03-16 Игорь Юрьевич Скворцов Самонастраивающаяся интерактивная система, способ и считываемый компьютером носитель данных обмена комментариями между пользователями
WO2017200510A1 (ru) 2016-05-18 2017-11-23 Евгэн Мыхайловыч ВЫСОЦЬКЫЙ Обработка персональных и совокупных предпочтений пользователей (варианты)
US20180218426A1 (en) * 2017-01-27 2018-08-02 Xerox Corporation Systems and methods for privacy preserving recommendation of items
RU2649797C1 (ru) 2017-06-14 2018-04-04 Общество С Ограниченной Ответственностью "Центр Разработки И Внедрения Инновационных Технологий" Интерактивная система, способ и считываемый компьютером носитель данных представления рекламного контента
US10521225B2 (en) * 2017-06-29 2019-12-31 Oracle International Corporation Matrix multiplication at memory bandwidth
DE112018002942T5 (de) * 2017-07-06 2020-03-05 Robert Bosch Gmbh Verfahren und System zur datenschutzwahrenden Social-Media-Werbung
RU2666336C1 (ru) 2017-08-01 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для рекомендации медиаобъектов
CN108228833B (zh) 2018-01-04 2021-08-03 浙江大学 一种利用用户倾向性学习解决社区项目推荐任务的方法
CN108418810A (zh) * 2018-02-08 2018-08-17 中国人民解放军国防科技大学 一种基于Hadamard矩阵的秘密分享方法
CN108596774B (zh) * 2018-04-24 2021-10-01 山东师范大学 基于深层次网络嵌入特征的社会化信息推荐算法及系统
WO2020077573A1 (en) 2018-10-17 2020-04-23 Alibaba Group Holding Limited Secret sharing with no trusted initializer
JP7109501B2 (ja) 2020-06-05 2022-07-29 東芝ライフスタイル株式会社 冷蔵庫

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110020818A (ko) * 2008-05-15 2011-03-03 야후! 인크. 리뷰들을 보여주는 데에 소셜 네트워크 정보를 활용하기 위한 방법 및 장치
KR20120031478A (ko) * 2009-06-16 2012-04-03 마이크로소프트 코포레이션 미디어 자산 추천 서비스
KR20180105744A (ko) * 2011-06-15 2018-09-28 페이스북, 인크. 소셜 네트워킹 시스템 데이터 교환
KR20130136401A (ko) * 2012-06-04 2013-12-12 애플 인크. 미디어 배포 플랫폼으로부터의 소셜 네트워크를 통한 피드백 제공

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ming Li et al., "FindU: Privacy-Preserving Personal Profile Matching in Mobile Social Networks" *

Also Published As

Publication number Publication date
JP6803980B1 (ja) 2020-12-23
EP3665583A1 (en) 2020-06-17
EP3659292A4 (en) 2020-06-03
AU2019257397A1 (en) 2020-05-07
AU2019257397B2 (en) 2020-10-01
EP3659292B8 (en) 2020-12-02
PH12019500891A1 (en) 2019-06-17
EP3665583A4 (en) 2020-06-17
CN110546642A (zh) 2019-12-06
WO2020077959A1 (en) 2020-04-23
CN110546642B (zh) 2023-06-02
ZA201902550B (en) 2020-12-23
US10789377B2 (en) 2020-09-29
RU2728522C1 (ru) 2020-07-30
SG11201903587TA (en) 2020-05-28
US20200125745A1 (en) 2020-04-23
CA3040669A1 (en) 2020-04-17
EP3659292A1 (en) 2020-06-03
JP2021508064A (ja) 2021-02-25
BR112019008135A2 (pt) 2021-05-18
AU2018353923B2 (en) 2021-05-06
PL3659292T3 (pl) 2021-07-05
EP3659292B1 (en) 2020-09-30
WO2020077573A1 (en) 2020-04-23
BR112019008135B1 (pt) 2022-01-04
CA3059610A1 (en) 2020-04-17
CN110366722A (zh) 2019-10-22
SG11201910155SA (en) 2020-05-28
US20200320605A1 (en) 2020-10-08
US11386212B2 (en) 2022-07-12
ES2836207T3 (es) 2021-06-24
KR102150816B1 (ko) 2020-09-02
AU2018353923A1 (en) 2020-05-07
MX2019004664A (es) 2022-05-12

Similar Documents

Publication Publication Date Title
KR102150816B1 (ko) 신뢰할 수 있는 이니셜라이저 없는 비밀 공유
KR102220086B1 (ko) 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유
US20190114151A1 (en) Application Digital Content Control using an Embedded Machine Learning Module
US11100116B2 (en) Recommendation systems implementing separated attention on like and dislike items for personalized ranking
US20190114672A1 (en) Digital Content Control based on Shared Machine Learning Properties
JP7229148B2 (ja) プライバシーを保護しながら分散された顧客データ上で機械学習すること
US20200394534A1 (en) Multi task oriented recommendation system for benchmark improvement
US20230229793A1 (en) Intelligent estimation of onboarding times for managed services
US20210241231A1 (en) Automatic Assignment of Tasks to Users in Collaborative Projects
He et al. Debias in Deep Learning Recommender System

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant