CN111602152A - 用于对不同内容进行排名的机器学习模型 - Google Patents
用于对不同内容进行排名的机器学习模型 Download PDFInfo
- Publication number
- CN111602152A CN111602152A CN201880085397.5A CN201880085397A CN111602152A CN 111602152 A CN111602152 A CN 111602152A CN 201880085397 A CN201880085397 A CN 201880085397A CN 111602152 A CN111602152 A CN 111602152A
- Authority
- CN
- China
- Prior art keywords
- user
- content item
- ranking score
- content
- attributes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000012549 training Methods 0.000 claims description 46
- 230000009471 action Effects 0.000 description 56
- 230000015654 memory Effects 0.000 description 31
- 230000006855 networking Effects 0.000 description 28
- 230000008569 process Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004138 cluster model Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012552 review Methods 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006996 mental state Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24575—Query processing with adaptation to user needs using context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Tourism & Hospitality (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
在一个实施例中,一种方法包括计算系统访问与内容提供者相关联的内容项目,该内容项目具有第一组属性和第二组属性。该系统可以使用第一机器学习模型,基于第一组属性为用户生成内容项目的第一排名分数。该系统可以生成内容项目的第二组属性的聚类表示。该系统可以使用第二机器学习模型,基于聚类表示为用户生成内容项目的第二排名分数。该系统可以使用第三机器学习模型,基于第一排名分数和第二排名分数为用户生成内容项目的第三排名分数。该系统可以基于第三排名分数来选择用于呈现给用户的内容项目。
Description
技术领域
本公开通常涉及用于排名的机器学习。
背景
可以包括社交网络网站的社交网络系统可以使其用户(例如个人或组织)能够与它互动,并通过它彼此互动。社交网络系统以及其他类型的基于互联网的平台(例如,网站、电子邮件系统、移动设备应用的服务器等)越来越多地作为内容分发者(contentdistributor)被利用。不同的内容提供者(content provider)可以请求基于互联网的平台向平台的用户分发内容提供者各自的内容。某些内容提供者可以向平台提供多个内容项目,并请求平台选择接收用户可能感兴趣的内容项目。平台可以使用排名模型来对候选内容项目进行排名,并选择用户最可能感兴趣的内容项目。因为不同的内容提供者可以请求平台在不同的环境下分发不同类型的内容项目,所以平台可以针对不同内容提供者的不同需求定制不同的排名模型。然而,以这种方式开发定制排名模型(尤其是对于需要足够大的数据样本而开发的排名模型)受到可扩展性(scalability)的限制。
特定实施例概述
本文描述的特定实施例涉及一种健壮的排名系统,该系统允许对来自不同内容提供者的不同的、非结构化内容进行排名。在排名系统中使用的机器学习模型可能不一定是基于相对于推理时间(inference time)的输入数据是同类(homogeneous)的训练数据进行训练的。在特定实施例中,排名系统可以通过在概念上将由内容提供者提供的内容项目的数据属性分成以下两种来实现这种健壮性:(1)可以被映射到由第一排名模型识别的一组公共属性(common attribute)类型的已知属性,以及(2)不能被映射或者不能被该第一排名模型以其他方式识别的定制属性(custom attribute)。在特定实施例中,已知属性可以被第一排名模型消耗(consume)以生成内容项目的排名分数。在特定实施例中,可以基于聚类模型(clustering model)来对定制属性进行分组,使得来自不同内容提供者的相似属性可以被视为等同的。可以训练第二排名模型来消耗聚类的定制属性数据。由于第二排名模型被训练来识别泛化的聚类信息,所以排名系统将不需要用于不同内容提供者或内容项目类型的定制排名模型。在特定实施例中,第三排名模型然后可以将来自第一排名模型和第二排名模型的排名结果作为输入,以生成内容项目的排名分数。
在一个实施例中,一种方法包括由计算系统:访问与内容提供者相关联的内容项目,该内容项目具有第一组属性和第二组属性;使用第一机器学习模型,基于第一组属性为用户生成内容项目的第一排名分数;生成内容项目的第二组属性的聚类表示(clusterrepresentation);使用第二机器学习模型,基于聚类表示为用户生成内容项目的第二排名分数;使用第三机器学习模型,基于第一排名分数和第二排名分数为用户生成内容项目的第三排名分数;以及基于第三排名分数选择用于呈现给用户的内容项目。
在一个实施例中,第三排名分数的生成还基于与内容提供者相关联的元数据。
在一个实施例中,与内容提供者相关联的元数据包括以下中的至少一个:内容提供者的规模、用于向用户呈现内容项目的目标结果、或者用户的目标人口统计群体(demographic)。
在一个实施例中,该方法还包括:从与内容项目相关联的内容提供者接收为用户对内容项目进行排名的请求;以及从内容提供者接收与用户相关联的上下文信息;其中第三排名分数的生成还基于与用户相关联的上下文信息。
在一个实施例中,该方法还包括:访问与用户相关联的用户数据;其中第一排名分数的生成或第二排名分数的生成还基于与用户相关联的用户数据。
在一个实施例中,使用与至少第二内容提供者相关联的数据来训练第一机器学习模型、第二机器学习模型或第三机器学习模型,第二内容提供者不同于内容提供者。
在一个实施例中,第一组属性具有一个或更多个已知属性类型;其中基于具有一个或更多个已知属性类型的训练数据来训练第一机器学习模型。
在一个实施例中,第二组属性具有一个或更多个定制属性类型;其中所述一个或更多个定制属性类型不同于用于训练第一机器学习模型的训练数据的已知属性类型。
在一个实施例中,该方法还包括:使用第四机器学习模型,基于内容项目的第一组属性和第二组属性,为用户生成内容项目的第四排名分数;其中内容项目的第三排名分数的生成还基于第四排名分数。
在一个实施例中,使用与内容提供者相关联的训练数据来训练第四机器学习模型。
在一个实施例中,一种系统包括:一个或更多个处理器和耦合到一个或更多个处理器的一个或更多个计算机可读非暂时性存储介质,该一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个处理器执行时可操作来使系统执行根据本发明的任何实施例的方法的指令。
在一个实施例中,一种系统包括:一个或更多个处理器和耦合到一个或更多个处理器的一个或更多个计算机可读非暂时性存储介质,该一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个处理器执行时可操作来使系统执行或可操作来执行包括以下步骤的操作的指令:访问与内容提供者相关联的内容项目,该内容项目具有第一组属性和第二组属性;使用第一机器学习模型,基于第一组属性为用户生成内容项目的第一排名分数;生成内容项目的第二组属性的聚类表示;使用第二机器学习模型,基于聚类表示为用户生成内容项目的第二排名分数;使用第三机器学习模型,基于第一排名分数和第二排名分数为用户生成内容项目的第三排名分数;以及基于第三排名分数选择用于呈现给用户的内容项目。
在一个实施例中,提供了体现软件的一个或更多个计算机可读非暂时性存储介质,该软件当被执行时可操作来使一个或更多个处理器执行根据本发明的任何实施例的方法。
在一个实施例中,提供了体现软件的一个或更多个计算机可读非暂时性存储介质,该软件当被执行时可操作来使一个或更多个处理器执行包括以下步骤的操作:访问与内容提供者相关联的内容项目,该内容项目具有第一组属性和第二组属性;使用第一机器学习模型,基于第一组属性为用户生成内容项目的第一排名分数;生成内容项目的第二组属性的聚类表示;使用第二机器学习模型,基于聚类表示为用户生成内容项目的第二排名分数;使用第三机器学习模型,基于第一排名分数和第二排名分数为用户生成内容项目的第三排名分数;以及基于第三排名分数选择用于呈现给用户的内容项目。
本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括上面公开的实施例的组件、元件、特征、功能、操作或步骤中的全部、一些或没有一个被包括。根据本发明的实施例在涉及方法、存储介质、系统和计算机程序产品的所附权利要求中被具体公开,其中,在一个权利要求类别(例如方法)中提到的任何特征也可以在另一个权利要求类别(例如系统)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面的权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并且可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
附图简述
图1示出了多样化的(heterogeneous)内容提供者和内容项目的示例。
图2示出了根据特定实施例的排名系统架构。
图3示出了用于使用排名系统对内容项目进行排名的示例方法。
图4示出了与社交网络系统相关联的示例网络环境。
图5示出了示例社交图。
图6示出了示例计算机系统。
示例实施例的描述
本文描述的特定实施例涉及一种健壮的排名系统,该系统允许对来自不同内容提供者的不同的、非结构化内容进行排名。在排名系统中使用的机器学习模型可能不一定是基于相对于推理时间的输入数据是同类的训练数据进行训练的。在特定实施例中,排名系统可以通过在概念上将由内容提供者提供的内容项目的数据属性分成以下两种来实现这种健壮性:(1)可以被映射到由第一排名模型识别的一组公共属性类型的已知属性,以及(2)不能被映射或者不能被该第一排名模型以其他方式识别的定制属性。在特定实施例中,已知属性可以被第一排名模型消耗以生成内容项目的排名分数。在特定实施例中,可以基于聚类模型来对定制属性进行分组,使得来自不同内容提供者的相似属性可以被视为等同的。可以训练第二排名模型来消耗聚类的定制属性数据。由于第二排名模型被训练来识别泛化的聚类信息,所以排名系统将不需要用于不同内容提供者或内容项目类型的定制排名模型。在特定实施例中,第三排名模型然后可以将来自第一排名模型和第二排名模型的排名结果作为输入,以生成内容项目的排名分数。
排名系统可能需要足够健壮,以处理来自各种来源的内容。图1示出了多样化的内容提供者和内容项目的示例。示出了三种不同类型的内容提供者:电子商店110、在线音乐发行者120和新闻提供者130。不同类型的内容提供者可以请求排名系统对不同类型的内容进行排名。例如,电子商店110可能希望对其产品进行排名,在线音乐发行者120可能希望对其专辑进行排名,并且新闻提供者可能希望对其新闻文章进行排名。其他类型的内容提供者也可以要求系统对任何其他类型的内容(包括照片、音频、视频、流式传输的内容(streamed content)、个人简档、评论、商品和服务或任何其他类型的内容)进行排名。此外,一些内容提供者可能具有高度特定于他们的深奥内容类型(esoteric content type)(例如,基于排名分数选择向每个用户显示他们的主页的哪个版本)。每种内容类型都可以有独特的属性。例如,电子商店110可以具有产品内容类型113,该产品内容类型113包括用于描述每个产品的以下属性类型:商品名称、品牌和规格。在线音乐发行者120可以具有专辑内容类型123,该专辑内容类型123包括用于描述每个专辑的以下属性类型:专辑名称、歌手、流派(genre)和发行日期。新闻提供者130可以具有新闻内容类型133,该新闻内容类型133包括用于描述每个新闻项目的以下属性类型:标题、主题、类别和子类别。从所示的示例可知,显然不同内容类型的属性(尤其是不同内容提供者的属性)可能非常不同。虽然存在差异,但也应当注意到一些属性在概念上可能是相似的。例如,产品内容类型113的商品名称、专辑内容类型123的专辑名称和新闻内容类型133的标题都可以被认为是它们各自内容类型的标签。
除了内容类型之间的差异,不同的内容提供者可以具有不同的内容排名目标,并且可能希望排名系统考虑其他类型的上下文信息。不同内容排名目标或结果的示例包括针对以下操作进行优化:用户点击(例如,用户点击文章以在内容提供者的网站上查看完整文章)、用户评论/参与(例如,用户评论、分享或“赞(like)”通过社交网络平台呈现的内容项目)、用户安装(例如,用户同意安装与所呈现的内容项目相关联的软件应用)、用户下载(例如,用户下载或流式传输歌曲或视频)、用户转载博客(re-blog)(例如,用户转发(re-post)或重新发布内容项目)、用户购买等。不同的内容提供者也可能希望以不同类型的人口统计群体作为目标。例如,在线音乐发行者120可能希望以青少年作为其流行歌曲的目标,而新闻提供者130可能希望以行业专业人士作为其金融新闻的目标。另外,不同的内容提供者可能希望排名系统考虑可能影响特定排名的不同类型的上下文信息。这可以包括例如内容项目所针对的用户的最近或当前活动。例如,电子商店110可能希望排名系统考虑当前在目标用户的购物车(cart)中的商品,在线音乐发行者120可能希望排名系统考虑目标用户收听的典型歌曲,并且新闻提供者130可能希望排名系统考虑目标用户昨天阅读的新闻文章的类型。
为了适应不同内容提供者的需求,特定实施例可以为每个内容提供者构建定制排名器(custom ranker)。这在图1中由分别用于对产品内容类型113、专辑内容类型123和新闻内容类型133进行排名的排名器A 115、排名器B125和排名器C135示出。排名器A115、排名器B125和排名器C135中的每一个可以处理它们各自的输入数据以分别输出排名119、排名129和排名139。
然而,考虑到内容类型和/或内容提供者可能要求排名系统处理的其他信息中潜在的无穷差异,为每个内容提供者和/或每个内容类型构建定制排名模型可能是昂贵的、耗时的且不可扩展的。此外,新的内容提供者可能没有足够丰富的数据来充分训练其定制模型,至少在开始时是这样,因此在收集到足够的数据之前,模型的有效性和效率可能不是最佳的(这可以被称为“冷启动(cool-start)问题”)。备选方案可以是使用来自不同内容提供者的可用数据来构建单一排名模型,但是这样做可能需要进行某些泛化(generalization)(例如,不考虑某些更深奥但潜在高度地预测性/相关性的属性)。单一模型也可能过于适合普通内容类型,而不太适合相对较少见的内容类型。此外,由于单一模型是根据现有数据训练的,因此它可能没有被充分校准以处理来自新内容提供者的新内容类型。
为了解决上述问题,特定实施例提供了一种排名系统,该系统允许使用机器学习模型对来自不同内容提供者的不同的、非结构化内容进行排名。在特定实施例中,机器学习模型可以基于与任何内容提供者相关联的任何可用数据被训练,即使内容提供者和/或它们各自的内容类型不同。一旦被训练,机器学习模型就可以用于处理任何内容类型并对其进行排名,即使该内容类型不同于训练中使用的任何内容类型。换句话说,机器学习模型可以基于现有数据来被训练,现有数据可以反映也可以不反映在推理时间要被排名的输入数据。例如,机器学习模型可以使用现有的训练数据(例如电子商店的内容项目)来被训练,但是训练的机器学习模型可以用于对不同类型的内容项目(例如音乐发行者的内容项目)进行排名。这不同于传统的配置,在传统配置中,机器学习模型是基于与模型在推理时间被训练处理的数据具有相同属性类型的数据被训练的。因此,排名系统的一个好处是,一旦它已经被训练,它可以被用来对甚至新的内容类型进行排名,并且从一开始就提供合理的排名质量。因此,即使新内容类型缺乏足够的训练数据来训练定制的排名模型,也可以使用基于其他现有内容类型训练的排名系统来对新内容类型进行排名。
图2示出了根据特定实施例的健壮的排名系统200。排名系统200可以被配置为针对特定用户或内容消耗者对内容进行排名。特别是在存在大量内容(例如,商品、歌曲或新闻文章的目录)的情况下,排名系统的目标可以是为特定受众(viewer)对内容进行排名和设定优先级。通过提供与受众相关或感兴趣的目标内容,排名系统帮助内容提供者以高效且有效的方式到达他们的受众(audience)。此外,该平台有助于为受众集中内容,从而防止信息过载或疲劳。
在特定实施例中,内容提供者可以请求排名系统200对其内容进行排名和分发。内容提供者可以向排名系统200提供可以用于对内容项目211进行排名的各种信息210。作为示例,内容提供者(例如,音乐发行者)可以请求排名系统200为个人用户对一个或更多个内容项目211(例如,歌曲)进行排名(例如,以向每个用户提供个性化歌曲推荐)。在特定实施例中,由内容提供者提供的每个内容项目211可以具有多种属性。一些属性可以是已知属性类型212,而其他属性可以是定制属性类型213,定制属性类型213可以不同于已知属性类型212。已知属性类型212可以是在机器学习模型230的训练中使用的属性类型。例如,如果机器学习模型230是基于具有属性“项目描述”的数据被训练的,则内容项目的“项目描述”属性可以被认为是已知属性212。在特定实施例中,排名系统200可以被配置成识别内容项目211的某些属性等同于由机器学习模型230识别的已知属性。例如,排名系统200可以认识到内容项目211的“项目名称”属性类型可以被映射到在机器学习模型230的训练中使用的“项目标签”属性类型。在特定实施例中,内容项目211的属性可以连同可以用于将结构化属性转换或映射成机器学习模型230所识别的格式的信息,以结构化格式(例如,XML、JSON等)来被提供。
在特定实施例中,内容项目211还可以包括可以被称为定制属性类型213的属性。本文使用的定制属性类型213是指在机器学习模型230的训练中没有使用的属性类型。换句话说,定制属性类型213不同于用于训练机器学习模型230的训练数据的属性类型。如前所述,来自不同提供者的内容项目可以具有独特的定制属性。例如,如果内容项目211是歌曲,则它可以具有指示歌曲在内容提供者的平台上的评论分数(例如,最多5颗星中的4颗星)和歌曲持续时间的定制属性。这些类型的属性对于特定的内容提供者或内容类型可以是唯一的。例如,电子产品内容项目或新闻内容项目不会具有歌曲持续时间属性,因为这样的属性在内容项目的上下文中可能没有意义。由于定制属性类型213不会被机器学习模型230识别,所以排名系统200可以不同地处理它们,这将在下面进一步详细描述。
在特定实施例中,排名系统200可以被要求为(如用户ID 214所表示的)特定用户对内容项目进行排名。在特定实施例中,内容提供者通常可以请求以个性化的方式向用户分发其内容项目(例如,选择性地呈现每个单独用户可能感兴趣的内容项目)。基于这样的请求,社交网络平台(或其他类型的内容分发平台)可以识别向其呈现内容项目的特定用户。例如,如果内容提供者指定了感兴趣的特定用户人口统计群体,则社交网络平台可以相应地选择用户。作为另一个示例,当用户向社交网络平台请求内容(例如,动态消息(newsfeed))时,该平台可以将请求用户识别为接收内容提供者的内容项目的潜在候选者。在这两个示例中,内容提供者没有指定向其分发内容项目的特定用户。相反,是社交网络或内容分发平台在识别目标候选用户。在特定实施例中,内容提供者可以指定向其分发内容项目的特定用户。例如,特定用户可能正在内容提供者的系统上浏览歌曲,并且内容提供者可能希望利用社交网络平台的海量数据和排名系统200来预测该用户可能感兴趣的歌曲。在特定实施例中,内容提供者可以(例如,通过API调用)向社交网络平台发送请求,请求为该特定用户对内容项目(例如,歌曲)进行排名。在这种情况下,内容提供者可以指定内容项目所指向的特定用户。
在特定实施例中,排名系统200可以进一步考虑围绕特定排名请求的上下文信息或者内容项目将被显示在其中的上下文。例如,在为特定用户对个性化内容项目进行排名的实施例中,内容提供者还可以提供与内容项目将被显示在其中的当前上下文相关的用户上下文信息215。例如,内容提供者可以提供诸如受众当前正在消耗或最近已经消耗的内容类型的信息(例如,用户最近收听的歌曲的类型、用户当前正在阅读的新闻文章、已经下载的软件应用等)、当前在用户购物车中的商品、用户在预定时间窗口内使用的搜索词(search term)以及可能与预测用户对内容项目的兴趣相关的任何其他类型的用户信息或用户活动数据。被要求执行排名的社交网络平台或内容分发平台也可以从平台知识库中检索可以用于评估用户的当前精神状态或兴趣的用户信息或活动数据。例如,社交网络平台可以识别用户最近观看或(例如,通过评论、“点赞”、分享等)参与的帖子、动态消息或视频。排名系统200可以使用这样的用户上下文信息来预测内容项目211中的哪一个是用户可能感兴趣的,这将在下面进一步详细描述。
为了提高排名的有效性,在特定实施例中,内容提供者也可以提供关于其自身的某些元数据216(诸如其公司规模、行业、地理位置以及可以帮助内容提供者到达其预期受众的任何其他合适的信息)。此外,如前所述,不同的内容提供者可能具有不同的排名目标来实现某些期望的结果。例如,一些内容提供者可能希望优化点击的排名结果,而另一些内容提供者可能希望优化社交网络活动(例如,评论、分享等)、下载等的排名。内容提供者也可能知道期望的或偏好的用户人口统计群体。因此,在特定实施例中,排名系统还可以考虑内容提供者的元数据316,其指示内容提供者的优选排名目标、结果、人口统计群体等。
在特定实施例中,前述数据(例如,内容项目的已知属性和定制属性、用户数据和内容提供者数据)可以由不同的机器学习模型来处理。关于内容项目的已知属性,排名系统200可以使用机器学习模型230来基于机器学习模型230已知的内容项目的相应属性对内容项目进行排名。在特定实施例中,可以使用具有一组已知属性类型的训练数据集来对机器学习模型230进行训练。在特定实施例中,机器学习模型230可以是社交网络平台的现有机器学习模型,其被训练成基于一组具有预定属性的丰富的现有训练数据来对内容项目进行排名。训练数据可以包括来自各种内容提供者的内容项目,并且训练内容项目可以反映或不反映当前内容提供者要求系统200进行排名的内容项目的类型。例如,现有的机器学习模型可能已经使用来自批发商或电子商店的数据进行了训练,而当前的内容提供者可以是音乐或新闻发行者。然而,由于当前内容项目可以具有与用于训练机器学习模型230的属性相同的属性,模型230仍然可以用于基于这些属性对内容项目进行排名(尽管基于不完整的数据,因为内容项目可以具有定制属性类型213)。在特定实施例中,训练数据集中的每个训练样本可以包括:(1)具有已知类型的属性的训练内容项目、(2)与训练内容项目被呈现至的用户相关联的用户数据、以及(3)表示训练内容项目应该如何被排名(例如,这可以被认为是训练样本的真值(ground truth)或标签)的排名度量(例如,用户是否点击或下载了内容项目)。在特定实施例中,机器学习模型230可以是神经网络,但是也可以使用任何其他合适类型的机器学习模型。
在特定实施例中,排名系统200可以使用训练好的机器学习模型230来基于给定内容项目211的已知属性212为其生成初步排名。在特定实施例中,内容提供者可以提供结构化数据,该结构化数据可以用于确定应当如何解析已知属性212。例如,内容项目可以是具有结构化属性(例如,名称、描述、价格、时间戳等)的JSON blob,该结构化属性可以映射到机器学习模型230已知或识别的属性。因此,在特定实施例中,排名系统200可以将已知属性类型212的结构化属性转换220为机器学习模型230(其可以被训练来处理空属性)所期望的格式或数据结构。在特定实施例中,已知属性类型212的转换后的属性集可以被输入到机器学习模型230中。在特定实施例中,机器学习模型230还可以将与为其对内容项目排名的用户相关联的用户数据作为输入。在特定实施例中,可以从社交网络/内容分发平台和/或内容提供者检索260用户数据。基于输入数据,机器学习模型230可以为相应的内容项目211生成排名分数(例如,排名分数可以表示内容项目与特定用户的相对相关性)。来自机器学习模型230的排名分数然后可以被输入到最终排名模型270中,这将在下面描述。
在特定实施例中,排名系统200可以使用不同的机器学习模型250来处理内容项目211的定制属性类型213。如本文别处所述,由当前内容提供者提供的内容项目可以具有数据属性,该数据属性不整齐地(neatly)映射到由为已知属性配置的机器学习模型230所识别的任何预定特征。然而,这些定制数据属性仍然可以与应当如何对内容项目进行排名以优化某些期望的度量相关。排名系统200考虑定制属性类型213的一种方式是直接基于定制属性来训练机器学习模型。然而,这种方法可能导致系统200需要用于不同类型内容项目的不同机器学习模型。因此,在特定实施例中,排名系统200可以替代地泛化定制属性类型213,并基于泛化的数据来训练机器学习模型250。
在特定实施例中,排名系统可以使用聚类模型240来基于训练数据中每个内容项目的定制属性与整个生态系统(例如,整个社交网络平台或内容分发平台)中的其他属性的各自相似性来对定制属性进行聚类。在特定实施例中,相似属性可以在n维的聚类空间中更紧密地聚类在一起。在特定实施例中,对于每个定制属性,聚类模型240可以在聚类空间中生成该属性的对应聚类ID或向量表示。在特定实施例中,由聚类模型240输出的聚类表示连同定制类型213的属性可以用于训练机器学习模型250,以基于它们各自的聚类表示和相关联的定制数据属性对内容项目进行排名。此外,机器学习模型250还可以将与为其呈现内容项目的用户相关联的用户数据作为输入。在特定实施例中,训练数据集中的每个训练样本可以包括:(1)具有定制类型的属性的训练内容项目(其可以对应于用于训练第一机器学习模型230的训练内容项目)、(2)与训练内容项目被呈现至的用户相关联的用户数据、以及(3)表示训练内容项目应当如何被排名(例如,这可以被认为是训练样本的真值或标签)的排名度量(例如,用户是否点击或下载了内容项目)。在特定实施例中,机器学习模型250可以是神经网络,但是也可以使用任何其他合适类型的机器学习模型。
在特定实施例中,排名系统200在操作中或在推理时间,可以使用训练好的机器学习模型250来基于给定内容项目211的定制属性213为其生成第二初步排名。在特定实施例中,内容项目211的定制类型213的属性可以由聚类模型240处理。然后,那些定制属性和/或由聚类模型240生成的它们各自的聚类表示可以被输入到训练好的机器学习模型250中。在机器学习模型250进一步考虑用户数据的特定实施例中,系统200可以(例如,基于用户ID214)从社交网络/内容分发平台和/或内容提供者检索260用户数据。基于这些输入数据,机器学习模型250可以为相应的内容项目211生成排名分数(例如,排名分数可以表示内容项目与特定用户的相对相关性)。来自机器学习模型250的排名分数然后可以被输入到最终排名模型270中,这将在下面对最终排名模型270进行描述。
在特定实施例中,排名系统200可以使用第三机器学习排名模型270,其被训练为基于已知属性的机器学习模型230和定制属性的机器学习模型250的输出来输出排名分数。第三排名模型270可以被配置为将模型230和模型250的输出作为输入。在概念上,排名模型270被训练成基于以下项来预测排名分数:(1)基于已知属性生成的排名分数和(2)基于定制属性生成的排名分数。在特定实施例中,第三排名模型270可以考虑关于内容提供者的信息(例如,诸如规模、行业类型等特征)及其排名目标(例如,优化参与度或花费的时间、目标人口统计群体等)。附加地或替代地,第三排名模型270还可以考虑关于用户的上下文信息215(例如,最近查看的商品等)。因此,在特定实施例中,用于训练排名模型270的训练数据集中的每个训练样本可以进一步包括:(1)与训练样本的训练内容项目被呈现至的用户相关联的上下文或活动信息215,和/或(2)与训练样本的训练内容项目的内容提供者相关的元数据216。如同其他前述的机器学习模型(例如,用于已知属性的机器学习模型230、聚类模型240、用于聚类表示的机器学习模型250),可以使用与内容提供者相关联的数据来训练排名模型270,该内容提供者不同于在推理时间请求系统对其内容项目进行排名的内容提供者。因此,在推理时间,当给定特定用户214确定应当如何对给定内容项目211进行排名时,排名模型270可以考虑所有前述考虑。在特定实施例中,排名模型270可以输出值(例如,在0和1之间),该值表示用户214响应于被呈现内容项目211而以期望的方式表现的可能性。
为了进一步微调排名结果,可以基于可用数据(即使有限)来对为每个内容提供者定制的小模型进行训练。例如,可以使用内容提供者的内容项目211的已知属性类型212和定制属性类型213为特定内容提供者训练个性化机器学习模型。由于训练数据的量可能是有限的(这可能是有意限制的,以最小化训练时间或者仅仅是由于有限的可用性),个性化模型的准确性可能是不够的。然而,尽管这种定制的模型的排名结果可能不具有基于社交网络/内容分发平台的丰富的全局数据进行训练的益处,但是它可能在确定排名方面提供一些益处。这样,在特定实施例中,排名模型270可以进一步被训练以考虑个性化模型的排名输出。
图3示出了示例方法,该示例方法示出了使用排名系统对内容项目进行排名的示例方法300。该方法可以开始于步骤310,其中与排名系统相关联的计算系统可以接收为用户对内容项目进行排名的请求。计算系统可以(例如,通过API调用)直接从内容项目的内容提供者接收请求。计算系统还可以经由系统的其他处理器(handler)间接地从内容提供者接收请求。例如,当用户登录到系统中时,内容提供者可能已经发出了向用户分发内容项目的一般请求。因此,每当用户满足期望的特征(例如,人口统计群体、兴趣等)时,系统可以自动调用排名系统来确定哪些内容项目将关于该用户有很高的排名。
在步骤320,计算系统可以访问与请求内容提供者相关联的内容项目。例如,内容项目可以存储在数据库中,或者被动态接收并至少暂时被存储在RAM中。在特定实施例中,内容项目可以具有(例如,已知属性类型的)第一组属性和(例如,定制属性类型的)第二组属性。例如,如果内容项目是歌曲,第一组属性可以包括歌曲标题/标签和描述,并且第二组属性可以包括歌曲持续时间。在特定实施例中,与内容项目相关联的数据可以是结构化的(例如,以JSON或XML格式),并且基于结构化信息,系统可以识别具有已知属性类型的属性。没有或不能映射到已知属性类型的属性可以被视为定制属性。
在步骤330,计算系统可以使用被训练/配置为处理已知类型的属性的第一机器学习模型,基于第一组属性来为用户生成内容项目的第一排名分数。在特定实施例中,系统可以将已知类型的第一组属性映射或转换成第一机器学习模型被训练来处理的格式。例如,某些属性可以具有与已知属性类型的一对一映射(例如,歌曲标题可以具有与项目标签的一对一映射)。内容项目的其他属性可以被转换以符合已知的属性类型(例如,具有单独的“深度”、“高度”和“宽度”属性的内容项目可以被转换以形成单个已知的“维度”属性,其可以具有以下格式:高度x宽度x深度)。在特定实施例中,第一机器学习模型可以处理内容项目的已知属性,而不考虑与任何特定用户相关联的数据,并输出排名分数。排名分数可以表示内容项目相对于其他内容项目的可能的相对合意性(desirability)。在特定实施例中,第一机器学习模型还可以将与特定用户相关联的用户数据作为输入,内容项目正针对该特定用户被排名。在这种情况下,系统可以从内容提供者、社交网络/内容分发平台或任何其他合适的可获得这种数据的来源检索用户数据。在处理内容项目的已知属性和用户数据之后,第一机器学习模型可以输出排名分数。排名分数可以表示例如内容项目对于该特定用户的可能适合性。由于第一机器学习模型没有考虑内容项目的定制属性,所以由第一机器学习模型生成的排名分数可以被认为是初步的。
在步骤340,系统可以生成内容项目的第二组属性(定制属性)的聚类表示。如本文别处所述,特定实施例可以使用被训练成泛化定制属性的聚类模型,使得放置在同一聚类中的属性彼此比其他聚类中的属性更相似。在特定实施例中,聚类模型可以实现任何合适的聚类算法(例如,k均值、层次聚类等)来执行聚类任务。聚类模型的输出可以是输入定制属性的聚类表示。
在步骤350,系统可以使用第二机器学习模型,基于聚类表示来为用户生成内容项目的第二排名分数。在特定实施例中,第二机器学习模型可能已经基于不同类型的训练内容项目的各种定制属性的聚类表示被训练。这样,第二机器学习模型已经学习了如何处理内容项目的聚类表示,并从中推理出适当的排名分数。在特定实施例中,第二机器学习模型可能已经被进一步训练为在为用户确定适当排名分数时考虑该用户的数据。在这种情况下,第二机器学习模型可以进一步将正在为其生成排名的用户的用户数据作为输入。由第二机器学习模型输出的排名分数可以表示例如内容项目对于该特定用户的可能适合性。类似于由第一机器学习模型生成的排名分数,来自第二机器学习模型的排名分数可以被认为是初步的,因为第二机器学习模型可以不考虑内容项目的已知属性。
在步骤360,系统可以使用第三机器学习模型,基于分别来自第一机器学习模型和第二机器学习模型的第一排名分数和第二排名分数,为用户生成内容项目的第三排名分数。从概念上讲,第三机器学习模型是从内容项目的底层属性中移除的一个抽象层。它可以通过第一和第二机器学习模型的输出间接处理内容项目的属性,而不是直接处理。在特定实施例中,第三机器学习模型还可以考虑与内容项目的内容提供者相关联的预定类型的元数据,因为内容提供者的特征可以预测用户对内容项目的感兴趣程度。例如,特定用户可能仅对来自专门处理体育新闻的新闻源的体育新闻感兴趣,而对来自除了体育之外还报道金融新闻、国外新闻、国内新闻等的更一般的新闻源的体育新闻不感兴趣。内容提供者的元数据的示例可以包括内容提供者的规模和行业、向用户呈现内容项目的目标结果(例如,排名目标)、用户的目标人口统计群体和/或任何其他合适的信息。在特定实施例中,第三机器学习模型可以附加地或替代地将与正在为其生成排名的特定用户相关联的上下文信息作为输入。在特定实施例中,上下文信息可以向第三机器学习模型提供内容项目可以在其中呈现的上下文的感觉。例如,如果内容提供者希望确定在不久的将来向特定用户呈现哪个内容项目,则可以反映用户当前或最近的精神状态或兴趣的上下文信息可以预测哪个内容项目将更可能是用户感兴趣的。因此,在特定实施例中,第三机器学习模型还可以在生成排名分数时将与用户相关联的预定类型的上下文信息作为输入。由第三机器学习模型生成的排名分数可以被认为是内容项目的最终排名分数。
在步骤370,系统可以确定由第三机器学习模型生成的排名分数是否满足一个或更多个预定标准。例如,系统可以将内容项目的排名分数分别与其他内容项目的排名分数进行比较,以确定哪些内容项目具有最高排名分数。作为另一个示例,系统可以确定由第三机器学习模型生成的排名分数是否高于某个预定阈值。如果任何内容项目满足一个或更多个标准,则系统可以在步骤380继续基于第三排名分数选择用于呈现给用户的内容项目。这可以包括例如,通过社交网络平台或内容分发平台向用户呈现与内容项目相关联的信息(例如,横幅显示、视频、音频或与内容项目相关的任何其他可感知信息)。系统还可以(例如,经由电子邮件、SMS文本、应用内通知等)向用户设备推送与内容项目相关的通知。该系统还可以通知内容提供者排名结果(例如,满足阈值标准的内容项目的ID),并让内容提供者决定如何使用该信息。内容提供者可以类似地经由其自己的平台向用户显示横幅和/或其他形式的可感知消息。
在适当的情况下,特定实施例可以重复图3的方法的一个或更多个步骤。尽管本公开将图3的方法的特定步骤描述并图示为以特定顺序发生,但是本公开设想了以任何适当顺序发生的图3的方法的任何适当步骤。此外,尽管本公开描述并示出了使用排名系统对内容项目进行排名的示例方法(包括图3的方法的特定步骤),但是本公开设想了使用排名系统对内容项目进行排名的、包括任何合适的步骤的任何合适的方法,在适当的情况下,这些步骤可以包括图3的方法的所有步骤、一些步骤或者不包括这些步骤。此外,尽管本公开描述并示出了执行图3的方法的特定步骤的特定组件、设备或系统,但是本公开设想了执行图3的方法的任何适当步骤的任何适当组件、设备或系统的任何适当组合。
图4示出了与社交网络系统相关联的示例网络环境400。网络环境400包括通过网络410连接到彼此的客户端系统430、社交网络系统460和第三方系统470。尽管图4示出了客户端系统430、社交网络系统460、第三方系统470和网络410的特定布置,但是本公开设想了客户端系统430、社交网络系统460、第三方系统470和网络410的任何合适的布置。作为示例而不是作为限制,客户端系统430、社交网络系统460和第三方系统470中的两个或更多个可以直接连接到彼此,绕过网络410。作为另一示例,客户端系统430、社交网络系统460和第三方系统470中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图4示出了特定数量的客户端系统430、社交网络系统460、第三方系统470和网络410,但是本公开设想了任何合适的数量的客户端系统430、社交网络系统460、第三方系统470和网络410。作为示例而不是作为限制,网络环境400可以包括多个客户端系统430、社交网络系统460、第三方系统470和网络410。
本公开设想了任何合适的网络410。作为示例而不是作为限制,网络410的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络410可以包括一个或更多个网络410。
链路450可以将客户端系统430、社交网络系统460和第三方系统470连接到通信网络410或连接到彼此。本公开设想了任何合适的链路450。在特定实施例中,一个或更多个链路450包括一个或更多个有线(例如数字用户线路(DSL)或基于电缆的数据服务接口规范(DOCSIS))链路、无线(例如Wi-Fi或全球互通微波接入(WiMAX))链路、或光(例如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或更多个链路450各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路450、或两个或更多个这种链路450的组合。链路450不需要在整个网络环境400中是相同的。一个或更多个第一链路450可以在一个或更多个方面上不同于一个或更多个第二链路450。
在特定实施例中,客户端系统430可以是包括硬件、软件或嵌入式逻辑组件、或两个或更多个这样的组件的组合,并且能够执行由客户端系统430实现或支持的适当功能的电子设备。作为示例而不是作为限制,客户端系统430可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或其任何合适的组合。本公开设想了任何合适的客户端系统430。客户端系统430可以使在客户端系统430处的网络用户能够访问网络410。客户端系统430可以使它的用户能够与在其他客户端系统430处的其他用户进行通信。
在特定实施例中,客户端系统430可以包括web浏览器432,例如MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或更多个附加件、插件或其他扩展件,例如TOOLBAR或YAHOO TOOLBAR。在客户端系统430处的用户可以输入统一资源定位符(URL)或将web浏览器432引导到特定的服务器(例如服务器462或与第三方系统470相关联的服务器)的其他地址,并且web浏览器432可以生成超文本传输协议(HTTP)请求并将HTTP请求传递到服务器。服务器可以接受HTTP请求,并响应于HTTP请求而向客户端系统430传递一个或更多个超文本标记语言(HTML)文件。客户端系统430可以基于来自服务器的HTML文件来显现网页用于呈现给用户。本公开设想了任何合适的网页文件。作为示例而不是作为限制,可以根据特定的需要从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来显现网页。这样的页面还可以执行脚本,例如且没有限制,用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本、标记语言和脚本(例如AJAX(异步JAVASCRIPT和XML))的组合等。在本文,在适当的情况下,对网页的引用包括一个或更多个相应的网页文件(浏览器可以使用这些网页文件来显现网页),反之亦然。
在特定实施例中,社交网络系统460可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统460可以生成、存储、接收并发送社交网络数据(例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统460可以由网络环境400的其他组件直接地或经由网络410来访问。作为示例而不是作为限制,客户端系统430可以使用web浏览器432或与社交网络系统460相关联的原生(native)应用(例如,移动社交网络应用、消息传送应用、另一合适的应用或其任何组合)直接地或经由网络410来访问社交网络系统460。在特定实施例中,社交网络系统460可以包括一个或更多个服务器462。每个服务器462可以是单一服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器462可以具有各种类型,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器462可以包括硬件、软件或嵌入式逻辑组件、或用于执行由服务器462实现或支持的适当功能的两个或更多个这样的组件的组合。在特定实施例中,社交网络系统460可以包括一个或更多个数据储存器464。数据储存器464可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器464中的信息。在特定实施例中,每个数据储存器464可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统430、社交网络系统460或第三方系统470能够管理、检索、修改、添加或删除存储在数据储存器464中的信息的接口。
在特定实施例中,社交网络系统460可以在一个或更多个数据储存器464中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及连接节点的多条边。社交网络系统460可以向在线社交网络的用户提供与其他用户通信和互动的能力。在特定实施例中,用户可以经由社交网络系统460加入在线社交网络,且然后将关连(例如,关系)添加到社交网络系统460中的他们想要关连到的多个其他用户。在本文,术语“朋友”可以指社交网络系统460的任何其他用户,用户经由社交网络系统460与任何其他用户形成关连(connection)、关联(association)或关系。
在特定实施例中,社交网络系统460可以向用户提供对由社交网络系统460支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统460的用户可以属于的组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的互动、或其他合适的项目或对象。用户可以与能够在社交网络系统460中或者由第三方系统470的外部系统表示的任何事物进行互动,第三方系统470与社交网络系统460分离并且经由网络410耦合到社交网络系统460。
在特定实施例中,社交网络系统460能够链接各种实体。作为示例而不是作为限制,社交网络系统460可以使用户能够彼此互动以及从第三方系统470或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体互动。
在特定实施例中,第三方系统470可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的组件(例如,服务器可以与这些组件通信)。第三方系统470可以由与操作社交网络系统460的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统460和第三方系统470可以结合彼此来操作以向社交网络系统460或第三方系统470的用户提供社交网络服务。在这个意义上,社交网络系统460可以提供平台或骨干网,其他系统(例如第三方系统470)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统470可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传递到客户端系统430的内容对象的一个或更多个源。作为示例而不是作为限制,诸如,内容对象可以包括关于用户感兴趣的事情或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。
在特定实施例中,社交网络系统460还包括用户生成的内容对象,其可以增强用户与社交网络系统460的互动。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统460的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统430传送到社交网络系统460。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息或流)来添加到社交网络系统460。
在特定实施例中,社交网络系统460可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统460可以包括下列项中的一个或更多个:web服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器(connection store)、第三方内容储存器或位置储存器。社交网络系统460还可以包括合适的组件,例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的组件、或其任何合适的组合。在特定实施例中,社交网络系统460可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息,例如工作经历、教育历史、爱好或偏好、兴趣、喜好或位置。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞”关于一种品牌的鞋的文章,则该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络410将社交网络系统460链接到一个或更多个客户端系统430或一个或更多个第三方系统470。web服务器可以包括邮件服务器或用于在社交网络系统460和一个或更多个客户端系统430之间接收并按规定路线发送消息的其他消息传送功能。API请求服务器可以允许第三方系统470通过调用一个或更多个API来访问来自社交网络系统460的信息。动作记录器可用于从web服务器接收关于用户在社交网络系统460上或离开社交网络系统460的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统430提供关于内容对象的信息。信息可以作为通知被推送到客户端系统430,或者信息可以响应于从客户端系统430接收的请求而从客户端系统430中被拉取。授权服务器可以用于实施社交网络系统460的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。授权服务器可以例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统460记录或者与其他系统(例如,第三方系统470)分享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统470)接收的内容对象。位置储存器可以用于存储从与用户相关联的客户端系统430接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。
图5示出了示例社交图500。在特定实施例中,社交网络系统460可以在一个或更多个数据储存器中存储一个或更多个社交图500。在特定实施例中,社交图500可以包括多个节点——其可以包括多个用户节点502或多个概念节点504——以及连接这些节点的多条边506。出于教导的目的,图5所示的示例社交图500以二维视觉地图表示被示出。在特定实施例中,社交网络系统460、客户端系统430或第三方系统470可以访问社交图500和相关社交图信息以用于合适的应用。社交图500的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图500的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点502可以对应于社交网络系统460的用户。作为示例而不是作为限制,用户可以是与社交网络系统460或通过社交网络系统460互动或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统460注册账户时,社交网络系统460可以创建对应于用户的用户节点502,并将用户节点502存储在一个或更多个数据储存器中。本文描述的用户和用户节点502在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点502。另外或作为备选方案,在适当的情况下,本文描述的用户和用户节点502可以指没有向社交网络系统460注册的用户。在特定实施例中,用户节点502可以与由用户提供的信息或由各种系统(包括社交网络系统460)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点502可以与对应于与用户相关联的信息的一个或更多个数据对象相关联。在特定实施例中,用户节点502可以对应于一个或更多个网页。
在特定实施例中,概念节点504可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统460相关联的网站或与web应用服务器相关联的第三方网站);实体(例如,个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统460内或外部服务器(例如web应用服务器)上;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;在增强/虚拟现实环境中的对象;另一个合适的概念;或者两个或更多个这样的概念。概念节点504可以与由用户提供的概念的信息或由各种系统(包括社交网络系统460)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点504可以与一个或更多个数据对象相关联,一个或更多个数据对象对应于与概念节点504相关联的信息。在特定实施例中,概念节点504可以对应于一个或更多个网页。
在特定实施例中,社交图500中的节点可以表示网页(其可以被称为“简档页面”)或者由网页表示。简档页面可以由社交网络系统460托管或是社交网络系统460可访问的。简档页面也可以在与第三方系统470相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点504。简档页面可以由其他用户的全部或选定子集可查看。作为示例而不是作为限制,用户节点502可以具有相应的用户简档页面,其中相应的用户可以添加内容、作出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点504可以具有相应的概念简档页面,其中一个或更多个用户可以添加内容、作出声明或表达他们自己,特别是关于对应于概念节点504的概念。
在特定实施例中,概念节点504可以表示由第三方系统470托管的第三方网页或资源。第三方网页或资源除了其它元素以外还可以包括表示动作或活动的内容、可选择的图标或其他图标或其他可交互对象(其可以例如用JavaScript、AJAX或PHP代码实现)。作为示例而非限制,第三方网页可以包括可选图标,例如“赞”、“签到”、“吃”、“推荐”或其他合适的动作或活动。查看第三方网页的用户可以通过选择图标之一(例如,“签到”)来执行动作,使得客户端系统430向社交网络系统460发送指示用户动作的消息。响应于该消息,社交网络系统460可以在对应于用户的用户节点502和对应于第三方网页或资源的概念节点504之间创建边(例如,签到类型边),并将边506存储在一个或更多个数据储存器中。
在特定实施例中,社交图500中的一对节点可以通过一条或更多条边506连接到彼此。连接一对节点的边506可以表示在该对节点之间的关系。在特定实施例中,边506可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统460可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统460可以在社交图500中创建将第一用户的用户节点502连接到第二用户的用户节点502的边506,并将边506作为社交图信息存储在一个或更多个数据储存器464中。在图5的示例中,社交图500包括指示在用户“A”和用户“B”的用户节点502之间的朋友关系的边506,以及指示在用户“C”和用户“B”的用户节点502之间的朋友关系的边。尽管本公开描述或示出了连接特定用户节点502的具有特定属性的特定边506,但是本公开设想了连接用户节点502的具有任何适当属性的任何适当边506。作为示例而不是作为限制,边506可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系(包括例如,赞等)、关注者关系、访问者关系(包括例如,访问、查看、签到、分享等)、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被连接,但是本公开也将用户或概念描述为被连接。在本文,对被连接的用户或概念的引用在适当的情况下可以指在社交图500中由一条或更多条边506连接的对应于那些用户或概念的节点。分别由两个节点表示的两个对象之间的分离度是连接社交图500中的两个节点的最短路径中的边数。作为示例而非限制,在社交图500中,用户“C”的用户节点502经由多条路径连接到用户“A”的用户节点502,例如,直接通过用户“B”的用户节点502的第一路径,通过公司“Acme”的概念节点504和用户“D”的用户节点502的第二路径,以及通过代表学校“斯坦福”、用户“G”、公司“Acme”和用户“D”的用户节点502和概念节点504的第三路径。用户“C”和用户“A”具有2的分离度,因为连接它们相应节点的最短路径(即,第一路径)包括两条边506。
在特定实施例中,在用户节点502和概念节点504之间的边506可以表示由与用户节点502相关联的用户朝着与概念节点504相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图5所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中每个可以对应于边类型或子类型。对应于概念节点504的概念简档页面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统460可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(声田(SPOTIFY),其为在线音乐应用)来收听特定的歌曲(“想象(Imagine)”)。在这种情况下,社交网络系统460可以在对应于用户的用户节点502和对应于歌曲和应用的概念节点504之间创建“收听”边506和“使用”边(如图5所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统460可以在对应于歌曲和应用的概念节点504之间创建“播放”边506(如图5所示),以指示特定歌曲由特定应用播放。在这种情况下,“播放”边506对应于由外部应用(声田)对外部音频文件(歌曲“想象”)执行的动作。尽管本公开描述了连接用户节点502和概念节点504的具有特定属性的特定边506,但是本公开设想了连接用户节点502和概念节点504的具有任何适当属性的任何适当边506。此外,尽管本公开描述了表示单个关系的在用户节点502和概念节点504之间的边,但是本公开设想了表示一个或更多个关系的在用户节点502和概念节点504之间的边。作为示例而不是作为限制,边506可以表示用户喜欢并使用了特定概念。可选地,另一条边506可以表示用户节点502和概念节点504之间的每种类型的关系(或多个单一关系)(如图5中用户“E”的用户节点502和“声田”的概念节点504之间所示)。
在特定实施例中,社交网络系统460可以在社交图500中的用户节点502和概念节点504之间创建边506。作为示例而不是作为限制,(例如,通过使用由用户的客户端系统430托管的web浏览器或专用应用)查看概念简档页面的用户可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点504表示的概念,这可以使用户的客户端系统430向社交网络系统460发送指示用户喜欢与概念简档页面相关联的概念的消息。响应于该消息,社交网络系统460可以在与用户相关联的用户节点502和概念节点504之间创建边506,如由在用户和概念节点504之间的“赞”边506所示的。在特定实施例中,社交网络系统460可以将边506存储在一个或更多个数据储存器中。在特定实施例中,边506可以由社交网络系统460响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或收听歌曲,则可以在对应于第一用户的用户节点502和对应于那些概念的概念节点504之间形成边506。尽管本公开描述了以特定方式形成特定边506,但是本公开设想了以任何合适的方式形成任何合适的边506。
在特定实施例中,社交网络系统460可以确定各种社交图实体对于彼此的社交图亲和力(affinity)(在本文可以称为“亲和力”)。亲和力可以表示在与线社交网络关联的特定对象(诸如用户、概念、内容、动作、广告)、与在线社交网络关联的其他对象、或其任何合适的组合之间的关系强度或感兴趣程度。还可以针对与第三方系统470或其他合适的系统相关联的对象来确定亲和力。可以为每个用户、主题或内容类型建立对社交图实体的总体亲和力。基于对与社交图实体相关联的动作或关系的持续监控,总体亲和力可以改变。尽管本公开描述了以特定方式确定特定亲和力,但是本公开设想了以任何合适的方式确定任何合适的亲和力。
在特定实施例中,社交网络系统460可以使用亲和力系数(在本文可以称为“系数”)来度量或量化社交图亲和力。系数可以表示或量化与在线社交网络相关联的特定对象之间的关系强度。系数还可以表示基于用户对特定动作的兴趣来度量用户将执行该动作的预测概率的概率或函数。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地基于用户的动作的历史来计算系数。系数可以用于预测可位于在线社交网络内部或外部的任何数量的动作。作为示例而不是作为限制,这些动作可以包括各种类型的通信,例如发送消息、发布内容或对内容进行评论;各种类型的观察动作(例如访问或查看简档页面、媒体或其他合适的内容);关于两个或更多个社交图实体的各种类型的一致性信息(例如在同一群组中、在同一照片中被标记、在同一位置处签到或参加同一事件);或其他合适的动作。尽管本公开描述了以特定方式度量亲和力,但是本公开设想了以任何合适的方式度量亲和力。
在特定实施例中,社交网络系统460可以使用各种因素来计算系数。这些因素可以包括例如,用户动作、对象之间的关系类型、位置信息、其他合适的因素或其任意组合。在特定实施例中,当计算系数时,不同的因素可以被不同地加权。每个因素的权重可以是静态的,或者可以根据例如用户、关系类型、动作类型、用户的位置等来改变权重。可以根据因素的权重来组合这些因素的等级(rating),以确定用户的总系数。作为示例而不是作为限制,特定用户动作可以被分配等级和权重,而与特定用户动作相关联的关系被分配等级和相关权重(例如,因此权重总计为100%)。为了计算用户对特定对象的系数,分配给用户动作的等级可以包括例如,总系数的60%,而用户和该对象之间的关系可以包括总系数的40%。在特定实施例中,当确定用于计算系数的各种因素的权重时,社交网络系统460可以考虑各种变量,例如自信息被访问以来的时间、衰减因子、访问的频率、与信息的关系或与信息被访问了的对象的关系、与连接到对象的社交图实体的关系、用户动作的短期或长期平均值、用户反馈、其他合适的变量、或它们的任意组合。作为示例而不是作为限制,系数可以包括衰减因子,该衰减因子导致由特定动作提供的信号强度随时间衰减,使得在计算系数时更近的(more recent)动作更相关。等级和权重可以基于系数所基于的动作的持续跟踪而被持续更新。可以采用任何类型的过程或算法来对每个因素的等级和分配给这些因素的权重进行分配、组合、求平均等。在特定实施例中,社交网络系统460可以使用根据历史动作和过去的用户响应训练的机器学习算法,或者通过将用户暴露于各种选项并测量响应而从用户获得的数据,来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开设想了以任何合适的方式计算系数。
在特定实施例中,社交网络系统460可以基于用户的动作来计算系数。社交网络系统460可以监控在线社交网络上、第三方系统470上、其他合适的系统上、或它们的任意组合上的这样的动作。可以跟踪或监控任何合适类型的用户动作。典型的用户动作包括查看简档页面、创建或发布内容、与内容进行互动、在图像中标记或被标记在图像中、加入群组、列出并确认事件的出席情况、在位置处签到、点赞特定页面、创建页面以及执行其他便于社交动作的任务。在特定实施例中,社交网络系统460可以基于用户对特定类型内容的动作来计算系数。内容可以与在线社交网络、第三方系统470或另一合适的系统相关联。内容可以包括用户简档页面、帖子、新闻动态(news stories)、标题、即时消息、聊天室会话、电子邮件、广告、图片、视频、音乐、其他合适的对象或其任意组合。社交网络系统460可以分析用户的动作,以确定这些动作中的一个或更多个是否指示对主题、内容、其他用户等的亲和力。作为示例而不是作为限制,如果用户频繁发布与“咖啡”或其变型相关的内容,则社交网络系统460可以确定用户相对于概念“咖啡”具有高的系数。特定动作或动作类型可以被分配比其他动作更高的权重和/或等级,这可能影响计算的总系数。作为示例而不是作为限制,如果第一用户向第二用户发送电子邮件,则该动作的权重或等级可能高于第一用户简单地查看第二用户的用户简档页面的情况。
在特定实施例中,社交网络系统460可以基于特定对象之间的关系的类型来计算系数。参考社交图500,当计算系数时,社交网络系统460可以分析连接特定用户节点502和概念节点504的边506的数量和/或类型。作为示例而不是作为限制,通过配偶型边(表示两个用户结婚了)连接的用户节点502可以被分配比通过朋友型边连接的用户节点502更高的系数。换句话说,根据分配给特定用户的动作和关系的权重,可以确定对关于用户配偶的内容的总体亲和力高于对关于用户朋友的内容的总体亲和力。在特定实施例中,用户与另一对象的关系可以影响关于计算该对象的系数的用户动作的权重和/或等级。作为示例而不是作为限制,如果用户在第一张照片中被标记,但仅仅赞第二张照片,则社交网络系统460可以确定用户关于第一张照片具有比第二张照片更高的系数,因为具有与内容的标记型(tagged-in-type)关系可以被分配比具有与内容的点赞型(like-type)关系更高的权重和/或等级。在特定实施例中,社交网络系统460可以基于一个或更多个第二用户与特定对象所具有的关系来计算第一用户的系数。换句话说,其他用户与对象的关连和系数可能影响第一用户关于该对象的系数。作为示例而不是作为限制,如果第一用户关连到一个或更多个第二用户或者对于一个或更多个第二用户具有高的系数,并且那些第二用户关连到特定对象或者对于特定对象具有高的系数,则社交网络系统460可以确定第一用户对于该特定对象同样应该具有相对高的系数。在特定实施例中,系数可以基于特定对象之间的分离度(degree of separation)。较低的系数可以表示第一用户将分享对在社交图500中间接地关连到第一用户的用户的内容对象有兴趣的可能性降低。作为示例而不是作为限制,在社交图500中更靠近(即,分离度更少)的社交图实体可以比在社交图500中更远离的实体具有更高的系数。
在特定实施例中,社交网络系统460可以基于位置信息来计算系数。在地理上彼此更靠近的对象可以被认为比更远的对象彼此更相关或更感兴趣。在特定实施例中,用户对特定对象的系数可以基于对象的位置到与用户相关联的当前位置(或用户的客户端系统430的位置)的接近度。第一用户可能对更靠近第一用户的其他用户或概念更感兴趣。作为示例而不是作为限制,如果用户距机场一英里且距加油站两英里,则社交网络系统460可以基于机场与用户的接近度来确定用户对机场具有比加油站更高的系数。
在特定实施例中,社交网络系统460可以基于系数信息来执行关于用户的特定动作。系数可以用于基于用户对特定动作的兴趣来预测用户是否将执行该动作。当生成或向用户呈现任何类型的对象(例如广告、搜索结果、新闻动态、媒体、消息、通知或其他合适的对象)时,可以使用系数。该系数也可以被用来适当地对这些对象进行排名(rank)和排序(order)。以这种方式,社交网络系统460可以提供与用户的兴趣和当前环境相关的信息,增加了他们将找到这样的感兴趣的信息的可能性。在特定实施例中,社交网络系统460可以基于系数信息来生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而不是作为限制,系数可以用于为用户生成媒体,其中可以向用户呈现用户关于媒体对象具有高的总系数的媒体。作为另一个示例而不是作为限制,系数可以用于为用户生成广告,其中可以向用户呈现用户对于被登广告的对象具有高的总系数的广告。在特定实施例中,社交网络460可以基于系数信息来生成搜索结果。可以基于与查询用户的搜索结果相关联的系数来对特定用户的搜索结果进行评分或排名。作为示例而不是作为限制,对应于具有较高系数的对象的搜索结果在搜索结果页面上的排名可以高于对应于具有较低系数的对象的结果。
在特定实施例中,社交网络系统460可以响应于来自特定系统或过程的系数请求来计算系数。为了预测用户在给定情况下可能采取动作(或者可能是动作的对象)的可能性,任何过程都可以请求关于用户的计算出的系数。请求还可以包括用于计算系数的各种因素使用的一组权重。该请求可以来自在线社交网络上运行的进程(process)、来自第三方系统470(例如,经由API或其他通信渠道)、或者来自另一个合适的系统。响应于该请求,社交网络系统460可以计算系数(或者如果先前已经计算并存储了系数信息,则访问系数信息)。在特定实施例中,社交网络系统460可以度量关于特定过程的亲和力。不同的过程(在线社交网络的内部和外部)可以请求关于特定对象或对象集的系数。社交网络系统460可以提供与请求了亲和力的度量的特定过程相关的亲和力的度量。以这种方式,每个过程接收针对不同上下文调整的亲和力度量,其中该过程将使用亲和力度量。
结合社交图亲和力和亲和力系数,特定实施例可以利用在2006年8月11日提交的第11/503093号美国专利申请、2010年12月22日提交的第12/977027号美国专利申请、2010年12月23日提交的第12/978265号美国专利申请和2012年10月01日提交的第13/632869号美国专利申请(其中的每一个都通过引用并入)中公开的一个或更多个系统、组件、元件、功能、方法、操作或步骤。
图6示出了示例计算机系统600。在特定实施例中,一个或更多个计算机系统600执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统600提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统600上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统600的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统600。本公开设想了计算机系统600采取任何合适的物理形式。作为示例而不是作为限制,计算机系统600可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统600可以包括一个或更多个计算机系统600;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统600可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统600可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统600可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统600包括处理器602、存储器604、存储装置606、输入/输出(I/O)接口608、通信接口610和总线612。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。
在特定实施例中,处理器602包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器602可以从内部寄存器、内部高速缓存、存储器604或存储装置606中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器604或存储装置606。在特定实施例中,处理器602可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器602包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器602可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(TLB)。在指令高速缓存中的指令可以是在存储器604或存储装置606中的指令的副本,并且指令高速缓存可以加速处理器602对那些指令的检索。在数据高速缓存中的数据可以是:在存储器604或存储装置606中的数据的副本,用于使在处理器602处执行的指令进行操作;在处理器602处执行的先前指令的结果,用于由在处理器602处执行的后续指令访问或者用于写到存储器604或存储装置606;或其他合适的数据。数据高速缓存可以加速由处理器602进行的读或写操作。TLB可以加速关于处理器602的虚拟地址转译。在特定实施例中,处理器602可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器602包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器602可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器602。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器604包括用于存储用于使处理器602执行的指令或用于使处理器602操作的数据的主存储器。作为示例而不是作为限制,计算机系统600可以将指令从存储装置606或另一个源(例如,另一个计算机系统600)加载到存储器604。处理器602然后可以将指令从存储器604加载到内部寄存器或内部高速缓存。为了执行指令,处理器602可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器602可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器602然后可以将这些结果中的一个或更多个写到存储器604。在特定实施例中,处理器602仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器604(而不是存储装置606其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器604(而不是存储装置606或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器602耦合到存储器604。如下所述,总线612可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器602和存储器604之间,并且便于由处理器602请求的对存储器604的访问。在特定实施例中,存储器604包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器604可以包括一个或更多个存储器604。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置606包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置606可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置606可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置606可以在计算机系统600的内部或外部。在特定实施例中,存储装置606是非易失性固态存储器。在特定实施例中,存储装置606包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置606。在适当的情况下,存储装置606可以包括便于在处理器602和存储装置606之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置606可以包括一个或更多个存储装置606。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口608包括为在计算机系统600和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统600可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统600之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态摄像机、触笔、平板计算机、触摸屏、跟踪球、视频摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口608。在适当的情况下,I/O接口608可以包括使处理器602能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口608可以包括一个或更多个I/O接口608。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口610包括提供用于在计算机系统600和一个或更多个其他计算机系统600或一个或更多个网络之间的通信(例如,基于分组的通信)的一个或更多个接口的硬件、软件或两者。作为示例而非限制,通信接口610可以包括用于与以太网或其他基于有线的网络通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(例如WI-FI网络)通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口610。作为示例而不是作为限制,计算机系统600可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统600可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统600可以包括用于这些网络中的任一个的任何合适的通信接口610。在适当的情况下,通信接口610可以包括一个或更多个通信接口610。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线612包括将计算机系统600的组件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线612可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、超级传输(HT)互连、工业标准体系结构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(扩展)(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或另外的合适总线、或这些中的两个或更多个的组合。在适当的情况下,总线612可以包括一个或更多个总线612。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。
Claims (32)
1.一种方法,所述方法包括由计算系统:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
2.根据权利要求1所述的方法,其中,所述第三排名分数的生成还基于与所述内容提供者相关联的元数据。
3.根据权利要求2所述的方法,其中,与所述内容提供者相关联的元数据包括以下中的至少一个:所述内容提供者的规模、对于向所述用户呈现所述内容项目的目标结果、或者所述用户的目标人口统计群体。
4.根据权利要求1所述的方法,还包括:
从与所述内容项目相关联的内容提供者接收为所述用户对所述内容项目进行排名的请求;和
从所述内容提供者接收与所述用户相关联的上下文信息;
其中,所述第三排名分数的生成还基于与所述用户相关联的上下文信息。
5.根据权利要求1所述的方法,还包括:
访问与所述用户相关联的用户数据;
其中,所述第一排名分数的生成或所述第二排名分数的生成还基于与所述用户相关联的用户数据。
6.根据权利要求1所述的方法,其中,使用与至少第二内容提供者相关联的数据来训练所述第一机器学习模型、所述第二机器学习模型或所述第三机器学习模型,所述第二内容提供者不同于所述内容提供者。
7.根据权利要求1所述的方法,
其中,所述第一组属性具有一个或更多个已知属性类型;
其中,基于具有所述一个或更多个已知属性类型的训练数据来训练所述第一机器学习模型。
8.根据权利要求7所述的方法,
其中,所述第二组属性具有一个或更多个定制属性类型;
其中,所述一个或更多个定制属性类型不同于用于训练所述第一机器学习模型的训练数据的已知属性类型。
9.根据权利要求1所述的方法,还包括:
使用第四机器学习模型,基于所述内容项目的所述第一组属性和所述第二组属性,为所述用户生成所述内容项目的第四排名分数;
其中,所述内容项目的所述第三排名分数的生成还基于所述第四排名分数。
10.根据权利要求9所述的方法,其中,使用与所述内容提供者相关联的训练数据来训练所述第四机器学习模型。
11.一种系统,包括:一个或更多个处理器和耦合到一个或更多个所述处理器的一个或更多个计算机可读非暂时性存储介质,所述一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个所述处理器执行时能够操作来使所述系统执行操作的指令,所述操作包括:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
12.根据权利要求11所述的系统,其中,所述第三排名分数的生成还基于与所述内容提供者相关联的元数据。
13.根据权利要求12所述的系统,其中,与所述内容提供者相关联的元数据包括以下中的至少一个:所述内容提供者的规模、对于向所述用户呈现所述内容项目的目标结果、或者所述用户的目标人口统计群体。
14.根据权利要求11所述的系统,其中,所述处理器在执行所述指令时还能够操作来执行包括以下步骤的操作:
从与所述内容项目相关联的内容提供者接收为所述用户对所述内容项目进行排名的请求;和
从所述内容提供者接收与所述用户相关联的上下文信息;
其中,所述第三排名分数的生成还基于与所述用户相关联的上下文信息。
15.根据权利要求11所述的系统,其中,所述处理器在执行所述指令时还能够操作来执行包括以下步骤的操作:
访问与所述用户相关联的用户数据;
其中,所述第一排名分数的生成或所述第二排名分数的生成还基于与所述用户相关联的用户数据。
16.体现软件的一个或更多个计算机可读非暂时性存储介质,所述软件在被执行时能够操作来使一个或更多个处理器执行操作,所述操作包括:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
17.根据权利要求16所述的介质,其中,所述第三排名分数的生成还基于与所述内容提供者相关联的元数据。
18.根据权利要求17所述的介质,其中,与所述内容提供者相关联的元数据包括以下中的至少一个:所述内容提供者的规模、对于向所述用户呈现所述内容项目的目标结果、或者所述用户的目标人口统计群体。
19.根据权利要求16所述的介质,其中,所述软件在被执行时还能够操作来使所述一个或更多个处理器执行包括以下步骤的操作:
从与所述内容项目相关联的内容提供者接收为所述用户对所述内容项目进行排名的请求;和
从所述内容提供者接收与所述用户相关联的上下文信息;
其中,所述第三排名分数的生成还基于与所述用户相关联的上下文信息。
20.根据权利要求16所述的介质,其中,所述软件在被执行时还能够操作来使所述一个或更多个处理器执行包括以下步骤的操作:
访问与所述用户相关联的用户数据;
其中,所述第一排名分数的生成或所述第二排名分数的生成还基于与所述用户相关联的用户数据。
21.一种方法,所述方法包括由计算系统:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
22.根据权利要求21所述的方法,其中,所述第三排名分数的生成还基于与所述内容提供者相关联的元数据。
23.根据权利要求22所述的方法,其中,与所述内容提供者相关联的元数据包括以下中的至少一个:所述内容提供者的规模、对于向所述用户呈现所述内容项目的目标结果、或者所述用户的目标人口统计群体。
24.根据权利要求21至23中任一项所述的方法,还包括:
从与所述内容项目相关联的内容提供者接收为所述用户对所述内容项目进行排名的请求;和
从所述内容提供者接收与所述用户相关联的上下文信息;
其中,所述第三排名分数的生成还基于与所述用户相关联的上下文信息。
25.根据权利要求21至24中任一项所述的方法,还包括:
访问与所述用户相关联的用户数据;
其中,所述第一排名分数的生成或所述第二排名分数的生成还基于与所述用户相关联的用户数据。
26.根据权利要求21至25中任一项所述的方法,其中,使用与至少第二内容提供者相关联的数据来训练所述第一机器学习模型、所述第二机器学习模型或所述第三机器学习模型,所述第二内容提供者不同于所述内容提供者。
27.根据权利要求21至26中任一项所述的方法,
其中,所述第一组属性具有一个或更多个已知属性类型;
其中,基于具有所述一个或更多个已知属性类型的训练数据来训练所述第一机器学习模型。
28.根据权利要求27所述的方法,
其中,所述第二组属性具有一个或更多个定制属性类型;
其中,所述一个或更多个定制属性类型不同于用于训练所述第一机器学习模型的训练数据的已知属性类型。
29.根据权利要求21至28中任一项所述的方法,还包括:
使用第四机器学习模型,基于所述内容项目的所述第一组属性和所述第二组属性,为所述用户生成所述内容项目的第四排名分数;
其中,所述内容项目的所述第三排名分数的生成还基于所述第四排名分数。
30.根据权利要求29所述的方法,其中,使用与所述内容提供者相关联的训练数据来训练所述第四机器学习模型。
31.一种系统,包括:一个或更多个处理器和耦合到一个或更多个所述处理器的一个或更多个计算机可读非暂时性存储介质,所述一个或更多个计算机可读非暂时性存储介质包括当由一个或更多个所述处理器执行时能够操作来使所述系统执行根据权利要求21至30中任一项的方法或者执行包括以下步骤的操作的指令:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
32.体现软件的一个或更多个计算机可读非暂时性存储介质,所述软件在被执行时能够操作来使一个或更多个处理器执行根据权利要求21至30中任一项的方法或者执行包括以下步骤的操作:
访问与内容提供者相关联的内容项目,所述内容项目具有第一组属性和第二组属性;
使用第一机器学习模型,基于所述第一组属性为用户生成所述内容项目的第一排名分数;
生成所述内容项目的所述第二组属性的聚类表示;
使用第二机器学习模型,基于所述聚类表示为所述用户生成所述内容项目的第二排名分数;
使用第三机器学习模型,基于所述第一排名分数和所述第二排名分数为所述用户生成所述内容项目的第三排名分数;和
基于所述第三排名分数选择用于呈现给所述用户的内容项目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/861,041 | 2018-01-03 | ||
US15/861,041 US11170006B2 (en) | 2018-01-03 | 2018-01-03 | Machine-learning model for ranking diverse content |
PCT/US2018/012292 WO2019135748A1 (en) | 2018-01-03 | 2018-01-04 | Machine-learning model for ranking diverse content |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111602152A true CN111602152A (zh) | 2020-08-28 |
Family
ID=67059661
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880085397.5A Pending CN111602152A (zh) | 2018-01-03 | 2018-01-04 | 用于对不同内容进行排名的机器学习模型 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11170006B2 (zh) |
EP (1) | EP3735663A4 (zh) |
CN (1) | CN111602152A (zh) |
WO (1) | WO2019135748A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220309093A1 (en) * | 2019-09-09 | 2022-09-29 | Adobe Inc. | Identifying digital attributes from multiple attribute groups utilizing a deep cognitive attribution neural network |
US12020276B1 (en) * | 2023-01-31 | 2024-06-25 | Walmart Apollo, Llc | Systems and methods for benefit affinity using trained affinity models |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11941491B2 (en) | 2018-01-31 | 2024-03-26 | Sophos Limited | Methods and apparatus for identifying an impact of a portion of a file on machine learning classification of malicious content |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11361350B2 (en) * | 2018-05-17 | 2022-06-14 | Eric Jacobsen | System and method for recording, compiling and displaying user reviews of a product |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
SG11202103493QA (en) | 2018-10-11 | 2021-05-28 | Tesla Inc | Systems and methods for training machine models with augmented data |
US11947668B2 (en) | 2018-10-12 | 2024-04-02 | Sophos Limited | Methods and apparatus for preserving information between layers within a neural network |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11164206B2 (en) * | 2018-11-16 | 2021-11-02 | Comenity Llc | Automatically aggregating, evaluating, and providing a contextually relevant offer |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
EP3905181A4 (en) * | 2019-01-24 | 2022-02-23 | Samsung Electronics Co., Ltd. | ELECTRONIC DEVICE AND ASSOCIATED METHOD OF OPERATION |
US11150664B2 (en) | 2019-02-01 | 2021-10-19 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
US11281717B2 (en) * | 2019-09-23 | 2022-03-22 | Adobe Inc. | Customized selection of video thumbnails to present on social media webpages |
US11416700B1 (en) * | 2019-12-05 | 2022-08-16 | American Express Travel Related Services Company, Inc. | Computer-based systems configured for machine learning version control of digital objects and methods of use thereof |
US11206438B2 (en) | 2020-01-17 | 2021-12-21 | Amazon Technologies, Inc. | Video enhancement service |
EP4104452A4 (en) * | 2020-02-10 | 2024-03-20 | Marketx LLC | METHODS AND SYSTEMS FOR RECOMMENDATIONS BASED ON CRITERIA PROVIDED BY THE USER |
GB2610085A (en) * | 2020-04-28 | 2023-02-22 | Encyclopaedia Britannica Inc | Systems, methods, and apparatus for context-driven search |
US11669951B1 (en) * | 2020-06-01 | 2023-06-06 | Meta Platforms, Inc. | System for selecting content for a personalized video reel |
US11954605B2 (en) * | 2020-09-25 | 2024-04-09 | Sap Se | Systems and methods for intelligent labeling of instance data clusters based on knowledge graph |
US11544315B2 (en) | 2020-10-20 | 2023-01-03 | Spotify Ab | Systems and methods for using hierarchical ordered weighted averaging for providing personalized media content |
US11693897B2 (en) | 2020-10-20 | 2023-07-04 | Spotify Ab | Using a hierarchical machine learning algorithm for providing personalized media content |
WO2022119345A1 (en) * | 2020-12-03 | 2022-06-09 | Samsung Electronics Co., Ltd. | Electronic apparatus and control method thereof |
US20220180207A1 (en) * | 2020-12-04 | 2022-06-09 | Google Llc | Automated Machine Learning for Time Series Prediction |
WO2022221142A1 (en) * | 2021-04-12 | 2022-10-20 | Newfrey Llc | Computer modeling for detection of discontinuities and remedial actions in joining systems |
US12010129B2 (en) * | 2021-04-23 | 2024-06-11 | Sophos Limited | Methods and apparatus for using machine learning to classify malicious infrastructure |
US20240070743A1 (en) * | 2022-08-30 | 2024-02-29 | Capital One Services, Llc | Systems and methods for recommended sorting of search results for online searching |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007024736A2 (en) * | 2005-08-19 | 2007-03-01 | Biap Systems, Inc. | System and method for recommending items of interest to a user |
US20090187550A1 (en) * | 2008-01-17 | 2009-07-23 | Microsoft Corporation | Specifying relevance ranking preferences utilizing search scopes |
CN102402534A (zh) * | 2010-09-14 | 2012-04-04 | 盛乐信息技术(上海)有限公司 | 阅读文学作品的背景音乐推荐系统及其实现方法 |
US8484224B1 (en) * | 2012-12-07 | 2013-07-09 | Geofeedr, Inc. | System and method for ranking geofeeds and content within geofeeds |
US8762302B1 (en) * | 2013-02-22 | 2014-06-24 | Bottlenose, Inc. | System and method for revealing correlations between data streams |
CN103886090A (zh) * | 2014-03-31 | 2014-06-25 | 北京搜狗科技发展有限公司 | 基于用户喜好的内容推荐方法及装置 |
US8972402B1 (en) * | 2012-05-31 | 2015-03-03 | Google Inc. | Ranking users and posts in social networking services |
US20150161271A1 (en) * | 2013-12-06 | 2015-06-11 | Here Global B.V. | User Retrieval Enhancement |
US9070088B1 (en) * | 2014-09-16 | 2015-06-30 | Trooly Inc. | Determining trustworthiness and compatibility of a person |
US20150370798A1 (en) * | 2014-06-18 | 2015-12-24 | Facebook, Inc. | Ranking and Filtering Groups Recommendations |
US20170097933A1 (en) * | 2015-10-05 | 2017-04-06 | Yahoo! Inc. | Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources |
US20170161618A1 (en) * | 2015-12-08 | 2017-06-08 | Adobe Systems Incorporated | Attribute weighting for media content-based recommendation |
US20170169029A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Systems and methods for ranking comments based on information associated with comments |
US20170193394A1 (en) * | 2016-01-04 | 2017-07-06 | Facebook, Inc. | Systems and methods to rank job candidates based on machine learning model |
CN107112013A (zh) * | 2014-09-14 | 2017-08-29 | 谷歌公司 | 用于创建可定制对话系统引擎的平台 |
CN107229708A (zh) * | 2017-05-27 | 2017-10-03 | 科技谷(厦门)信息技术有限公司 | 一种个性化出行服务大数据应用系统及方法 |
US20170344554A1 (en) * | 2016-05-31 | 2017-11-30 | Linkedin Corporation | Ideal candidate search ranking |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6944612B2 (en) * | 2002-11-13 | 2005-09-13 | Xerox Corporation | Structured contextual clustering method and system in a federated search engine |
US8489627B1 (en) * | 2008-08-28 | 2013-07-16 | Adobe Systems Incorporated | Combined semantic description and visual attribute search |
US9665639B2 (en) * | 2011-07-06 | 2017-05-30 | Fred Bergman Healthcare Pty. Ltd. | Detecting fecal and urine events by reference to collections of data |
US8768863B2 (en) * | 2011-07-29 | 2014-07-01 | Facebook, Inc. | Adaptive ranking of news feed in social networking systems |
US9129227B1 (en) | 2012-12-31 | 2015-09-08 | Google Inc. | Methods, systems, and media for recommending content items based on topics |
US9171000B2 (en) | 2013-03-15 | 2015-10-27 | Yahoo! Inc. | Method and system for mapping short term ranking optimization objective to long term engagement |
US20140328486A1 (en) * | 2013-05-06 | 2014-11-06 | International Business Machines Corporation | Analyzing and transmitting environmental sounds |
US20160034460A1 (en) | 2014-07-29 | 2016-02-04 | TCL Research America Inc. | Method and system for ranking media contents |
US10496693B2 (en) * | 2016-05-31 | 2019-12-03 | Adobe Inc. | Unified classification and ranking strategy |
US10671660B2 (en) * | 2016-12-22 | 2020-06-02 | Google Llc | Contextual ranking of photos and text in search |
US10261954B2 (en) * | 2016-12-30 | 2019-04-16 | Dropbox, Inc. | Optimizing search result snippet selection |
US20180232702A1 (en) * | 2017-02-16 | 2018-08-16 | Microsoft Technology Licensing, Llc | Using feedback to re-weight candidate features in a streaming environment |
US10628506B2 (en) * | 2017-02-17 | 2020-04-21 | Microsoft Technology Licensing, Llc | Using log data to train for automated sourcing |
US10825059B2 (en) * | 2017-09-20 | 2020-11-03 | Data Genomix Llc | Facilitating highly targeted advertising to identified audience members across social media channels |
US11176486B2 (en) * | 2017-12-28 | 2021-11-16 | International Business Machines Corporation | Building and matching electronic standards profiles using machine learning |
-
2018
- 2018-01-03 US US15/861,041 patent/US11170006B2/en active Active
- 2018-01-04 WO PCT/US2018/012292 patent/WO2019135748A1/en unknown
- 2018-01-04 CN CN201880085397.5A patent/CN111602152A/zh active Pending
- 2018-01-04 EP EP18898765.5A patent/EP3735663A4/en not_active Withdrawn
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007024736A2 (en) * | 2005-08-19 | 2007-03-01 | Biap Systems, Inc. | System and method for recommending items of interest to a user |
US20090187550A1 (en) * | 2008-01-17 | 2009-07-23 | Microsoft Corporation | Specifying relevance ranking preferences utilizing search scopes |
CN102402534A (zh) * | 2010-09-14 | 2012-04-04 | 盛乐信息技术(上海)有限公司 | 阅读文学作品的背景音乐推荐系统及其实现方法 |
US8972402B1 (en) * | 2012-05-31 | 2015-03-03 | Google Inc. | Ranking users and posts in social networking services |
US8484224B1 (en) * | 2012-12-07 | 2013-07-09 | Geofeedr, Inc. | System and method for ranking geofeeds and content within geofeeds |
US8762302B1 (en) * | 2013-02-22 | 2014-06-24 | Bottlenose, Inc. | System and method for revealing correlations between data streams |
US20150161271A1 (en) * | 2013-12-06 | 2015-06-11 | Here Global B.V. | User Retrieval Enhancement |
CN103886090A (zh) * | 2014-03-31 | 2014-06-25 | 北京搜狗科技发展有限公司 | 基于用户喜好的内容推荐方法及装置 |
US20150370798A1 (en) * | 2014-06-18 | 2015-12-24 | Facebook, Inc. | Ranking and Filtering Groups Recommendations |
CN107112013A (zh) * | 2014-09-14 | 2017-08-29 | 谷歌公司 | 用于创建可定制对话系统引擎的平台 |
US9070088B1 (en) * | 2014-09-16 | 2015-06-30 | Trooly Inc. | Determining trustworthiness and compatibility of a person |
US20170097933A1 (en) * | 2015-10-05 | 2017-04-06 | Yahoo! Inc. | Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources |
US20170161618A1 (en) * | 2015-12-08 | 2017-06-08 | Adobe Systems Incorporated | Attribute weighting for media content-based recommendation |
US20170169029A1 (en) * | 2015-12-15 | 2017-06-15 | Facebook, Inc. | Systems and methods for ranking comments based on information associated with comments |
US20170193394A1 (en) * | 2016-01-04 | 2017-07-06 | Facebook, Inc. | Systems and methods to rank job candidates based on machine learning model |
US20170344554A1 (en) * | 2016-05-31 | 2017-11-30 | Linkedin Corporation | Ideal candidate search ranking |
CN107229708A (zh) * | 2017-05-27 | 2017-10-03 | 科技谷(厦门)信息技术有限公司 | 一种个性化出行服务大数据应用系统及方法 |
Non-Patent Citations (4)
Title |
---|
GUDLA S K等: "Relevancy ranking of user recommendations of services based on browsing patterns", 《2017 16TH IEEE INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA)》, pages 765 - 768 * |
刘忠宝: "机器学习方法在个性化推荐系统中的应用", 《情报探索》, no. 4, pages 80 - 82 * |
赵玮: "采用机器学习的聚类模型特征选择方法比较", 《华侨大学学报(自然科学版)》, vol. 38, no. 1, pages 105 - 108 * |
黄宜华: "大数据机器学习系统研究进展", 《大数据》, vol. 1, no. 1, pages 35 - 54 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220309093A1 (en) * | 2019-09-09 | 2022-09-29 | Adobe Inc. | Identifying digital attributes from multiple attribute groups utilizing a deep cognitive attribution neural network |
US11734337B2 (en) * | 2019-09-09 | 2023-08-22 | Adobe Inc. | Identifying digital attributes from multiple attribute groups utilizing a deep cognitive attribution neural network |
US12020276B1 (en) * | 2023-01-31 | 2024-06-25 | Walmart Apollo, Llc | Systems and methods for benefit affinity using trained affinity models |
Also Published As
Publication number | Publication date |
---|---|
US11170006B2 (en) | 2021-11-09 |
WO2019135748A1 (en) | 2019-07-11 |
US20190205402A1 (en) | 2019-07-04 |
EP3735663A1 (en) | 2020-11-11 |
EP3735663A4 (en) | 2020-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11170006B2 (en) | Machine-learning model for ranking diverse content | |
KR102146454B1 (ko) | 알림 내 스폰서 소식 | |
JP6145576B2 (ja) | オンライン・ソーシャル・ネットワークにおける大規模ページ推薦 | |
US10699320B2 (en) | Marketplace feed ranking on online social networks | |
US10154000B2 (en) | Contact aggregation in a social network | |
US10467238B2 (en) | Search perceived performance | |
US20180308133A1 (en) | Generating Personalized Messages According To Campaign Data | |
US10469437B2 (en) | Notifications based on user activity on third-party websites | |
JP6531156B2 (ja) | クライアント・コンピューティング・デバイス上のタイムスロット内でのコンテンツの提供 | |
US9450992B2 (en) | Node properties in a social-networking system | |
US20190116233A1 (en) | Organizing Application-Reported Information | |
KR20160144481A (ko) | 컨텐츠의 사용자 공유 유도 | |
US20140164132A1 (en) | Client-Side Advertising Decisions | |
US11375259B2 (en) | Video creation at scale | |
US20140164141A1 (en) | Software Application Notifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240308 |