CN108694228A - 社交网络分类中的头衔消歧 - Google Patents

社交网络分类中的头衔消歧 Download PDF

Info

Publication number
CN108694228A
CN108694228A CN201810306438.0A CN201810306438A CN108694228A CN 108694228 A CN108694228 A CN 108694228A CN 201810306438 A CN201810306438 A CN 201810306438A CN 108694228 A CN108694228 A CN 108694228A
Authority
CN
China
Prior art keywords
vector
data structure
group
technical ability
title
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
Application number
CN201810306438.0A
Other languages
English (en)
Inventor
U.默哈夫
D.沙查姆
A.姜
S.C.麦克朗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108694228A publication Critical patent/CN108694228A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • 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/24Querying
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

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)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在示例实施例中,形成深度表示数据结构,该深度表示数据结构具有在该深度表示数据结构中被表示为坐标的表示来自社交网络数据结构的头衔的第一矢量和表示来自社交网络数据结构的技能的第二矢量。将一个或多个目标函数应用于在深度表示数据结构中的第一矢量和第二矢量的至少一个组合,使得得到针对所述至少一个组合中的每一个的目标函数输出。将所述组合中的矢量的一个或多个坐标聚类成职业群,其中所述职业群中的每个职业群中的每个坐标共享职业。标识每个职业群的群代表。然后,群代表可以用来推断具有模糊角色的第一成员简档的职业。

Description

