CN109154945A - 基于数据属性的新连接推荐 - Google Patents
基于数据属性的新连接推荐 Download PDFInfo
- Publication number
- CN109154945A CN109154945A CN201780000421.6A CN201780000421A CN109154945A CN 109154945 A CN109154945 A CN 109154945A CN 201780000421 A CN201780000421 A CN 201780000421A CN 109154945 A CN109154945 A CN 109154945A
- Authority
- CN
- China
- Prior art keywords
- connection
- attribute
- social networks
- value
- score
- 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
- 238000000034 method Methods 0.000 claims abstract description 68
- 238000010801 machine learning Methods 0.000 claims abstract description 48
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 43
- 238000004458 analytical method Methods 0.000 claims abstract description 28
- 230000002441 reversible effect Effects 0.000 claims description 15
- 238000012549 training Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 2
- 238000004590 computer program Methods 0.000 abstract description 3
- 239000013598 vector Substances 0.000 description 46
- 238000004891 communication Methods 0.000 description 17
- 230000006855 networking Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 239000000203 mixture Substances 0.000 description 10
- 238000011161 development Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000000712 assembly Effects 0.000 description 5
- 238000000429 assembly Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000033001 locomotion Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000012797 qualification Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000007418 data mining Methods 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000007637 random forest analysis Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011524 similarity measure Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004166 bioassay Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004816 latex Substances 0.000 description 1
- 229920000126 latex Polymers 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000011089 mechanical engineering Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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/90335—Query processing
-
- 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/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- 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
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Computing Systems (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提出了用于基于社交网络内的现有互连和简档相似性来推荐新连接的方法、系统和计算机程序。一种方法包括用于检测针对用于社交网络的成员的新连接的请求的操作,其中成员的简档包括针对某些属性的值。另外,该方法包括用于识别具有与该成员的属性相等的至少一个属性的成员以及用于基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数的操作。基于连接分数从已识别的成员中选择成员,并且利用机器学习算法获得针对每个所选成员的排名分数,所述机器学习算法利用属性的相似性分析来计算排名分数。基于排名分数将所选成员作为可能的新连接呈现给该成员。
Description
技术领域
本文公开的主题通常涉及用于在社交网络中提出推荐的方法、系统和程序,并且更具体地涉及用于向社交网络的成员推荐新连接的方法、系统和计算机程序。
背景技术
当用户首次加入社交网络时,用户可能在社交网络中有很少或没有社交连接,并且如果社交网络仅按用户馈送而呈现朋友的帖子,则该馈送可能几乎为空。空的馈送意味着用户缺乏兴趣以及无聊,并且用户可能决定退出社交网络。
为了增加用户的连接数量,社交网络可以在社交网络中针对用户的可能新连接--诸如用户可能已经知道但尚未连接到的人员--提出推荐。
附图说明
附图中的各个图仅仅图示了本公开的示例实施例,并且不能被认为是限制其范围。
图1是根据一些示例实施例的用于向社交网络的用户推荐新的社交连接的用户接口。
图2是根据一些示例实施例的用于识别可能的新连接的方法的流程图。
图3图示了根据一些示例实施例的用于存储工作和成员信息的数据结构。
图4图示了根据一些示例实施例的用于识别利用离线计算的可能的新连接的架构。
图5图示了根据一些示例实施例、通过将搜索相似成员与朋友的朋友混合来生成可能的新连接的方法。
图6图示了根据一些示例实施例的用于对可能的新连接进行排名的细节。
图7是图示了根据一些示例实施例的包括社交联网服务器的联网系统的框图。
图8图示了根据一些示例实施例的机器学习程序的训练和使用。
图9图示了根据一些示例实施例的用于基于语义分析来识别职位之间的相似性的方法。
图10图示了根据一些示例实施例的用于识别成员技能之间的相似性的方法。
图11是根据一些示例实施例的基于社交网络内的现有互连和简档数据相似性来推荐新连接的方法的流程图。
图12是图示了根据一些示例实施例可以安装在机器上的软件架构的示例的框图。
图13图示了根据示例实施例的计算机系统形式的机器的图示,在所述计算机系统内可以执行一组指令以使机器执行本文所讨论的任何一个或多个方法。
具体实施方式
示例方法、系统和计算机程序涉及基于社交网络内的现有互连和简档数据相似性来推荐新连接。示例只是代表了可能的变型。除非另有明确说明,否则组件和功能是可选的并且可以进行组合或细分,并且操作可以在顺序上有变化或者可以进行组合或细分。在下面的描述中,为了解释的目的,阐述了许多具体细节以提供对示例实施例的透彻理解。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本主题。
一些社交网络向成员提供针对可能的新连接的建议,本文中称为“您可能知道的人员”(PYMK)。在某些情况下,建议包括成员--也称为用户,连接到成员的连接--也称为连接的连接或连接2。如本文所使用的,社交网络中的成员的“朋友”是在社交网络中直接连接的另一成员。间接连接--也称为朋友的朋友,是那些没有直接连接到该成员但是连接到该成员的朋友的成员。
在一些情况下,基于社交网络上与成员具有相似特性(例如,简档信息)的人员来建议可能的新连接。在一些解决方案中,PYMK是通过首先查看连接的可能连接来生成的,如果没有足够的人员,则通过基于成员简档和活动数据以执行搜索来创建附加的建议。
本文呈现的实施例通过混合搜索连接的连接和搜索相似的成员来提供对PYMK的更好搜索。代替使用一个或另一个,由机器学习算法执行的混合搜索选择考虑了社交网络活动和简档数据的最佳可能候选者。在一些实施例中,PYMK分为两个阶段。在第一阶段中,对于作为连接的连接的人员或对于针对成员的简档数据中的特定属性具有相同值的人员,执行搜索。结果是第二阶段考虑的候选者池。在第二阶段中,机器学习算法针对第一阶段的候选成员提供排名分数,以便对这些候选者进行排名。在第二阶段中,通过机器学习算法来执行相似性分析,以便更好地对候选者进行排名。相似性分析通过考虑简档数据中的相似值--诸如具有相似职位的成员(例如,软件开发者与应用程序开发者)来实现建议的更好识别。
一个一般方面包括一种方法,其包括用于由一个或多个处理器检测与社交网络的第一成员相关联的请求的操作。该请求是针对用于第一成员的可能的新连接,其中第一成员的简档包括针对多个属性的值。该方法还包括用于由一个或多个处理器识别具有来自第一成员的多个属性的至少一个相等属性的社交网络的成员,并且用于由一个或多个处理器基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数的操作。该方法还包括由一个或多个处理器基于连接分数来从已识别的成员中选择成员,并且利用机器学习算法来获得针对每个所选成员的排名分数。机器学习算法利用针对成员属性的相似性分析来计算排名分数。该方法还包括:由所述一个或多个处理器基于所选择的成员的排名分数来使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
一个一般方面包括一种系统,该系统包括包含指令的存储器和一个或多个计算机处理器。所述指令在由所述一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行操作,包括:检测与社交网络的第一成员相关联的请求,所述请求是针对用于所述第一成员的可能的新连接,其中第一个成员的简档包括针对多个属性的值;识别具有来自所述第一成员的所述多个属性的至少一个相等属性的所述社交网络的成员;基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数;基于连接分数从已识别的成员中选择成员;使用机器学习算法获得针对每个所选成员的排名分数,机器学习算法利用针对成员属性的相似性分析来计算排名分数;并且基于所选成员的排名分数来使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
一个一般方面包括非暂时机器可读存储介质,其包括指令,所述指令当由机器执行时使机器执行操作,包括:检测与社交网络的第一成员相关联的请求,所述请求是针对用于所述第一成员的可能的新连接,其中第一个成员的简档包括针对多个属性的值;识别具有来自所述第一成员的所述多个属性的至少一个相等属性的所述社交网络的成员;基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数;基于连接分数从已识别的成员中选择成员;使用机器学习算法获得针对每个所选成员的排名分数,机器学习算法利用针对成员属性的相似性分析来计算排名分数;并且基于所选成员的排名分数来使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
图1是根据一些示例实施例的用于向社交网络的用户推荐新的社交连接的PYMK用户接口102。PYMK用户接口102包括针对社交网络的特定成员的PYMK建议。注意,针对可能的新连接的PYMK搜索可以由用户通过选择社交网络中的选项来发起,或者PYMK搜索可以由系统发起并且作为具有一些初步建议的选项在社交网络用户接口的一部分中呈现。
PYMK用户接口102呈现多个成员建议104和用于查看附加建议的滚动选项。在一些示例实施例中,每个成员建议104包括成员的简档图像、成员的姓名、成员的职位、共有连接的数量、摒弃(dismiss)106成员建议的选项、以及请求连接108到成员建议的选项。社交网络的两个成员之间的共有连接是社交网络中与两个成员都直接连接的人员。
当成员选择摒弃选项106时,由社交网络记录该摒弃,以便不再对该成员进行建议。当用户选择连接选项108时,社交网络向所选成员发送邀请以成为连接。一旦所选成员接受邀请,则两个成员均成为社交网络中的连接。
注意,图1中所图示的实施例是示例,并且不描述每个可能的实施例。其他实施例可以显示不同数量的建议,包括针对每个建议的附加数据或更少的数据、在用户接口内的不同布局中呈现建议等等。因此,图1所图示的实施例不应被解释为排他性的或限制性的,而是说明性的。
图2是根据一些示例实施例的用于识别可能的新连接的方法的流程图。在一些示例实施例中,系统识别具有相似简档的人员和连接的连接以生成PYMK。
首先,将连接的连接识别为可能的建议。如果没有足够的建议,则系统通过搜索具有相似简档的人员来扩展对PYMK候选者的搜索。查找连接的连接通常是一个很好的方法,但对于社交网络的新成员来说,这可能无法良好工作,因为新成员可能没有连接或只有很少的连接。因此,新成员可能具有很少PYMK建议。
此外,系统可以通过识别在某个时间点是同事或者就读过与该成员相同的教育机构的人员来寻找建议。
在操作202处,搜索来自与该成员相同的学校或相同的公司的候选者。如本文所使用的,学校是指成员就读过的诸如高中、大学、技术学校、专业学校、学院等的任何教育机构。在一些示例实施例中,与成员同一年级毕业的人员在用于选择最佳PYMK候选者时被给予较高的排名分数。
此外,在操作204处,通过遍历社交网络的连接社交树来识别连接的连接。连接社交树是社交网络内的连接的表示,其中成员是节点,并且在针对社交网络中的那些现有连接的节点之间建立连接。
在操作206处,利用机器学习算法来对在操作202和204中识别的候选者进行评分。在一些示例实施例中,机器学习算法是相关性模型排名算法(例如,逻辑回归模型),但是可以利用其他机器学习算法。以下参考图8提供关于机器学习算法的更多细节。
在一些示例实施例中,利用成员简档数据和社交网络中的成员活动来训练机器学习算法。例如,机器学习算法分析社交网络中向成员显示的PYMK的历史,以及这些建议如何成为社交网络的成员的连接请求。也可以通过分析现有连接和连接之间的相似性来训练机器学习算法。
由机器学习算法所利用的其他特征可以包括成员与PYMK候选成员有多少共同的朋友、候选者和成员是否就读过同一所学校、候选者和成员是否为同一家公司工作、专业连接的数量等等。
从操作206,该方法流向操作208,其中针对每个成员识别前面数量个(例如,n个)结果作为可能的PYMK候选者。在一些示例实施例中,所选择的前面n个成员存储在数据库210或其他类型的存储器中。
在一些示例实施例中,由系统离线预先生成操作208的候选者(例如,即使在检测到PYMK搜索之前也创建候选列表)。例如,对于至少一些社交网络成员(例如,对于在一个国家或地区内的成员),可以每天一次(或以某一其他频率)预先生成候选者列表。
在操作212处,进行检查以确定是否有足够的候选成员可以用作针对PYMK的建议。例如,进行检查以确定候选者列表是否包括至少预定阈值人数。如果存在足够的候选者(例如,结果数量超过阈值),则该方法流向操作216,但是如果没有足够的候选者超过阈值数量,则该方法流向操作214。
在操作214处,搜索社交网络中与该成员相似的人员。搜索可以包括来自成员的简档的几个数据字段或来自成员的简档的大量字段。例如,在一些实施例中,使用有限数量的字段,例如职位、公司和学校。在其他实施例中,针对PYMK搜索可以使用附加的或不同的字段。在操作216处,基于指派给每个候选者的分数来呈现、分类已识别的成员。
图3图示了根据一些示例实施例的用于存储工作和成员信息的数据结构。社交网络中的每个用户都有成员简档302,其包含有关用户的信息。用户简档由用户可配置,并且还包括基于社交网络中的用户活动的信息(例如,点赞、阅读的帖子)。
在一个示例实施例中,成员简档302可以包括若干类别中的信息,诸如经验、教育、技能和认可(endorsement)、成就、联系信息、关注等等。技能包括成员所具备的专业能力,并且技能可以由该成员或由社交网络的其他成员添加。示例技能包括C++、Java、对象编程、数据挖掘、机器学习、数据科学家等。社交网络的其他成员可以认可一项或多项技能,并且在一些示例实施例中,该账户与来自其他成员的针对每项技能所接收的认可数量相关联。
成员简档302包括成员信息,诸如姓名、职位(例如工作职位)、行业(例如法律服务)、地理区域、雇主、技能和认可等等。在一些示例实施例中,成员简档还包括工作相关数据,诸如以前做过的工作或已向成员建议过的工作(以及向该成员建议了多少次该工作)。在成员简档302中,技能信息链接到技能数据310,雇主信息链接到公司数据306,并且行业信息链接到行业数据304。
经验信息包括与用户的专业经验相关的信息。在一个示例实施例中,经验信息包括行业304,其识别用户工作的行业。在一个示例实施例中,当在简档中输入该值时,给予用户从多个行业中选择行业的选项。在其他示例实施例中,用户还可以输入不在预定义行业列表中的行业。在一些示例实施例中,行业定义在高级别。用户简档中可配置的行业的一些示例包括信息技术、机械工程、市场营销等。经验信息区域还可以包括有关由用户做过的以前的工作以及当前工作的信息。
技能310和认可包括有关用户已经识别为已被用户获取的专业技能以及由支持用户技能的社交网络的其他用户输入的认可的信息。成就包括由用户输入的成就,并且联系信息包括用于用户的联系信息,诸如电子邮件和电话号码。
行业数据304是用于存储在社交网络中识别的行业的表格。在一个示例实施例中,行业数据404包括行业标识符(例如,数字值或文本串)和行业名称,所述行业名称是与行业(例如,法律服务)相关联的文本串。
在一个示例实施例中,公司数据306包括公司信息,诸如公司名称、与公司相关联的行业、雇员人数、地址、公司概况描述、工作发布等。在一些示例实施例中,行业链接到行业数据304。
技能数据310是用于存储社交网络中识别的不同技能的表格。在一个示例实施例中,技能数据310包括技能标识符(ID)(例如,数值或文本串)和针对技能的名称。技能标识符可以链接到成员简档302和工作数据308。
在一个示例实施例中,工作数据308包括针对由社交网络中的公司发布的工作的数据。工作数据308包括与工作相关联的职位(例如,软件开发者)、发布工作的公司、针对该工作的地理区域、工作的描述、工作的类型、针对该工作所需的资格和一个或多个技能中的一个或多个。工作数据308可以链接到公司数据306和技能数据310。
注意,图3中所图示的实施例是示例,并且没有描述每个可能的实施例。其他实施例可以利用不同的数据结构、较少的数据结构、将来自两个数据结构的信息组合成一个、在数据结构之中添加附加的或更少的链接等。因此,图3中所图示的实施例不应被解释为排他性的或限制性的,而是说明性的。
图4图示了根据一些示例实施例的用于使用离线计算来识别可能的新连接的架构。图4图示了一种算法,其以考虑了用于找到最佳PYMK候选者的不同搜索特征的值的方式“混合”了针对连接的连接和针对相似成员的搜索。
为了利用简档302来确定对于成员402的PYMK建议,PYMK请求404由社交网络发起。甚至在检测到PYMK请求之前,由社交网络执行几个离线计算408。离线计算408包括相关性模型训练410和计算连接的连接412。
相关性模型训练410包括用于在找到PYMK候选者时对特征进行评估的机器学习算法的训练。相关性模型训练410的结果是经过训练的机器学习程序414,诸如由搜索引擎针对PYMK建议所利用的插件。
计算连接的连接412包括遍历社交网络图以识别针对每个成员的连接的连接,或者识别至少针对社交网络的多个成员(例如,在诸如一个国家之类的一个地理位置内的成员)的连接的连接。
在操作416处,搜索PYMK候选者,其中搜索考虑了成员、成员简档302、机器学习插件414以及连接的连接412。在一些示例实施例中,搜索是弹性搜索,但可以利用其他搜索算法。弹性搜索是这样一种搜索引擎,其提供具有超文本传送协议(HTTP)Web接口和无模式JSON文档的分布式的、具有多租户能力的全文搜索引擎。
操作416中的搜索生成PYMK候选者418的列表,其中每个候选者包括排名分数,并且PYMK候选者的列表按排名分数进行分类。PYMK候选者包括连接的连接以及具有与提供PYMK建议的成员相似的简档的成员。在一些示例实施例中,在操作416中的搜索使用对来自弹性搜索的结果进行排名的相关性模型来完成。以下参考图5提供更多细节。在操作420处,选择来自列表的前面(top)预定数量的PYMK候选者以呈现给用户。
不是针对连接的连接和相似成员进行分开的搜索,而是考虑到简档数据以及连接数据来执行混合搜索。这提高了由社交网络生成的PYMK建议的质量。
图5图示了根据一些示例实施例的通过将针对相似成员与连接的连接的搜索进行混合来生成可能的新连接的方法。图5提供了上面参照图4描述的搜索的更多细节。
PYMK搜索具有两个阶段:取回阶段后接着是排名阶段。在取回阶段中,识别大量候选者,并且在排名阶段中,对候选者进行评估,以确定按作为PYMK建议的其潜在值进行分类的候选者列表。换句话说,取回阶段确保在搜索中不丢失良好的候选者,并且排名阶段精细地调整用于呈现的候选者的值。注意,取回搜索利用一个或多个反向索引,并且排名阶段使用前向索引。
在操作502处,针对成员发起PYMK搜索。从操作502,该方法流向操作504以取回成员数据。从包括简档数据的成员数据索引512访问成员数据。在一个示例实施例中,成员数据索引512由用户ID索引,并且成员数据索引512包括与用户ID相关联的属性。属性可以是成员的简档中发现的任何属性,如上所讨论的,诸如职位、学校、公司等等。
从操作504,该方法流向操作506,其中一个或多个反向索引被访问以找到与被搜索的成员具有相似性的社交网络的成员。相似性可以是针对成员的简档中识别的任何字段,并且为了描述的简洁性,相似性也可以包括连接的连接。
在一些示例实施例中,第一阶段中利用的属性是用户职位、用户行业、工作公司、一个或多个学校以及共同的朋友(例如,连接的连接)。其他实施例可以利用不同的字段、附加的字段、更少的字段等。
社交网络离线建立反向索引,以便能够执行(在利用的计算资源量方面)快速且便宜的PYMK搜索。反向索引514由对应的属性进行索引以访问具有该值的用户ID。例如,如果该成员去了斯坦福大学,那么访问对成员ID的学校的反向索引来取回就读过斯坦福大学的成员。类似地,顺序反向索引可以用于职位、学校、连接的连接等。如果社交网络具有大量成员,则反向索引可能非常大,因此通常使用2到4个属性进行此搜索,并创建相应的2到4个索引。然而,其他实现可以包括附加字段并创建附加索引。
在操作508处,针对社交网络的多个成员计算连接分数CS。在一些示例实施例中,CS被计算为针对成员和候选者之间相等的属性的权重和。CS(m, C i )是针对成员m搜索候选者Ci时的连接分数,并且可以用以下等式计算:
;
其中wj是指派给属性Aj的权重,并且AC j (m,C i )是一个函数,是指针对成员m和Ci之间的属性Aj的属性比较,使得如果成员m和候选者Ci针对属性Aj具有相等的值,那么AC j (m,C i )等于1,并且如果它们具有不同的值,则AC j (m,C i )等于0。
因此,CS(m,C i )是在考虑了AC j (m,C i )的情况下针对所有属性的和。换句话说,CS (m,C i )是针对所有属性的所有w i s的和,其中成员和候选者具有相同的值(例如,对于m和Ci是相同的职位,或者m和Ci是连接的连接)。
注意,在其他实施例中,可以使用其他类型的计算来计算CS,诸如通过利用平均、或者等于1的AC的计数、因子的乘积等。
例如,如果使用职位、教育和连接的连接来计算CS,那么方程可以表示如下:
从操作508,该方法流向操作510,其中以具有最佳CS分数的预定数量的候选者生成候选者列表。例如,系统可以选择1000或5000个成员,尽管其他实施例可以利用不同数量的候选者。
排名阶段在操作518处开始,其中针对在操作510中选择的每个候选者计算排名分数。在一个示例实施例中,使用利用相似性计算的逻辑回归模型来计算排名分数,由属性相似性表516来表示该相似性计算。用于相似性计算的属性可以是在第一阶段中利用的相同属性,或者可以针对排名阶段利用不同的属性。机器学习算法利用多个特征以用于获得排名分数。例如,成员与候选者的共同连接的数量越高,则针对该候选者的排名分数越高。
成员数据索引512是将成员ID映射到属性值的前向索引,并且用于获得考虑中的候选者的属性值。以下参考图6提供更多细节以用于计算排名分数,并且下面参考图6、图9和图10来提供用于计算和使用相似性的更多细节。
在操作520处,基于过去的用户活动而对一些候选者进行打折(discount)。例如,已经向成员呈现过几次但成员从未选择的候选者被进一步考虑丢弃。
从操作520,该方法流向操作522,其中剩余候选者基于排名分数进行排名。在操作524处,向该成员呈现最佳PYMK候选者。
这种方法将搜索共同的朋友与搜索具有相似性的成员相混合。它为没有连接或几乎没有连接的新成员提供了一个到更多具有大量连接的高级成员的平滑过渡。随着连接数量的增加,连接的连接因子可随着针对该类别的可能候选者的数量的增长而相关地增长。无论用户是否是新成员都不重要,社交网络将始终为成员找到一些建议。但是,该系统还将继续搜索社交网络中与成员有相似性的候选者。
图6图示了根据一些示例实施例的用于对可能的新连接进行排名的细节。当针对成员402执行PYMK搜索时,评估成员属性302以用于查找候选者。在图6中所图示的示例中,针对职位604确定相似的职位610、针对公司606确定相似的公司612、并且针对成员402的一个或多个学校608确定相似的学校614。注意,成员可能为一家或多家公司工作过,并就读过一个或多个学校,因此所有公司值和学校值都被输入以用于搜索相似的公司或学校。
注意,每个相似的职位可以包括用于对相似性进行权重的相似性值,使得一些职位可以比其他职位更相似,因此更相关。以下参考图9提供用于获得职位相似性的更多细节。
在操作518处,考虑到相似职位610、相似公司612、相似学校614和成员简档的属性302,机器学习程序利用离线逻辑回归获得排名分数。此外,机器学习程序可以考虑其他数据(未示出),诸如社交网络中的成员活动。
从操作518,该方法流向操作522,以基于排名分数来对候选者进行排名,并且在操作524中,将PYMK候选者呈现给成员402。
图7是图示了根据一些示例实施例的包括社交联网服务器712的联网系统的框图,其图示了基于客户端-服务器的高级网络架构702的示例实施例。社交联网服务器712经由网络714(例如,因特网或广域网(WAN))向一个或多个客户端设备704提供服务器侧功能性。图7例如图示了在客户端设备704上执行的web浏览器706(例如,由Microsoft®公司开发的Internet Explorer®浏览器)、(一个或多个)客户端应用708和社交联网客户端710。社交联网服务器712进一步与一个或多个数据库服务器726通信地耦合,所述一个或多个数据库服务器726提供对一个或多个数据库716-724的访问。
客户端设备704可以包括但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、多处理器系统、基于微处理器或可编程消费者电子系统、或用户402可以利用来访问社交联网服务器712的任何其他通信设备。在一些实施例中,客户端设备704可以包括显示模块(未显示)以(例如,以用户接口的形式)显示信息。在另外的实施例中,客户端设备704可以包括触摸屏、加速度计、陀螺仪、相机、麦克风、全球定位系统(GPS)设备等中的一个或多个。
在一个实施例中,社交联网服务器712是响应来自客户端设备704的初始化请求或搜索查询的基于网络的设施。一个或多个用户402可以是人、机器或其他与客户端设备704进行交互的装置。在各种实施例中,用户402不是网络架构702的一部分,而是可以经由客户端设备704或其他装置与网络架构702进行交互。例如,网络714的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、WAN、无线WAN(WWAN)、城域网(MAN)、因特网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网络、无线网络、WiFi网络、WiMax网络、另一种类型的网络、或两个或更多个这样的网络的组合。
客户端设备704可以包括一个或多个应用(也称为“app”),诸如但不限于网络浏览器706、社交联网客户端710和其他客户端应用708,诸如消息传送应用、电子邮件(email)应用、新闻应用等。在一些实施例中,如果客户端设备704中存在社交联网客户端710,则该社交联网客户端710被配置为在本地提供用于该应用的用户接口,并且在需要的基础上为了在本地不可用的数据和/或处理能力(例如,用于访问成员简档、用于认证用户402、用于识别或定位其他连接的成员等)而与社交联网服务器712通信。相反,如果在客户端设备704中不包括社交联网客户端710,则客户端设备704可以使用网络浏览器706访问社交联网服务器712。
此外,虽然参考客户端-服务器架构来描述了基于客户端-服务器的网络架构702,但是当前主题当然不限于这样的架构,并且同样可以在例如分布式、或对等架构系统中很好地找到应用。
除了客户端设备704之外,社交联网服务器712与(一个或多个)数据库服务器726和(一个或多个)数据库716-724进行通信。在一个示例实施例中,社交联网服务器712通信地耦合到成员活动数据库716、社交图数据库718、成员简档数据库720、索引数据库722和公司数据库724。数据库716-124可以被实现为一个或多个类型的数据库,包括但不限于分层数据库、关系数据库、面向对象数据库、一个或多个平面文件或其组合。
成员简档数据库720存储有关向社交联网服务器712注册的成员的成员简档信息。关于成员简档数据库720,成员可以包括个人或组织,诸如公司、社团、非营利组织、教育机构或其他组织。
与一些示例实施例一致,当用户最初注册成为由社交联网服务器712提供的社交联网服务的成员时,提示用户提供一些个人信息,诸如姓名、年龄(例如出生日期)、性别、兴趣、联系方式、家乡、地址、配偶和/或家庭成员姓名、教育背景(如学校、专业、入学和/或毕业日期等)、就业历史、专业行业(本文中也简称行业)、技能、专业组织等。该信息例如存储在成员简档数据库720中。类似地,当组织的代表最初向由社交联网服务器712提供的社交联网服务注册该组织时,可以提示该代表提供诸如公司行业之类的有关组织的某些信息。该信息可以例如存储在成员简档数据库720中。在一些实施例中,可以处理简档数据(例如,在后台或离线)以生成各种导出的简档数据。例如,如果成员已经提供了有关该成员对同一公司或不同公司所持有的各种职位以及持有多长时间的信息,则可以使用该信息来推断或导出一个成员简档属性,其指示成员的整体资历级别或在特定公司内的资历级别。在一些示例实施例中,引入或以其他方式访问来自一个或多个外部主控的数据源的数据可增强针对成员和组织二者的简档数据。例如,特别是对于公司,可从一个或多个外部数据源引入财务数据,并且使其成为公司简档的一部分。
在一些示例实施例中,索引数据库722用于存储图5中所示的一个或多个索引。在一些示例实施例中,公司数据库724在成员简档中存储关于公司的信息。一个公司也可以是成员,但有些公司可能不是社交网络的成员,虽然公司的一些员工可能是社交网络的成员。公司数据库724包括公司信息,诸如名称、行业、联系信息、网站、地址、位置、地理范围等。
当用户与由社交联网服务器712提供的社交联网服务进行交互时,社交联网服务器712被配置为监视这些交互。交互的示例包括但不限于评论由其他成员输入的帖子、查看成员简档、编辑或查看成员自己的简档、共享社交联网服务之外的内容(例如,由社交联网服务器712以外的实体提供的文章)、更新当前状态、发布供其他成员查看和评论的内容、针对成员的工作建议、已发布职位搜索和其他此类交互。在一个实施例中,将这些交互的记录存储在成员活动数据库716中,成员活动数据库716将由成员进行的交互与存储在成员简档数据库720中他/她的成员简档相关联。在一个示例实施例中,成员活动数据库716包括由社交联网服务的用户创建的用于在用户馈送上呈现的帖子。
在一个实施例中,社交联网服务器712通过(一个或多个)数据库服务器726而与各种数据库716-124通信。在这点上,(一个或多个)数据库服务器726提供用于向数据库716-124提供内容、修改在数据库716-124中的内容、从数据库716-124中移除内容或以其他方式与数据库716-124交互的一个或多个接口和/或服务。例如但非限制性地,此类接口和/或服务可以包括一个或多个应用编程接口(API)、经由面向服务的架构(SOA)提供的一个或多个服务、经由面向REST的架构(ROA)提供的一个或多个服务或其组合。在替代实施例中,社交联网服务器712与数据库716-124通信,并且包括数据库客户端、引擎和/或模块,用于向一个或多个数据库716-124提供数据、修改存储在一个或多个数据库716-124中的数据和/或从一个或多个数据库716-124中取回数据。
虽然(一个或多个)数据库服务器726被图示为单个块,但是本领域普通技术人员将认识到(一个或多个)数据库服务器726可以包括一个或多个这样的服务器。例如,(一个或多个)数据库服务器726可以包括但不限于Microsoft®交换服务器、Microsoft®Sharepoint®服务器、轻量目录访问协议(LDAP)服务器、MySQL数据库服务器或者被配置为提供对一个或多个数据库716-124的访问的任何其他服务器、或其组合。因此,并且在一个实施例中,由社交联网服务实现的(一个或多个)数据库服务器726还被配置为与社交联网服务器712通信。
图8图示了根据一些示例实施例的机器学习程序816的训练和使用。在一些示例实施例中,机器学习程序也称为机器学习算法或工具,其被利用来执行与工作搜索相关联的操作。
机器学习是这样一个研究领域:其给予计算机在未被明确编程的情况下进行学习的能力。机器学习探讨了算法--在本文中也称为工具--的研究和建造,其可以从现有数据中进行学习并对新数据进行预测。这样的机器学习工具通过从示例训练数据812构建模型来进行操作,以便将数据驱动的预测或决策表达为输出或评估820。尽管关于几个机器学习工具呈现了示例实施例,但是本文呈现的原理可以应用于其他机器学习工具。
在一些示例实施例中,可以使用不同的机器学习工具。例如,可以使用逻辑回归(LR)、朴素贝叶斯、随机森林(RF)、神经网络(NN)、矩阵因子分解和支持向量机(SVM)工具来分类或评分工作发布。
一般来说,机器学习中存在两种类型的问题:分类问题和回归问题。分类问题的目的是将项目分到若干类别之一(例如,这个对象是苹果还是橙子)。回归算法的目的是量化一些项目(例如,通过提供一个是实数的值)。在一些实施例中,示例机器学习算法提供排名分数(例如,从1到100的数字),以将每个候选成员评定资格为良好的PYMK建议。机器学习算法利用训练数据812来查找在所识别的特征802之中的影响结果的相关性。
在一个示例实施例中,特征802可以是不同类型的,并且可以包括成员特征804、工作特征806、公司特征808和其他特征810中的一个或多个。如图3中所述,成员特征804可以包括成员简档302中的一个或多个数据,诸如职位、技能、经验、教育等。公司特征808可能包括与公司相关的任何数据。在一些示例实施例中,可以包括其他特征810中的附加特征,诸如帖子数据、消息数据、web数据等。
对于训练数据812和所识别的特征802,在操作814处训练机器学习工具。机器学习工具估计特征802的值,因为它们与训练数据812相关。训练的结果是训练过的机器学习程序816。
当机器学习程序816用于执行评估时,提供新数据818作为训练过的机器学习程序816的输入,并且机器学习程序816生成评估820作为输出。例如,当执行PYMK搜索时,评估820包括CS--针对社交网络的多个成员的分数。
图9图示了根据一些示例实施例的用于基于语义分析来识别职位之间的相似性的方法。在一个示例实施例中,来自职位的每个单词被表示为向量,词汇的大小为1,对应于单词并且向量中的其余元素等于0。这种表示被称为单词袋向量表示。例如,单词“software”(软件)具有单个1的向量902,并且单词“engineer”(工程师)在向量中也具有单个1,但是在不同的位置中。
在一个示例实施例中,将向量缩合成固定维度的向量(例如,具有200的维度,但是其他大小也是可能的),并且缩合的向量的元素是实数,其中多于一个元素可能是非零。例如,对于单词“software”(软件),存在具有多个非零值的对应的压缩向量908。
语义分析通过针对每个单词创建向量908来找到单词之间的相似性,使得具有相似含义的单词具有彼此靠近的向量。在一个示例实施例中,工具Word2vec用于执行语义分析,但也可以使用诸如Gensim、潜在狄利克雷分配(LDA)或张量流(Tensor flow)之类的其他工具。
这些模型是被训练来重建单词的语言语境的浅层的、两层神经网络。Word2vec将一个大型文本语料库作为输入,并产生高维空间(典型地在一百到几百个维度之间)。语料库中的每个唯一的单词在空间中被指派相应的向量908。向量908定位在向量空间中,使得在语料库中共享共同语境的单词位于空间中彼此靠近的位置。在一个示例实施例中,向量908的每个元素是实数。
例如,可以利用Word2vec来识别两个单词之间的相似性。在一个示例中,使用大量的职位作为输入,并且创建具有与单词“software”(软件)相似的含义的单词的列表。由语义分析工具使用文本语料库904来识别相似性。在一些示例实施例中,文本语料库904包括成员相关数据和公司数据,但是其他实施例可以利用较少的数据或附加数据,诸如社交网络上的用户帖子、行业数据、技能数据等。
在另一示例实施例中,通过将成员职位与针对每个工作申请的工作职位进行配对,来利用工作申请数据以执行语义分析906。
在一些示例实施例中,使用以下参数以用于执行语义分析906:
-在词汇中要考虑的单词的出现的最小数目min_count(例如,5)。
-从目标词起的左窗口和右窗口的最大大小window_size(例如,5)。
-要被使用的负采样数目negative_sample(例如,25)。
-并发步骤数目concurrent_steps(例如,12)。
-用于单词出现的子采样阈值subsample,其中以较高频率出现的单词将被随机下采样(例如,1e-3)
-历元的数目num_epochs(例如,15)。
在一些示例实施例中,对职位(以及行业,技能等)执行标记化(tokenization)和提干(stemming)。标记化是划分并可能地分类一串输入字符的各部分的过程。此外,文档可以包括单词的不同形式,诸如“organize”(组织的动词原形)、“organizes”(组织的第三人称单数形式)、以及“organizing”(组织的现在分词)等。此外,还有诸如“democracy”、“democratic”、以及“democratization”等具有相似含义的衍生相关单词家族。在一个示例实施例中,移除了常见的停止单词。停止单词是英文中最常见的单词,并且停止单词的数量可能会从几十到几百变化。可以选择任何单词群组作为停止单词。一些最常见的停止单词包括“the”、“is”、“at”、“which”和“on”。提干通常是指一个启发式过程,其剔除单词的尾部--通常包括移除派生词缀,所述尾部旨在针对单词实现找到共同根源这一目标。词元化(Lemmatization)通常是指基于单词的形态分析对单词进行分类,旨在移除曲折尾部以返回被称为词元的单词的基础或字典形式。
提干和词元化的目标是将曲折形式以及有时单词的衍生相关形式减少到共同的基础形式。例如,“am”、“are”、“is”可以用单词“be”表示,“house”、“house's”和“houses”可以用简单的“house”来表示。
如本文所使用的,第一单词和第二单词之间的相似系数是量化第一单词和第二单词之间的相似性的实数。在一些示例实施例中,相似系数范围为[0-1],但其他范围也是可能的。在一些实施例中,利用余弦相似性来计算单词矢量之间的相似系数。
以下是针对单词“software”(软件)和“doctor”(医生)的一些相似性结果,其中每个相似单词后面跟着分别参考“software”(软件)和“doctor”(医生)的相似系数。由相似性系数对前15个相似单词进行分类呈现。
针对“software”(软件)的前15个相似单词:
针对“doctor”(医生)的前15个相似词:
。
注意,列表包括拼写错误的单词,诸如“sofware”和“docter”。但是,许多职位具有一个以上的单词(例如“software engineer”(软件工程师),“administrative assistant”(管理助手)等),并且针对多个单词的职位的压缩向量908在操作910处不得不进行组合以获得组合向量912,所述组合向量912是由两个或更多单词的压缩向量组合而得到的压缩向量。例如,通过组合“software”(软件)和“engineer”(工程师)的压缩向量908(表示为W1〜W2),获得针对“software engineer”(软件工程师)的组合向量912。
存在用于对向量进行组合的若干合并技术。在一个示例实施例中,通过计算向量的平均值来组合向量,其包括计算针对向量内的每个元素的平均值。
在另一个示例实施例中,通过计算压缩矢量908的和来合并向量。在又另外的示例实施例中,一些单词未被包括来用于计算组合向量912,因为一些单词可能对于一些职位而言是噪声。例如“President of the Trade Association of American Plumbers”(美国水管工贸易协会主席)之类的职位,可以忽略单词“of”、“the”和“American”以获得职位组合向量912。
在一些示例实施例中,基于单词向量对职位的含义的预期贡献,在组合单词向量之前将权重指派给每个单词向量,并且通过将针对每个单词的权重向量相加来计算组合向量。注意,权重之一可以是0,这相当于针对组合向量不使用该单词向量。在一个示例实施例中,利用术语频率-逆文档频率(TF-IDF)分数来计算权重。
TF-IDF是一种数字统计,其旨在反映单词对于集合或语料库中的文档如何重要性。TF-IDF的值与单词在文档中出现的次数成比例地增加,但由单词在语料库中的频率进行偏移,这有助于针对一些单词在一般情况下更频繁出现的事实而进行调整。
TF是文档中的术语的原始频率(即术语在文档中出现的次数)。IDF是单词提供了多少信息的度量(也就是说,该术语在所有文档中是常见还是罕见)。在一些示例实施例中,将IDF计算为文档总数除以包含该术语的文档数量的对数。在其他示例实施例中,可以使用其他等式来计算IDF。然后将TF-IDF计算为TF乘以IDF,但是可以使用TF和IDF的其他组合来计算TF-IDF。
在一个示例中,“software”(软件)是获得TF为2、IDF为5的重要职位单词。因此,TF-IDF为10(2x5)。另一个单词比如“USA”是非常常见的,并且所得到的TF-IDF为0或接近0。
在一些示例实施例中,通过获得压缩向量908的权重平均来计算组合向量912,其中权重是单词的相应TF-IDF。这可以根据以下等式来表达:
(1)
其中是组合向量912,wi是针对单词i的权重(例如,TF-IDF),是针对单词i的压缩向量。在另一示例实施例中,组合向量912可以简单地计算为:
(2)。
在另一个示例实施例中,使用前n(例如,3)个最重要的单词(通过它们的TF-IDF测量的)来计算组合向量912。然而,利用这个方法可能会丢失一些重要的语境,因为一些被抛弃的单词可能具有重要的语义含义。
一旦压缩向量可用于单个和多个单词职位,则执行职位相似性分析914以获得相似性值916。在一个示例实施例中,获得针对“business analyst”(商业分析师)职位的包括相似系数的以下前十个结果:
- 0.9406, “senior business analyst”(高级商业分析师);
- 0.8023, “senior analyst”(高级分析师);
- 0.7802, “business consultant”(商业顾问);
- 0.7775, “financial analyst”(金融分析师);
- 0.7640, “research analyst”(研究分析师);
- 0.7423, “business development”(商业开发);
- 0.7332, “business development manager”(商业开发经理);
- 0.7010, “business development executive”(商业开发执行官);
- 0.6894, “director business development”(商业开发总监); 和
- 0.5868, “senior account manager”(高级客户经理)。
在另一示例实施例中,以“0.6377”的相似系数计算“software engineer”(软件工程师)与“application developer”(应用程序开发者)之间的余弦相似性。
图10图示了根据一些示例实施例的用于识别成员技能之中的相似性的方法。在一些示例实施例中,识别技能相似性以便改进工作搜索。
也可以从工作发布中提取技能。例如,通过分析工作职位、描述或要求,可以针对工作识别一个或多个技能。目标是向具有与工作相关的技能的成员推荐该工作,包括与从工作发布中找到的技能相似的技能。如果针对工作技能只考虑字面含义,那么可能会丢失重要的机会。例如,如果工作搜索系统没有意识到“机器学习”和“数据挖掘”技能之间的相似性,那么一个人可能会错过与该成员良好匹配的好工作。
在一些示例实施例中,技能数据410包括技能标识符(例如,整数值)和技能描述文本(例如,C ++)。在一些示例实施例中,成员简档302链接到技能标识符。
最初,针对每个技能创建压缩技能向量1010(例如,通过遵循针对职位参考图9描述的相同过程)。在那之后,创建级联技能表1004,其中每行包括具有针对对应成员的所有技能的序列。因此,级联技能表1004的第一行包括针对第一成员的技能的所有压缩技能向量,第二行包括针对第二成员的技能的所有压缩技能向量等等。
然后在级联技能表1004上执行语义分析1006。在一个示例实施例中,以以下参数来利用Word2vec:(min_count(最小数目),1),(window_size(窗口大小),25,其是第90个百分位数的大小),( negative_sample(负采样),25),(concurrent_steps(并发步数),12),(subsample(子采样),0),(num_epochs(历元数目),15)和(embedding_size(嵌入大小),100)。结果是技能相似性1008,其中每个技能与对应的相似技能相关联)。
一般来说,并不是所有技能对于成员来说都是同样重要的。因此,在一些示例实施例中,通过将每个压缩技能向量1010乘以相应的权重来对该技能进行权重。在一个示例实施例中,权重是由成员接收的针对该技能的认可的数量。一般来说,成员针对一个技能越认可,则该技能对于该成员就越重要。
针对“机器学习”(括号中的技能标识符)的一些示例结果包括以下内容:
-模式识别(5449),0.9100;
-神经网络(4892),0.9053;
-人工智能(2407),0.8989;
-自然语言处理(5835),0.8836;
-算法(1070),0.8834;
-算法设计(6001),0.8791;
-计算机视觉(4262),0.8779;
- latex(6420),0.8500;
-计算机科学(1541),0.8441;
-深度学习(50518),0.8411;
-数据挖掘(2682),0.8356;
-文本挖掘(7198),0.8326;
-并行计算(5626),0.8308;
-推荐者系统(12226),0.8306;
-人工神经网络(12469),0.8252;
-数据科学(50061),0.8213;
-遗传算法(7630),0.8093;
- python(1346),0.8037;和
-图像处理(2741),0.8019。
在其他示例实施例中,可以针对公司名称执行相同的相似性分析,使得如果成员请求PYMK搜索并且该成员已经为一个或多个公司工作,则PYMK搜索可以考虑针对可能候选者的相似公司。
图11是根据一些示例实施例的用于基于社交网络内的现有互连和简档数据相似性来推荐新连接的方法1100的流程图。操作1102用于由一个或多个处理器检测与社交网络的第一成员相关联的请求。请求是针对第一成员的可能的新连接,并且第一成员的简档包括针对多个属性的值。
从操作1102,该方法流向操作1104,用于由一个或多个处理器识别具有来自第一成员的多个属性的至少一个相等属性的社交网络的成员。
从操作1104,该方法流向操作1106,用于由一个或多个处理器基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数。
在操作1108处,一个或多个处理器基于连接分数从已识别的成员中选择成员。从操作1108,该方法流向操作1110,以用于利用机器学习算法获得针对每个所选成员的排名分数。机器学习算法利用针对成员的属性的相似性分析来计算排名分数。此外,在操作1112处,一个或多个处理器基于所选成员的排名分数,使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
在一个示例中,方法1100,其中多个属性包括连接的连接标志,其指示社交网络的成员是否是第一成员的连接的连接。此外,在一个示例中,多个属性还包括成员的职位、成员的行业、成员工作过的公司以及成员就读过的教育机构。
在一个示例中,如所记述的方法1100,其中识别社交网络的成员还包括访问针对来自多个属性的第一属性的反向索引,反向索引识别与第一成员的第一属性具有相同值的社交网络的成员。
在另一示例中,如所记述的方法1100,其中针对社交网络的成员离线计算反向索引。
在又另一个示例中,如所记述的方法1100,其中计算针对每个已识别的成员的连接分数还包括确定具有等于针对第一成员的属性值的值的一个或多个属性,并且计算针对所确定的一个或多个属性的权重和。
在另一个示例中,如所记述的方法1100,其中从已识别的成员中选择成员还包括基于相应的连接分数识别前面预定数量的已识别的成员。
在一些实施例中,相似性分析包括识别与第一成员的属性值相似的相似属性值。
在一些示例实施例中,机器学习算法当被呈现可能的新连接时基于社交网络的成员的属性值和基于成员的选择历史来进行训练。
在另一示例中,如所记述的方法1100,其中对机器学习算法进行离线训练以用于估计与用于计算排名分数的机器学习算法相关联的特征。
图12是图示了可以结合本文所描述的各种硬件架构使用的代表性软件架构1202的框图1200。图12仅仅是软件架构1202的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文所描述的功能性。软件架构1202可以在诸如图13的机器1300之类的硬件上执行,其除了其他之外还包括处理器1304、存储器/储存器1306以及输入/输出(I/O)组件1318。代表性硬件层1250被图示出并且可以表示例如图13的机器1300。代表性硬件层1250包括具有相关联的可执行指令1254的一个或多个处理单元1252。可执行指令1254表示包括图1-图11的方法、模块等的实现的软件架构1202的可执行指令。硬件层1250还包括也具有可执行指令1254的存储器和/或存储模块1256。硬件层1250还可以包括表示硬件层1250的任何其他硬件的其他硬件1258,诸如被图示为机器1300的一部分的其他硬件。
在图12的示例架构中,软件架构1202可以被概念化为层堆栈,其中每一层提供特定的功能性。例如,软件架构1202可以包括诸如操作系统1220、库1216、框架/中间件1214、应用1212和表示层1210之类的层。可操作地,层内的应用1212和/或其他组件可以通过软件堆栈调出API调用1204并且接收响应、返回值等等,图示为响应于API调用1204的消息1208。所图示的层本质上是代表性的,并且并非所有软件架构都具有所有的层。例如,一些移动或专用操作系统可能不提供框架/中间件层1214,而其他可以提供这样的层。其他软件架构可以包括附加层或不同层。
操作系统1220可以管理硬件资源并提供公共服务。操作系统1220可以包括例如内核1218、服务1222和驱动器1224。内核1218可以充当硬件和其他软件层之间的抽象层。例如,内核1218可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务1222可以为其他软件层提供其他公共服务。驱动器1224可以负责控制或与底层硬件进行对接。例如,取决于硬件配置,驱动器1224可以包括显示器驱动器、相机驱动器、Bluetooth®驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(USB)驱动器)、Wi-Fi®驱动器、音频驱动器、功率管理驱动器等等。
库1216可以提供可由应用1212和/或其他组件和/或层利用的公共基础设施。库1216典型地提供允许其它软件模块以比与底层操作系统1220功能性(例如,内核1218、服务1222和/或驱动器1224)直接对接更简单的方式执行任务的功能性。库1216可以包括可以提供诸如存储器分配功能、字符串操作功能、数学功能等功能的系统库1242(例如、C标准库)。此外、库1216可以包括API库1244,诸如媒体库(例如,支持诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG等各种媒体格式的呈现和操纵的库)、图形库(例如,可用于在显示器上呈现二维和三维图形内容的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、Web库(例如,可提供Web浏览功能性的WebKit)等。库1216还可以包括各种各样的其他库1246,以向应用1212和其他软件组件/模块提供许多其他API。
框架1214(有时也称为中间件)可以提供可由应用1212和/或其他软件组件/模块利用的更高级别的公共基础设施。例如,框架1214可以提供各种图形用户接口(GUI)功能、高级资源管理、高级位置服务等等。框架1214可以提供可由应用1212和/或其他软件组件/模块利用的广泛范围的其他API,其中一些可能是特定于特定操作系统或平台的。
应用1212包括相似性应用1262、PYMK搜索1264、内置应用1236和第三方应用1238。相似性应用1262用于计算针对职位、公司、学校等的相似性值。代表性的内置应用1236的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传送应用和/或游戏应用。第三方应用1238可以包括内置应用1236以及广泛种类的其他应用中的任何一个。在具体示例中,第三方应用1238(例如,由特定平台的供应商之外的实体使用AndroidTM或iOSTM软件开发工具包(SDK)开发的应用)可以是在诸如iOS™、Android™、Windows®Phone之类的移动操作系统或其他移动操作系统上运行的移动软件。在这个示例中,第三方应用1238可以调出由诸如操作系统1220之类的移动操作系统所提供的API调用1204,以促进本文所描述的功能性。
应用1212可以利用内置的操作系统功能(例如,内核1218、服务1222和/或驱动器1224)、库(例如,系统库1242、API库1244和其他库1246)或框架/中间件1214,以创建用于与系统的用户进行交互的用户接口。可替代地或者另外,在一些系统中,与用户的交互可以通过诸如呈现层1210的呈现层而发生。在这些系统中,应用/模块“逻辑”可以与应用/模块中与用户交互的那些方面分开。
一些软件架构利用虚拟机。在图12的示例中,这由虚拟机1206图示出。虚拟机创建软件环境,其中应用/模块可以执行,就好像它们在(例如,诸如图13的机器1300)硬件机器上执行一样。虚拟机1206由主机操作系统(例如,图12中的操作系统1220)主控,并且典型地--虽然并不总是--具有虚拟机监视器1260,所述虚拟机监视器1260管理虚拟机1206的操作以及与主机操作系统(例如,操作系统1220)的接口。软件架构在诸如操作系统1234、库1232、框架/中间件1230、应用1228和/或呈现层1226之类的虚拟机1206内执行。在虚拟机1206内执行的软件架构的这些层可以与先前描述的相应层是相同的或者可以是不同的。
图13是图示了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的任何一个或多个方法的机器1300的组件的框图。具体而言,图13以计算机系统的示例形式示出了机器1300的图示,在其中可以执行用于使机器1300执行本文所讨论的任何一个或多个方法的指令1310(例如,软件、程序、应用、小应用、app或其他可执行代码)。例如,指令1310可以使机器1300执行图2、图4、图6和图9-图11的流程图。指令1310将通用的未编程机器1300转换为被编程为以所描述的方式执行所描述和图示的功能的特定机器1300。
在替代实施例中,机器1300作为独立设备进行操作,或者可以耦合(例如,联网)到其他机器。在联网部署中,机器1300可以在服务器-客户端网络环境中的服务器机器或客户端机器的能力下进行操作,或者操作为对等(或分布式)网络环境中的对等机器。机器1300可以包括但不限于交换机、控制器、服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、PDA、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能设施)、其他智能设备、web设施、网络路由器、网络交换机、网络桥接器或能够执行指令1310的任何机器,其顺序地或以其他方式指定要由机器1300采取的动作。此外,尽管只图示出单个机器1300,但是术语“机器”还应被视为包括单独或联合执行指令1310以执行本文所讨论的任何一个或多个方法的机器1300的集合。
机器1300可以包括处理器1304、存储器/储存器1306和I/O组件1318,其可被配置为例如经由总线1302彼此通信。在示例实施例中,处理器1304(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一个处理器或其任何合适的组合)可以例如包括可以执行指令1310的处理器1308和处理器1312。术语“处理器”意欲包括多核处理器,所述多核处理器可以包括可以同时执行指令的两个或更多个独立处理器(有时称为“核心”)。尽管图13示出了多个处理器1304,但是机器1300可以包括具有单个核心的单个处理器、具有多个核心的单个处理器(例如,多核处理器)、具有单个核心的多个处理器、具有多个核心的多个处理器、或其任何组合。
存储器/储存器1306可以包括诸如主存储器或其他存储器储存器之类的存储器1314和储存单元1316,二者均可诸如经由总线1302对处理器1304而言是可访问的。储存单元1316和存储器1314存储体现本文所描述的任何一个或多个方法或功能的指令1310。在由机器1300对指令执行期间,指令1310还可以完全或者部分地驻留在存储器1314内、在储存单元1316内、在处理器1304的至少一个内(例如,在处理器的高速缓存存储器内)或其任何适当的组合中。因此,存储器1314、储存单元1316和处理器1304的存储器是机器可读介质的示例。
如本文所使用的,“机器可读介质”意指能够临时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存存储器、其他类型的储存器(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令1310的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储用于由机器(例如,机器1300)执行的指令(例如,指令1310)的任何介质或多个介质的组合,使得指令在由机器的一个或多个处理器(例如,处理器1304)执行时使得机器执行本文所述的任何一个或多个方法。因此,“机器可读介质”是指单个储存装置或设备,以及包括多个储存装置或设备的“基于云”的储存系统或储存网络。术语“机器可读介质”不包括信号本身。
I/O组件1318可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的组件。包括在特定机器中的具体I/O组件1318将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机制,而无头服务器机器将可能不包括此类触摸输入设备。应当理解,I/O组件1318可以包括在图13中未示出的许多其他组件。仅仅为了简化以下讨论,根据功能性将I/O组件1318进行分组,并且分组决不被限制。在各种示例实施例中,I/O组件1318可以包括输出组件1326和输入组件1328。输出组件1326可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机制)、其它信号发生器等等。输入组件1328可以包括字母数字输入组件(例如键盘、配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指示仪器)、触觉输入组件(例如物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。
在另外的示例实施例中,I/O组件1318可以包括在广泛的其他组件阵列中的生物测定组件1330、运动组件1334、环境组件1336或位置组件1338。例如,生物测定组件1330可以包括用于检测表达(例如手表达、面部表情、声音表达、身体手势或眼睛跟踪)、测量生物信号(例如血压、心率、体温、出汗或脑波)、识别人员(例如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1334可以包括加速度传感器组件(例如、加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等等。环境组件1336可以包括例如照明传感器组件(例如光度计)、温度传感器组件(例如检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如用于检测附近物体的红外传感器)、气体传感器(例如为了安全用于检测危险气体的浓度或测量大气中的污染物的气体检测传感器)或可提供对应于周围物理环境的指示、测量或信号的其他组件。位置组件1338可以包括定位传感器组件(例如GPS接收器组件)、高度传感器组件(例如高度计或者检测从中可以导出高度的空气压力的气压计)、定向传感器组件(例如磁力计)等等。
可以使用各种各样的技术来实现通信。I/O组件1318可以包括通信组件1340,所述通信组件1340可操作以分别经由耦合1324和耦合1322来将机器1300耦合到网络1332或设备1320。例如,通信组件1340可以包括网络接口组件或者与网络1332进行对接的其他合适的设备。在另外的示例中,通信组件1340可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、Bluetooth®组件(例如,Bluetooth®低能量)、Wi-Fi®组件和用于经由其他模式提供通信的其他通信组件。设备1320可以是另一个机器或者是各种各样的外围设备(例如,经由USB耦合的外围设备)中的任何外围设备。
此外,通信组件1340可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件1340可以包括射频标识(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如用于检测一维条形码,诸如通用产品代码(UPC)条形码、多维条形码诸如快速响应(QR)码、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超级码、UCC RSS-2D条形码和其他光码的光学传感器)、或声学检测组件(例如用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1340来导出各种信息,诸如经由因特网协议(IP)地理位置的位置、经由Wi-Fi®信号三角测量的位置、经由检测可指示特定位置的NFC信标信号的位置等等。
在各种示例实施例中,网络1332的一个或多个部分可以是自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、因特网、因特网的一部分、PSTN的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、Wi-Fi®网络、另一种类型的网络、或两个或更多个这样的网络的组合。例如,网络1332或网络1332的一部分可以包括无线或蜂窝网络,并且耦合1324可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一类型的蜂窝或无线耦合。在该示例中,耦合1324可以实现各种类型的数据传送技术中的任何一种,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电业务(GPRS)技术、GSM演进的增强型数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传送技术。
可以利用多个熟知传送协议(例如,HTTP)中的任何一个并经由网络接口设备(例如,包括在通信组件1340中的网络接口组件)使用传输介质通过网络1332来传送或接收指令1310。类似地,指令1310可以经由到设备1320的耦合1322(例如,对等耦合)使用传输介质来传送或接收指令1310。术语“传输介质”将被视为包括能够存储、编码或携带用于由机器1300执行的指令1310的任何无形介质,并且包括用于促进这种软件的通信的数字或模拟通信信号或其他无形介质。
在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然将一个或多个方法的个体操作图示和描述为分开的操作,但是可以并行地执行个体操作中的一个或多个,并且不需要以所示的顺序执行操作。在示例配置中作为分开的组件呈现的结构和功能可以被实现为组合的结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为分开的组件。这些和其他变型、修改、添加和改进落入本文主题的范围内。
足够详细地描述本文所图示的实施例,以使本领域技术人员能够实践所公开的教导。从其中可以使用和导出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,具体实施方式不应被认为是限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
如本文所使用的,术语“或”可以以包含或排除的方式来解释。此外,可以将针对本文所述的资源、操作或结构的多个实例提供为单个实例。此外,各种资源、操作、模块、引擎和数据存储之间的边界是多少有些任意的,并且在具体说明性配置的上下文中图示出了特定的操作。可以设想功能性的其他分配,并且其可以落入本公开的各种实施例的范围内。通常,在示例配置中作为分开的资源呈现的结构和功能性可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能性可以被实现为分开的资源。这些和其他变型、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性意义的而不是限制性意义的。
Claims (20)
1.一种方法,包括:
由一个或多个处理器检测与社交网络的第一成员相关联的请求,所述请求是针对所述第一成员的可能的新连接,所述第一成员的简档包括针对多个属性的值;
由所述一个或多个处理器识别具有来自所述第一成员的所述多个属性的至少一个相等属性的所述社交网络的成员;
由所述一个或多个处理器基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数;
由所述一个或多个处理器基于所述连接分数从已识别的成员中选择成员;
利用机器学习算法获得针对每个所选成员的排名分数,所述机器学习算法利用针对所述成员的属性的相似性分析来计算所述排名分数;和
由所述一个或多个处理器基于所选成员的所述排名分数,使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
2.如权利要求1所述的方法,其中,所述多个属性包括连接的连接标志,所述连接的连接标志指示所述社交网络的成员是否是所述第一成员的连接的连接。
3.如权利要求2所述的方法,其中,所述多个属性还包括所述成员的职位、所述成员的行业、所述成员工作过的公司以及所述成员就读过的教育机构。
4.如权利要求1所述的方法,其中,识别所述社交网络的成员还包括:
访问针对来自所述多个属性的第一属性的反向索引,所述反向索引识别与所述第一成员的第一属性具有相同值的所述社交网络的成员。
5.根据权利要求4所述的方法,其中,针对所述社交网络的所述成员离线计算所述反向索引。
6.如权利要求1所述的方法,其中,计算针对每个已识别的成员的所述连接分数还包括:
确定具有等于针对所述第一成员的所述属性的值的值的一个或多个属性;和
计算针对所确定的一个或多个属性的权重和。
7.如权利要求1所述的方法,其中,从已识别的成员中选择所述成员还包括:
基于相应的连接分数识别前面预定数量的已识别的成员。
8.如权利要求1所述的方法,其中,所述相似性分析包括识别与所述第一成员的所述属性的值相似的属性值。
9.如权利要求1所述的方法,其中,所述机器学习算法当被呈现可能的新连接时基于所述社交网络的所述成员的属性值和基于成员的选择历史来进行训练。
10.如权利要求1所述的方法,其中,对所述机器学习算法进行离线训练以用于估计与用于计算所述排名分数的所述机器学习算法相关联的特征。
11.一种系统,包括:
包含指令的存储器;和
一个或多个计算机处理器,其中所述指令在由所述一个或多个计算机处理器执行时使所述一个或多个计算机处理器执行操作,所述操作包括:
检测与社交网络的第一成员相关联的请求,所述请求是针对用于所述第一成员的可能的新连接,所述第一成员的简档包括针对多个属性的值;
识别具有来自所述第一成员的所述多个属性的至少一个相等属性的所述社交网络的成员;
基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数;
基于所述连接分数从已识别的成员中选择成员;
利用机器学习算法获得针对每个所选成员的排名分数,所述机器学习算法利用针对所述成员的属性的相似性分析来计算所述排名分数;和
基于所选成员的所述排名分数,使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
12.如权利要求11所述的系统,其中,所述多个属性包括连接的连接标志、所述成员的职位、所述成员的行业、所述成员工作过的公司以及所述成员就读过的教育机构,所述连接的连接标志指示所述社交网络的成员是否是所述第一成员的连接的连接。
13.根据权利要求11所述的系统,其中,识别所述社交网络的成员还包括:
访问针对来自所述多个属性的第一属性的反向索引,所述反向索引识别与所述第一成员的第一属性具有相同值的所述社交网络的成员。
14.如权利要求11所述的系统,其中,计算针对每个已识别的成员的所述连接分数还包括:
确定具有等于针对所述第一成员的所述属性的值的值的一个或多个属性;和
计算针对所确定的一个或多个属性的权重和。
15.如权利要求11所述的系统,其中,所述相似性分析包括识别与所述第一成员的所述属性的值相似的属性值。
16.一种非暂时机器可读存储介质,包括当由机器执行时使所述机器执行操作的指令,所述操作包括:
检测与社交网络的第一成员相关联的请求,所述请求是针对所述第一成员的可能的新连接,所述第一成员的简档包括针对多个属性的值;
识别具有来自所述第一成员的所述多个属性的至少一个相等属性的所述社交网络的成员;
基于已识别的成员的属性的相应值来计算针对每个已识别的成员的连接分数;
基于所述连接分数从已识别的成员中选择成员;
利用机器学习算法获得针对每个所选成员的排名分数,所述机器学习算法利用针对所述成员的属性的相似性分析来计算所述排名分数;和
基于所选成员的所述排名分数,使所选成员中的一个或多个作为针对所述第一成员的所述可能的新连接而呈现。
17.如权利要求16所述的机器可读存储介质,其中,所述多个属性包括连接的连接标志、所述成员的职位、所述成员的行业、所述成员工作过的公司以及所述成员就读过的教育机构,所述连接的连接标志指示所述社交网络的成员是否是所述第一成员的连接的连接。
18.如权利要求16所述的机器可读存储介质,其中,识别所述社交网络的成员还包括:
访问针对来自所述多个属性的第一属性的反向索引,所述反向索引识别与所述第一成员的第一属性具有相同值的所述社交网络的成员。
19.如权利要求16所述的机器可读存储介质,其中,计算针对每个已识别的成员的所述连接分数还包括:
确定具有等于针对所述第一成员的所述属性的值的值的一个或多个属性;和
计算针对所确定的一个或多个属性的权重和。
20.如权利要求16所述的机器可读存储介质,其中,所述相似性分析包括识别与所述第一成员的所述属性的值相似的属性值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/081619 WO2018195691A1 (en) | 2017-04-24 | 2017-04-24 | New connection recommendations based on data attributes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109154945A true CN109154945A (zh) | 2019-01-04 |
Family
ID=63918711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780000421.6A Pending CN109154945A (zh) | 2017-04-24 | 2017-04-24 | 基于数据属性的新连接推荐 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10521482B2 (zh) |
CN (1) | CN109154945A (zh) |
WO (1) | WO2018195691A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180090053A (ko) * | 2017-02-02 | 2018-08-10 | 에이치피프린팅코리아 주식회사 | 서비스를 제공하는 서버 및 그 서버의 동작 방법 |
WO2018195691A1 (en) | 2017-04-24 | 2018-11-01 | Microsoft Technology Licensing, Llc | New connection recommendations based on data attributes |
US10747530B2 (en) * | 2018-06-12 | 2020-08-18 | Servicenow, Inc. | Mission-based developer certification system and method |
US11132414B2 (en) * | 2018-07-10 | 2021-09-28 | Metabyte, Inc. | Relationship and credibility based experience rating and skill discovery system |
US10990754B2 (en) * | 2018-10-31 | 2021-04-27 | Microsoft Technology Licensing, Llc | Writing personalized electronic messages using template-based and machine-learning approaches |
US11631031B2 (en) | 2020-02-20 | 2023-04-18 | Bank Of America Corporation | Automated model generation platform for recursive model building |
US11604990B2 (en) * | 2020-06-16 | 2023-03-14 | Microsoft Technology Licensing, Llc | Multi-task learning framework for multi-context machine learning |
CN113779520B (zh) * | 2021-09-07 | 2023-06-13 | 中国船舶重工集团公司第七0九研究所 | 基于多层属性分析的跨空间目标虚拟身份关联方法 |
US11803599B2 (en) * | 2022-03-15 | 2023-10-31 | My Job Matcher, Inc. | Apparatus and method for attribute data table matching |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678323A (zh) * | 2012-09-03 | 2014-03-26 | 上海唐里信息技术有限公司 | Sns网络中好友推荐方法与系统 |
CN103984775A (zh) * | 2014-06-05 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种推荐好友的方法和设备 |
CN104281599A (zh) * | 2013-07-02 | 2015-01-14 | 北京千橡网景科技发展有限公司 | 用于向社交网络中的用户推荐信息的方法和装置 |
CN106571997A (zh) * | 2016-10-14 | 2017-04-19 | 北京橙鑫数据科技有限公司 | 一种基于数字名片的好友推荐方法及装置 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246164B2 (en) | 2001-05-10 | 2007-07-17 | Whoglue, Inc. | Distributed personal relationship information management system and methods |
US9195739B2 (en) | 2009-02-20 | 2015-11-24 | Microsoft Technology Licensing, Llc | Identifying a discussion topic based on user interest information |
US8667009B2 (en) | 2009-07-21 | 2014-03-04 | Saambaa Llc | Systems and methods for utilizing and searching social network information |
US20120197881A1 (en) | 2010-11-23 | 2012-08-02 | Allen Blue | Segmentation of professional network update data |
US9153000B2 (en) | 2010-12-13 | 2015-10-06 | Microsoft Technology Licensing, Llc | Presenting content items shared within social networks |
US8768863B2 (en) | 2011-07-29 | 2014-07-01 | Facebook, Inc. | Adaptive ranking of news feed in social networking systems |
CN102662975A (zh) | 2012-03-12 | 2012-09-12 | 浙江大学 | 一种混合双向聚类好友推荐方法 |
US9984126B2 (en) | 2012-07-23 | 2018-05-29 | Salesforce.Com, Inc. | Identifying relevant feed items to display in a feed of an enterprise social networking system |
US9275420B1 (en) | 2012-10-05 | 2016-03-01 | Google Inc. | Changing user profile impression |
CN103810192A (zh) * | 2012-11-09 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 一种用户的兴趣推荐方法和装置 |
US9471883B2 (en) | 2013-05-09 | 2016-10-18 | Moodwire, Inc. | Hybrid human machine learning system and method |
US20150006414A1 (en) | 2013-07-01 | 2015-01-01 | Gozaik Llc | Social network for employment search |
US20150142584A1 (en) | 2013-11-18 | 2015-05-21 | Linkedin Corporation | Ranking content based on member propensities |
CN103714130B (zh) | 2013-12-12 | 2017-08-22 | 深圳先进技术研究院 | 视频推荐系统及方法 |
CN103793503B (zh) | 2014-01-24 | 2017-02-08 | 北京理工大学 | 一种基于web文本的观点挖掘与分类的方法 |
US9563693B2 (en) | 2014-08-25 | 2017-02-07 | Adobe Systems Incorporated | Determining sentiments of social posts based on user feedback |
CN104573046B (zh) | 2015-01-20 | 2018-07-31 | 成都品果科技有限公司 | 一种基于词向量的评论分析方法及系统 |
US20170085509A1 (en) | 2015-09-17 | 2017-03-23 | Vicente Fernandez | Semantics classification aggregation newsfeed, an automated distribution method |
US10621154B2 (en) | 2015-12-31 | 2020-04-14 | International Business Machines Corporation | Identifying patterns of a set of software applications |
US20170255906A1 (en) | 2016-03-04 | 2017-09-07 | Linkedln Corporation | Candidate selection for job search ranking |
US20170300862A1 (en) | 2016-04-14 | 2017-10-19 | Linkedln Corporation | Machine learning algorithm for classifying companies into industries |
WO2018010147A1 (en) | 2016-07-14 | 2018-01-18 | Linkedin Corporation | User feed with professional and nonprofessional content |
US20180189288A1 (en) | 2016-08-01 | 2018-07-05 | Microsoft Technology Licensing, Llc | Quality industry content mixed with friend's posts in social network |
US20180089318A1 (en) * | 2016-09-23 | 2018-03-29 | Linkedin Corporation | Two-sided network growth optimization in social networks |
WO2018195691A1 (en) | 2017-04-24 | 2018-11-01 | Microsoft Technology Licensing, Llc | New connection recommendations based on data attributes |
-
2017
- 2017-04-24 WO PCT/CN2017/081619 patent/WO2018195691A1/en active Application Filing
- 2017-04-24 CN CN201780000421.6A patent/CN109154945A/zh active Pending
- 2017-04-24 US US15/543,361 patent/US10521482B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678323A (zh) * | 2012-09-03 | 2014-03-26 | 上海唐里信息技术有限公司 | Sns网络中好友推荐方法与系统 |
CN104281599A (zh) * | 2013-07-02 | 2015-01-14 | 北京千橡网景科技发展有限公司 | 用于向社交网络中的用户推荐信息的方法和装置 |
CN103984775A (zh) * | 2014-06-05 | 2014-08-13 | 网易(杭州)网络有限公司 | 一种推荐好友的方法和设备 |
CN106571997A (zh) * | 2016-10-14 | 2017-04-19 | 北京橙鑫数据科技有限公司 | 一种基于数字名片的好友推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10521482B2 (en) | 2019-12-31 |
WO2018195691A1 (en) | 2018-11-01 |
US20190236106A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853739B2 (en) | Machine learning models for evaluating entities in a high-volume computer network | |
US10474725B2 (en) | Determining similarities among industries to enhance job searching | |
CN109154945A (zh) | 基于数据属性的新连接推荐 | |
CN108701118B (zh) | 语义类别分类 | |
US11710070B2 (en) | Machine learned model framework for screening question generation | |
US20190197487A1 (en) | Automated message generation for hiring searches | |
US11372940B2 (en) | Embedding user categories using graphs for enhancing searches based on similarities | |
CN110168591B (zh) | 确定行业相似性以增强职位搜索 | |
CN109074368B (zh) | 使用异构社交网络的图形框架 | |
US20170300862A1 (en) | Machine learning algorithm for classifying companies into industries | |
CN108431809A (zh) | 使用语义含义向量的跨语言搜索 | |
US10586157B2 (en) | Skill-based title prediction model | |
US20180285824A1 (en) | Search based on interactions of social connections with companies offering jobs | |
US11204973B2 (en) | Two-stage training with non-randomized and randomized data | |
US11113738B2 (en) | Presenting endorsements using analytics and insights | |
US10607189B2 (en) | Ranking job offerings based on growth potential within a company | |
US20210319033A1 (en) | Learning to rank with alpha divergence and entropy regularization | |
CN109978175A (zh) | 用于机器学习模型的并行化坐标下降法 | |
CN108694228A (zh) | 社交网络分类中的头衔消歧 | |
US11397742B2 (en) | Rescaling layer in neural network | |
US20180218328A1 (en) | Job offerings based on company-employee relationships | |
WO2018023329A1 (en) | Quality industry content mixed with friend's posts in social network | |
CN110175297A (zh) | 馈送中的个性化的每成员模型 | |
CN110427564A (zh) | 将深度学习集成到广义加性混合效应(game)框架中 | |
WO2018010147A1 (en) | User feed with professional and nonprofessional content |
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 |