KR102220086B1 - 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 - Google Patents

신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 Download PDF

Info

Publication number
KR102220086B1
KR102220086B1 KR1020197011607A KR20197011607A KR102220086B1 KR 102220086 B1 KR102220086 B1 KR 102220086B1 KR 1020197011607 A KR1020197011607 A KR 1020197011607A KR 20197011607 A KR20197011607 A KR 20197011607A KR 102220086 B1 KR102220086 B1 KR 102220086B1
Authority
KR
South Korea
Prior art keywords
data
rating
social network
item
user
Prior art date
Application number
KR1020197011607A
Other languages
English (en)
Other versions
KR20200045440A (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 KR20200045440A publication Critical patent/KR20200045440A/ko
Application granted granted Critical
Publication of KR102220086B1 publication Critical patent/KR102220086B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • 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
    • 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
    • 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
    • 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/10Services
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/29Arrangements for monitoring broadcast services or broadcast-related services
    • H04H60/33Arrangements for monitoring the users' behaviour or opinions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Software Systems (AREA)
  • Bioethics (AREA)
  • Development Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Social Psychology (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)
  • Operations Research (AREA)

Abstract

항목 등급(item rating) 및 추천 플랫폼은 복수의 사용자에 대한 복수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하고, 복수의 사용자에 대한 복수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터를 식별하고, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신한다. 소셜 네트워크 데이터는 복수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타낸다. 신뢰성 있는 이니셜라이저(initializer)를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유한다. 항목 등급 및 추천 플랫폼은 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트한다.

Description

신뢰성 있는 이니셜라이저를 사용하는 비밀 공유
기술 및 데이터 분석의 개발로 많은 온라인 플랫폼은 상이한 타입의 데이터를 수집한다. 예를 들어, 영화 제공업체 플랫폼은 사용자로부터 등급 데이터를 수집하고, 소셜 미디어 플랫폼은 사용자로부터 소셜 네트워크 데이터를 수집한다. 이러한 수집된 데이터는 가치가 있으며 일반적으로 각 플랫폼에 의해 개인 정보로서 보관된다. 다양한 플랫폼은 데이터 프라이버시에 점점 더 많은 관심을 기울이고 있으며, 수집된 데이터를 적어도 원본 형태로 반드시 공유하기를 원하는 것은 아니다.
본 개시는 예를 들어 소셜 추천을 제공하기 위해 두 플랫폼 사이에 신뢰성 있는 이니셜라이저(initializer)를 사용하는 비밀 공유를 위한 방법 및 시스템을 설명한다.
일 구현예에서, 컴퓨터-구현 방법(computer-implemented method)에 있어서, 항목 등급(item rating) 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하는 단계; 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터를 식별하는 단계; 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신하는 단계 - 소셜 네트워크 데이터는 다수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타내고, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유함 -; 및 항목 등급 및 추천 플랫폼에 의해, 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트하는 단계를 포함한다.
전술한 구현예는, 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독가능 명령어를 저장한 비일시적 컴퓨터-판독가능 매체; 및 비일시적 컴퓨터-판독가능 매체 상에 저장된 명령어/컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 운용 가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터-구현 시스템(computer-implemented system)을 사용하여 구현 가능하다.
다음의 장점 중 하나 이상을 실현하기 위하여, 본 명세서에 설명된 주제는 특정한 구현예로 구현될 수 있다. 첫째, 설명된 기술은 상이한 플랫폼이 개인 데이터나 민감한 데이터를 공개하지 않고 비밀 공유에 안전하게 협업할 수 있도록 하여, 데이터 프라이버시를 손상시키지 않고 플랫폼 간의 통합과 협업을 촉진시킨다. 둘째, 비밀 공유 방식을 적용하기 전에 다양한 플랫폼에 의해 많은 작업을 수행할 수 있기 때문에, 설명된 기술은 현재의 온라인 플랫폼에서 지원하지 않는 활동 또는 보다 효율적인 공통 개발 활동(예컨대, 시간, 프로세서 사이클, 메모리 사용량 및 네트워크 대역폭/혼잡)을 허용한다. 셋째, 설명된 기술은 항목 등급 및 추천 플랫폼의 개선된 추천 모델을 제공할 수 있으며, 더 나은 목표의 추천을 제공할 수 있다(예컨대, 소셜 미디어 플랫폼에서 획득한 소셜 네트워크 데이터를 활용하여 사용자에게 보다 구체적으로 관련 있는 추천을 제공하는 영화 추천 플랫폼). 다른 장점들은 당업자에게 분명할 것이다.
본 명세서의 주제의 하나 이상의 구현예의 세부사항이 상세한 설명, 청구범위, 및 첨부 도면에 설명되어 있다. 상세한 설명, 청구범위, 및 첨부 도면으로부터 본 명세서의 주제의 다른 특징, 양상, 및 장점이 분명해질 것이다.
도 1은 본 개시의 일 구현예에 따라, 신뢰성 있는 이니셜라이저를 사용하는 플랫폼 A와 플랫폼 B 간의 비밀 공유를 위한 예시적인 시스템을 나타내는 블록도이다.
도 2는 본 개시의 일 구현예에 따라, 플랫폼 A에 의한 추천을 생성하기 위해 신뢰성 있는 이니셜라이저를 사용하는 플랫폼 A와 플랫폼 B 간의 예시적인 비밀 공유 방법을 도시하는 흐름도이다.
도 3은 본 개시의 일 구현예에 따라, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 사용하여 행렬 A와 행렬 B의 행렬 곱 Z를 계산하기 위해 플랫폼 A와 플랫폼 B 간의 예시적인 비밀 공유 방법을 도시하는 흐름도이다.
도 4는 본 개시의 일 구현예에 따라, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 사용하여 항목 등급 및 추천 플랫폼에 의해 추천을 생성하는 예시적인 방법을 도시하는 흐름도이다.
도 5는 본 개시의 일 구현예에 따라, 본 개시에 설명된 바와 같이, 본 명세서에 설명된 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차와 연관된 계산적 기능을 제공하는 데 사용되는 예시적인 컴퓨터 시스템을 도시하는 블록도이다.
유사한 참조 번호 및 지시가 다양한 도면에서 유사한 요소를 나타낸다.
다음의 상세한 설명은, 소셜 네트워크 데이터에 기초하여 사용자에게 추천을 제공하기 위해, 예를 들어, 두 플랫폼 사이에 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 설명하며, 당업자가 하나 이상의 특정한 구현예의 맥락에서 개시된 주제를 만들고 사용할 수 있도록 하기 위하여 제시된다. 개시된 구현예의 다양한 수정, 변경, 및 치환이 이루어질 수 있고, 당업자에게 수월하게 분명해질 것이며, 정의된 일반적인 원리는, 본 개시의 범위로부터 벗어나지 않으면서, 다른 구현예 및 응용예에 적용될 수 있다. 일부 경우, 불필요한 세부사항을 통해, 본 명세서에 설명된 하나 이상의 구현예를 불명확하게 하지 않기 위하여, 그리고 그러한 세부사항은 당업자의 기술에 포함되어 있으므로, 본 명세서에 설명된 주제를 이해하는 데 불필요한 세부사항은 생략될 수 있다. 본 개시는, 설명된 또는 예시된 구현예로 제한되도록 의도된 것이 아니라, 본 명세서에 설명된 원리 및 특징에 모순되지 않는 가장 넓은 범위가 부여되도록 의도된 것이다.
많은 온라인 플랫폼 중에서 상이한 플랫폼은 상이한 타입의 데이터를 축적할 수 있다. 예를 들어, 넷플릭스(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 112019041461572-pct00001
여기서, Ui는 사용자 i에 대응하는 사용자 특징 데이터의 벡터를 나타내고; Vj는 항목 j에 대응하는 항목 특징 데이터의 벡터를 나타내며; Rij는 사용자 i에 의한 항목 j의 등급을 나타낸다.
일부 구현예에서, 사용자 특징 벡터(예를 들어, Ui) 및 항목 특징 벡터(예컨대, Vj)는 트레이닝 데이터(예를 들어, 알려진 등급 데이터)로부터 학습될 수 있는 잠재적 벡터이다.
플랫폼 B(104)는 소셜 미디어 플랫폼(예를 들어, 페이스 북(FACEBOOK), 트위터(TWITTER) 또는 인스타그램(INSTRAGRAM))을 포함할 수 있지만, 이에 한정되는 것은 아니다. 플랫폼 B(104)는 그 사용자들로부터 소셜 네트워크 데이터 S를 수집할 수 있다. 소셜 네트워크 데이터는 예를 들어 플랫폼 B에서의 사용자의 이름, 나이, 성별, 주소, 직업, 관계, 취미, 상태, 코멘트, 블로그, 브라우징 이력 또는 다른 인구 통계, 고용, 레크리에이션 정보 및 사용자의 친구, 가족, 동료 등의 대응 정보를 포함할 수 있다. 이러한 소셜 네트워크 데이터 S는 항목의 사용자 등급을 예측하고 추천을 제공하기 위해 플랫폼 A에 정보를 줄 수 있다.
예를 들어, 플랫폼 A는 수학식(2)에 도시된 바와 같이 최적화 문제를 해결하여 사용자의 등급을 예측할 수 있다.
Figure 112019041461572-pct00002
Figure 112019041461572-pct00003
여기서, Sik는 소셜 네트워크 데이터 S에서 사용자 i와 사용자 k 간의 사회적 관계를 나타내며; λ1은 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내며; λ2는 오버피팅(overfitting)을 방지하기 위해 미리 정의된 가중치를 나타낸다.
이 예에서, 수학식(2)의 우변에 있는 목적 함수는 3개의 항을 포함한다. 제1항
Figure 112019041461572-pct00004
은 알려진 등급 데이터 및 사용자 특징 데이터(예컨대, U = [U1, U2,..., UM])와 항목 특징 데이터(예컨대, V = [V1, V2,..., VN])에 기초하여 계산된 근사 등급 간의 오차 또는 거리를 나타낸다. 제2항
Figure 112019041461572-pct00005
은 사용자 특징 벡터에 대한 소셜 네트워크 데이터 S의 효과를 나타낸다. 예를 들어, 두 사용자의 사회적 관계가 더 가깝거나 강할수록, 두 사용자 특징 벡터는 더 유사하다. 일부 구현예에서, Sik가 클수록, 두 사용자의 사회적 관계는 더 가깝거나 강하다. 제3항
Figure 112019041461572-pct00006
은 오버피팅을 방지하기 위해 사용된다. 가중치 λ1 및 λ2의 값은 미리 결정될 수 있다. 가중치가 클수록, 목적 함수에 대한 해당 항은 더 큰 영향을 미친다.
목적 함수를 최소화하기 위한 상기 최적화 문제는, 예를 들어, 기울기 하강 또는 다른 알고리즘에 의해 해결될 수 있다. 예를 들어, 수학식(2)에 대해 잠재적 벡터 U 및 V의 도함수를 취하고 그 결과를 행렬 형태로 표현하면 다음의 두 수학식에 도달할 수 있다.
Figure 112019041461572-pct00007
Figure 112019041461572-pct00008
위의 수학식(3)과 수학식(4)에서 U와 V를 풀기 위해, U와 S의 값을 개별적으로 알 필요 없이, 행렬 곱
Figure 112019041461572-pct00009
Figure 112019041461572-pct00010
의 결과만으로도 충분하다. 이와 같이, 비밀 공유 방식이 플랫폼 A 및 플랫폼 B에 의해 사용되어 행렬 곱
Figure 112019041461572-pct00011
Figure 112019041461572-pct00012
의 결과를 획득할 수 있다. 비밀 공유 방식에서, 플랫폼 A는 플랫폼 B에 원본 U를 공개하지 않고 플랫폼 B에 조작된 U를 공개할 수 있으며; 플랫폼 B는 플랫폼 A에 원본 S를 공개하지 않고 플랫폼 A에 조작된 S를 공개할 수 있다.
일부 구현예에서, 비밀 공유 방식은 신뢰성 있는 이니셜라이저의 유무에 관계없이 구현될 수 있다. 신뢰성 있는 이니셜라이저를 사용하면, 공통 시작 지점이 신뢰성 있는 이니셜라이저에 의해 확립되고 두 플랫폼에 전송되어 데이터 교환을 도울 수 있다. 신뢰성 있는 이니셜라이저가 없으면, 두 플랫폼은 데이터 교환을 돕기 위해 각각 자신의 시작 지점으로서 난수를 생성할 수 있다. 플랫폼은 민감한 개인 정보를 공유하지 않고 협업을 통해 이익을 얻을 수 있다.
도 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는 행렬 곱
Figure 112019041461572-pct00013
Figure 112019041461572-pct00014
를 획득하기 위해 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 수행할 수 있다. 206에서, 플랫폼 A는 예를 들어 수학식(3) 및 수학식(4)에 따라, 행렬 곱
Figure 112019041461572-pct00015
Figure 112019041461572-pct00016
에 기초하여 U 또는 V를 업데이트한다. T 번의 반복 후에, 210에서, 플랫폼 A 항목 특징은 업데이트된 사용자 특징 데이터 U 및 항목 특징 데이터 V에 기초하여 추천을 생성한다.
일부 구현예에서, 행렬 Z를 행렬 A와 행렬 B의 곱으로 한다. 즉
Figure 112019041461572-pct00017
이다. Zij는 i 행 j 열의 Z의 엔트리/요소를 나타낸다. Zij는, 예를 들어, 수학식(5)에 따라 계산될 수 있다.
Figure 112019041461572-pct00018
여기서, Ai T는 행렬 A의 i 번째 행을 나타내고, Bj는 행렬 B의 j 번째 열을 나타낸다.
도 3은 본 개시의 일 구현예에 따라, 신뢰성 있는 이니셜라이저(350)를 사용하는 플랫폼 A(302)와 플랫폼 B(322) 간의 비밀 공유 방식을 사용하여 행렬 A 및 행렬 B의 행렬 곱 Z의 계산을 도시하는 흐름도이다. 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 신뢰성 있는 이니셜라이저(350)는 초기 값(X1, Y1, W1)(352)을 플랫폼 A(302)에 전송하고, 초기 값(X2, Y2, W2)(354)을 플랫폼 B(322)에 전송한다. 플랫폼 A 및 플랫폼 B 모두에 대한 초기 값은 랜덤 값 또는 미리 결정된 값일 수 있다. 304 및 324에서, 플랫폼 A(302) 및 플랫폼 B(322) 모두는 각각 입력 A 및 입력 B를 획득한다. 입력 A(304)는 랜덤화된 입력 데이터 또는 미리 결정된 입력 데이터(예를 들어, 사용자 특징 데이터 U)를 포함하지만 이에 한정되는 것은 아니며, 입력 B(324)는 랜덤화된 입력 데이터 또는 미리 결정된 입력 소셜 네트워크 데이터(예컨대, 소셜 네트워크 데이터
Figure 112019041461572-pct00019
또는 S)를 포함하지만 이에 한정되는 것은 아니다.
양 플랫폼이 입력 데이터를 획득한 후에, 306에서, 플랫폼 A(302)는 랜덤 행렬 A1을 생성하고, 326에서, 플랫폼 B(322)는 랜덤 행렬 B1을 생성한다. 308에서, 획득된 입력 A(304) 및 랜덤 행렬 A1(306)은 A2 = A - A1이 되도록 A2를 계산하기 위해 사용된다. 309에서, 원본 데이터 A를 공개하지 않고 계산을 위해 플랫폼 B(322)에 A2가 전송된다. A2는 플랫폼 B(322)에 전송된다. 328에서, 입력 B(324) 및 랜덤 행렬 B1(326)은 B2 = B - B1이 되도록 B2를 계산하기 위해 사용된다. 329에서, 원본 데이터 B를 공개하지 않고 계산을 위해 플랫폼 A(302)에 B2가 전송된다. 310에서, 플랫폼 A(302)는 D1 = A1 - X1이 되도록 A1 및 X1을 사용하여 D1을 계산하고, E1 = B2 - Y1이 되도록 B2 및 Y1을 사용하여 E1을 계산한다. 반면에, 330에서, 플랫폼 B(322)는 D2 = A2 - X2가 되도록 A2 및 X2를 사용하여 D2를 계산하고, E2 = B1 - Y2가 되도록 B1 및 Y2를 사용하여 E2를 계산한다. 311에서, 플랫폼 A(302)는 D1 및 E1을 플랫폼 B(322)에 전송한다. 331에서, 플랫폼 B(322)는 D2 및 E2을 플랫폼 A(302)에 전송한다. 312에서, 플랫폼 A 및 플랫폼 B 모두는 D = D1 + D2가 되도록 D1 및 D2를 사용하여 D를 계산할 수 있고, E = E1 + E2가 되도록 E1 및 E2를 사용하여 E를 계산한다. 계산된 D와 E를 사용하여, 플랫폼 A 및 플랫폼 B 모두는 사용자 특징 데이터와 항목 특징 데이터를 업데이트하는 데 사용될 수 있는 출력을 생성할 수 있다. 예를 들어, 314에서, 출력을 생성하기 위해, 플랫폼 A(302)는 W1 + E*X1 + D*Y1 + D*E에 의해 Z1을 계산하고, 여기서 *는 곱셈을 나타낸다. 334에서, 플랫폼 B(322)는 W2 + E*X2 + D*Y2 + D*E에 의해 Z2를 계산하고, 여기서 *는 곱셈을 나타낸다.
315에서, 플랫폼 A는 플랫폼 B로부터 Z2를 수신할 수 있다. 일부 구현예에서, Z2는 소셜 네트워크 데이터(예를 들어, B) 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터(예를 들어, X2, Y2, W2)에 기초하여 계산된 예시적인 조작된 소셜 네트워크 데이터이다. 335에서, 플랫폼 B는 플랫폼 A로부터 Z1을 수신할 수 있다. 일부 구현예에서, Z1은 사용자 특징 데이터(예를 들어, A) 및 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터(예를 들어, X1, Y1, W1)에 기초하여 계산된 예시적인 조작된 사용자 특징 데이터이다. Z1과 Z2의 합은 행렬 A와 B의 곱과 같다. 즉, AB = Z1 + Z2이다. 이와 같이, 316에서, 플랫폼 A는 행렬 A 및 행렬 B의 조작된 데이터인 Z1과 Z2의 합을 계산함으로써 행렬 A와 행렬 B의 곱을 계산할 수 있다. 유사하게, 플랫폼 B이 또한 Z1과 Z2의 합을 계산함으로써 행렬 A와 행렬 B의 곱을 계산할 수 있다.
행렬 U를 A로 대체하고,
Figure 112019041461572-pct00020
를 B로 대체하면, 행렬 곱
Figure 112019041461572-pct00021
을 획득할 수 있다. 유사하게, 행렬 U를 A로 대체하고, S를 B로 대체하면, 행렬 곱
Figure 112019041461572-pct00022
을 획득할 수 있다. 행렬 곱
Figure 112019041461572-pct00023
Figure 112019041461572-pct00024
를 사용하여, 플랫폼 A는 예를 들어 도 2의 206과 관련하여 설명된 바와 같이, 수학식(3) 및 수학식(4)에 따라, 사용자 특징 데이터 U 및 항목 특징 데이터 V를 업데이트할 수 있다.
도 3에 설명된 계산은 사용자 특징 데이터 및 항목 특징 데이터를 업데이트하는 예시적인 방법을 제공한다. 업데이트된 사용자 특징 데이터 및 항목 특징 데이터에 기초하여, 플랫폼 A(302)는 예측된 등급 데이터를 생성할 수 있다. 일부 구현예에서, 플랫폼 A(302)는 특히, 예측된 등급 데이터에 기초하여 특정 고객을 위한 특정 항목의 추천을 생성할 수 있다.
도 4는 일 구현예에 따라, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 사용하여 항목 등급 및 추천 플랫폼에 의해 사용자에 대한 추천을 생성하는 예시적인 방법(400)의 흐름도이다. 설명을 명료하게 하기 위해, 이하의 설명은 일반적으로 이 설명에서 다른 도면을 배경으로 방법(400)을 설명한다. 예를 들어, 항목 등급 및 추천 플랫폼은 도 1 내지 도 3과 관련하여 설명된 플랫폼 A일 수 있다. 그러나 방법(400)은 예를 들어 임의의 적합한 시스템, 환경, 소프트웨어 및 하드웨어, 또는 시스템, 환경, 소프트웨어 및 하드웨어의 조합에 의해 적절하게 수행될 수 있음을 이해할 것이다. 일부 구현예에서, 방법(400)의 다양한 단계는 병렬로, 조합하여, 루프로, 또는 임의의 순서로 실행될 수 있다.
402에서, 다수의 사용자에 대한 다수의 항목 각각의 등급을 포함하지만 이에 한정되는 않는 등급 데이터가 항목 등급 및 추천 플랫폼에 의해 식별된다. 등급 데이터를 식별하는 것은 (예를 들어, 다른 장치로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력에 기초하여 등급 데이터를 결정하는 것을 포함한다. 등급 데이터는 도 1 내지 도 3과 관련하여 기술된 등급 데이터 R을 포함할 수 있다. 예를 들어, 등급 데이터는 항목에 대한 기존 사용자 활동에 기초한 실제 등급 또는 매핑된 등급을 포함할 수 있다. 402로부터, 방법(400)은 404로 진행한다.
404에서, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터가 항목 등급 및 추천 플랫폼에 의해 식별된다. 사용자 특징 데이터를 식별하는 것은 (예컨대, 다른 장치로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력에 기초하여 사용자 특징 데이터를 결정하는 것을 포함한다. 사용자 특징 데이터는 도 1 내지 도 3과 관련하여 기술된 사용자 특징 데이터 U를 포함할 수 있다. 404로부터, 방법(400)은 406으로 진행한다.
406에서, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 항목 특징을 포함하는 항목 특징 데이터가 항목 등급 및 추천 플랫폼에 의해 식별된다. 항목 특징 데이터를 식별하는 것은 (예컨대, 다른 장치로부터) 수신하는 것, 메모리로부터 검색 또는 로딩하는 것, 또는 방법(400)에 대한 하나 이상의 입력에 기초하여 항목 특징 데이터를 결정하는 것을 포함한다. 항목 특징 데이터는 도 1 내지 도 3과 관련하여 기술된 항목 특징 데이터 V를 포함할 수 있다. 406으로부터, 방법(400)은 408로 진행한다.
408에서, 항목 등급 및 추천 플랫폼은 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터 조작된 소셜 네트워크 데이터를 수신한다. 일부 구현예에서, 조작된 소셜 네트워크 데이터는 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산될 수 있다. 소셜 네트워크 데이터는 다수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타낸다. 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유한다. 일부 구현예에서, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 항목 등급 및 추천 플랫폼은 사용자 특징 데이터(예를 들어, A)를 공개하지 않고 조작된 사용자 특징 데이터(예를 들어, 도 3과 관련하여 기술된 바와 같은 Z2)를 소셜 네트워크 플랫폼과 공유하며, 여기서 조작된 사용자 특징 데이터는 사용자 특징 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터(예를 들어, X2, Y2, W2)에 기초하여 계산된다. 일부 구현예에서, 조작된 소셜 네트워크 데이터는 조작된 소셜 네트워크 데이터로부터 원본 소셜 네트워크 데이터를 복구할 수 없도록 조작된다.
일부 구현예에서, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식은 도 3과 관련하여 설명된 바와 같이 수학식(2)와 관련하여 설명된 최적화 문제를 해결하는 데 사용된다. 예를 들어, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 항목 등급 및 추천 플랫폼은 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터(예를 들어, X1, Y1, W1)를 획득하고, 사용자 특징 데이터(예를 들어, A) 및 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터에 기초하여 제1 조작된 사용자 특징 데이터(예를 들어, A2)를 생성한다. 항목 등급 및 추천 플랫폼은 소셜 네트워크 플랫폼에 제1 조작된 사용자 특징 데이터(예를 들어, A2)를 전송하고, 소셜 네트워크 플랫폼으로부터 소셜 네트워크 데이터(예를 들어, B) 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터(예를 들어, X2, Y2, W2)에 기초하여 계산된 제1 조작된 소셜 네트워크 데이터(예를 들어, B2)를 수신할 수 있다. 항목 등급 및 추천 플랫폼은 제1 조작된 사용자 특징 데이터(예를 들어, A2), 제1 조작된 소셜 네트워크 데이터(예를 들어, B2) 또는 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터(예를 들어, X1, Y1, W1) 중 2개 이상에 기초하여 다수의 중간 데이터(예를 들어, D1, E1)를 생성할 수 있다. 항목 등급 및 추천 플랫폼은 소셜 네트워크 플랫폼에 다수의 중간 데이터를 전송할 수 있고, 소셜 네트워크 플랫폼으로부터 제1 조작된 사용자 특징 데이터(예를 들어, A2), 제1 조작된 소셜 네트워크 데이터(예를 들어, B2) 또는 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터(예를 들어, X2, Y2, W2) 중 2개 이상에 기초하여 계산된 다수의 중간 소셜 네트워크 데이터(예를 들어, D2, E2)를 수신할 수 있다. 항목 등급 및 추천 플랫폼은 다수의 중간 데이터(예를 들어, D1, E1), 복수의 중간 소셜 네트워크 데이터(예를 들어, D2, E2) 또는 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터(예를 들어, X1, Y1, W1) 중 2개 이상에 기초하여 조작된 사용자 특징 데이터(예를 들어, Z1)를 생성할 수 있다. 유사하게, 소셜 네트워크 플랫폼은 다수의 중간 데이터(예를 들어, D1, E1), 복수의 중간 소셜 네트워크 데이터(예를 들어, D2, E2) 또는 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터(예를 들어, X2, Y2, W2) 중 2개 이상에 기초하여 조작된 소셜 네트워크 데이터(예를 들어, Z2)를 생성할 수 있다. 408로부터, 방법(400)은 410으로 진행한다.
410에서, 항목 등급 및 추천 플랫폼은 사용자 특징 데이터를 공개하지 않고 조작된 사용자 특징 데이터를 소셜 네트워크 플랫폼에 전송한다. 일부 구현예에서, 조작된 사용자 특징 데이터는 예를 들어 도 3과 관련하여 기술된 바와 같은 Z1을 포함할 수 있다. 410으로부터, 방법(400)은 412로 진행한다.
412에서, 항목 등급 및 추천 플랫폼은 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트한다. 일부 구현예에서, 사용자 특징 데이터를 업데이트하는 것은 조작된 사용자 특징 데이터와 조작된 소셜 네트워크 데이터의 합을 계산함으로써, 사용자 특징 데이터(예를 들어, U)와 소셜 네트워크 데이터(예를 들어, S 또는
Figure 112019041461572-pct00025
)의 곱을 계산하는 것을 포함한다. 일부 구현예에서, 사용자 특징 데이터는 예를 들어 수학식(2)에 도시된 바와 같이 예측된 등급 데이터와 등급 데이터 간의 차이의 가중 합, 소셜 네트워크 데이터에 의해 가중된 사용자 특징 데이터 및 오버피팅 방지(overfitting-preventing) 항을 최소화하도록 최적화 문제를 해결하는 것을 포함한다. 일부 구현예에서, 사용자 특징 데이터를 업데이트하는 것은 도 3과 관련하여 기술된 예시적인 기술에 따라 사용자 특징 데이터를 업데이트하는 것을 포함한다. 412로부터, 방법(400)은 414로 진행한다.
414에서, 항목 등급 및 추천 플랫폼은 예를 들어 도 3과 관련하여 기술된 예시적인 기술에 따라 등급 데이터 및 사용자 특징 데이터에 기초하여 항목 특징 데이터를 업데이트한다. 예를 들어, 사용자 특징 데이터를 업데이트하는 것은 조작된 사용자 특징 데이터(예를 들어, Z1)와 조작된 소셜 네트워크 데이터(예를 들어, Z2)의 합을 계산함으로써 사용자 특징 데이터(예를 들어, A)와 소셜 네트워크 데이터(예를 들어, B)의 곱을 계산하는 것을 포함할 수 있다. 414로부터, 방법(400)은 416으로 진행한다.
416에서, 사용자 특징 데이터와 항목 특징 데이터의 곱에 기초하여 다수의 사용자에 대한 다수의 항목의 예측된 등급 데이터가 생성된다. 일부 구현예에서, 예측된 등급 데이터는 예를 들어 수학식(1)에 따라 사용자 특징 데이터와 항목 특징 데이터의 곱에 기초하여 생성될 수 있다. 일부 구현예에서, 생성된 등급은 소셜 네트워크의 통합으로 인해 사용자의 요구 또는 선호도에 더 잘 부합할 수 있다. 416으로부터, 방법(400)은 418로 진행한다.
418에서, 예측된 등급 데이터에 기초하여 특정 사용자를 위한 특정 항목의 추천이 생성된다. 일부 구현예에서, 특정 사용자에 대해 최고의 예측된 등급을 갖는 하나 이상의 항목이 특정 사용자에게 추천될 수 있다. 특정 항목의 추천은 영화 또는 쇼핑 항목의 추천일 수 있다. 예를 들어, 넷플릭스(NETFLIX)는 영화를 더 양호하게 추천할 수 있으며, 아마존(AMAZON)은 소셜 네트워크 데이터를 기반으로 한 항목을 더 양호하게 추천할 수 있다. 일부 구현예에서, 특정 사용자를 위한 특정 항목의 추천은 예를 들어 사용자 인터페이스(user interface; UI)를 통해 출력될 수 있다. 일부 구현예에서, 선택된 토픽은 그래픽 사용자 인터페이스(graphic user interface; GUI) 또는 사용자의 검토 및 고려를 위한 다른 UI 내의 대화 상자, 팝업 창 등에 디스플레이될 수 있다. 418에서, 방법 400이 중지된다.
도 5는 일 구현예에 따라, 본 개시에 설명된 바와 같이, 본 명세서에 설명된 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차와 연관된 계산적 기능을 제공하는 데 사용되는 예시적인 컴퓨터 시스템(500)을 도시하는 블록도이다. 도시된 컴퓨터(502)는, 서버, 데스크톱 컴퓨터, 랩톱/노트북 컴퓨터, 무선 데이터 포트, 스마트폰, PDA(personal data assistant), 태블릿 컴퓨팅 디바이스, 이들 디바이스 내의 하나 이상의 프로세서, 또는 컴퓨팅 디바이스의 물리적 인스턴스 또는 가상 인스턴스(또는 둘 다)를 비롯한, 임의의 다른 적절한 처리 디바이스와 같은, 임의의 컴퓨팅 디바이스를 망라하도록 의도된다. 또한, 컴퓨터(502)는, 키패드, 키보드, 터치 스크린, 또는 사용자 정보를 받아들이는 다른 디바이스와 같은 입력 디바이스 및 디지털 데이터, 시각 또는 청각 정보(또는 정보의 조합)를 비롯하여 컴퓨터(502)의 동작과 연관된 정보를 전달하는 출력 디바이스, 또는 GUI(graphical user interface; 그래픽 사용자 인터페이스)를 포함하는 컴퓨터를 포함할 수 있다.
컴퓨터(502)는 클라이언트, 네트워크 컴포넌트, 서버, 데이터베이스 또는 다른 지속성, 또는 본 개시에 설명된 주제를 수행하기 위한 컴퓨터 시스템의 임의의 다른 컴포넌트로서의 역할(또는 역할들의 조합)을 수행할 수 있다. 도시된 컴퓨터(502)는 네트워크(530)와 통신 가능하게 커플링된다. 일부 구현예에서, 컴퓨터(502)의 하나 이상의 컴포넌트는, 클라우드 컴퓨팅 기반 환경, 로컬 환경, 글로벌 환경, 또는 다른 환경(또는 환경들의 조합)을 비롯한 환경 내에서 동작하도록 구성될 수 있다.
상위 수준에서, 컴퓨터(502)는, 본 명세서에 설명된 주제와 연관된 데이터 및 정보를 수신, 송신, 처리, 저장, 또는 관리하기 위해 동작 가능한 전자 컴퓨팅 디바이스이다. 일부 구현예에 따라서, 컴퓨터(502)는, 애플리케이션 서버, 이메일 서버, 웹 서버, 캐싱 서버, 스트리밍 데이터 서버, 또는 다른 서버(또는 서버들의 조합)도 포함하거나 이러한 서버들과 통신 가능하도록 커플링될 수 있다.
컴퓨터(502)는 네트워크(530)를 통해 (예컨대, 또 다른 컴퓨터(502)에서 실행되는) 클라이언트 애플리케이션으로부터 요청을 수신할 수 있으며, 수신된 요청을 적절한 소프트웨어 애플리케이션(들)을 사용해 처리함으로써, 수신된 요청에 응답할 수 있다. 또한, 내부 사용자(예컨대, 명령 콘솔로부터 또는 다른 적절한 액세스 방법에 의해), 외부 또는 제3자, 다른 자동화된 애플리케이션, 및 임의의 다른 적절한 엔티티, 개인, 시스템 또는 컴퓨터로부터도 요청이 컴퓨터(502)에 전송될 수 있다.
컴퓨터(502)의 컴포넌트들 각각은 시스템 버스(503)를 사용하여 통신할 수 있다. 일부 구현예에서, 하드웨어 또는 소프트웨어인(또는 하드웨어와 소프트웨어 둘 다의 조합인), 컴퓨터(502)의 임의의 또는 모든 컴포넌트는, API(application programming interface; 애플리케이션 프로그래밍 인터페이스)(512) 또는 서비스 계층(513)(또는 API(512)와 서비스 계층(513)의 조합)을 사용하여 시스템 버스(503)를 통해 서로 또는 인터페이스(504)와(또는 둘 다의 조합과) 인터페이싱할 수 있다. API(512)는 루틴, 데이터 구조, 및 객체 클래스에 대한 사양(specification)을 포함할 수 있다. API(512)는 컴퓨터 언어에 독립적이거나 종속적일 수 있으며, 완전한 인터페이스, 단일 기능, 또는 한 세트의 API까지도 지칭할 수 있다. 서비스 계층(513)은, 컴퓨터(502)에, 또는 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트(도시 여부 무관)에, 소프트웨어 서비스를 제공한다. 컴퓨터(502)의 기능은, 이 서비스 계층을 사용하는 모든 서비스 소비자가 액세스 가능할 수 있다. 서비스 계층(513)에 의해 제공되는 것과 같은, 소프트웨어 서비스는, 재사용 가능한, 정의된 기능을, 정의된 인터페이스를 통해 제공한다. 예컨대, 인터페이스는, JAVA 또는 C++로 작성된 소프트웨어이거나, XML(extensible markup language; 확장성 생성 언어) 형식 또는 다른 적절한 형식으로 데이터를 제공하는 다른 적절한 언어로 작성된 소프트웨어일 수 있다. API(512) 또는 서비스 계층(513)은 컴퓨터의(502)의 통합된 컴포넌트로서 도시되었지만, 대안적인 구현예에서는 API(512) 또는 서비스 계층(513)을 컴퓨터(502)의 다른 컴포넌트나, 컴퓨터(502)에 통신 가능하게 커플링된 다른 컴포넌트(도시 여부 무관)에 대한 독립형 컴포넌트로서 도시할 수 있다. 또한, API(512) 또는 서비스 계층(513)의 임의의 부분 또는 모든 부분은, 본 개시의 범위로부터 벗어나지 않으면서, 또 다른 소프트웨어 모듈, 엔터프라이즈 애플리케이션, 또는 하드웨어 모듈의 하위 요소(child) 또는 서브 모듈로서 구현될 수 있다.
컴퓨터(502)는 인터페이스(504)를 포함한다. 도 5에는 단일 인터페이스(504)로서 도시되었지만, 컴퓨터(502)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서 2개 이상의 인터페이스(504)가 사용될 수 있다. 인터페이스(504)는 분산형 환경에서 네트워크(530)에 연결된 다른 시스템(도시 여부 무관)과 통신하기 위해 컴퓨터(502)에 의해 사용된다. 일반적으로, 인터페이스(504)는 소프트웨어나 하드웨어(또는 소프트웨어와 하드웨어의 조합) 내에 인코딩된 논리를 포함하며, 네트워크(530)와 통신하기 위해 동작 가능하다. 더 구체적으로, 인터페이스(504)는, 도시된 컴퓨터(502)의 내부 및 외부에 물리적 신호를 전달하기 위해 네트워크(530) 또는 인터페이스의 하드웨어가 동작 가능하도록, 통신과 연관된 하나 이상의 통신 프로토콜을 지원하는 소프트웨어를 포함할 수 있다.
컴퓨터(502)는 프로세서(505)를 포함한다. 도 5에는 단일 프로세서(505)로서 도시되었지만, 컴퓨터(502)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서 2개 이상의 프로세서가 사용될 수 있다. 일반적으로, 프로세서(505)는, 본 개시에 설명된 바와 같이, 컴퓨터(502)의 동작들 및 임의의 알고리즘, 방법, 기능, 프로세스, 흐름, 및 절차를 수행하기 위하여 명령어를 실행하고 데이터를 다룬다.
컴퓨터(502)는, 네트워크(530)에 연결될 수 있는 컴퓨터(502) 또는 다른 컴포넌트(또는 둘 다의 조합)(도시 여부 무관)를 위한 데이터를 보유할 수 있는 데이터베이스(506)도 포함한다. 예컨대, 데이터베이스(506)는 인메모리(in-memory) 데이터베이스, 종래의 데이터베이스, 또는 본 개시에 모순되지 않는 데이터를 저장한 다른 타입의 데이터베이스일 수 있다. 일부 구현예에서, 컴퓨터(502) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 데이터베이스(506)는 2개 이상의 상이한 데이터베이스 타입의 조합(예컨대, 인메모리 데이터베이스와 종래 데이터베이스의 하이브리드 데이터베이스)일 수 있다. 도 5에는 단일 데이터베이스(506)로서 도시되었지만, 컴퓨터(502) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, (동일한 타입의 또는 조합된) 2개 이상의 데이터베이스가 사용될 수 있다. 데이터베이스(506)는 컴퓨터(502)의 통합 컴포넌트로서 도시되었지만, 대안적인 구현예에서, 데이터베이스(506)는 컴퓨터(502)의 외부에 있을 수 있다. 도시된 바와 같이, 데이터베이스(506)는 이전에 설명된 등급 데이터(516), 사용자 특징 데이터(518), 항목 특징 데이터(526) 및 소셜 네트워크 데이터(528)를 보유한다.
컴퓨터(502)는, 네트워크(530)에 연결될 수 있는 컴퓨터(502) 또는 다른 컴포넌트(또는 둘 다의 조합)(도시 여부 무관)를 위한 데이터를 보유할 수 있는 메모리(507)도 포함한다. 메모리(507)는, 본 개시에 모순되지 않는 임의의 데이터를 저장할 수 있다. 일부 구현예에서, 컴퓨터(502) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 메모리(507)는 2개 이상의 상이한 타입의 메모리의 조합(예컨대, 반도체와 자기 저장 장치의 조합)일 수 있다. 도 5에는 단일 메모리(507)로서 도시되었지만, 컴퓨터(502) 및 본 명세서에 설명된 기능의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, (동일한 타입의 또는 조합된) 2개 이상의 메모리(507)가 사용될 수 있다. 메모리(507)는 컴퓨터(502)의 통합 컴포넌트로서 도시되었지만, 대안적인 구현예에서 메모리(507)는 컴퓨터(502)의 외부에 있을 수 있다.
애플리케이션(508)은, 컴퓨터(502)의 특정한 필요사항, 요구사항, 또는 특정한 구현예에 따라서, 특히 본 개시에 설명된 기능과 관련된, 기능을 제공하는 알고리즘적 소프트웨어 엔진이다. 예컨대, 애플리케이션(508)은 하나 이상의 컴포넌트, 모듈, 또는 애플리케이션으로서의 역할을 수행할 수 있다. 또한, 단일 애플리케이션(508)으로서 도시되었지만, 애플리케이션(508)은 다수의 애플리케이션(508)으로서 컴퓨터(502) 상에 구현될 수 있다. 또한, 애플리케이션(508)은 컴퓨터(502)에 통합된 것으로 도시되었지만, 대안적인 실시예에서 애플리케이션(508)은 컴퓨터(502)의 외부에 있을 수 있다.
컴퓨터(502)는 전력 공급장치(514)도 포함할 수 있다. 전력 공급장치(514)는, 사용자가 교체할 수 있도록 또는 사용자가 교체할 수 없도록 구성될 수 있는 재충전식 또는 비재충전식 배터리를 포함할 수 있다. 일부 구현예에서, 전력 공급장치(514)는 (재충전, 대기, 또는 다른 전력 관리 기능을 포함한) 전력 변환 또는 관리 회로를 포함할 수 있다. 일부 구현예에서, 전력 공급장치(514)는, 예컨대, 컴퓨터(502)에 전력을 공급하거나 재충전식 배터리를 재충전하기 위하여, 컴퓨터(502)가 벽면 소켓 또는 다른 전원에 플러깅될 수 있도록 하는 전원 플러그를 포함할 수 있다.
네트워크(530)를 통해 통신하는 각 컴퓨터(502)를 포함하는 컴퓨터 시스템과 연관된 또는 이러한 컴퓨터 시스템의 외부에 있는 임의의 수의 컴퓨터(502)가 존재할 수 있다. 또한, "클라이언트", "사용자"라는 용어 및 다른 적절한 용어는, 적절한 경우, 본 개시의 범위로부터 벗어나지 않으면서 상호 교환 가능하도록 사용될 수 있다. 또한, 본 개시는 여러 사용자가 한 컴퓨터(502)를 사용하거나 한 사용자가 다수의 컴퓨터(502)를 사용할 수 있음을 고려한다.
본 명세서에 설명된 주제의 구현예는 하나 이상의 특징을 단독으로 또는 조합으로 포함할 수 있다.
예를 들어, 제1 구현예에서, 컴퓨터-구현 방법에 있어서, 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하는 단계; 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터를 식별하는 단계; 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신하는 단계 - 소셜 네트워크 데이터는 다수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타내고, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유함 -; 및 항목 등급 및 추천 플랫폼에 의해, 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트하는 단계를 포함한다.
제2 구현예에서, 동작들을 수행하기 위해 컴퓨터 시스템에 의해 실행 가능한 하나 이상의 명령어를 저장한 비일시적 컴퓨터-판독가능 매체에 있어서, 동작들은, 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하는 동작; 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터를 식별하는 동작; 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신하는 동작 - 소셜 네트워크 데이터는 다수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타내고, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유함 -; 및 항목 등급 및 추천 플랫폼에 의해, 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트하는 동작을 포함한다.
제3 구현예에서, 컴퓨터-구현 시스템에 있어서, 하나 이상의 컴퓨터; 및 하나 이상의 컴퓨터와과 상호 동작 가능하게 커플링되고, 하나 이상의 컴퓨터에 의해 실행될 때 동작들을 수행하는 명령어를 저장한 유형의 비일시적 기계-판독가능 매체를 갖는, 하나 이상의 컴퓨터 메모리 디바이스를 포함하며, 동작들은, 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하는 동작; 항목 등급 및 추천 플랫폼에 의해, 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 사용자 특징을 포함하는 사용자 특징 데이터를 식별하는 동작; 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신하는 동작 - 소셜 네트워크 데이터는 다수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타내고, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 소셜 네트워크 플랫폼은 소셜 네트워크 데이터를 공개하지 않고 조작된 소셜 네트워크 데이터를 항목 등급 및 추천 플랫폼과 공유함 -; 및 항목 등급 및 추천 플랫폼에 의해, 등급 데이터 및 조작된 소셜 네트워크 데이터에 기초하여 사용자 특징 데이터를 업데이트하는 동작을 포함한다.
전술한 또는 다른 설명된 구현예는 각각, 선택적으로, 다음의 특징 중 하나 이상을 포함할 수 있다.
다음의 특징 중 임의의 특징과 결합 가능한 제1 특징으로서, 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 항목 등급 및 추천 플랫폼은 사용자 특징 데이터를 공개하지 않고 조작된 사용자 특징 데이터를 소셜 네트워크 플랫폼과 공유하며, 조작된 사용자 특징 데이터는 사용자 특징 데이터 및 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터에 기초하여 계산되는, 제1 특징.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제2 특징으로서, 상기 방법 또는 동작들은: 다수의 사용자에 대한 다수의 항목 각각의 등급에 기여하는 다수의 항목 특징을 포함하는 항목 특징 데이터를 식별하는 단계/동작 - 사용자 특징 데이터와 항목 특징 데이터의 곱은 등급 데이터의 추정치를 산출함 - ; 및 등급 데이터 및 사용자 특징 데이터에 기초하여 항목 특징 데이터를 업데이트하는 단계/동작을 더 포함하는, 제2 특징.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제3 특징으로서, 상기 방법 또는 동작들은: 사용자 특징 데이터와 항목 특징 데이터의 곱에 기초하여 다수의 사용자에 대한 다수의 항목의 예측된 등급 데이터를 생성하는 단계/동작; 및 예측된 등급 데이터에 기초하여 특정 사용자를 위한 특정 항목의 추천을 생성하는 단계/동작을 더 포함하는, 제3 특징.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제4 특징으로서, 사용자 특징 데이터를 업데이트하는 단계/동작은, 예측된 등급 데이터와 등급 데이터 간의 차이의 가중 합, 소셜 네트워크 데이터에 의해 가중된 사용자 특징 데이터, 및 오버피팅 방지 항을 최소화하도록 최적화 문제를 해결하는 단계/동작을 포함하는, 제4 특징.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제5 특징으로서, 최적화 문제를 해결하는 단계/동작은 다음 수학식을 해결하는 단계/동작을 포함하는, 제5 특징.
Figure 112019041461572-pct00026
Figure 112019041461572-pct00027
여기서, Ui는 사용자 i에 대응하는 사용자 특징 데이터의 벡터를 나타내고; Vj는 항목 j에 대응하는 항목 특징 데이터의 벡터를 나타내고; Rij는 사용자 i에 의한 항목 j의 등급을 나타내고; Sik는 사용자 i와 사용자 k 간의 사회적 관계를 나타내고; λ1은 소셜 네트워크 데이터와 연관된 미리 정의된 가중치를 나타내며; λ2는 오버피팅을 방지하기 위해 미리 정의된 가중치를 나타낸다.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제6 특징으로서, 사용자 특징 데이터를 업데이트하는 단계/동작은 조작된 사용자 특징 데이터와 조작된 소셜 네트워크 데이터의 합을 계산함으로써 사용자 특징 데이터와 소셜 네트워크 데이터의 곱을 계산하는 단계/동작을 포함하는, 제6 특징.
이전의 또는 다음의 특징 중 임의의 특징과 결합 가능한 제7 특징으로서, 상기 방법 또는 동작들은: 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저로부터 제2 입력 데이터를 획득하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 사용자 특징 데이터 및 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터에 기초하여 제1 조작된 사용자 특징 데이터를 생성하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 소셜 네트워크 플랫폼에 제1 조작된 사용자 특징 데이터를 전송하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 제1 조작된 소셜 네트워크 데이터를 수신하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 제1 조작된 사용자 특징 데이터, 제1 조작된 소셜 네트워크 데이터, 또는 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터 중 2개 이상에 기초하여 복수의 중간 데이터를 생성하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 소셜 네트워크 플랫폼에 복수의 중간 데이터를 전송하는 단계/동작; 항목 등급 및 추천 플랫폼에 의해, 소셜 네트워크 플랫폼으로부터, 제1 조작된 사용자 특징 데이터, 제1 조작된 소셜 네트워크 데이터, 또는 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터 중 2개 이상에 기초하여 계산된 복수의 중간 소셜 네트워크 데이터를 수신하는 단계/동작; 및 항목 등급 및 추천 플랫폼에 의해, 복수의 중간 데이터, 복수의 중간 소셜 네트워크 데이터, 또는 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터 중 2개 이상에 기초하여 조작된 사용자 특징 데이터를 생성하는 단계/동작을 더 포함하는, 제7 특징.
본 명세서에 설명된 주제 및 기능적 동작의 구현예는, 디지털 전자 회로부로, 유형적으로 수록된 컴퓨터 소프트웨어 또는 펌웨어로, 본 명세서에 개시된 구조 및 그 구조적 등가물을 비롯한 컴퓨터 하드웨어로, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 설명된 주제의 소프트웨어 구현예는, 하나 이상의 컴퓨터 프로그램으로서, 즉, 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 유형의 비일시적 컴퓨터-판독가능 컴퓨터-저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램 명령어 모듈로서 구현될 수 있다. 대안적으로, 또는 추가적으로, 프로그램 명령어는, 인공적으로 생성되어 전파되는 신호, 예컨대, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 송신할 정보를 인코딩하기 위하여 생성된 기계-생성형 전기, 광학, 또는 전자기 신호 내에/상에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계-판독가능 저장 디바이스, 기계-판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터 저장 매체들의 조합일 수 있다. 하나 이상의 컴퓨터를 구성한다는 것은, 하나 이상의 컴퓨터가, 하나 이상의 컴퓨터에 의해 소프트웨어가 실행될 때 특정한 컴퓨팅 동작이 수행되도록 설치된 하드웨어, 펌웨어, 또는 소프트웨어(또는 하드웨어, 펌웨어, 및 소프트웨어의 조합)를 갖는다는 것을 의미한다.
"실-시간", "실 시간", "실시간", "실 (고속) 시간(RFT)", "근 실-시간(NRT)", "준 실-시간", 또는 (당업자에 의해 이해되는) 이와 유사한 용어는, 행동과 응답이 실질적으로 동시에 발생한다고 개인이 인지하도록, 행동과 응답이 시간적으로 근접하다는 것을 의미한다. 예컨대, 데이터에 액세스하기 위한 개인의 행동에 수반되는 데이터의 디스플레이(또는 디스플레이의 초기화)에 대한 응답에 대한 시간차는 1ms 미만, 1초 미만, 또는 5초 미만일 수 있다. 요청된 데이터는 즉각적으로 디스플레이(또는 디스플레이를 위해 초기화)될 필요가 없지만, 요청된 데이터는, 본 명세서에 설명된 컴퓨터 시스템의 처리 한계, 그리고, 예컨대, 데이터를 수집하거나, 정확히 측정하거나, 분석하거나, 처리하거나, 저장하거나, 전송하는 데 요구되는 시간을 고려하여, 임의의 의도적인 지연 없이 디스플레이(또는 디스플레이를 위해 초기화)된다.
"데이터 처리 장치", "컴퓨터", 또는 "전자 컴퓨터 디바이스"라는 용어(또는 당업자에 의해 이해되는 등가물)는, 데이터 처리 하드웨어를 지칭하며, 예를 들면, 프로그래밍 가능 프로세서, 컴퓨터, 또는 다수의 프로세서나 컴퓨터를 비롯하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스, 및 기계를 망라한다. 이러한 장치는, 특수 목적 논리 회로부, 예컨대, CPU(central processing unit), FPGA(field programmable gate array), 또는 ASIC(application-specific integrated circuit)일 수도 있거나 이러한 특수 목적 논리 회로부를 더 포함할 수도 있다. 일부 구현예에서, 데이터 처리 장치 또는 특수 목적 논리 회로부(또는 데이터 처리 장치와 특수 목적 논리 회로부의 조합)는 하드웨어 기반이거나 소프트웨어 기반(또는 하드웨어 기반 및 소프트웨어 기반 둘 다의 조합)일 수 있다. 이러한 장치는, 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시는, 종래의 운영 체제, 예컨대, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, 또는 임의의 다른 적절한 종래의 운영 체제를 갖거나 갖지 않는 데이터 처리 장치의 사용을 고려한다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트, 또는 코드로도 지칭되거나 설명될 수 있는 컴퓨터 프로그램은, 컴파일러형이나 인터프리터형 언어, 또는 선언형이나 절차형 언어를 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램, 또는, 컴퓨팅 환경에서의 사용에 적절한, 모듈, 컴포넌트, 서브 루틴, 또는 다른 유닛을 비롯한 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있으나, 그러할 필요는 없다. 프로그램은, 다른 프로그램 또는 데이터를 보유한 파일의 일부, 예컨대, 마크업 언어 문서 내에 저장된 하나 이상의 스크립트에 저장되거나, 해당 프로그램 전용 단일 파일에 저장되거나, 다수의 조정된 파일, 예컨대, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 부분들을 저장한 파일들에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터 상에서, 또는 한 지점에 위치되거나, 다수의 지점에 걸쳐 분산되고 통신 네트워크에 의해 상호 연결된 다수의 컴퓨터 상에서 실행되기 위하여 배치될 수 있다.
다양한 도면에 나타난 프로그램의 부분들은, 다양한 객체, 방법, 또는 다른 프로세스를 통해 다양한 특징 및 기능을 구현하는 개별적인 모듈로서 도시되었지만, 적절한 경우, 프로그램은 그 대신 다수의 서브 모듈, 제3자 서비스, 컴포넌트, 라이브러리 등을 포함할 수 있다. 반대로, 적절한 경우, 다양한 컴포넌트의 특징 및 기능이 단일 컴포넌트에 조합될 수 있다. 계산적 결정을 실행하기 위해 사용되는 임계치는 정적으로, 동적으로, 또는 정적 및 동적 두 방식 모두로 결정될 수 있다.
본 명세서에 설명된 방법, 프로세스, 또는 논리 흐름은, 입력 데이터에 대해 연산을 수행하고 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능 컴퓨터에 의해 수행될 수 있다. 이러한 방법, 프로세스, 또는 논리 흐름은 특수 목적 논리 회로부, 예컨대, CPU, FPGA, 또는 ASIC에 의해 수행될 수도 있거나, 이러한 특수 목적 논리 회로부로서 장치가 구현될 수도 있다.
컴퓨터 프로그램의 실행에 적절한 컴퓨터는, 범용 또는 특수 목적 마이크로프로세서, 둘 다, 또는 임의의 다른 종류의 CPU를 기반으로 할 수 있다. 일반적으로, CPU는 메모리로부터 명령어 및 데이터를 수신하고 메모리에 기입할 것이다. 컴퓨터의 필수 요소는, 명령어를 수행 또는 실행하기 위한 CPU, 그리고 명령어 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예컨대, 자기 디스크, 자기-광학 디스크, 또는 광학 디스크를 포함할 것이며, 또는, 이러한 대용량 저장 디바이스로부터 데이터를 수신하거나, 이러한 대용량 저장 디바이스에 데이터를 전송하거나, 둘 다를 수행하도록, 이러한 대용량 저장 디바이스에 동작 가능하게 커플링될 것이다. 그러나, 컴퓨터가 그러한 디바이스를 가질 필요는 없다. 또한, 컴퓨터는, 또 다른 디바이스에, 예컨대, 이동 전화기, PDA(personal digital assistant), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS(global positioning system) 수신기, 또는 휴대용 저장 디바이스, 예컨대, USB(universal serial bus) 플래시 드라이브 등에 임베딩될 수 있다.
컴퓨터 프로그램 명령어 및 데이터를 저장하는 데 적절한 컴퓨터-판독가능 매체(적절한 경우, 일시적 또는 비일시적)는, 예를 들면, 반도체 메모리 디바이스, 예컨대, RAM(random access memory), ROM(read-only memory), PRAM(phase change memory), SRAM(static random access memory), DRAM(dynamic random access memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 및 플래시 메모리 디바이스; 자기 디바이스, 예컨대, 테이프, 카트리지, 카세트, 내장형/탈착형 디스크; 자기-광학 디스크; 및 광학 메모리 디바이스, 예컨대, DVD(digital video disc), CD-ROM, DVD+/-R, DVD-RAM, DVD-ROM, HD-DVD, 및 BLURAY, 및 다른 광학 메모리 기술을 비롯한, 모든 형태의 영구적/비영구적 또는 휘발성/비휘발성 메모리, 매체, 및 메모리 디바이스를 포함한다. 메모리는, 캐시, 클래스, 프레임워크, 애플리케이션, 모듈, 백업 데이터, 작업, 웹 페이지, 웹 페이지 템플리트, 데이터 구조, 데이터베이스 테이블, 동적 정보를 저장한 저장소, 그리고, 임의의 파라미터, 변수, 알고리즘, 명령어, 규칙, 제한사항, 또는 그에 대한 참조를 포함한 임의의 다른 적절한 정보를 비롯한, 다양한 객체 또는 데이터를 저장할 수 있다. 또한, 메모리는, 로그, 정책, 보안 또는 액세스 데이터, 보고 파일 등과 같은 임의의 다른 적절한 데이터를 포함할 수 있다. 프로세서 및 메모리는 특수 목적 논리 회로부에 의해 보완되거나 특수 목적 논리 회로부에 포함될 수 있다.
사용자와의 상호 작용이 가능하도록 하기 위하여, 본 명세서에 설명된 주제의 구현예는, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예컨대, CRT(cathode ray tube), LCD(liquid crystal display), LED(Light Emitting Diode), 또는 플라즈마 모니터, 그리고, 사용자가 컴퓨터에 입력을 제공하도록 할 수 있는, 포인팅 디바이스, 예컨대, 마우스, 트랙볼, 또는 트랙패드, 및 키보드를 갖는 컴퓨터 상에 구현될 수 있다. 입력은, 감압식 태블릿 컴퓨터 표면, 정전용량식 멀티터치 스크린, 또는 다른 타입의 터치스크린과 같은, 터치스크린을 사용하여 컴퓨터에 제공될 수도 있다. 사용자와의 상호 작용이 가능하도록 하기 위하여 다른 종류의 디바이스가 사용될 수도 있으며; 예컨대, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 비롯한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는, 사용자에 의해 사용되는 디바이스에 문서를 전송하고 해당 디바이스로부터 문서를 수신함으로써, 예컨대, 웹 브라우저로부터 수신되는 요청에 응답하여, 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써, 사용자와 상호 작용할 수 있다.
"그래픽 사용자 인터페이스" 또는 "GUI"라는 용어는, 하나 이상의 그래픽 사용자 인터페이스, 그리고 특정한 그래픽 사용자 인터페이스의 디스플레이 각각을 설명하기 위하여 단수형 또는 복수형으로 사용될 수 있다. 따라서, GUI는, 정보를 처리하고 정보 결과를 사용자에게 효율적으로 제공하는 웹 브라우저, 터치 스크린, 또는 CLI(command line interface)를 포함하지만 이에 한정되지 않는 임의의 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 복수의 사용자 인터페이스(UI) 요소를 포함할 수 있으며, 그 일부 또는 모두는, 인터랙티브 필드(interactive field), 풀다운 목록, 및 버튼과 같이, 웹 브라우저와 연관되어 있을 수 있다. 이러한 UI 요소 및 다른 UI 요소는 웹 브라우저의 기능과 관련되어 있거나 웹 브라우저의 기능을 나타낼 수 있다.
본 명세서에 설명된 주제의 구현예는, 예컨대 데이터 서버로서의, 백엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트, 예컨대, 애플리케이션 서버를 포함하는, 또는 프론트엔드 컴포넌트, 예컨대, 사용자가 본 명세서에 설명된 주제의 구현예와 상호 작용할 수 있도록 하는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하는, 또는 하나 이상의 그러한 백엔드 컴포넌트나, 미들웨어 컴포넌트나, 프론트엔드 컴포넌트의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 유선 또는 무선 디지털 데이터 통신(또는 데이터 통신의 조합), 예컨대, 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예는, LAN(local area network), RAN(radio access network), MAN(metropolitan area network), WAN(wide area network), WIMAX(Worldwide Interoperability for Microwave Access), 예컨대 802.11 a/b/g/n 또는 802.20(또는 802.11x와 802.20의 조합이나 본 개시에 모순되지 않는 다른 프로토콜)을 사용하는 WLAN(wireless local area network), 인터넷의 모두 또는 일부, 또는 하나 이상의 위치에 있는 임의의 다른 통신 시스템 또는 시스템들(또는 통신 네트워크의 조합)을 포함한다. 네트워크는, 예컨대, IP(Internet Protocol) 패킷, Frame Relay 프레임, ATM 셀(Asynchronous Transfer Mode cell), 음성, 동영상, 데이터, 또는 다른 적절한 정보(또는 통신 유형의 조합)를 사용하여 네트워크 주소 사이에서 통신할 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 각 컴퓨터 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 다수의 특정한 구현예 세부사항을 포함하고 있지만, 이들은 임의의 발명의 범위 또는 청구 대상이 될 수 있는 것의 범위에 대한 제한으로서 해석되어서는 안 되며, 오히려, 특정한 발명의 특정한 구현예에 특유할 수 있는 특징의 설명으로서 해석되어야 한다. 분리된 구현예의 맥락에서 본 명세서에 설명된 특정한 특징들은 단일 구현예에서 조합되어 구현될 수도 있다. 반대로, 단일 구현예의 맥락에서 설명된 다양한 특징은 다수 구현예에서 분리되어 또는 임의의 적절한 부분조합으로 구현될 수도 있다. 또한, 전술한 특징은 특정한 조합으로 작동하는 것으로 설명되고 최초에 그와 같이 청구될 수도 있으나, 청구된 조합으로부터의 하나 이상의 특징은, 일부 경우, 조합으로부터 삭제될 수 있고, 청구된 조합은 부분조합 또는 부분조합의 변형예에 관한 것일 수 있다.
지금까지 본 명세서의 주제의 특정한 구현예가 설명되었다. 설명된 구현예의 다른 구현예, 변형예, 및 치환예는, 당업자에게 분명할 바와 같이, 다음 청구범위 내에 있다. 도면 또는 청구항에 동작들이 특정한 순서로 묘사되어 있으나, 이는 바람직한 결과를 달성하기 위하여 그러한 동작들이, 도시된 특정한 순서 또는 순차적 순서로 수행될 것 또는 설명된 모든 동작이 수행될 것(일부 동작은 선택적인 것으로 간주될 수 있음)을 요구하는 것으로 이해되어서는 안 된다. 특정한 상황에서, 멀티태스킹 또는 병렬 처리(또는 멀티태스킹과 병렬 처리의 조합)가 이로울 수 있으며 적절하다고 간주되는 방식으로 수행될 수 있다.
또한, 전술한 구현예에서의 다양한 시스템 모듈 및 컴포넌트의 분리 또는 통합은, 모든 구현예에서 그러한 분리 또는 통합을 요구하는 것으로 이해되어서는 안 되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있는 것으로 이해되어야 한다.
따라서, 전술한 예시 구현예들은 본 개시를 한정하거나 제한하지 않는다. 본 개시의 사상 및 범위로부터 벗어나지 않으면서, 다른 변화, 대체, 및 변경 또한 가능하다.
또한, 임의의 청구된 구현예는 적어도 컴퓨터-구현 방법; 컴퓨터-구현 방법을 수행하기 위한 컴퓨터-판독가능 명령어를 저장한 비일시적 컴퓨터-판독가능 매체; 및 비일시적 컴퓨터-판독가능 매체 상에 저장된 명령어 또는 컴퓨터-구현 방법을 수행하도록 구성된 하드웨어 프로세서와 상호 운용 가능하게 커플링된 컴퓨터 메모리를 포함하는 컴퓨터 시스템에 적용 가능한 것으로 간주된다.

Claims (20)

  1. 컴퓨터-구현 방법(computer-implemented method)에 있어서,
    항목 등급(item rating) 및 추천 플랫폼에 의해, 복수의 사용자에 대한 복수의 항목 각각의 등급을 포함하는 등급 데이터를 식별하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 복수의 사용자에 대한 복수의 항목 각각의 등급에 기여하는 복수의 사용자 특징(features)을 포함하는 사용자 특징 데이터를 식별하는 단계 - 상기 사용자 특징 데이터는 제1 행렬로 표현될 수 있음 - ;
    상기 항목 등급 및 추천 플랫폼에 의해, 신뢰성 있는 이니셜라이저(trusted initializer)를 사용하는 비밀 공유 방식을 통해 소셜 네트워크 플랫폼으로부터, 소셜 네트워크 데이터 및 상기 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 조작된 소셜 네트워크 데이터를 수신하는 단계 - 상기 소셜 네트워크 데이터는 제2 행렬로 표현될 수 있고 상기 복수의 사용자 중 임의의 두 사용자 간의 사회적 관계를 나타내며, 상기 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 상기 소셜 네트워크 플랫폼은 상기 소셜 네트워크 데이터를 공개함 없이 상기 조작된 소셜 네트워크 데이터를 상기 항목 등급 및 추천 플랫폼과 공유함 - ; 및
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 등급 데이터 및 상기 조작된 소셜 네트워크 데이터에 기초하여 상기 사용자 특징 데이터를 업데이트하는 단계 - 상기 사용자 특징 데이터를 업데이트하는 단계는, 조작된 사용자 특징 데이터와 상기 조작된 소셜 네트워크 데이터의 합을 계산함으로써 상기 제1 행렬과 상기 제2 행렬의 행렬 곱(matrix product)을 계산하는 단계를 포함함 - ;
    를 포함하는, 컴퓨터-구현 방법.
  2. 제1항에 있어서, 상기 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서, 상기 항목 등급 및 추천 플랫폼은 상기 사용자 특징 데이터를 공개함 없이 상기 조작된 사용자 특징 데이터를 상기 소셜 네트워크 플랫폼과 공유하며, 상기 조작된 사용자 특징 데이터는 상기 사용자 특징 데이터 및 상기 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터에 기초하여 계산되는, 컴퓨터-구현 방법.
  3. 제2항에 있어서, 상기 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유 방식에서,
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 신뢰성 있는 이니셜라이저로부터 제2 입력 데이터를 획득하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 사용자 특징 데이터 및 상기 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터에 기초하여 제1 조작된 사용자 특징 데이터를 생성하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼에 상기 제1 조작된 사용자 특징 데이터를 전송하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼으로부터, 상기 소셜 네트워크 데이터 및 상기 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터에 기초하여 계산된 제1 조작된 소셜 네트워크 데이터를 수신하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 제1 조작된 사용자 특징 데이터, 상기 제1 조작된 소셜 네트워크 데이터, 또는 상기 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터 중 2개 이상에 기초하여 복수의 중간 데이터를 생성하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼에 상기 복수의 중간 데이터를 전송하는 단계;
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 소셜 네트워크 플랫폼으로부터, 상기 제1 조작된 사용자 특징 데이터, 상기 제1 조작된 소셜 네트워크 데이터, 또는 상기 신뢰성 있는 이니셜라이저로부터의 제1 입력 데이터 중 2개 이상에 기초하여 계산된 복수의 중간 소셜 네트워크 데이터를 수신하는 단계; 및
    상기 항목 등급 및 추천 플랫폼에 의해, 상기 복수의 중간 데이터, 상기 복수의 중간 소셜 네트워크 데이터, 또는 상기 신뢰성 있는 이니셜라이저로부터의 제2 입력 데이터 중 2개 이상에 기초하여 상기 조작된 사용자 특징 데이터를 생성하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  4. 제1항에 있어서,
    상기 조작된 사용자 특징 데이터와 상기 조작된 소셜 네트워크 데이터는 각각 행렬의 형태로 표현되는 것인, 컴퓨터-구현 방법.
  5. 제1항에 있어서,
    상기 복수의 사용자에 대한 복수의 항목 각각의 등급에 기여하는 복수의 항목 특징을 포함하는 항목 특징 데이터를 식별하는 단계 - 상기 사용자 특징 데이터와 상기 항목 특징 데이터의 곱은 상기 등급 데이터의 추정치를 산출함 - ; 및
    상기 등급 데이터 및 상기 사용자 특징 데이터에 기초하여 상기 항목 특징 데이터를 업데이트하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  6. 제5항에 있어서,
    상기 사용자 특징 데이터와 상기 항목 특징 데이터의 곱에 기초하여 상기 복수의 사용자에 대한 복수의 항목의 예측된 등급 데이터를 생성하는 단계; 및
    상기 예측된 등급 데이터에 기초하여 특정 사용자를 위한 특정 항목의 추천을 생성하는 단계
    를 더 포함하는, 컴퓨터-구현 방법.
  7. 제6항에 있어서, 상기 사용자 특징 데이터를 업데이트하는 단계는, 상기 예측된 등급 데이터와 상기 등급 데이터 간의 차이의 가중 합, 상기 소셜 네트워크 데이터에 의해 가중된 사용자 특징 데이터, 및 오버피팅 방지(overfitting-preventing) 항을 최소화하도록 최적화 문제를 해결하는 단계를 포함하는, 컴퓨터-구현 방법.
  8. 제7항에 있어서, 상기 최적화 문제를 해결하는 단계는, 다음 수학식을 해결하는 단계를 포함하며,
    Figure 112019041461572-pct00028

    Figure 112019041461572-pct00029

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

    Figure 112019041461572-pct00031

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/110700 WO2020077576A1 (en) 2018-10-17 2018-10-17 Secret sharing with a trusted initializer

Publications (2)

Publication Number Publication Date
KR20200045440A KR20200045440A (ko) 2020-05-04
KR102220086B1 true KR102220086B1 (ko) 2021-03-02

Family

ID=68112765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011607A KR102220086B1 (ko) 2018-10-17 2018-10-17 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유

Country Status (14)

Country Link
US (1) US10672058B2 (ko)
EP (1) EP3659049A1 (ko)
JP (1) JP6799151B1 (ko)
KR (1) KR102220086B1 (ko)
CN (1) CN110325996B (ko)
AU (1) AU2018353931B2 (ko)
BR (1) BR112019008110A2 (ko)
CA (1) CA3040681C (ko)
MX (1) MX2019004665A (ko)
PH (1) PH12019500994A1 (ko)
RU (1) RU2721474C1 (ko)
SG (1) SG11201903590VA (ko)
WO (1) WO2020077576A1 (ko)
ZA (1) ZA201902489B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7350815B2 (ja) * 2020-10-09 2023-09-26 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド リソース推奨およびパラメータ確定方法、装置、機器、並びに媒体
IL280056A (en) 2021-01-10 2022-08-01 Google Llc Using secure mpc and vector computations to protect access to information in content distribution
IL281328A (en) 2021-03-08 2022-10-01 Google Llc Flexible content selection processes through multi-sided secure calculation
KR20220140759A (ko) 2021-04-09 2022-10-18 구글 엘엘씨 분류 정확도를 향상시키기 위한 기계 학습 모델링 데이터의 처리
CN113343218B (zh) * 2021-08-03 2022-01-21 深圳市知酷信息技术有限公司 一种基于互联网在线文档的数据安全共享平台

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090197681A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation System and method for targeted recommendations using social gaming networks
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
WO2013005189A2 (en) * 2011-07-07 2013-01-10 Serena F David Social network graph inference and aggregation with portability, protected shared content, and application programs spanning multiple social networks
KR20160102573A (ko) * 2011-12-19 2016-08-30 인텔 코포레이션 스마트 장치 지원 상거래
US10311403B2 (en) * 2012-06-04 2019-06-04 Apple Inc. Providing feedback via a social network from a media distribution platform
CN103106285B (zh) * 2013-03-04 2017-02-08 中国信息安全测评中心 一种基于信息安全专业社交网络平台的推荐算法
CN104796475B (zh) * 2015-04-24 2018-10-26 苏州大学 一种基于同态加密的社会化推荐方法
US10171859B2 (en) * 2015-06-03 2019-01-01 Blab Ventures Llc Systems, media, and methods for providing an algorithmically sorted watchlist or wishlist
US20160381158A1 (en) * 2015-06-29 2016-12-29 Google Inc. Automatic Invitation Delivery System
US10554611B2 (en) * 2015-08-10 2020-02-04 Google Llc Privacy aligned and personalized social media content sharing recommendations
CN105138664B (zh) * 2015-09-02 2019-03-22 中国地质大学(武汉) 一种隐私保护的大数据推荐方法及***
CN105677701A (zh) * 2015-12-24 2016-06-15 苏州大学 一种基于不经意传输的社会化推荐方法
RU2613530C1 (ru) * 2016-04-19 2017-03-16 Игорь Юрьевич Скворцов Самонастраивающаяся интерактивная система, способ и считываемый компьютером носитель данных обмена комментариями между пользователями
US10127191B2 (en) * 2016-04-28 2018-11-13 International Business Machines Corporation System, method, and recording medium for differentiated and partial feature update in alternating least square
WO2017200510A1 (ru) * 2016-05-18 2017-11-23 Евгэн Мыхайловыч ВЫСОЦЬКЫЙ Обработка персональных и совокупных предпочтений пользователей (варианты)
US20180189521A1 (en) * 2017-01-05 2018-07-05 Microsoft Technology Licensing, Llc Analyzing data to determine an upload account
RU2649797C1 (ru) * 2017-06-14 2018-04-04 Общество С Ограниченной Ответственностью "Центр Разработки И Внедрения Инновационных Технологий" Интерактивная система, способ и считываемый компьютером носитель данных представления рекламного контента
RU2666336C1 (ru) * 2017-08-01 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для рекомендации медиаобъектов

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sisi Wang et al., "VirtualIdentity: Privacy-Preserving User Profiling"*

Also Published As

Publication number Publication date
CN110325996B (zh) 2022-12-20
US20200126143A1 (en) 2020-04-23
RU2721474C1 (ru) 2020-05-19
KR20200045440A (ko) 2020-05-04
CA3040681C (en) 2020-08-18
EP3659049A4 (en) 2020-06-03
JP2021501920A (ja) 2021-01-21
SG11201903590VA (en) 2020-05-28
US10672058B2 (en) 2020-06-02
WO2020077576A1 (en) 2020-04-23
AU2018353931B2 (en) 2021-02-25
JP6799151B1 (ja) 2020-12-09
CA3040681A1 (en) 2020-04-17
ZA201902489B (en) 2021-05-26
AU2018353931A1 (en) 2020-05-07
BR112019008110A2 (pt) 2021-05-18
CN110325996A (zh) 2019-10-11
MX2019004665A (es) 2021-03-25
PH12019500994A1 (en) 2020-01-20
EP3659049A1 (en) 2020-06-03

Similar Documents

Publication Publication Date Title
AU2018353923B2 (en) Secret sharing with no trusted initializer
KR102220086B1 (ko) 신뢰성 있는 이니셜라이저를 사용하는 비밀 공유
US11238462B2 (en) Success rate of an online transaction
US20200394534A1 (en) Multi task oriented recommendation system for benchmark improvement
US10484342B2 (en) Accuracy and security of data transfer to an online user account
US20220309520A1 (en) Distributed machine learning decentralized application platform

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right