社交网络分类中的头衔消歧
技术领域
本公开总体上涉及用于解决在分析社交网络中的分类数据中的技术挑战的计算机技术。更具体地,本公开涉及社交网络分类的嵌入式深度表示。
背景技术
互联网的兴起引起了两个迥然不同的现象:社交网络的存在和对于大量的人可见的其对应的成员简档在增长,以及使用这些社交网络来执行对人和公司的搜索在增长。基于各种分类中的实体来标准化成员(例如,个人或公司)简档的各种属性是常见的。例如,一个行业可能被列入公司,其中该行业从行业分类(即由社交联网服务维护的数据结构)中的多个条目中选择。该行业分类可以包括可能行业的分层组织。例如,行业分类中的“信息技术”的行业类别可以具有“计算机软件”、“计算机硬件”和“计算机联网”的子类别。该行业分类可以将子类别组织为对应于“信息技术”的父节点的子。该行业分类中可能有很多层类别和子类别。
行业当然只是可以指派给分类中的实体的成员属性的一个示例。其他示例包括职称、学校、技能等等。
尽管在封闭状态中考虑属性时将属性纯粹地标准化到分类实体中运行良好,但是当涉及属性之间的关系时,这种类型的组织技术创建了技术挑战。分类典型地是由对实体驻留在分类中的位置做出主观决定的人创建和管理的。尽管分类的分层本质确实允许在实体之间建立一些关系,但这种关系是静态的和标准化的。例如,在位置分类中,“洛杉矶”、“硅谷”和“西雅图”可以被认为是“西海岸”类别的一部分,从而使得“洛杉矶”节点、“硅谷”节点和“西雅图”节点都是“西海岸”节点的子节点,其中每个子节点与其他节点等距,因此无法捕获子节点之间的关系。这些关系可能是动态的,并且可以根据期望的分析而变化。例如,在一些分析中,位置之间的物理距离可能是相关的,而在一些分析中,城市之间的其他细微关系可能是相关的。例如,在距离上,洛杉矶比西雅图更靠近硅谷,但是如果某人试图预测居住在硅谷的一位计算机程序员将迁入的可能城市,西雅图可能比洛杉矶具有高得多的可能性(因此对于这种分析可能具有更紧密的关系)。裸分类架构没有一种机制来捕获实体之间的这些类型的动态和细微关系。
实际上,分类中的标准化数据通常是分类别的并且稀疏地同现,这限制了它们对于预测性任务的有用性。创建单个统一的分类的尝试可能因某些类型的条目的模糊性而复杂化。例如,社交网络的许多成员使用含糊头衔(例如“经理”)或模糊头衔(例如“建筑师”)进行自我描述。
附图说明
在附图的图中,通过示例而非限制的方式图示出了本技术的一些实施例。
图1是图示出根据示例实施例的客户端-服务器系统的框图。
图2是示出符合本公开的一些实施例的社交联网服务的功能组件的框图,该社交联网服务包括在本文中被称为搜索引擎的数据处理模块,用于生成和提供搜索查询的搜索结果。
图3是更详细地图示出根据示例实施例的应用服务器模块的框图。
图4是更详细地图示出根据示例实施例的机器学习组件的框图。
图5是图示出根据示例实施例的用于创建社交网络实体的深度嵌入式表示的方法的流程图。
图6是图示出根据示例实施例的头衔和技能的深度表示的示例的图。
图7是在更深的层次上(即,放大地)图示出来自图6的深度表示的示例的图。
图8是图示出用于专门针对相关头衔和技能创建实体的深度表示的方法的流程图。
图9是图示出用于专门针对基于技能集合的头衔预测创建实体的深度表示的方法的流程图。
图10是图示出根据示例实施例的在社交网络计算系统中对分类中的头衔进行消歧的方法的流程图。
图11是图示出可与本文所描述的各种硬件架构结合使用的代表性软件架构的框图。
图12是图示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文讨论的任何一个或多个方法的机器的组件的框图。
具体实施方式
概述
除其他内容外,本公开描述了独立地提供各种功能性的方法、系统和计算机程序产品。在以下描述中,为了解释的目的,阐述了许多具体细节以便提供对本公开的不同实施例的各个方面的透彻理解。然而,对于本领域技术人员来说将显而易见的是,可以在没有所有具体细节的情况下实践本公开。
在一个示例实施例中,提供了一种系统,凭此,通过机器学习技术来学习在分类中的实体的隐性矢量表示。最终,每个技能、头衔或其他标准化实体可以被映射到矢量表示,其中“距离”是良好定义的量(例如,欧几里德)和同样良好定义的“关系”(例如,这两个矢量的减法)。
如上面简要描述的那样,出现了头衔可能是模糊的问题。尽管一种解决方案可以基于成员的技能集合预测他或她的职称,但职称的分类有太多的头衔,这些头衔从基于成员技能的模型的角度无法进行区分。例如,“程序员”与“软件工程师”可能具有某个细微差别,该细微差别使他们不完全相同,但试图以这种粒度进行预测会产生任意结果。附加地,头衔分类可能具有许多同义的头衔或具有资历标记的头衔,这些标记通常不能从用户技能集合中获得。示例包括“软件工程师”、“软件开发人员”和“程序员”,以及包括像初级人员和高级人员一样的修改者的那些人员,但是被训练来基于技能集合对这些进行区分的任何模型都将产生任意结果。
因此,在示例实施例中,隐性表示嵌入用来形成将所有技能和头衔包括到单个隐性空间中的分类。这种方法最终将实体编码到在某个抽象矢量空间中的位置。通过将实体的嵌入设置为自由度并针对应该赋予实体意义的某个目标函数进行优化,来将实体映射到位置。
图1是图示出根据示例实施例的客户端-服务器系统100的框图。联网系统102经由网络104(例如,互联网或广域网(WAN))向一个或多个客户端提供服务器侧功能性。图1图示出了例如在各个客户端机器110和112上执行的web客户端106(例如,浏览器)和编程客户端108。
应用程序接口(API)服务器114和web服务器116被耦合到一个或多个应用服务器118,并分别向一个或多个应用服务器118提供编程接口和web接口。(多个)应用服务器118托管一个或多个应用120。(多个)应用服务器118进而被示为耦合到促进访问一个或多个数据库126的一个或多个数据库服务器124。尽管图1中示出了(多个)应用120形成联网系统102的一部分,但是将意识到,在替代实施例中,(多个)应用120可以形成与联网系统102分开且不同的服务的一部分。
此外,尽管图1中示出的客户端-服务器系统100采用客户端-服务器架构,但是本公开当然不限于这样的架构,并且例如可以同样很好地在分布式或对等架构系统中找到应用。各种应用120也可以被实现为不一定具有联网能力的单独的软件程序。
web客户端106经由web服务器116所支持的web接口来访问各种应用120。类似地,程序客户端108经由API服务器114所提供的编程接口来访问由(多个)应用120所提供的各种服务和功能。
图1还将在第三方服务器130上执行的第三方应用128图示为,经由API服务器114所提供的编程接口对联网系统102进行编程访问。例如,第三方应用128可以利用从联网系统102检索的信息来支持由第三方托管的网站上的一个或多个特征或功能。例如,第三方网站可以提供由联网系统102的相关应用120支持的一个或多个功能。
在一些实施例中,本文涉及的任何网站可以包括可在多种设备上显现的在线内容,所述设备包括但不限于台式个人计算机(PC)、膝上型设备和移动设备(例如,平板计算机、智能手机等)。在这方面,用户可以采用这些设备中的任何设备来使用本公开的特征。在一些实施例中,用户可以使用移动设备(客户端机器110、112中的任何一个以及第三方服务器130可以是移动设备)上的移动小应用(app)来访问和浏览在线内容,诸如本文公开的在线内容中的任何一个。移动服务器(例如,API服务器114)可以与移动app和(多个)应用服务器118进行通信,以便使本公开的特征在移动设备上可用。
在一些实施例中,联网系统102可以包括社交联网服务的功能组件。图2是示出符合本公开的一些实施例的社交联网服务的功能组件的框图,该社交联网服务包括在本文中被称为搜索引擎216的数据处理模块,用于生成和提供搜索查询的搜索结果。在一些实施例中,搜索引擎216可以驻留在图1中的(多个)应用服务器118上。然而,设想到,其他配置也在本公开的范围内。
如图2中所示,前端可以包括用户接口模块(例如web服务器116)212,该用户接口模块接收来自各种客户端计算设备的请求并将适当的响应传送给请求的客户端设备。例如,(多个)用户接口模块212可以接收以超文本传输协议(HTTP)请求或其他基于web的API请求的形式的请求。附加地,可以提供成员交互检测模块213以检测成员与不同应用120、服务和所呈现的内容的各种交互。如图2中所示,在检测到特定交互后,成员交互检测模块213在成员活动和行为数据库222中记入包括交互类型和与交互相关的任何元数据的交互。
应用逻辑层可以包括一个或多个各种应用服务器模块214,其与(多个)用户接口模块212结合生成具有从数据层中的各种数据源检索的数据的各种用户接口(例如,web页面)。在一些实施例中,独立的应用服务器模块214被用于实现与由社交联网服务提供的各种应用120和/或服务相关联的功能性。
如图2中所示,数据层可以包括若干数据库,诸如用于存储简档数据的简档数据库218,所述简档数据包括各个组织(例如公司,学校等)的简档数据和成员简档数据两者。与一些实施例符合的是,当一个人初始地登记成为社交联网服务的成员时,将提示该人提供一些个人信息,诸如他或她的姓名、年龄(例如出生日期)、性别、兴趣、联系信息、家乡、地址、配偶和/或家庭成员的姓名、教育背景(例如学校、专业、入学和/或毕业日期等)、就业历史、技能、专业组织等。例如,该信息被存储在简档数据库218中。类似地,当组织的代表人初始地向社交联网服务登记组织时,可以提示该代表人提供关于该组织的某些信息。该信息可以被存储在例如简档数据库218或另一个数据库(未示出)中。在一些实施例中,可以(例如,在后台或离线)处理简档数据以生成各种导出的简档数据。例如,如果一个成员提供了关于该成员在同一组织或不同组织担任的各种职称以及担任多长时间的信息,则可以使用该信息推断或导出指示该成员的总资历水平或在特定组织内的资历水平的成员简档属性。在一些实施例中,从一个或多个外部托管的数据源导入或以其他方式访问数据可以丰富成员和组织两者的简档数据。例如,特别是对于组织而言,财务数据可能从一个或多个外部数据源导入,并成为组织简档的一部分。本文档后面将更详细描述组织数据的该导入和数据的丰富。
一旦登记,成员可以邀请其他成员或被其他成员邀请,以经由社交联网服务连接。“连接”可能构成成员的双边协议,从而使得两个成员都确认该连接的建立。类似地,在一些实施例中,成员可以选择“跟随”另一个成员。与建立连接形成对照,“跟随”另一个成员的概念典型是单方操作,并且至少在一些实施例中,不需要被追随的成员的确认或批准。当一个成员跟随另一个成员时,跟随的成员可以接收到由被跟随的成员发布的或与被追随的成员进行的各种活动相关的状态更新(例如,在活动或内容流中)或其他消息。类似地,当成员跟随组织时,该成员变得有资格接收代表组织发布的消息或状态更新。例如,代表成员所追随的组织发布的消息或状态更新将出现在通常被称为活动流或内容流的成员的个性化数据馈送中。在任何情况下,成员与其他成员或与其他实体和对象建立的各种关联和关系被存储和维护在社交图数据库220中的社交图中。
当成员与通过社交联网服务变得可用的各种应用120、服务和内容交互时,成员的交互和行为(例如,查看的内容,选择的链接或按钮,对其做出响应的消息等)可以被跟踪,并且关于成员的活动和行为的信息可以被成员活动和行为数据库222记入或存储,例如,如图2所指示。然后,该记入的活动信息可以由搜索引擎216用来确定搜索查询的搜索结果。
在一些实施例中,数据库218、220和222可以并入图1中的(多个)数据库126中。然而,其他配置也在本公开的范围内。
尽管未示出,但是在一些实施例中,社交联网系统210提供API模块,应用120和服务可以通过该API模块访问由社交联网服务提供或维护的各种数据和服务。例如,通过使用API,应用120可能能够请求和/或接收一个或多个导航推荐。这样的应用120可以是基于浏览器的应用120,或者可以是特定于操作系统的。具体而言,一些应用120可以驻留并且(至少部分地)在具有移动操作系统的一个或多个移动设备(例如,电话或平板计算设备)上执行。此外,虽然在许多情况下,利用API的应用120或服务可以是由运营社交联网服务的实体开发和维护的应用120和服务,但除了数据隐私的忧虑之外,没有其他任何方面阻止将API提供给公众或在特殊安排下向某些第三方提供,从而使导航推荐可用于第三方应用128和服务。
尽管搜索引擎216在本文中被称为在社交联网服务的上下文中使用,但是应设想到,其也可以在任何网站或在线服务的上下文中被采用。附加地,尽管本公开的特征在本文中被称为在web页面的上下文中被使用或呈现,但应设想到,任何用户接口视图(例如,移动设备上或桌面软件上的用户接口)都在本公开的范围内。
在示例实施例中,当成员简档被索引时,创建并存储正向搜索索引。搜索引擎216促进索引和搜索在社交联网服务内的内容,诸如索引和搜索在数据层中包含的数据或信息,诸如简档数据(存储在例如简档数据库218中)、社交图数据(存储在例如社交图数据库220中)以及成员活动和行为数据(存储在例如成员活动和行为数据库222中)。搜索引擎216可以收集、解析和/或存储在索引或其他类似结构中的数据,以便促进响应于接收到的对信息的查询来标识和检索信息。这可以包括但不限于正向搜索索引、倒排索引、N-gram索引等。
图3是更详细地图示出图2的应用服务器模块214的框图。尽管在许多实施例中,应用服务器模块214将包含用于在社交联网系统210内执行各种不同动作的许多子组件,但是在图3中,仅仅与本公开相关的那些组件被描绘。这里,实体检索组件300从数据库305中检索实体。这可以包括例如重要的现有分类。实体一旦被提取就被传递到深度表示形成组件310,深度表示形成组件310行动以形成实体的深度表示,如稍后将更详细描述的那样。这可以包括利用机器学习组件330。一旦形成,实体335的深度表示可以存储在数据库340中。在一些示例实施例中,数据库305和数据库340是单个数据库。
如之前所描述的,在示例实施例中,可以被映射到社交网络中的分类的每个实体可以被映射到矢量(任意空间中的点)。这种映射可以已知为嵌入。该矢量可以包括任何数量的维度。在示例实施例中,每个实体被嵌入到具有128个维度的矢量中。这意味着每个实体都被映射到128个坐标的集合。通过任意的方式,这意味着每个维度本身都没有意义——它们只是一种机制,可以通过其来衡量实体之间的距离。每个矢量的具体起始值可以被随机分配,并且通过机器学习优化过程,起始值一次又一次地被改动,直到特定目标被优化为止。应该指出的是,可能期望选择至少足够的维度作为要解决的目标;然而这不是要求。
应该指出的是,本文描述的实体是社交网络中的标准化数据的具体实例。典型地,这些实体将包括在能够被标准化的成员简档中提供的数据片段。社交联网简档中的常见实体包括头衔、行业、位置、技能、喜好、厌恶、参加的学校等。某些类型的数据不太可能被标准化,诸如姓名、出版物等。
实体的深度表示可以是用于许多不同类型的实体的单个表示。例如,虽然在现有技术中每个实体类型将被映射到仅仅是该实体类型的实体的层次结构中,但是本公开中的实体的深度表示允许将多个实体类型映射到相同的数据结构中,从而许可基于在不同实体类型的实体之间的关系进行丰富的分析和预测。
在示例实施例中,使用一个或多个机器学习算法来帮助优化在实体的深度表示中使用的嵌入。图4是更详细地示出根据示例实施例的机器学习组件330的框图。机器学习组件330可以利用机器学习过程来达成用于为特定预测提供置信度分数的预测模型400。确切的预测可能基于所选的目标而变化。机器学习组件330可以包括训练组件402和置信度评分组件404。训练组件402将包括例如成员简档数据和成员活动数据的训练数据406馈送到特征提取器408,该特征提取器408提取信息的一个或多个特征410。训练数据406还可以包括对与训练数据406对应的嵌入412(例如,来自实体的深度表示,如将在下面更详细描述的那样)执行的目标函数411的输出。机器学习算法413使用所提取的特征410和目标函数411的输出来生成预测模型400。在一些示例实施例中,这涉及学习在预测模型400中应用的权重的机器学习算法413。在置信度评分组件404中,一个或多个实体414以及对与一个或多个实体414对应的嵌入418执行的(多个)目标函数416的一个或多个输出可以被馈送到预测模型400,该预测模型400输出对于一个或多个潜在预测中的每一个的置信度分数,指示在对应潜在预测中的置信度水平。
应该指出的是,预测模型400可以经由附加的训练和/或用户反馈420被周期性地更新。用户反馈420可以是来自执行搜索的成员的反馈或来自管理者的反馈。用户反馈420可以包括关于预测模型400在提供准确置信度分数方面有多成功的指示。
机器学习算法413可以从许多不同的潜在的受监督或无监督的机器学习算法中选择。受监督的学习算法的示例包括人工神经网络、贝叶斯网络、基于实例的学习、支持矢量机器、随机森林、线性分类器、二次分类器、k-最近邻居、决策树和隐马尔可夫模型。无监督的学习算法的示例包括期望最大化算法、矢量量化和信息瓶颈方法。在示例实施例中,使用多类逻辑回归模型。
如上所描述的,训练组件402可以以离线的方式操作以训练预测模型400。然而,置信度评分组件404可以被设计为以离线方式或在线方式进行操作。
图5是图示出根据示例实施例的用于创建社交网络实体的深度嵌入式表示的方法500的流程图。在操作502处,每个社交网络实体初始地被映射到包括n个坐标的集合的矢量。如上所描述的,在示例实施例中,n是128。附加地,在示例实施例中,该初始映射是随机的,因为用于实体的n个坐标中的每一个都使用被设计成在任意空间中输出随机数的随机数发生器等来选择。这个任意空间可能在两侧都有界限。例如,随机数发生器可以生成在0与1到小数点后一位之间的随机数(例如0.0、0.1、0.2等)。
在操作504处,这些矢量中的每一个可以被存储在深度表示数据结构中。这个数据结构的形式可以基于实现而变化。在一些示例实施例中,数据结构可以采取矩阵的形式。
在操作506处,将一个或多个目标函数应用于两个或更多个矢量的至少一个组合中的每一个。目标函数是基于试图解决的预测来选择的。例如,如果所选择的试图解决的预测是具有特定头衔的社交网络的成员是否还具有某种技能,则目标函数可以是在用于头衔实体的矢量和用于技能实体的矢量之间的点积函数。该目标函数的应用的结果是目标函数输出。
在操作508处,优化测试被应用于目标函数的每个输出。优化测试的目的是确定嵌入是否已被优化。该确定可以基于机器学习模型在该组合中的矢量中的至少一个被馈送的情况下在所选择的预测中是否准确。例如,如果如上,试图解决的预测是具有特定头衔的社交网络的成员是否还具有某种技能,则操作506的结果(头衔实体和技能实体的点积)对于具有该头衔还具有该技能的成员应该是最大的(例如1.0)。因此,机器学习模型运行,以使用由该组合中的矢量表示的实体之一来确定它是否将准确地预测(多个)其他矢量的存在。
例如,包含特定头衔和某种技能二者的成员简档可以被馈送到机器学习模型,该机器学习模型已经基于目标函数输出被训练,并且如果机器学习模型准确地预测成员简档应包含该某种技能,则优化测试通过。如果不是,则它失败。
对于通过优化测试的每个矢量组合,如果优化测试失败,则在操作510处,改动针对矢量的嵌入以减少在矢量之间的在任意空间中的距离。然后,方法500循环回到操作508。因此,该优化循环继续,直到由优化测试分析的每个矢量组合已经通过优化测试。
如之前简要描述的那样,在一些示例实施例中,方法500被设计成同时优化多个目标。存在可以被利用来完成这一点的很多不同的技术。在一个示例实施例中,嵌入被修改以使在两个目标上的总误差最小化。例如,如果目标函数A输出误差X并且目标函数B输出误差Y,则方法500可以优化嵌入以最小化X + Y。尽管这种技术同时对于几个不同的目标很好地工作,但当目标数量增加时它往往不能很好地工作(即它不能很好地缩放)。这是因为某些目标函数可能比其他函数生成更大的误差,从而导致对生成更大误差的函数进行优化的偏见。
附加地,在一个示例实施例中,要优化的精确目标不是先验已知的,并且因此可能期望通常同时优化大量不同的潜在目标。为了处置这个问题,在示例实施例中,周期性地(例如,每N次迭代)自动重新校准优化,使得分配给每个目标函数的权重被带到相同的数量级。除了以上描述的自动技术之外或者代替以上描述的自动技术,还可以利用其他更多的手动技术,包括为训练中的两个目标绘制误差函数率以确保它们在相同的数量级内,手动中断训练并改变目标权重,以及手动检查结果以确保两个目标都在改进。
以这种方式,可以完全绕过使用主观人类分析手动为每种实体类型构建分类的旧方式。可以提供并非是独立的分层分类的每个实体的深度表示,其允许在本公开中描述的高级分析的类型。图6是图示出根据示例实施例的头衔和技能的深度表示600的示例的图。应该指出的是,尽管在示例实施例中为每个实体使用许多不同的坐标(例如128个),但是由于不可能在视觉上描绘128个维度,所以为了简单起见,使用T-SNE算法来可视化所述矢量。实质上,在矢量空间中彼此接近的每两个数据点在T-SNE表示中最终将彼此接近。从该图中可以看出,存在表示的多种实体类型,包括行业(例如医疗保健602)、技能(例如,AdobePhotoshop 604)和头衔(例如市场营销主管606)。对该深度表示600的分析揭示,例如,医疗保健602与Adobe Photoshop 604有些相关,但不那么相关于Microsoft Word 608。这是可以反映在深度表示600中的实体类型间关系的类型的示例。附加地,实体内关系也反映在该深度表示600中。例如,音乐家610和电台节目主持人612的头衔距离较近,因此比例如音乐家610和绘图员更相关。
图7是在更深的层次上(即,放大地)图示出来自图6的深度表示600的示例的图。这里,可以看出,属于相同专业领域的头衔的确被映射成彼此接近。
图8是图示出用于专门针对相关头衔和技能创建实体的深度表示的方法800的流程图。这里,头衔和技能以这样的方式进行嵌入:当技能和头衔倾向于同现时,点积最大化,否则最小化。成员头衔标识(实体)802被用于嵌入步骤804,嵌入步骤804输出头衔的头衔隐性表示,具体是矢量806。同样,技能标识(实体)808被用于嵌入步骤810,嵌入步骤810输出技能的技能隐性表示,具体是矢量812。然后矢量806和矢量812被馈送到目标函数814,本文中是点积运算加上偏差(例如,常数的加法或减法)。然后对目标函数814的输出执行优化测试816。这里优化测试816包括将目标函数814的输出与具有成员头衔标识802的成员的标签1进行比较。如果优化测试816失败,则重复嵌入步骤804和嵌入步骤810以最大化目标(例如,使得矢量806,812在任意空间中彼此更接近)。
图9是图示出用于专门针对基于技能集合的头衔预测创建实体的深度表示的方法900的流程图。该模型针对称为头衔消歧的应用进行了优化。具体而言,一些成员可能提交非常宽泛的头衔(例如经理),并且给定成员具有的技能集合,预测更确切的头衔标识可能是有用的。方法900类似于方法800,除了任务被用作验证集合以防止嵌入过度拟合之外,因此模型需要聚合多个技能。而且,由于该任务包含验证集合,因此引入了正则化参数。
成员头衔标识(实体)902被用于嵌入步骤904,该嵌入步骤904输出头衔的头衔隐性表示,具体是矢量906。同样地,多个技能标识(实体)908A-908C被用于嵌入步骤920,该嵌入步骤920输出每个技能的技能隐性表示,具体是矢量912。矢量906和912然后被馈送到目标函数914,这里是点积运算加上偏差(例如,常数的加法或减法)。然而,值得注意的是,矢量912可以首先通过最大池化步骤913。
最大池化是在神经网络中使用的基于样本的离散化过程。目标是对输入表示(诸如矢量)进行下采样,从而降低其维度,并允许对包含在入库(binned)的子区域中的特征做出假设。这样做部分是为了通过提供表示的抽象形式来帮助过度拟合。它还通过减少要学习的参数数量以及为内部表示提供基本的平移不变性,来降低计算成本。
然后,对目标函数914的输出执行优化测试916。这里,优化测试916包括将目标函数914的输出与具有技能标识908A-908C的成员的标签1进行比较。如果优化测试916失败,则重复嵌入步骤904和嵌入步骤920以最大化目标(例如,使得矢量906、912在任意空间中彼此更接近)。
在示例实施例中,可以通过首先削减潜在输出的列表来修改使用基于技能集合的头衔预测的上面的机器学习算法。这可以通过基于职业对头衔实体进行聚类来完成。然后可以利用通过余弦距离度量测量的距离在头衔-技能隐性空间中的剩余的嵌入式头衔空间上执行Knn聚类。由于头衔已经嵌入到隐性空间中,所以通过使用它们与技能的同现,每个头衔都成为隐性空间中的一个点。然后可以将这些点聚类,并将每个群称为职业群。由于每个群都是几个点(职业)的集合,所以每个群可以由这些点中的一个表示,其实际上是职业群中具有最多成员的点。例如,“软件”群可能有诸如“软件工程师”和“软件架构师”之类的职业。如果“软件工程师”是该职业群中具有最多成员的职业,则它被认为是群代表。
无论是照原来的样子推断还是提取的来自成员简档的头衔在其初始状态中都可以被称为角色。一旦角色已知,就可以推断出该成员的职业。职业可以被定义为角色加专长;需要推断的是成员的专长。可以通过使用群代表比较嵌入到职业群的成员技能来推断专长。由于该代表不一定具有与成员相同的角色,因此仅其专长被使用,并且其稍后与角色结合。从职业到角色和专长的组合的静态映射被使用。所提取的专长和成员的角色然后可以用来找到实际的职业。
图10是图示出根据示例实施例的在社交网络计算系统中对在分类中的头衔进行消歧的方法1000的流程图。在操作1002处,从社交联网服务获得成员简档。在操作1004处,从该成员简档导出角色。在一些示例实施例中,角色可以等同于在成员简档中列出的头衔(可能由成员他或她本人输入)。在其他示例实施例中,角色可以基于在成员简档中提供的一个或多个技能来推断。在一些示例实施例中,可以使用这些技术的组合。
在操作1006处,确定角色是否是模糊的。可以通过确定角色是否可以备映射到社交联网服务的分类中的两个或更多个不同头衔实体来标识模糊性。在一些示例实施例中,如上所描述的,该社交联网服务分类可以是统一的分类,其中隐性表示嵌入被用于形成将所有技能和头衔(以及潜在的其他实体)包括到单个隐性空间中的分类。在其他示例实施例中,该社交联网服务分类是头衔分类。
如果在操作1006处确定角色不是模糊的,则在操作1008处,角色被输出为成员的职业。然而,如果确定角色是模糊的,则在操作1010处,从成员简档中提取成员的一个或多个技能。在操作1012处,通过匹配在隐性空间中的技能来找到具有与该成员的技能最接近的技能集合的群代表,以确定最接近的职业。具有拥有该最接近的技能集合的群代表的职业群被确定为具有最接近的职业。
在操作1014处,标识出具有最接近的技能集合的群代表的专长。这可以通过参照在映射的一侧具有角色和专长的组合并且在映射的另一侧具有职业的静态映射来执行。换句话说,该静态映射包含角色专长组合和对应职业的列表。
由于该群代表的职业是已知的并且该群代表的角色也是已知的,所以该群代表的专长可以从该映射中标识出。在操作1016处,成员的角色与群代表的专长相组合。在操作1018处,将该组合的成员角色-群代表专长与该静态映射进行比较以标识该成员的职业。
作为示例,假设成员在他或她的用户简档中提供“M.D.”的头衔(换句话说,医学博士)。这是模糊的,因为存在许多不同类型的M.D.(例如,儿科医生、肿瘤学家、全科医生、外科医生等)。然后该系统可以将成员的技能与各种职业群代表的技能进行比较以定位匹配的职业群。例如,成员的技能可能包括“孩子”,这意味着在照顾孩子方面有某种技能。结果可能是包括与孩子一起工作的角色的一个职业群。值得注意的是,即使该职业群代表可能不具有与成员相同的角色(例如,职业群代表可能是儿科护士),也可能出现该结果。确定的专长可以是“孩子”,然后“孩子”可以与该成员的“M.D.”角色组合成“M.D.+孩子”。可以使用静态映射在那时将“M.D. +孩子”映射到职业“儿科医生”,然后职业“儿科医生”可以被用作该成员的职业。
模块、组件和逻辑
本文将某些实施例描述为包括逻辑或许多组件、模块或机制。模块可以构成软件模块(例如,体现在机器可读介质上的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元并且可以以某种物理方式进行配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立的计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如,一个处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作来执行如本文所描述的某些操作的硬件模块。
在一些实施例中,硬件模块可以机械地、电子地或其任何适当的组合来实现。例如,硬件模块可以包括被永久配置为执行某些操作的专门电路或逻辑。例如,硬件模块可以是专用处理器,诸如现场可编程门阵列(FPGA)或应用特定集成电路(ASIC)。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件进行配置,硬件模块就成为被唯一地定制来执行所配置的功能的特定机器(或机器的特定组件)并且不再是通用处理器。应该意识到,在专门和永久配置的电路中,或者在临时配置的(例如由软件配置的)电路中机械地实现硬件模块的决定可以通过成本和时间考虑来驱动。
相应地,短语“硬件模块”应被理解为包含有形实体,即被物理构建,永久配置(例如,硬连线)或临时配置(例如,编程)以便以某种方式操作或执行本文所描述的某些操作的实体。如本文所使用的,“硬件实现的模块”是指硬件模块。考虑到其中硬件模块被临时配置(例如,编程)的实施例,每个硬件模块不需要在任何一个时间实例处被配置或实例化。例如,在硬件模块包括由软件配置以成为专用处理器的通用处理器的情况下,该通用处理器可以在不同的时间被配置为各自不同的专用处理器(例如,包括不同的硬件模块)。软件相应地配置特定的一个处理器或多个处理器,例如以在一个时间实例处构成特定的硬件模块并且在不同的时间实例处构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其接收信息。相应地,所描述的硬件模块可以被视为通信地耦合。在同时存在多个硬件模块的情况下,可以通过在两个或更多个硬件模块之间或之中的信号传输(例如通过适当的电路和总线)来实现通信。在其中多个硬件模块在不同时间被配置或实例化的实施例中,可以例如通过存储和检索在该多个硬件模块可访问的存储器结构中的信息来实现在这些硬件模块之间的通信。例如,一个硬件模块可以执行操作并将该操作的输出存储在其通信地耦合到的存储器设备中。于是,另一个硬件模块可以在稍后的时间访问存储器设备以检索和处理所存储的输出。硬件模块也可以发起与输入或输出设备的通信,并且可以对资源(例如,信息集)进行操作。
本文描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置来执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这样的处理器都可以构成处理器实现的模块,其操作来执行本文描述的一个或多个操作或功能。如本文所使用的,“处理器实现的模块”是指使用一个或多个处理器实现的硬件模块。
类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块执行。而且,一个或多个处理器还可以操作以支持在“云计算”环境中执行相关操作或作为“软件即服务”(SaaS)来操作。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中这些操作可以经由网络(例如,互联网)并且经由一个或多个适当的接口(例如,API)进行访问。
某些操作的执行可以分布在不仅驻留在单个机器内而且部署在多个机器上的处理器之间。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器场内)。在其他示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置之间。
机器和软件架构
在一些实施例中,在机器和关联的软件架构的上下文中实现结合图1-10描述的模块、方法、应用等。下面的章节描述适合于与所公开的实施例一起使用的(多个)代表性软件架构和多个机器(例如,硬件)架构。
软件架构与硬件架构结合使用以创建针对特定目的定制的设备和机器。例如,与特定软件架构耦合的特定硬件架构将创建移动设备,诸如移动电话、平板设备等等。稍微不同的硬件和软件架构可能会生成用于“物联网”的智能设备,而又一种组合则会产生在云计算架构内使用的服务器计算机。并非这些软件和硬件架构的所有组合都在这里呈现,因为本领域技术人员可以容易地理解如何在与本文所包含的公开内容不同的上下文下实现本发明主题。
软件架构
图11是图示出了可以结合本文所描述的各种硬件架构使用的代表性软件架构1102的框图1100。图11仅仅是软件架构的非限制性示例,并且应意识到,可以实现许多其他架构以促进本文描述的功能性。软件架构1102可以在诸如图12的机器1200之类的硬件上执行,所述机器1200除了其他组件之外还包括处理器1210、存储器/存储装置1230和I / O组件1250。代表性硬件层1104被图示出并且可以表示例如图12的机器1200。代表性硬件层1104包括具有关联的可执行指令1108的一个或多个处理单元1106。可执行指令1108表示软件架构1102的可执行指令,包括图1-10的方法、模块等的实现。硬件层1104还包括也具有可执行指令1108的存储器和/或存储模块1110。硬件层1104还可以包括其他硬件1112,其表示硬件层1104的任何其他硬件,诸如被图示为机器1200的一部分的其他硬件。
在图11的示例架构中,软件架构1102可以被概念化为其中每个层提供特定功能性的层的堆叠。例如,软件架构1102可以包括诸如操作系统1114、库1116、框架/中间件1118、应用程序1120和呈现层1144之类的层。在操作上,层内的应用1120和/或其他组件可以通过软件堆栈回调API调用1124,并且响应于API调用1124接收被图示为消息1126的响应、返回值等。所图示的层本质上是代表性的,并不是所有的软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层1118,而其他移动或专用操作系统可能提供这样的层。其他软件架构可能包括附加的或不同的层。
操作系统1114可以管理硬件资源并提供公共服务。操作系统1114可以包括例如内核1128、服务1130和驱动器1132。内核1128可以充当在硬件与其他软件层之间的抽象层。例如,内核1128可以负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全设置等。服务1130可以为其他软件层提供其他公共服务。驱动器1132可以负责控制底层硬件或与其进行接口。例如,驱动器1132根据硬件配置可以包括显示器驱动器、相机驱动器、Bluetooth®驱动器、快闪存储器驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、Wi-Fi®驱动器、音频驱动器、电源管理驱动器等等。
库1116可以提供可以被应用1120和/或其他组件和/或层利用的公共基础设施。库1116典型地提供允许其他软件模块以比通过与底层操作系统1114功能性(例如,内核1128、服务1130和/或驱动器1132)直接进行接口更容易的方式执行任务的功能性。库1116可以包括系统库1134(例如,C标准库),其可以提供诸如存储器分派功能、字符串操纵功能、数学功能等功能。附加地,库1116可以包括API库1136,诸如媒体库(例如,支持诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG之类的各种媒体格式的呈现和操纵的库)、图形库(例如可以用于在显示器上显现2D和3D图形内容的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能性的WebKit)、等等。库1116还可以包括各种各样的其他库1138,以向应用1120和其他软件组件/模块提供许多其他API。
框架1118(有时也被称为中间件)可以提供可以由应用1120和/或其他软件组件/模块利用的更高级别的公共基础设施。例如,框架1118可以提供各种图形用户接口(GUI)功能、高级资源管理、高级位置服务等等。框架1118可以提供可以被应用1120和/或其他软件组件/模块利用的广泛的其他API,其中一些可以是特定于特定操作系统或平台的。
应用1120包括内置应用1140和/或第三方应用1142。代表性内置应用1140的示例可以包括但不限于联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息收发应用和/或游戏应用。第三方应用1142可以包括任何内置应用1140以及广泛搭配的其他应用。在具体示例中,第三方应用1142(例如,由除特定平台的供应商之外的实体使用Android TM或iOST软件开发套件(SDK)开发的应用)可以是运行在诸如iOS™、Android™、Windows®Phone之类的移动操作系统或其他移动操作系统上的移动软件。在该示例中,第三方应用1142可以回调由诸如操作系统1114之类的移动操作系统提供的API调用1124以促进本文描述的功能性。
应用1120可以利用内置操作系统1114功能(例如,内核1128、服务1130和/或驱动器1132)、库1116(例如,系统库1134、API库1136和其他库1138),以及框架/中间件1118以创建用户接口来与系统的用户进行交互。可替代地或附加地,在一些系统中,可以通过诸如呈现层1144之类的呈现层来发生与用户的交互。在这些系统中,可以将应用/模块“逻辑”同与用户进行交互的应用/模块的方面分开。
一些软件架构利用虚拟机。在图11的示例中,这由虚拟机1148图示出。虚拟机创建软件环境,其中应用程/模块可以像它们正在硬件机器(诸如,例如图12的机器1200)上执行一样执行。虚拟机1148由主机操作系统(例如,图11中的操作系统1114)托管,并且典型地(尽管不总是)具有虚拟机监视器1146,虚拟机监视器1146管理虚拟机1148的操作以及与主机操作系统(例如,操作系统1114)的接口。软件架构在虚拟机1148内执行,诸如操作系统1150、库1152、框架/中间件1154、应用1156和/或呈现层1158。在虚拟机1148内执行的软件架构的这些层可以与先前描述的对应层相同或者可以不同。
示例机器架构和机器可读介质
图12是图示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并且执行本文讨论的任何一个或多个方法的机器1200的组件的框图。具体而言,图12示出了以计算机系统的示例形式的机器1200的图形表示,在机器1200内,用于使机器1200执行本文讨论的任何一种或多种方法的指令1216(例如,软件、程序、应用、小应用件、app或其他可执行代码)可以被执行。指令1216将通用的、未编程的机器变换成被编程为以所描述的方式执行所描述和图示出的功能的特定机器。在替代实施例中,机器1200作为独立设备操作或者可以耦合(例如联网)到其他机器。在联网部署中,机器1200可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者在对等(或分布式)网络环境中作为对等机器来操作。机器1200可以包括但不限于服务器计算机、客户端计算机、PC、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA) 、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web电器、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定机器1200要采取的动作的指令1216的任何机器。此外,尽管图示出了仅仅单个机器1200,但术语“机器”也应被视为包括单独或联合执行指令1216以执行本文讨论的任何一种或多种方法的机器1200的集合。
机器1200可以包括处理器1210、存储器/存储装置1230和I / O组件1250,其可以被配置为诸如经由总线1202彼此通信。在示例实施例中,处理器1210(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)、另一个处理器或其任何合适的组合)可以包括例如可以执行指令1216的处理器1212和处理器1214。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核心”)。尽管图12示出了多个处理器1210,但是机器1200可以包括具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核处理器)、具有单个核心的多个处理器、具有多个核心的多个处理器或者任何它们的组合。
存储器/存储装置1230可以包括诸如主存储器或其他存储器存储装置之类的存储器1232,和存储单元1236,两者都可以由处理器1210诸如经由总线1202访问。存储单元1236和存储器1232存储体现本文描述的方法或功能中的任何一个或多个的指令1216。在由机器1200执行期间,指令1216还可以完全或部分地驻留在存储器1232内,在存储单元1236内,在处理器1210中的至少一个内(例如,在处理器的高速缓存存储器内)或在其任何合适的组合内。相应地,存储器1232、存储单元1236和处理器1210的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”意指能够临时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲器存储器、快闪存储器、光学介质、磁性介质、高速缓存存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))、和/或其任何适当的组合。术语“机器可读介质”应被视为包括能够存储指令1216的单个介质或多个介质(例如,集中式或分布式数据库,或关联的高速缓存和服务器)。术语“机器可读介质”应当也被视为包括能够存储供机器(例如,机器1200)执行的指令(例如,指令1216)的任何介质或多个介质的组合,使得指令在由机器的一个或多个处理器(例如,处理器1210)执行时使机器执行本文描述的方法中的任何一个或多个。相应地,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”排除信号本身。
I/O组件1250可以包括各种各样的组件以接收输入,提供输出,生成输出,传送信息,交换信息,捕获测量等。包括在特定机器中的特定I/O组件1250将取决于机器的类型。例如,诸如移动电话之类的便携式机器将可能包括触摸输入设备或其他这样的输入机制,而无头式服务器机器将可能不包括这样的触摸输入设备。应意识到,I/O组件1250可以包括图12中未示出的许多其他组件。根据功能性对I/O组件1250进行分组仅仅是为了简化以下讨论并且分组决不是限制性的。在各种示例实施例中,I/O组件1250可以包括输出组件1252和输入组件1254。输出组件1252可以包括视觉组件(例如,显示器,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)),声学组件(例如扬声器)、触觉组件(例如振动马达、阻力机制)、其他信号发生器以及等等。输入组件1254可以包括字母数字输入组件(例如,键盘,被配置为接收字母数字输入的触摸屏,光电键盘或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器、或者另外的指示仪器)、触知输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力量的触摸屏,或其他触知输入组件)、音频输入组件(例如麦克风)等。
在另外的示例实施例中,I/O组件1250可以包括在非常大批的其他组件中的生物测量组件1256、运动组件1258、环境组件1260或方位组件1262。例如,生物测量组件1256可以包括组件来检测表达(例如,手部表达、面部表达、人声表达、身体姿势或眼部跟踪),测量生物信号(例如血压、心率、体温、出汗或脑波),标识人(例如,语音标识、视网膜标识、面部标识、指纹标识或基于脑电图的标识)等。运动组件1258可以包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等等。环境组件1260可以包括例如照明传感器组件(例如光度计)、温度传感器组件(例如,检测周围温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或者用于测量大气中的污染物的气体检测传感器)或可以提供对应于周围物理环境的指示、测量结果或信号的其他组件。方位组件1262可以包括位置传感器组件(例如,全球定位系统(GPS)接收器组件)、高度传感器组件(例如高度计或检测可以从其导出高度的气压的气压计)、取向传感器组件(例如,磁力计)等。
通信可以使用各种各样的技术来实现。I/O组件1250可以包括通信组件1264,通信组件1264可操作来分别经由耦合1282和耦合1272将机器1200耦合到网络1280或设备1270。例如,通信组件1264可以包括网络接口组件或其他合适的设备以与网络1280接口。在另外的示例中,通信组件1264可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信NFC)组件、Bluetooth(蓝牙)®组件(例如,Bluetooth®Low Energy)、Wi-Fi®组件和其他通信组件以通过其他模态提供通信。设备1270可以是另一台机器或各种各样的外围设备中的任何一种(例如,经由USB耦合的外围设备)。
而且,通信组件1264可以检测标识符或包括可操作来检测标识符的组件。例如,通信组件1264可以包括射频标识(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,这样的光学传感器,其用于检测诸如通用产品代码(UPC)条形码之类的一维条形码,诸如快速响应(QR)码、阿兹特克(Aztec)码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码以及其他光学码之类的多维条形码)或声学检测组件(例如,用于标识标记的音频信号的麦克风)。附加地,可以经由通信组件1264导出各种信息,诸如经由互联网协议(IP)地理位置的位置,经由Wi-Fi®信号三角测量的位置,经由检测可以指示特定位置的NFC信标信号的位置,等等。
传输介质
在各种示例实施例中,网络1280的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、WAN、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、Wi-Fi®网络、另一种类型的网络、或两个或更多个这样的网络的组合。例如,网络1280或网络1280的一部分可以包括无线或蜂窝网络,并且耦合1282可以是码分多址(CDMA)连接,全球移动通信系统(GSM)连接或另一类型的蜂窝或无线耦合。在该示例中,耦合1282可以实现多种类型的数据传输技术中的任一个,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强GSM演进数据速率(EDGE)技术,包括3G的第三代合作伙伴项目(3GPP),第四代无线(4G)网络,通用移动电信系统(UMTS),高速分组接入(HSPA),全球微波接入互操作性(WiMAX),长期演进(LTE)标准,由各种标准设置组织、其他远程协议或其他数据传输技术定义的其他技术。
可以经由网络接口设备(例如,在通信组件1264中包括的网络接口组件)使用传输介质并利用多种公知的传输协议中的任何一种协议(例如HTTP),以通过网络1280传送或接收指令1216。类似地,可以使用传输介质经由到设备1270的耦合1272(例如,对等耦合)传送或接收指令1216。术语“传输介质”应被视为包括能够存储、编码或携带供机器1200执行的指令1216的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这样的软件的通信。
语言
在整个该说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一个或多个方法的独立操作被图示和描述为分离的操作,但是独立操作中的一个或多个可以同时执行,并且不要求以所图示的顺序执行操作。在示例配置中作为分离的组件呈现的结构和功能性可以实现为组合的结构或组件。类似地,呈现为单个组件的结构和功能性可以被实现为分离的组件。这些和其他变化、修改、添加和改进落入本文主题的范围内。
尽管已经参照具体示例实施例描述了发明主题的概述,但是可以对这些实施例进行各种修改和改变而不脱离本公开的实施例的更广范围。本发明主题的这些实施例在本文中可以单独地或共同地由术语“发明”引用,这仅仅是为了方便,并且不意图在事实上公开了多于一个的情况下主动地将本申请的范围限制为任何单个公开或发明构思。
本文所图示的实施例被足够详细地描述以使本领域技术人员能够实践所公开的教导。其他实施例可以被使用并从中导出,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被视为具有限制意义,并且各种实施例的范围仅由所附权利要求以及这些权利要求所享有的等同物的全部范围来限定。
如本文所使用的,术语“或”可以被解释为包含性或排他性意义。而且,可以为本文描述为单个实例的资源、操作或结构提供多个实例。附加地,各种资源、操作、模块、引擎和数据存储库之间的界限是有些任意的,并且特定操作在特定说明性配置的上下文中图示出。功能性的其他分配被设想并且可以落入本公开的各种实施例的范围内。一般而言,在示例配置中呈现为分离的资源的结构和功能性可以实现为组合的结构或资源。类似地,呈现为单个资源的结构和功能性可以被实现为分离的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。相应地,说明书和图被认为是说明性的而不是限制性的意义。

