本申请要求2014年5月30日提交的非临时美国专利申请序列号14/292,779的优先权,并且其被整体地通过引用并入本文中。
技术领域
本申请一般地涉及数据处理系统,并且在一个特定示例中涉及用于推断在线社交网络服务的成员的身份(例如,成员简档属性)的技术。
背景技术:
诸如LinkedIn®之类的在线社交网络服务向数以数百万的成员提供多种产品和服务。典型地,在线社交网络服务的每个成员可以维护成员简档页面,其包括与成员相关联的各种信息(或成员简档属性),诸如成员照片、就业信息、教育信息、头衔、技能、地理位置等。
附图说明
在附图中的图中图示一些实施例作为示例而不是限制,在所述附图中:
图1是示出与本发明的一些实施例一致的社交联网服务的功能部件的框图;
图2是根据各种实施例的示例系统的框图;
图3是图示根据各种实施例的示例方法的流程图;
图4是图示根据各种实施例的示例方法的流程图;
图5是图示根据各种实施例的示例方法的流程图;
图6是图示根据各种实施例的示例方法的流程图;
图7是图示根据各种实施例的示例方法的流程图;
图8图示了根据各种实施例的示例移动设备;以及
图9是以计算机系统的示例形式的机器的图解表示,在其内可以执行用于使机器执行本文中讨论的方法中的任一个或多个的指令集。
具体实施方式
描述了用于推断在线社交网络服务的成员的身份(例如,成员简档属性)的示例方法和系统。在以下描述中,出于解释的目的,阐述众多特定细节以便提供对示例实施例的透彻理解。然而,对本领域技术人员将明显的是,可以在没有这些特定细节的情况下实践本发明。
根据各种示例实施例,一种身份推断系统被配置成推断与在线社交网络服务的成员相关联的缺少的成员简档属性。例如,如果成员具有缺少的雇主(例如,公司)属性、教育(例如,学校)属性、地理位置属性、头衔属性、技能属性等,则系统被配置成分析与该成员相关联的现有数据(例如,成员简档数据和行为日志数据),以及在线社交网络的其他成员的现有数据,以便推断缺少的成员简档属性的值。
例如,在一些实施例中,系统可以访问与在线社交网络服务的成员相关联的成员简档数据和行为日志数据,行为日志数据指示由成员与在线社交网络服务的一个或多个产品的交互。如以下更详细地描述的那样,系统然后可以将从成员简档数据和/或行为日志数据提取的一个或多个特征输入到诸如逻辑回归模型之类的基于计算机的预测模型中,并且基于特征数据执行预测建模过程以生成与特定成员的缺少的成员简档属性相关联的置信度得分,置信度得分指示缺少的成员简档属性对应于候选值的可能性。如果置信度得分大于预定值,则系统可以确定缺少的成员简档属性很可能对应于该候选值。
可以推断的成员简档属性的非限制性示例包括姓名、头衔、行业、地理位置、国家、地区、联系信息、电子邮件地址、性别、当前雇主、先前雇主、当前教育机构、先前教育机构、学位、研究领域、技能、推荐、违章记录、公司大小、资历水平等。行为日志数据的非限制性示例包括指示成员如何与在线内容(例如,在线社交网络服务网站和与其相关联的任何web页面和产品)交互的任何信息。例如,在在线社交网络服务LinkedIn®的情况下,成员的行为日志数据包括指示成员何时登录到站点中、成员在该站点上逗留多久、什么被显示给他们、他们查看了什么、印象、他们点击了什么、社交活动信息(例如,他们喜欢、共享、关注、发布了什么,对什么进行评论等)、他们与其交互的产品(例如,内容馈送或网络更新流(NUS)、其他成员的成员简档页面、您可能认识的人(PYMK)产品、您可能感兴趣的职位(JYMBII)产品、公司页面、群组页面、影响者页面、大学/学校页面等)、(从成员的移动设备接收的)地理位置信息、计算平台信息(例如,成员经由台式还是移动设备访问该站点)、IP地址信息(例如,从成员接收到的与用以登录到网站的登录请求相关联的IP地址)、成员的成员联系(connection)、由成员发送的邀请、由成员上传到站点的地址簿或联系信息等的信息。
系统可以将以上描述的特征数据(例如,前述的成员简档数据和行为日志数据)的任何组合考虑在内以便确定指示特定成员的缺少的成员简档属性对应于候选值的可能性的概率或“置信度得分”。如以上描述的那样,系统可以使用一个或多个基于计算机的预测模型(例如,统计学机器学习模型)来执行基于计算机的预测建模,以便生成前述的置信度得分。预测模型的示例包括逻辑回归模型、梯度提升机(GBM)模型、朴素贝叶斯模型、支持向量机(SVM)模型、决策树模型和神经网络模型。
在一些实施例中,可以基于与具有用于成员简档属性的已知候选值的成员(例如,列出诸如斯坦福之类的特定学校或诸如LinkedIn®之类的特定雇主或诸如旧金山湾区之类的特定地理位置或诸如计算机工程师之类的特定头衔或诸如HTML之类的特定技能等的成员)相关联的特征数据(例如,成员简档数据、行为日志数据等)来训练预测模型。在训练过程期间,可以标识与具有用于成员简档属性的已知候选值的这些成员相关联的统计学趋势和模式,并且可以相应地训练和细化模型的系数,使得经训练的模型反映各种特征的相对权重、重要性或相关性以用于确定特定成员是否也与用于该成员简档属性的该候选值相关联(例如,特定成员是否上过斯坦福)的目的。例如,经训练的模型的系数可以反映电子邮件地址域和IP地址的属性具有与位置的成员简档属性的高相关,尽管它们具有与头衔的成员简档属性的较低相关,并且因此模型中的与电子邮件域和IP地址的属性相关联的系数可以被相应地加权。一旦被训练,预测模型就可以接收与特定成员相关联的可用特征(例如,成员简档数据、社交活动信息、地理位置信息、IP地址登录信息等)以便确定该成员的成员简档属性对应于给定候选值的可能性。
由于每个成员简档属性可以与多个候选值相关联(例如,公司属性可以对应于诸如LinkedIn®、Google®、Apple®等的候选值),因此系统可以生成与多个候选值相关联的多个置信度得分,每个置信度得分指示该候选值等同于成员的缺少的成员简档属性的可能性。在一些示例实施例中,系统可以基于置信度得分对候选值进行排列以便确定成员很可能在排列最高的候选值处工作。替代地或此外,系统可以确定候选值中的一个或多个是否大于预定阈值,如以上所描述的那样。在一些示例实施例中,可以针对每个类型的成员简档属性训练特定预测模型(例如,针对公司属性的经训练的模型、针对大学属性的经训练的模型等)。而且,在一些实施例中,可以针对与成员简档属性相关联的每个特定候选值训练特定预测模型(例如,针对用于公司属性的LinkedIn®的候选值的经训练的模型、针对用于公司属性的Google®的候选值的经训练的模型等)。
可以被包括在特征数据中的特定特征的示例包括标识社交网络的每个成员的成员联系的成员联系信息。例如,当推断John Smith是否在LinkedIn®工作时,系统可以确定如果John Smith的大量成员联系在LinkedIn®工作,则很可能John Smith也在LinkedIn®工作。例如,预测模型可以被关于在LinkedIn®工作的成员的成员简档数据和行为日志数据进行训练并且确定这样的成员倾向于具有在LinkedIn®工作的大量成员联系,并且可能具有在其他公司工作的相对较小量的成员联系。类似地,预测模型可以被关于在Google®工作的成员的成员简档数据和行为日志数据进行训练并且确定例如这些成员倾向于具有在LinkedIn®工作的小量成员联系,并且可能具有在Google®工作的相对较大量的成员联系,等等。相应地,当关于与已知候选值相关联的成员(例如,在LinkedIn®工作的成员)的数据训练预测模型时,系统可以包括在与每个特定成员相关联的特征向量中的指示共享与候选公司相同的公司的该特定成员的成员联系的数量(例如,在LinkedIn®工作的成员联系的数量)的数值。同样地,当稍后利用预测模型来生成与具有特定候选值(例如,LinkedIn®)的John Smith相关联的置信度得分时,系统可以包括在与John Smith相关联的特征数据的特征向量中的指示共享与候选公司相同的公司的John Smith的成员联系的数量(例如,在LinkedIn®工作的成员联系的数量)的数值。在该非限制性示例中,该数值越大,由预测模型生成的置信度得分越大。同样地,可以在推断其他属性时以类似的方式利用成员联系信息,所述其他属性诸如位置、学校、头衔、技能等。例如,当推断位置属性时,系统可以利用指示给定成员的多少成员联系共享与候选国家/地区相同的国家/地区的特征。
可以被包括在特征数据中的特定特征的另一示例包括标识与由在线社交网络的成员的登录请求相关联的IP地址的IP地址信息。例如,系统可以推断从相同/类似IP地址登录的成员倾向于在相同的公司工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示由该成员用于登录到网站的IP地址的数值,或指示具有与给定成员相同/类似的IP地址的成员如何共享与候选公司相同的公司的数值。同样地,可以在推断其他属性时以类似的方式利用IP地址信息,所述其他属性诸如位置、学校、头衔、技能等。例如,当推断位置属性时,系统可以利用指示多少与和给定成员相同的IP地址相关联的成员共享与候选国家/地区相同的国家/地区的特征。
可以被包括在特征数据中的特定特征的另一示例包括标识由在线社交网络的成员进行的简档查看的简档查看信息。例如,系统可以确定如果成员简档X被查看成员简档Y的相同成员频繁查看(使得Y被称为X的“被共同查看的简档”并且反之亦然),则成员X和成员Y很可能在一起工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示该成员的多少被共同查看的简档共享与候选公司相同的公司的数值(例如,查看该成员的人频繁查看在LinkedIn®工作的一定数量的其他成员)。在该非限制性示例中,该数值越大,由预测模型生成的置信度得分就越大。同样地,可以在推断其他属性时以类似的方式利用简档查看信息,所述其他属性诸如位置、学校、头衔、技能等。例如,当推断位置属性时,系统可以利用指示该成员的多少被共同查看的简档共享与候选国家/地区相同的国家/地区的特征。
可以被包括在特征数据中的特定特征的另一示例包括标识与在线社交网络的成员相关联的电子邮件域的电子邮件域信息。例如,系统可以推断利用相同电子邮件域(例如,LinkedIn®.com)签约社交网络账户的成员倾向于在相同公司(例如,LinkedIn®)工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示由该成员用于在网站上签约账号的电子邮件域的数值,或指示与和成员相同的电子邮件域相关联的成员如何共享与候选公司相同的公司的数值。同样地,可以在推断其他属性时以类似的方式利用电子邮件域信息,所述其他属性诸如位置、学校、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括标识由在线社交网络的成员传输的邀请的邀请信息。例如,当推断John Smith是否在LinkedIn®工作时,系统可以确定如果John Smith已经向在LinkedIn®工作的其他成员传输了大量邀请,则很可能John Smith也在LinkedIn®工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示由该特定成员向共享与候选公司相同的公司的其他人(例如,在LinkedIn®工作的成员)发送的成员邀请的数量的数值。同样地,可以在推断其他属性时以类似的方式利用邀请信息,所述其他属性诸如位置、学校、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括标识与在线社交网络的成员相关联的地址簿中的记录的地址簿信息。例如,系统可以推断,如果成员上传包括在LinkedIn®工作的大量用户的地址簿,则很可能该成员也在LinkedIn®工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示共享与候选公司相同的公司的由该特定成员上传的地址簿中的用户(例如,在LinkedIn®工作的用户)的数量的数值。作为另一示例,系统可以推断,如果特定成员频繁地与在LinkedIn®工作的其他人共同出现在地址簿中,则该特定成员很可能也在LinkedIn®工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示该成员多少次与共享与候选公司相同的公司的至少一个用户共同出现(在一个或多个地址簿中)或者他们多少次与在候选值公司工作的特定用户共同出现等的数值。作为另一示例,系统可以对成员多少次出现在在候选公司工作的成员的地址簿中进行计数。例如,系统可以确定如果某人非常经常出现在LinkedIn®雇员的地址簿中,则他/她更可能已经在LinkedIn®工作。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示该成员多少次出现在在候选公司工作的用户的地址簿中的数值。同样地,可以在推断其他属性时以类似的方式利用地址簿信息,所述其他属性诸如位置、学校、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括与在线社交网络的成员相关联的校友群组成员资格信息。例如,系统可以推断加入相同校友群组(例如,斯坦福校友)的成员倾向于从相同学校(例如,斯坦福)毕业。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示加入给定成员加入的群组的上候选学校的成员的数量的数值。同样地,可以在推断其他属性时以类似的方式利用群组成员资格信息,所述其他属性诸如位置、公司、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括在线社交网络的成员的地理位置信息(例如,城市、州、国家、地区等)。例如,系统可以推断如果成员(例如,当他们在在线社交网络服务上签约账户时)指定他们在给定国家或地区中,则他们很可能在该国家或地区中上学,并且他们很可能没有在一些其他国家或地区中上学。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示(例如,如由成员在他们在在线社交网络服务上签约账户时指定的)国家或地区的数值。同样地,可以在推断其他属性时以类似的方式利用地理位置信息,所述其他属性诸如位置、公司、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括在线社交网络的成员的性别分布信息。例如,如果系统确定成员是男性,则他们不太可能上仅有女性的学校(或其中大多数成员是女性的学校)。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示具有与候选学校处的给定成员相同的性别的成员的数量或比例的数目的数值。同样地,可以在推断其他属性时以类似的方式利用性别分布信息,所述其他属性诸如位置、公司、头衔、技能等。
可以被包括在特征数据中的特定特征的另一示例包括与在线社交网络的成员相关联的行业信息。例如,系统可以推断具有相同行业属性(例如,音乐行业)的成员倾向于从相同或类似的学校毕业。相应地,系统可以包括在与给定成员相关联的特征数据的特征向量中的指示具有与上候选学校的给定成员相同的行业属性的成员的数量的数值。同样地,可以在推断其他属性时以类似的方式利用行业信息,所述其他属性诸如位置、公司、头衔、技能等。
在一些实施例中,系统可以与推断公司结合地推断头衔。例如,头衔和公司经常是由成员彼此结合而指定的相关属性。在一些实施例中,系统可以通过(例如,使用以上描述的任何实施例)首先推断给定成员的公司并且然后标识已经在所推断的公司工作的给定成员的一个或多个第一级成员联系的集合来推断给定成员的头衔。系统然后可以通过比较该第一成员的技能与给定成员的(已知或推断的)技能来标识成员的集合中的“最类似”于给定成员的第一个。系统然后可以推断给定成员的头衔对应于第一成员的头衔。
以上的各种示例描述了被插入到特征向量中的特征和/或数值,并且这样的特征和/或数值可以表示特定时间段内的计数(例如,特定星期、星期的组、特定月份、月份的组等)。例如,当推断位置属性时,系统可以利用指示多少与和给定成员相同/类似的IP地址相关联的成员共享与候选国家/地区相同的国家/地区。因此,该特征可以包括多少成员在特定星期、星期的组、特定月份、月份的组等期间基于该相同/类似的IP地址登录到网站中的计数。
图1是图示了与一些实施例一致的诸如社交网络系统20的社交网络服务的各种部件或功能模块的框图。如图1中所示,前端包括用户接口模块(例如,web服务器)22,其从各种客户端-计算设备接收请求,并且向请求客户端设备传送适当的响应。例如,(一个或多个)用户接口模块22可以接收以超文本传输协议(HTTP)请求或其他基于web的应用编程接口(API)请求的形式的请求。应用逻辑层包括各种应用服务器模块14,其与(一个或多个)用户接口模块22结合地生成具有从数据层中的各种数据源检索到的数据的各种用户接口(例如,web页面)。在一些实施例的情况下,个别应用服务器模块24用于实现与社交网络服务的各种服务和特征相关联的功能。例如,建立社交网络服务的社交图中的存在的组织的能力可以是在独立应用服务器模块24中实现的服务,所述能力包括代表组织建立经定制的web页面和代表组织发布消息或状态更新的能力。类似地,使其对社交网络服务的成员可用的多种其他应用或服务将被具体化在其自己的应用服务器模块24中。
如图1中所示,数据层包括若干数据库,诸如用于存储简档数据的数据库28,所述简档数据包括成员简档数据以及各种组织的简档数据二者。与一些实施例一致,当人最初登记以成为社交网络服务的成员时,人将被提示提供一些个人信息,诸如他或她的姓名、年龄(例如,出生日期)、性别、兴趣、联系信息、家乡、地址、成员的配偶和/或家庭成员的姓名、教育背景(例如,学校、专业、入学和/或毕业日期等)、就业历史、技能、职业组织等。该信息被例如存储在具有参考号码28的数据库中。类似地,当组织的代表最初向社交网络服务登记组织时,代表可能被提示提供关于该组织的某些信息。该信息可以被例如存储在具有参考号码28的数据库或另一数据库(未示出)中。在一些实施例的情况下,可以(例如,在后台中或离线)处理简档数据以生成各种经导出的简档数据。例如,如果成员已经提供了关于该成员就相同公司或不同公司拥有的各种工作头衔以及达多久的信息,则该信息可以用于推断或导出指示成员的总体资历水平或特定公司内的资历水平的成员简档属性。在一些实施例的情况下,从一个或多个外部托管的数据源输入或以其他方式访问数据可以增强成员和组织二者的简档数据。例如,特别地就公司而言,可以从一个或多个外部数据源输入金融数据,并且所述金融数据构成公司的简档的部分。
一旦被登记,成员就可以邀请其他成员,或者被其他成员邀请,以经由社交网络服务进行联系。“联系”可以要求成员的双边协议,使得两个成员确认联系的建立。类似地,在一些实施例的情况下,成员可以选择“关注”另一成员。与建立联系形成对照,“关注”另一成员的概念典型地是单边操作,并且至少在一些实施例的情况下,不要求被关注的成员的确认或批准。当一个成员关注另一个时,关注的成员可以接收由被关注的成员发布的或者涉及由被关注的成员从事的各种活动的状态更新或其他消息。类似地,当成员关注组织时,成员变得有资格接收代表该组织发布的消息或状态更新。例如,代表成员关注的组织发布的消息或状态更新将出现在成员的个性化数据馈送或内容流中。在任何情况下,在图1中用参考号码30示出的社交图内存储和维护成员与其他成员或与其他实体和对象建立的各种关联和关系。
社交网络服务可以提供允许成员共享和接收通常针对成员的兴趣定制的信息的机会的宽范围的其他应用和服务。例如,在一些实施例的情况下,社交网络服务可以包括照片共享应用,其允许成员上传和与其他成员共享照片。在一些实施例的情况下,成员可能能够自组织成组或兴趣组,其被围绕感兴趣的主题或话题而组织。在一些实施例的情况下,社交网络服务可以托管提供关于各种组织的职位空缺的细节的各种职位列表。
当成员与各种应用交互时,可以监视经由社交网络服务使其可用的服务和内容、成员的行为(例如,所查看的内容、所选择的链接或成员兴趣按钮等)并且可以存储关于成员的活动和行为的信息,例如如图1中通过具有参考号码32的数据库所指示的那样。
在一些实施例的情况下,社交网络系统20包括一般在本文中被称为身份推断系统200的事物。以下结合图2更详细地描述身份推断系统200。
尽管未被示出,但是在一些实施例的情况下,社交网络系统20提供应用编程接口(API)模块,第三方应用可以经由其访问由社交网络服务提供的各种服务和数据。例如,使用API,第三方应用可以提供用户接口和逻辑,其使得组织的经授权的代表能够从第三方应用向促进由社交网络服务维护和呈现的活动或内容流的呈现的社交网络服务的内容托管平台发布消息。这样的第三方应用可以是基于浏览器的应用,或者可以是操作系统特定的。特别地,一些第三方应用可以驻留在具有移动操作系统的一个或多个移动设备(例如,电话或平板计算设备)上和在其上执行。
现在转向图2,身份推断系统200包括确定模块202、请求生成模块204和数据库206。身份推断系统200的模块可以在诸如被推断身份设备之类的单个设备上实现或由所述单个设备执行,或者在经由网络互连的分离设备上实现。前述的被推断身份设备可以是例如一个或多个客户端机器或应用服务器。现在将结合图3更详细地描述身份推断系统200的前述模块中的每个的操作。
图3是图示根据各种示例实施例的示例方法300的流程图。方法300可以至少部分地通过例如图2中图示的身份推断系统200(或具有类似模块的装置,诸如一个或多个客户端机器或应用服务器)来执行。在图3中的操作301中,标识模块202标识在与在线社交网络服务的特定成员相关联的成员简档页面中缺少的成员简档属性。在一些实施例中,缺少的成员简档属性对应于地理位置、教育属性、雇主属性、头衔和技能中的至少一个。在图3中的操作302中,预测模块204访问与在线社交网络服务的多个成员相关联的成员简档数据。成员简档数据可以被存储在数据库206中。在图3中的操作303中,预测模块204访问与成员相关联的行为日志数据,行为日志数据指示由成员与在线社交网络服务的一个或多个产品进行的交互。行为日志数据可以被存储在数据库206中。在图3中的操作304中,预测模块204基于预测模型和包括成员简档数据和行为日志数据的特征数据来执行预测建模以生成与特定成员和缺少的成员简档属性相关联的置信度得分,置信度得分指示缺少的成员简档属性对应于候选值的可能性。在一些实施例中,置信度得分可以是预定范围内的数值数字(例如,0至1的范围内的数字,或0至100的范围内的数字等)。在一些实施例中,预测模型是逻辑回归模型、梯度提升机(GBM)模型、朴素贝叶斯模型、支持向量机(SVM)模型、决策树模型和神经网络模型中的任一个。
图4是图示了与以上所描述的各种实施例一致的示例方法400的流程图。在一些实施例中,可以在图3中图示的方法300之后执行方法400。方法400可以至少部分地通过例如图2中图示的身份推断系统200(或具有类似模块的装置,这样的一个或多个客户端机器或应用服务器)来执行。在操作401中,预测模块204确定置信度得分(例如,在图3中的操作304中生成的置信度得分)大于预定阈值(例如,0.5、0.8等)。在操作402中,预测模块204提示与置信度得分相关联的特定成员更新缺少的成员简档属性(例如,在图3中的操作301中标识的缺少的成员简档属性)以对应于与置信度得分相关联的候选值(例如,参见图3中的操作304)。在一些实施例中,提示可以包括经由用户接口显示邀请特定成员更新缺少的成员简档属性以对应于候选值的提示。在一些实施例中,提示可以包括向特定成员传输邀请特定成员更新缺少的成员简档属性以对应于候选值的消息。例如,前述消息可以对应于电子邮件、文本消息、社交网络即时消息和聊天消息。设想方法400的操作可以合并本文中公开的任何其他特征。可以在必要时省略或重新布置方法400中的各种操作。
在一些实施例中,在提示成员与候选值对应地更新缺少的成员简档属性之前,系统可以首先确定候选值是否已经被包括在成员的简档页面中(例如,与另一现有的成员简档属性一致)。例如,假定特定成员已经将雇主LinkedIn®作为前任雇主列出在其简档上,但是当前雇主属性缺少。身份推断系统200然而可以推断成员当前在LinkedIn®工作(例如,用于当前雇主的缺少的成员简档属性的候选值最可能对应于雇主LinkedIn®)。然而,成员已经将LinkedIn®作为前任雇主列出的事实将导致系统防止成员被提示将其当前雇主更新成LinkedIn®。相应地,在一些实施例中,系统可以分析成员的针对各种值的简档页面(例如,公司、大学、位置、头衔、技能等),并且防止那些值被作为预测建模过程中的候选值而发送。替代地或此外,在预测建模过程被完成之后,系统可以忽略与已经包括在成员的简档页面中的候选值相关联的任何置信度得分。
图5是图示与以上所描述的各种实施例一致的示例方法500的流程图。方法500可以至少部分地通过例如图2中图示的身份推断系统200(或具有类似模块的装置,这样的一个或多个客户端机器或应用服务器)来执行。在操作501中,标识模块202确定(例如,从预测建模过程输出的)候选值与被包括在成员的成员简档页面中的现有的成员简档属性相关联。例如,现有的成员简档属性可以不同于成员简档页面中的缺少的成员简档属性(例如,前任雇主对当前雇主)。在操作502中,预测模块204防止特定成员被提示更新缺少的成员简档属性以对应于候选值。设想,方法500的操作可以合并本文中公开的任何其他特征。在必要时可以省略或重新布置方法500中的各种操作。
在一些实施例中,在身份推断系统200(例如,基于置信度得分高于预定阈值,如以上所描述的那样)确定成员的缺少的成员简档属性对应于候选值之后,系统可以修改各种类型的信息以指示成员的缺少的成员简档属性很可能对应于候选值。例如,如果系统确定缺少雇主属性很可能对应于在LinkedIn®工作的成员,并且如果系统接收到针对在LinkedIn®工作的成员的列表的请求(或针对这样的成员的搜索请求),则系统可以将该成员包括在结果的列表中(或指示该成员应当可能被包括在结果中)。作为另一示例,如果身份推断系统200正在生成诸如LinkedIn®之类的特定雇主的当前雇员的计数(例如,以出于营销和/或打广告的目的),则系统可以将该计数增加以包括该成员。
图6是图示了与以上所描述的各种实施例一致的示例方法600的流程图。方法600可以至少部分地通过例如图2中图示的身份推断系统200(或具有类似模块的装置,这样的一个或多个客户端机器或应用服务器)来执行。在操作601中,预测模块204接收针对具有对应于候选值的成员简档属性的成员的搜索请求(例如,对在LinkedIn®工作的成员的搜索)。在操作602中,预测模块204基于与特定成员和候选值相关联的置信度得分而确定特定成员的缺少的成员简档属性很可能对应于候选值。例如,可以在图3中图示的操作300中计算置信度得分并且所述置信度得分可以指示成员的缺少的成员简档属性对应于候选值的可能性(例如,成员可能具有缺少的雇主属性,并且与雇主LinkedIn®的候选值相关联的置信度得分大于预定阈值,从而指示成员很可能在LinkedIn®工作)。在操作603中,预测模块204修改与在操作601中接收到的搜索请求相关联的搜索结果以包括特定成员和/或将特定成员标识为具有对应于候选值的成员简档属性(例如,搜索结果可以指示成员在LinkedIn®工作或很可能在LinkedIn®工作)。设想,方法600的操作可以合并本文中公开的任何其他特征。在必要时可以省略或重新布置方法600中的各种操作。
根据各种示例实施例,身份推断系统200还可以提供用于验证或证实成员的现有的成员简档属性的各种技术。例如,身份推断系统200可以标识已经被包括在成员的简档页面上的成员简档属性(例如,成员指示他们在Google®工作)。身份推断系统200然后可以以与以上(例如,结合图3)描述的实施例中的方式类似的方式执行预测建模过程以便生成与用于该成员简档属性的各种候选值相关联的各种置信度得分。以此方式,系统可以确定例如当候选值被设置成如由用户指定的当前值(例如,LinkedIn®,并且如果用户指定他们在LinkedIn®工作)时,所生成置信度得分相对相当低,其指示用户很可能不在LinkedIn®工作。类似地,身份推断系统200可以确定例如与某个其他雇主(例如,Apple®)相关联的候选值实际上相对高,其指示用户很可能在Apple®工作。相应地,身份推断系统200虑及对诸如地理位置、雇主、大学、头衔、技能等的包括在成员的简档中的各种成员简档属性的验证和证实。
结合以上描述的验证技术,如果身份推断系统200确定成员的现有的成员简档属性是不准确的(例如,当看起来很可能成员在Apple®工作时,成员指示他们在Google®工作),则身份推断系统200可以经由基于web的用户接口或经由移动应用或消息(例如,电子邮件、文本消息、聊天消息等)提示成员相应地更新其成员简档属性。例如,系统可以提示用户将其雇主从Google®改变成Apple®。
在一些实施例中,结合以上描述的验证技术,在身份推断系统200确定成员的现有的成员简档属性很可能不准确之后,系统可以修改各种类型的信息以指示成员的缺少的成员简档属性很可能对应于更准确的候选值。例如,如果成员指示他们在Google®工作并且系统确定他们在Apple®工作是更可能的,并且如果系统接收到针对在Apple®工作的成员的列表的请求(或针对这样的成员的搜索请求),则系统可以将该成员包括在结果的列表中(或指示成员应当很可能被包括在结果中)。同样地,如果系统接收到针对在Google®工作的成员的列表的请求(或针对这样的成员的搜索请求),则系统可以在结果列表中排除该成员(或指示成员应当很可能不被包括在结果中)。作为另一示例,如果身份推断系统200正在生成在Apple®处的当前雇员的计数(例如,以用于营销和/或打广告的目的),则系统可以使该计数增加以包括该成员,然而系统可以使针对雇主Google®的计数减小。
图7是图示了与以上所描述的各种实施例一致的示例方法700的流程图。方法700可以至少部分地通过例如图2中图示的身份推断系统200(或具有类似模块的装置,这样的一个或多个客户端机器或应用服务器)来执行。在操作701中,标识模块202标识被包括在特定成员的成员简档页面中的现有的成员简档属性。在操作702中,预测模块204生成与特定成员和现有的成员简档属性相关联的置信度得分,置信度得分指示不同于现有的成员简档属性的当前值的新值准确的可能性。在操作703中,预测模块204基于置信度得分提示特定成员更新现有的成员简档属性以对应于新值。设想,方法700的操作可以合并本文中公开的任何其他特征。在必要时可以省略或重新布置方法700中的各种操作。
示例预测模型
如以上所描述的那样,预测模块204可以使用各种已知的预测建模技术中的任一个来执行预测建模。例如,根据各种示例性实施例,预测模块204可以向与在线社交网络的一个或多个成员相关联的成员简档数据和/或行为日志数据应用诸如逻辑回归模型之类的基于统计的机器学习模型。如由本领域技术人员所理解的那样,逻辑回归是使用逻辑函数的基于统计的机器学习技术的示例。逻辑函数基于变量,其被称为分对数(logit)。根据对应的独立预测器变量的回归系数的集合来定义分对数。在给定独立/预测器变量的集合的情况下,逻辑回归可以用于预测事件发生的概率。使用逻辑回归的高度简化的示例机器学习模型可以是ln[p/(1-p)] = a + BX + e或者[p/(1-p)] = exp(a + BX + e),其中ln是自然对数logexp,其中exp=2.71828……,p是事件Y发生的概率p(Y=1),p/(1-p)是“让步比”,ln[p/(1-p)]是对数让步比或“分对数”,a是常数项上的系数,B是(一个或多个)独立/预测器变量上的(一个或多个)回归系数,X是(一个或多个)独立/预测器变量,并且e是误差项。在一些实施例中,逻辑回顾模型的独立/预测器变量可以对应于与在线社交网络服务的成员相关联的成员简档数据或行为日志数据(其中前述的成员简档数据或行为日志数据可以被编码成数值并且插入到特征向量中)。可以使用最大似然来估计或通过监督学习技术从招募意图(recruiting intent)签名数据学习回归系数,如以下更详细描述的那样。相应地,一旦确定适当的回归系数(例如,B),包括在特征向量(例如,与社交网络服务的一个或多个成员相关联的成员简档数据和/或行为日志数据)中的特征可以被插入到逻辑回归模型中以便预测事件Y发生的概率(或“置信度得分”)(其中事件Y可以是例如缺少的成员简档属性对应于特定候选值)。换言之,倘若特征向量包括与成员相关联的各种成员简档数据和/或行为特征,则特征向量可以应用于逻辑回归模型以确定特定成员的缺少的成员简档属性对应于特定候选值的概率。逻辑回归被本领域技术人员良好地理解,并且将不被在本文中进一步详细地描述,以便避免掩盖本公开的各种方面。预测模块304可以使用本领域技术人员所理解的各种其他预测建模技术生成前述的置信度得分。例如,其他预测建模技术可以包括其他基于计算机的机器学习模型,诸如梯度提升机(GBM)模型、朴素贝叶斯模型、支持向量机(SVM)模型、决策树模型和神经网络模型,其中的全部被本领域技术人员所理解样。
根据以上描述的各种实施例,特征数据可以用于离线训练(用于生成、训练和细化预测模型和或预测模型的系数)和在线推断(用于生成置信度得分)二者的目的那样。例如,如果预测模型204利用逻辑回归模型(如以上所描述的那样),则可以通过监督学习技术从特征数据学习逻辑回归模型的回归系数。相应地,在一个实施例中,身份推断系统200可以通过将特征数据组装成特征向量而在离线训练模式中操作。特征向量然后可以被传递到预测模块204,以便细化用于逻辑回归模型的回归系数。例如,基于乘法器技术的交替方向法的统计学习可以用于该任务。此后,一旦回归系数被确定,身份推断系统200就可以操作成基于经训练的模型(包括经训练的模型系数)对表示在线社交网络服务的特定成员的特征数据的特征向量执行在线(或离线)推断。根据各种示例性实施例,基于成员简档数据和行为日志数据训练预测模型的离线过程可以以有规律的时间间隔周期性地(例如,一天一次)执行,或者可以以无规律时间间隔、随机时间间隔、连续地执行等。因此,由于成员简档数据和行为日志数据可能随时间而改变,因此要理解的是,预测模型本身可以(基于用于训练模型的当前成员简档数据和行为日志数据)随时间而改变。
示例移动设备
图8是图示了根据示例实施例的移动设备800的框图。移动设备可以对应于例如一个或多个客户端机器或应用服务器。图2中图示的系统200的一个或多个模块可以实现在移动设备800上或由其执行。移动设备800可以包括处理器810。处理器810可以是适合用于移动设备的多种不同类型的商业上可得到的处理器中的任何(例如,XScale架构微处理器、没有联锁管线级的微处理器(MIPS)架构处理器或另一类型的处理器)。存储器820,诸如随机存取存储器(RAM)、闪存或其他类型的存储器,典型地对处理器810可访问。存储器820可以被适配成存储操作系统(OS)830,以及应用程序840,诸如移动位置启用的应用,其可以向用户提供基于位置的服务。处理器810可以直接或经由适当的中间硬件而耦合到显示器850和一个或多个输入/输出(I/O)设备860,诸如小键盘、触摸面板传感器、麦克风等。类似地,在一些实施例中,处理器810可以被耦合到与天线890对接的收发器870。收发器870可以被配置成取决于移动设备800的性质而经由天线890既发射也接收蜂窝网络信号、无线数据信号或其他类型的信号。进一步地,在一些配置中,GPS接收器880还可以利用天线890来接收GPS信号。
模块、部件和逻辑
在本文中将某些实施例描述为包括逻辑或许多部件、模块或机构。模块可以构成软件模块(例如,具体化(1)在非瞬时机器可读介质上或(2)在传输信号中的代码)或硬件实现模块。硬件实现模块是能够执行某些操作的有形单元并且可以以某方式进行配置或布置。在示例实施例中,一个或多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或多个处理器可以通过软件(例如,应用或应用部分)配置为操作成执行如本文中描述的某些操作的硬件实现模块。
在各种实施例中,硬件实现模块可以被机械地或电子地实现。例如,硬件实现模块可以包括被永久地配置(例如,为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作的专用电路或逻辑。硬件实现模块还可以包括通过软件临时配置成执行某些操作的(例如,如涵盖在通用处理器或其他可编程处理器内的)可编程逻辑或电路。将领会到,机械地、在专用且被永久配置的电路中或在临时配置(例如,通过软件配置)的电路中实现硬件实现模块的决定可以被成本和时间考虑而驱动。
相应地,术语“硬件实现模块”应当理解成涵盖有形实体,其为经物理地构造、被永久地配置(例如,硬接线)或临时或瞬时地配置(例如,编程)成以某方式操作和/或执行本文中描述的某些操作的实体。考虑其中硬件实现模块被临时配置(例如,编程)的实施例,不需要在时间中的任一个实例处配置或例示硬件实现模块中的每个。例如,在硬件实现模块包括使用软件配置的通用处理器的情况下,可以在不同时间将通用处理器配置为相应的不同的硬件实现模块。软件可以相应地将处理器配置成例如在时间的一个实例处构成特定硬件实现模块并且在时间的不同实例处构成不同的硬件实现模块。
硬件实现模块可以向其他硬件实现模块提供信息和从其接收信息。相应地,所描述的硬件实现模块可以被视为被通信地耦合。在多个这样的硬件实现模块同时存在的情况下,通信可以通过连接硬件实现模块(例如,在适当的电路和总线上的)的信号传输来实现。在其中多个硬件实现模块在不同时间被配置或例示的实施例中,这样的硬件实现模块之间的通信可以例如通过信息在多个硬件实现模块能够访问的存储器结构中的存储和检索来实现。例如,一个硬件实现模块可以执行操作,并且在其通信耦合到的存储器设备中存储该操作的输出。进一步的硬件实现模块然后可以在稍后时间处访问存储器设备以检索和处理所存储的输出。硬件实现模块还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息集合)上进行操作。
本文中描述的示例方法的各种操作可以至少部分地由(例如,通过软件)临时配置或被永久配置成执行相关操作的一个或多个处理器来执行。无论是被临时还是永久地配置,这样的处理器都可以构成操作成执行一个或多个操作或功能的处理器实现模块。本文提到的模块可以在一些示例实施例中包括处理器实现模块。
类似地,本文中描述的方法可以至少部分地是处理器实现的。例如,方法的操作中的至少一些可以由一个或多个处理器或处理器实现模块来执行。操作中的某些的执行可以分布在一个或多个处理器之间,不仅仅驻留在单个机器内而是被跨许多机器部署。在一些示例实施例中,一个或多个处理器可以位于单个位置中(例如,在家庭环境、办公室环境内或作为服务器农场),而在其他实施例中,处理器可以跨许多位置分布。
一个或多个处理器还可以操作成支持相关操作在“云计算”环境中或作为“软件即服务”(SaaS)的执行。例如,操作中的至少一些可以由(作为包括处理器的机器的示例的)计算机的组执行,这些操作经由网络(例如,因特网)和经由一个或多个适当的接口(例如,应用程序接口(API))可访问。
电子装置和系统
可以用数字电子电路或用计算机硬件、固件、软件或用它们的组合实现示例实施例。示例实施例可以使用计算机程序产品来实现,所述计算机程序产品例如计算机程序,其被有形地具体化在信息载体中,例如在机器可读介质中供由数据处理装置(例如,可编程处理器、计算机或多个计算机)执行或用以控制所述数据处理装置的操作。
计算机程序可以以任何形式的编程语言来编写,所述编程语言包括经编译或经解释的语言,并且其可以被以任何形式部署,包括作为独立程序或作为模块、子例程或适合于在计算环境中使用的其他单元。计算机程序可以部署成在一个计算机上或在一个站点处或跨多个站点分布并且通过通信网络互连的多个计算机上执行。
在示例实施例中,操作可以由执行计算机程序以通过对输入数据进行操作并且生成输出来执行功能的一个或多个可编程处理器来执行。方法操作还可以由专用逻辑电路(例如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))执行并且示例实施例的装置可以实现为所述专用逻辑电路。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且典型地通过通信网络进行交互。客户端和服务器的关系凭借在相应计算机上运行并且具有与彼此的客户端-服务器关系的计算机程序而出现。在部署可编程计算系统的实施例中,将领会到,硬件和软件架构二者要求考虑。具体地,将领会到,是用被永久配置的硬件(例如,ASIC)、用被临时配置的硬件(例如,软件和可编程处理器的组合)还是在被永久和临时配置的硬件的组合来实现某些功能的选择可以是设计选择。以下阐述可以在各种示例实施例中部署的硬件(例如,机器)和软件架构。
示例机器架构和机器可读介质
图9是以计算机系统900的示例形式的机器的框图,在其内可以执行用于使机器执行本文中讨论的任一个或多个方法的指令的。在替代的实施例中,机器作为独立设备操作或者可以连接(例如,联网)到其他机器。在联网部署中,机器可以以服务器-客户端网络环境中的服务器或客户端机器的资格进行操作,或者作为端对端(或分布式)网络环境中的对等机器。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、web器具、网络路由器、交换机或桥或能够执行指定要由该机器采取的动作的指令(顺序或以其他方式)的任何机器。进一步地,虽然仅图示了单个机器,但是术语“机器”还应当理解成包括单独或联合地执行指令集(或多个指令集)以实行本文中讨论的任一个或多个方法的机器的任何集合。
示例计算机系统900包括处理器902(例如,中央处理单元(CPU)、图形处理单元(GPU)或二者)、主存储器904和静态存储器906,其经由总线900与彼此通信。计算机系统900可以进一步包括视频显示单元910(例如,液晶显示器(LCD)或阴极射线管(CRT))。计算机系统900还包括字母数字输入设备912(例如,键盘或触敏显示屏)、用户接口(UI)导航设备914(例如,鼠标)、盘驱动单元916、信号生成设备918(例如,扬声器)和网络接口设备920。
机器可读介质
盘驱动单元916包括其上存储具体化本文中描述的任一个或多个方法或功能或由其利用的一个或多个指令集和数据结构(例如,软件)924的机器可读介质922。指令924还可以在其由计算机系统900执行期间完全或至少部分地驻留在主存储器904内和/或处理器902内,主存储器904和处理器902还构成机器可读介质。
虽然在示例实施例中将机器可读介质922示出为单个介质,但是术语“机器可读介质”可以包括存储一个或多个指令或数据结构的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“机器可读介质”还将理解成包括能够存储、具体化或承载用于由机器执行并且使机器执行本发明的任一个或多个方法的指令或能够存储、编码或承载由这样的指令利用或与其相关联的数据结构的任何有形介质。术语“机器可读介质”将相应地理解成包括但不限于固态存储器,以及光学和磁性介质。机器可读介质的特定示例包括非易失性存储器,作为示例包括半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪存设备;磁盘,诸如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。
传输介质
可以进一步使用传输介质通过通信网络926来传输或接收指令924。指令924可以使用网络接口设备920和许多公知传输协议中的任一个(例如,HTTP)来传输。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、因特网、移动电话网络、简易老式电话(POTS)网络和无线数据网络(例如,WiFi、LTE和WiMAX网络)。术语“传输介质”将理解成包括能够存储、编码或承载用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进对这样的软件的传送。
尽管已经参考特定示例实施例描述了实施例,但是将明显的是,可以在不脱离本发明的较宽范围的情况下对这些实施例做出各种修改和改变。相应地,要在说明性而非限制性的意义上看待说明书和图。形成本申请的部分的附图示出其中可以实践主题的特定实施例,作为图示并非作为限制。以充足的细节来描述所说明的实施例以使得本领域技术人员能够实践本文中公开的教导。其他实施例可以被利用和从其导出,使得可以做出结构和逻辑替换和改变而不脱离本公开的范围。因此,该详细描述不在限制性的意义上被理解,并且各种实施例的范围仅由所附权利要求连同这样的权利要求被授权的等同方案的完整范围一起来限定。
发明主题的这样的实施例可以在本文中单独和/或集体地通过术语“发明”来指代,这仅仅为了方便并且不意图主动将本申请的范围限制到任何单个发明或发明概念,如果事实上公开了多于一个的话。因此,尽管已经在本文中图示和描述了特定实施例,但是应当领会到,被计划成实现相同目的的任何布置可以代替示出的特定实施例。本公开意图覆盖各种实施例的任何和所有改编 或变型。在回顾以上描述时,以上实施例和本文中未具体地描述的其他实施例的组合将对本领域技术人员显而易见。