Claims (20)

1.一种系统,包括:
在其上存储有指令的计算机可读介质,所述指令在由处理器执行时使所述系统:
形成深度表示数据结构,所述深度表示数据结构具有在深度表示数据结构中被表示为坐标的表示来自社交网络数据结构的头衔的第一矢量和表示来自社交网络数据结构的技能的第二矢量,
将一个或多个目标函数应用于在所述深度表示数据结构中的第一矢量和第二矢量的至少一个组合,使得得到针对所述至少一个组合中的每一个的目标函数输出;
将所述至少一个组合中的所述矢量的一个或多个坐标聚类成职业群,其中,所述职业群中的每个职业群中的每个坐标共享职业;
标识每个职业群的群代表;
标识第一成员简档的第一角色;
标识第一成员简档的一个或多个技能;
从所述一个或多个技能中移除与第一角色对应的任何技能;
标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表;
确定群代表的专长;以及
从第一角色并从群代表的专长确定与第一成员简档对应的职业。
2.根据权利要求1所述的系统,其中所述指令还使得所述系统优化所述矢量,从而使得所述组合中的所述矢量在n维空间内变得更接近在一起。
3.根据权利要求1所述的系统,其中形成所述深度表示数据结构包括:
对于社交网络数据结构中的多个不同头衔中的每一个,将头衔映射到具有n个坐标的第一矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;
将所述多个不同头衔中的每一个的所述第一矢量存储在所述深度表示数据结构中;
对于社交网络数据结构中的多个不同技能中的每一个,将技能映射到具有n个坐标的第二矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;以及
将所述多个不同技能中的每一个的所述第二矢量存储在所述深度表示数据结构中。
4.根据权利要求1所述的系统,其中从所述一个或多个技能中移除与第一角色对应的任何技能,标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表,确定群代表的专长,以及从第一角色并从群代表的专长确定与第一成员简档对应的职业,只在第一角色是模糊的情况下才执行。
5.根据权利要求1所述的系统,其中所述聚类是使用knn聚类算法来执行的。
6.根据权利要求1所述的系统,其中,给定职业群的群代表是在所述职业群中具有最多成员的坐标。
7.根据权利要求1所述的系统,其中所述指令还使得所述系统通过以下操作来优化所述深度表示数据结构:
使用两个或更多个所述矢量的所述至少一个组合中的每一个的对应目标函数输出来对两个或更多个所述矢量的所述至少一个组合中的每一个执行优化测试;
对于两个或更多个所述矢量的所述至少一个组合中的每一个确定所述组合是否通过了优化测试;以及
对于没有通过优化测试的任何组合,改动所述组合中矢量的一个或多个坐标,使得所述组合中的矢量在n维空间内变得更接近在一起。
8.一种计算机实现的方法,包括:
形成深度表示数据结构,所述深度表示数据结构具有在深度表示数据结构中被表示为坐标的表示来自社交网络数据结构的头衔的第一矢量和表示来自社交网络数据结构的技能的第二矢量;
将一个或多个目标函数应用于在所述深度表示数据结构中的第一矢量和第二矢量的至少一个组合,使得得到所述至少一个组合中的每一个的目标函数输出;
将所述至少一个组合中的所述矢量的一个或多个坐标聚类成职业群,其中,所述职业群中的每个职业群中的每个坐标共享职业;
标识每个职业群的群代表;
标识第一成员简档的第一角色;
标识第一成员简档的一个或多个技能;
从所述一个或多个技能中移除与第一角色对应的任何技能;
标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表;
确定群代表的专长;以及
从第一角色并从群代表的专长确定与第一成员简档对应的职业。
9.根据权利要求8所述的方法,还包括:
优化所述矢量,使得所述组合中的矢量在n维空间内变得更接近在一起。
10.根据权利要求8所述的方法,其中形成所述深度表示数据结构包括:
对于社交网络数据结构中的多个不同头衔中的每一个,将头衔映射到具有n个坐标的第一矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;
将所述多个不同头衔中的每一个的所述第一矢量存储在所述深度表示数据结构中;
对于社交网络数据结构中的多个不同技能中的每一个,将技能映射到具有n个坐标的第二矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;以及
将所述多个不同技能中的每一个的所述第二矢量存储在所述深度表示数据结构中。
11.根据权利要求8所述的方法,其中,从所述一个或多个技能中移除与第一角色对应的任何技能,标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表,确定群代表的专长,以及从第一角色并从群代表的专长确定与第一成员简档对应的职业,只在第一角色是模糊的情况下才执行。
12.根据如权利要求8所述的方法,其中所述聚类是使用knn聚类算法来执行的。
13.根据权利要求8所述的方法,其中,给定职业群的群代表是在职业群中具有最多成员的坐标。
14.根据权利要求8所述的方法,还包括:
使用两个或更多个所述矢量的所述至少一个组合中的每一个的对应目标函数输出来对两个或更多个所述矢量的所述至少一个组合中的每一个执行优化测试;
对于两个或更多个所述矢量的所述至少一个组合中的每一个确定所述组合是否通过了优化测试;以及
对于没有通过优化测试的任何组合,改动所述组合中矢量的一个或多个坐标,使得所述组合中的矢量在n维空间内变得更接近在一起。
15.一种包括指令的非临时性机器可读存储介质,所述指令在由一个或多个机器实现时使所述一个或多个机器执行操作,所述操作包括:
具有其上存储的指令的计算机可读介质,所述指令在由处理器执行时使所述系统:
形成深度表示数据结构,所述深度表示数据结构具有在深度表示数据结构中被表示为坐标的表示来自社交网络数据结构的头衔的第一矢量和表示来自社交网络数据结构的技能的第二矢量,
将一个或多个目标函数应用于在所述深度表示数据结构中的第一矢量和第二矢量的至少一个组合,使得得到针对所述至少一个组合中的每一个的目标函数输出;
将所述至少一个组合中的所述矢量的一个或多个坐标聚类成职业群,其中,所述职业群中的每个职业群中的每个坐标共享职业;
标识每个职业群的群代表;
标识第一成员简档的第一角色;
标识第一成员简档的一个或多个技能;
从所述一个或多个技能中移除与第一角色对应的任何技能;
标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表;
确定群代表的专长;以及
从第一角色并从群代表的专长确定与第一成员简档对应的职业。
16.根据权利要求15所述的非临时性机器可读存储介质,其中所述操作还包括:
优化矢量,使得所述组合中的矢量在n维空间内变得更接近在一起。
17.根据权利要求15所述的非临时性机器可读存储介质,其中所述形成所述深度表示数据结构包括:
对于社交网络数据结构中的多个不同头衔中的每一个,将头衔映射到具有n个坐标的第一矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;
将所述多个不同头衔中的每一个的所述第一矢量存储在所述深度表示数据结构中;
对于社交网络数据结构中的多个不同技能中的每一个,将技能映射到具有n个坐标的第二矢量,其中,从预设范围随机地选择所述n个坐标中的每一个的值,其中每个头衔是社交网络数据结构中的头衔的标准化值;以及
将所述多个不同技能中的每一个的所述第二矢量存储在所述深度表示数据结构中。
18.根据权利要求15所述的非临时性机器可读存储介质,其中从所述一个或多个技能中移除与第一角色对应的任何技能,标识具有与移除后的所述一个或多个技能最接近匹配的技能集合的群代表,确定群代表的专长,以及从第一角色并从群代表的专长确定与第一成员简档对应的职业,只在第一角色是模糊的情况下才执行。
19.根据权利要求15所述的非临时性机器可读存储介质,其中所述聚类是使用knn聚类算法来执行的。
20.根据权利要求15所述的非临时性机器可读存储介质,其中给定职业群的群代表是在职业群中具有最多成员的坐标。
CN201810306438.0A 2017-04-05 2018-04-08 社交网络分类中的头衔消歧 Pending CN108694228A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/480,108 US20180293485A1 (en) 2017-04-05 2017-04-05 Title disambiguation in a social network taxonomy
US15/480108 2017-04-05

Publications (1)

Publication Number Publication Date
CN108694228A true CN108694228A (zh) 2018-10-23

Family

ID=62027781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810306438.0A Pending CN108694228A (zh) 2017-04-05 2018-04-08 社交网络分类中的头衔消歧

Country Status (3)

Country Link
US (1) US20180293485A1 (zh)
EP (1) EP3385868A1 (zh)
CN (1) CN108694228A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110197056A (zh) * 2018-11-16 2019-09-03 腾讯科技(深圳)有限公司 关系网络和关联身份识别方法、装置、设备和存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537623B2 (en) * 2017-05-18 2022-12-27 Meta Platforms, Inc. Deep semantic content selection
US11238352B2 (en) * 2018-03-30 2022-02-01 Microsoft Technology Licensing, Llc Machine learning techniques to predict geographic talent flow
US11410098B1 (en) * 2018-11-02 2022-08-09 Epixego Inc. Method for computational modelling and analysis of the skills and competencies of individuals
US20210365873A1 (en) * 2019-12-31 2021-11-25 Revelio Labs, Inc. Systems and methods for providing a universal occupational taxonomy
CN112770053B (zh) * 2021-01-05 2023-04-07 珠海市横琴盈实科技研发有限公司 一种物联网设备协同联动方法
US11915792B2 (en) * 2021-05-06 2024-02-27 Tata Consultancy Services Limited Method and a system for profiling of metagenome

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150371277A1 (en) * 2014-06-19 2015-12-24 Facebook, Inc. Inferring an industry associated with a company based on job titles of company employees

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110197056A (zh) * 2018-11-16 2019-09-03 腾讯科技(深圳)有限公司 关系网络和关联身份识别方法、装置、设备和存储介质
CN110197056B (zh) * 2018-11-16 2022-09-20 腾讯科技(深圳)有限公司 关系网络和关联身份识别方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP3385868A1 (en) 2018-10-10
US20180293485A1 (en) 2018-10-11

Similar Documents

Publication Publication Date Title
CN108694228A (zh) 社交网络分类中的头衔消歧
US10853739B2 (en) Machine learning models for evaluating entities in a high-volume computer network
US11436522B2 (en) Joint representation learning of standardized entities and queries
US10855784B2 (en) Entity based search retrieval and ranking
US10956414B2 (en) Entity based query filtering
US10726025B2 (en) Standardized entity representation learning for smart suggestions
CN110020213A (zh) 通过迭代处理的名称标准化
CN109409516A (zh) 用于职位推荐的具深度和宽度的机器学习模型
US20170300862A1 (en) Machine learning algorithm for classifying companies into industries
CN108701118A (zh) 语义类别分类
US10586157B2 (en) Skill-based title prediction model
CN109074368B (zh) 使用异构社交网络的图形框架
CN109460270A (zh) 社交网络的成员所说语言的确定
CN109154945A (zh) 基于数据属性的新连接推荐
US11074521B2 (en) Career path recommendation engine
US20180349501A1 (en) Embedding user categories using graphs for enhancing searches based on similarities
US10956515B2 (en) Smart suggestions personalization with GLMix
CN110168591A (zh) 确定行业相似性以增强职位搜索
CN109978175A (zh) 用于机器学习模型的并行化坐标下降法
CN107896510A (zh) 社交网络中与朋友的帖子混合的质量行业内容
CN110175297A (zh) 馈送中的个性化的每成员模型
US10572835B2 (en) Machine-learning algorithm for talent peer determinations
CN110427564A (zh) 将深度学习集成到广义加性混合效应(game)框架中
US20230162844A1 (en) Patient provider matching system
WO2018097898A1 (en) Embedded deep representation of social network taxonomy

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20181023

WD01 Invention patent application deemed withdrawn after publication