{"id":329290,"date":"2023-08-07T13:00:00","date_gmt":"2023-08-07T13:00:00","guid":{"rendered":"https:\/\/pyimagesearch.com\/?p=39808"},"modified":"2023-08-07T13:00:00","modified_gmt":"2023-08-07T13:00:00","slug":"linkedin-jobs-recommendation-systems","status":"publish","type":"post","link":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/","title":{"rendered":"LinkedIn Jobs Recommendation Systems"},"content":{"rendered":"<p class=\"syndicated-attribution\"><meta name= \\\"keywords \\\" content= \\\"\u96fb\u5b50\u8a08\u7b97\u6a5f, \u6559\u80b2, IT \u96fb\u8166\u73ed,\u96fb\u8166\u88dc\u7fd2\uff0c \u96fb\u8166\u73ed\uff0c \u5bb6\u6559\uff0c \u79c1\u4eba\u8001\u5e2b\uff0c \u8cc7\u8a0a\u6280\u8853\uff0c \u7a0b\u5e8f\u8a2d\u8a08\uff0c \u96fb\u5b50\u8a08\u7b97\u6a5f\uff0c \u904a\u6232\uff0c \u860b\u679c\uff0c \u96fb\u5f71\uff0c \u8a08\u7b97\u6a5f\uff0c\u7de8\u78bc\uff0c Java\uff0c C\/C++\uff0c JavaScript\uff0c PHP\uff0c HTML\uff0c CSS\uff0c MySQL\uff0c mobile\uff0c Android\uff0c \u52d5\u6f2b\uff0c Python\uff0c teacher\uff0c \u88dc\u7fd2\uff0c \u96fb\u8166\u88dc\u7fd2 \u8cc7\u8a0a, \u7535\u5b50\u8ba1\u7b97\u673a, IT ,Game, apple, movie, Computer,student,Java,\u6559\u80b2, ,\u5b66\u751f, \u5b66\u4e60, learn, \u6559\u5b66,  Android, apple,anime, animation, \u4fe1\u606f\u6280\u672f, \u7a0b\u5e8f\u8bbe\u8ba1, \u79fb\u52a8\u7535\u8bdd, \u8cc7\u8a0a\u79d1\u6280,Game, Jeu, Juego,Call Of Duty ,\u4f7f\u547d\u53ec\u559a , \u6e38\u620f, \u7535\u5b50\u6e38\u620f,, \u591a\u4eba\u7535\u5b50\u6e38\u620f, \u7f51\u7edc\u6e38\u620f\uff0conline\uff0conline game, \u624b\u673a\u6e38\u620f, mobile \\\"><\/p>\n<p><script src=\"https:\/\/fast.wistia.com\/embed\/medias\/v51covxals.jsonp\" async=\"\"><\/script><script src=\"https:\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async=\"\"><\/script><\/p>\n<div class=\"wistia_responsive_padding\" style=\"padding:56.25% 0 0 0;position:relative;\">\n<div class=\"wistia_responsive_wrapper\" style=\"height:100%;left:0;position:absolute;top:0;width:100%;\">\n<div class=\"wistia_embed wistia_async_v51covxals seo=true videoFoam=true\" style=\"height:100%;position:relative;width:100%\">\n<div class=\"wistia_swatch\" style=\"height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;\"><img decoding=\"async\" src=\"https:\/\/fast.wistia.com\/embed\/medias\/v51covxals\/swatch\" style=\"filter:blur(5px);height:100%;object-fit:contain;width:100%;\" alt=\"\" aria-hidden=\"true\" onload=\"this.parentNode.style.opacity=1;\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"TOC\"\/>\n<div class=\"yoast-breadcrumbs\"><span><span><a href=\"https:\/\/pyimagesearch.com\/\">Home<\/a><\/span><\/div>\n<h2><strong>Table of Contents<\/strong><\/h2>\n<div class=\"toc\">\n<ul>\n<li id=\"TOCh2BPTitle\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h2BPTitle\">LinkedIn Jobs Recommendation Systems<\/a><\/li>\n<ul>\n<li id=\"TOCh3Feed\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h3Feed\">Feed Recommendations<\/a><\/li>\n<ul>\n<li id=\"TOCh4Feed\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4Feed\">LinkedIn Feed<\/a><\/li>\n<li id=\"TOCh4FPR\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4FPR\">First Pass Rankers<\/a><\/li>\n<li id=\"TOCh4SPR\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4SPR\">Second Pass Ranker<\/a><\/li>\n<li id=\"TOCh4Evaluation\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4Evaluation\">Evaluation<\/a><\/li>\n<li id=\"TOCh4FeatureRepresentation\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4FeatureRepresentation\">Feature Representation<\/a><\/li>\n<\/ul>\n<li id=\"TOCh3Recruiter\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h3Recruiter\">Recruiter Search Recommendations<\/a><\/li>\n<ul>\n<li id=\"TOCh4TalentSearch\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4TalentSearch\">LinkedIn Talent Search and Recommendations<\/a><\/li>\n<li id=\"TOCh4UnsupervisedApproach\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4UnsupervisedApproach\">Unsupervised Approach<\/a><\/li>\n<ul>\n<li id=\"TOCh5EconomicGraph\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h5EconomicGraph\">LinkedIn&#8217;s Economic Graph<\/a><\/li>\n<li id=\"TOCh5First-OrderEmbeddings\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h5First-OrderEmbeddings\">First-Order Embeddings<\/a><\/li>\n<li id=\"TOCh5Second-OrderEmbeddings\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h5Second-OrderEmbeddings\">Second-Order Embeddings<\/a><\/li>\n<li id=\"TOCh5ComputingRelevance\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h5ComputingRelevance\">Computing Relevance<\/a><\/li>\n<\/ul>\n<li id=\"TOCh4SupervisedApproach\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4SupervisedApproach\">Supervised Approach<\/a><\/li>\n<\/ul>\n<li id=\"TOCh3CourseRecommendations\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h3CourseRecommendations\">Course Recommendations<\/a><\/li>\n<ul>\n<li id=\"TOCh4LinkedInLearning\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4LinkedInLearning\">LinkedIn Learning<\/a><\/li>\n<li id=\"TOCh4CollaborativeFiltering\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4CollaborativeFiltering\">Collaborative Filtering<\/a><\/li>\n<li id=\"TOCh4ResponsePrediction\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h4ResponsePrediction\">Response Prediction<\/a><\/li>\n<\/ul>\n<\/ul>\n<li id=\"TOCh2Summary\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h2Summary\">Summary<\/a><\/li>\n<ul>\n<li id=\"TOCh3Citation\"><a rel=\"noopener\"  href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#h3Citation\">Citation Information<\/a><\/li>\n<\/ul>\n<\/ul>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h2BPTitle\"\/>\n<h2><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh2BPTitle\"><strong>LinkedIn Jobs Recommendation Systems<\/strong><\/a><\/h2>\n<p>In this tutorial, you will learn about LinkedIn Jobs recommendation systems.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/pyimagesearch.com\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-1024x575.png?lossy=2&#038;strip=1&#038;webp=1\" alt=\"\" class=\"wp-image-40730\" width=\"700\" height=\"393\" srcset=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png?size=126x71&amp;lossy=2&amp;strip=1&amp;webp=1 126w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-300x169.png?lossy=2&amp;strip=1&amp;webp=1 300w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png?size=378x212&amp;lossy=2&amp;strip=1&amp;webp=1 378w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png?size=504x283&amp;lossy=2&amp;strip=1&amp;webp=1 504w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png?size=630x354&amp;lossy=2&amp;strip=1&amp;webp=1 630w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-768x431.png?lossy=2&amp;strip=1&amp;webp=1 768w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-1024x575.png?lossy=2&amp;strip=1&amp;webp=1 1024w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured.png?lossy=2&amp;strip=1&amp;webp=1 1080w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-1536x863.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/08\/linkedin-job-rec-sys-featured-2048x1151.png?lossy=2&amp;strip=1&amp;webp=1 2048w\" sizes=\"(max-width: 630px) 100vw, 630px\" \/><\/a><\/figure>\n<\/div>\n<p>LinkedIn has made it easier for professionals to connect and build their network, look for new job opportunities, get professional advice from others in the same field, and build connections to help them advance in their careers. <\/p>\n<p>LinkedIn has also become a popular platform for recruiters to find new talent. It allows recruiters to search for candidates based on their skills, experience, and other criteria. This has made it easier for companies to find candidates for their job openings. In addition, LinkedIn provides a great platform to recruit top-notch talent, especially for startups, which don\u2019t have enough visibility compared to multinational corporations.<\/p>\n<p>Apart from making job and talent hunting easier, LinkedIn now offers a variety of resources for professionals to upgrade their skills and advance their careers. This includes online courses, certifications, and webinars that are up-to-date with industry standards. Furthermore, it helps professionals build their brands by helping them establish themselves as thought leaders in their fields and making it easier for others to find them online.<\/p>\n<p>Behind the scenes are LinkedIn\u2019s amazing recommendation systems (<strong>Figure 1<\/strong>) that provide professionals or recruiters with a personalized feed, jobs they are interested in, connections and courses that can help them advance their careers, the best candidates for their job description (for recruiters and companies), etc. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/lh4.googleusercontent.com\/rX8uf-aoifOx0FTPIBdlNijyKxG6UqLTUEsduAmkT-VfWya3gTU7lkASX5FolEI_GAyFtwFW81B49tv7utxXk9VnWs7AO76DTiuAuUX_Pf9jx1OsXKhLf3PzTFPWNc3N6lpstl_GZpbGIEO58xbGYug\"  rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/rX8uf-aoifOx0FTPIBdlNijyKxG6UqLTUEsduAmkT-VfWya3gTU7lkASX5FolEI_GAyFtwFW81B49tv7utxXk9VnWs7AO76DTiuAuUX_Pf9jx1OsXKhLf3PzTFPWNc3N6lpstl_GZpbGIEO58xbGYug\" alt=\"\"\/><\/a><figcaption><strong> Figure 1:<\/strong> LinkedIn jobs recommender systems (source: <a href=\"https:\/\/www.quora.com\/How-does-LinkedIns-recommendation-system-work\"  rel=\"noreferrer noopener\">Quora<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>In this lesson, we will cover several aspects of LinkedIn recommendations (e.g., feed recommendations, talent recommendations, course recommendations) and how they work behind the scenes.<\/p>\n<p>This lesson is the last in a 3-part series on <strong>Deep Dive into Popular Recommendation Engines 101<\/strong>:<\/p>\n<ol>\n<li><a href=\"https:\/\/pyimg.co\/9kf03\"  rel=\"noreferrer noopener\"><em>Fundamentals of Recommendation Systems<\/em><\/a><\/li>\n<li><a href=\"https:\/\/pyimg.co\/sqd7x\"  rel=\"noreferrer noopener\"><em>Netflix Movies and Series Recommendation Systems<\/em><\/a><\/li>\n<li><a href=\"https:\/\/pyimg.co\/9ip27\"  rel=\"noreferrer noopener\"><strong><em>LinkedIn Jobs Recommendation Systems<\/em><\/strong><\/a><strong> (this tutorial)<\/strong><\/li>\n<\/ol>\n<p><strong>To learn how LinkedIn recommendations work, <\/strong><strong><em>just keep reading.<\/em><\/strong><\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h2BPTitle\"\/>\n<h2><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh2BPTitle\"><strong>LinkedIn Jobs Recommendation Systems<\/strong><\/a><\/h2>\n<p>Most of the LinkedIn recommendations are powered by artificial intelligence (AI) in some way or another. For example, LinkedIn uses AI in ways its members experience daily, like recommending the right job opportunities, encouraging them to connect with someone (\u201cPeople You May Know\u201d feature), providing relevant content on their feed, providing course suggestions to upgrade their skills, suggesting recruiters with the best talent for their job openings, etc.<\/p>\n<p>In this lesson, we will discuss LinkedIn\u2019s three major recommendation systems: Feed, recruiter search, and course recommendations.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h3Feed\"\/>\n<h3><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh3Feed\"><strong>Feed Recommendations<\/strong><\/a><\/h3>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4Feed\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4Feed\"><strong>LinkedIn Feed<\/strong><\/a><\/h4>\n<p>LinkedIn feed (<strong>Figure 2<\/strong>) is a sorted list of updates displayed to its members when they log in. It comprises a heterogeneous inventory of updates (e.g., articles shared by connected members, job recommendations, news recommendations, people you may know recommendations, stories mentioning companies the member follows, etc.).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh5.googleusercontent.com\/bWAVeq1DgVrHK9YTpCvtsKoZJMG9dS_vtmXet7wgd7ocnwpnV4KKoU9bglx-_PXL3MFEZR6kBu_tNkJvaHTJb6juEn9XqgZnyDEBZqyGZSXMubMyOA366UxBJ1VjxbsXE1SiYxKwxGVveUnAJl1BdnY\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/bWAVeq1DgVrHK9YTpCvtsKoZJMG9dS_vtmXet7wgd7ocnwpnV4KKoU9bglx-_PXL3MFEZR6kBu_tNkJvaHTJb6juEn9XqgZnyDEBZqyGZSXMubMyOA366UxBJ1VjxbsXE1SiYxKwxGVveUnAJl1BdnY\" alt=\"\" width=\"700\" height=\"339\"\/><\/a><figcaption><strong> Figure 2:<\/strong> LinkedIn feed on mobile and desktop apps (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2018\/03\/a-look-behind-the-ai-that-powers-linkedins-feed--sifting-through\"  rel=\"noreferrer noopener\">Jurka et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>The feed aims to keep LinkedIn members updated and informed in their professional world. Feed recommendation estimates the utility of an update for a particular member. It is similar to a recommendation system that suggests movies but with a few twists.<\/p>\n<p>Most members interact heavily with the feed by scrolling down. Therefore, displaying where the member will likely engage in interactive sessions rather than the latest feed is very important. Furthermore, the feedback collected is based on members\u2019 implicit actions (e.g., time spent on a feed, clicks, comments, likes, etc.) rather than explicit actions (e.g., rating the feed on a scale of 1-5 as done for movies).<\/p>\n<p>Incorporating LinkedIn\u2019s social graph in recommendations is another important aspect, as members often find updates shared, liked, or commented on by their connections relevant. Moreover, members are incentivized to update their profiles as it attracts other people and companies. This allows LinkedIn\u2019s feed recommendation system to access high-quality data about members\u2019 interests, skills, and backgrounds.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4FPR\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4FPR\"><strong>First Pass Rankers<\/strong><\/a><\/h4>\n<p>The LinkedIn feed recommendation system (<strong>Figure 3<\/strong>) comprises two engines: First Pass Rankers (FPRs) and Second Pass Rankers (SPRs). First Pass Rankers are responsible for separately ranking items according to user relevance for each inventory (i.e., articles, news, jobs, connections, etc.). Top-k items from each inventory (ranked by FPRs) are then passed through Second Pass Rankers (SPRs), which combine all these outputs from FPRs to create a single personalized ranked list. After SPR, the ranked list is passed to a re-ranker that modifies the output of SPR and creates the final list of feeds to be displayed on the homepage.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh5.googleusercontent.com\/kCLVtgwHGz_pmyO6zRUq1vDB53hwF3y1wktbDxilVdTntbKAQKZCgoMm6FEF2EiI_vLcqi8zcsBASRUeka-AMIGbrGyRbRnbwdwAdq1V1YJVmRb_7SEn59reqBhxWqIO7gMtblDTu4LUY1G8SI7mYBs\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/kCLVtgwHGz_pmyO6zRUq1vDB53hwF3y1wktbDxilVdTntbKAQKZCgoMm6FEF2EiI_vLcqi8zcsBASRUeka-AMIGbrGyRbRnbwdwAdq1V1YJVmRb_7SEn59reqBhxWqIO7gMtblDTu4LUY1G8SI7mYBs\" alt=\"\" width=\"700\" height=\"311\"\/><\/a><figcaption><strong> Figure 3:<\/strong> LinkedIn feed relevance system (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2019\/06\/community-focused-feed-optimization\"  rel=\"noreferrer noopener\">Mohamed and Li, LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p><strong>Figure 3<\/strong> shows the general architecture of the feed recommendation system. First, multiple FPRs (in the left part of the figure) feed the top-k items from different inventories into SPRs that combine all these ranked lists into a single ranked list which is sent to the front.<\/p>\n<p>Next, <strong>Figure 4 <\/strong>focuses on the FPRs, which pass top-k items from different inventories to the feed mixer (second pass ranker + re-ranker). One of the important FPRs is \u201cactivities from your network,\u201d which includes shares from people and companies that members follow. This source comprises 50% of updates shown in the LinkedIn feed.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh6.googleusercontent.com\/k2G9Wpkfuf4pTCK8kGeRkNk1tkBdqa3GFO41hfYNkWsWVIPUstg0P_qRNE7LwyCrmJAj1fcxjcojy1hUEcctPwdEhkqeWkqBp6UA-P04lzT1Ll-HAIHxEu6ao4dw24XFd1feCid0-m7QSScY10AaDBQ\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/k2G9Wpkfuf4pTCK8kGeRkNk1tkBdqa3GFO41hfYNkWsWVIPUstg0P_qRNE7LwyCrmJAj1fcxjcojy1hUEcctPwdEhkqeWkqBp6UA-P04lzT1Ll-HAIHxEu6ao4dw24XFd1feCid0-m7QSScY10AaDBQ\" alt=\"\" width=\"468\" height=\"500\"\/><\/a><figcaption><strong> Figure 4:<\/strong> First Pass Rankers (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2015\/11\/making-your-feed-more-relevant--part-i\"  rel=\"noreferrer noopener\">Guy Lebanon, LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>The reason for having multiple FPRs is that different teams having different domain expertise can own different FPRs allowing them to work efficiently. Furthermore, having a second pass maker will enable LinkedIn to use additional features and complex ranking rules, which otherwise would be costly if done for each FPR.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4SPR\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4SPR\"><strong>Second Pass Ranker<\/strong><\/a><\/h4>\n<p>The core of SPR (<strong>Figure 5<\/strong>) is a logistic regression model that takes the user profile (e.g., skills, interests, background), the feed candidate, and its FPR score as inputs and computes the probability that the member will interact with that update (e.g., like, comment, share, etc.).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh5.googleusercontent.com\/UT2epsH7BG2XOeIFAlA18EsLmP9TfUCRhkuD9mklHdEdqxTqMaoyU7OFXkcYtmVX0jPRJzbcuFDMQnNiJBpbVc8zWwqPTZpVRv3Ms8hJ0WmJVqJv2WPaPHGtKM28M3pUTQPU6L7hge6fEDaZ-Fx-g24\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/UT2epsH7BG2XOeIFAlA18EsLmP9TfUCRhkuD9mklHdEdqxTqMaoyU7OFXkcYtmVX0jPRJzbcuFDMQnNiJBpbVc8zWwqPTZpVRv3Ms8hJ0WmJVqJv2WPaPHGtKM28M3pUTQPU6L7hge6fEDaZ-Fx-g24\" alt=\"\" width=\"700\" height=\"215\"\/><\/a><figcaption><strong> Figure 5:<\/strong> Second Pass Ranker or Feed mixer (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2015\/11\/making-your-feed-more-relevant--part-i\"  rel=\"noreferrer noopener\">Guy Lebanon, LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>LinkedIn uses several metrics to measure the engagement level of a member with a feed item (e.g., number of clicks, likes, comments, follows, connects, re-shares, and whether the user scrolled down to view at least 10 updates, etc.). These metrics can then calculate the overall interaction per user, known as Click Through Rate (CTR), which is the probability that a member will click\/like\/share\/comment on a feed item shown to them.<\/p>\n<p>Metrics that capture immediate reaction to the feed are called upstream metrics (e.g., interactions or CTR). In contrast, downstream metrics capture the delayed reaction of the user to the feed (e.g., engaged feed sessions). In general, it is much easier to predict and optimize upstream metrics than downstream metrics.<\/p>\n<p>The logistic regression model estimates the CTR given user features and item features. Let <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6ed\/6ed1c08d3c82454881bc7d0a3e432b1b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{y}_{it}' title='\\hat{y}_{it}' class='latex' \/> be a binary variable to represent the interaction between user <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/865\/865c0c0b4ab0e063e5caa3387c1a8741-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='i' title='i' class='latex' \/> and update <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/e35\/e358efa489f58062f10dd7316b65649e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='t' title='t' class='latex' \/> (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/> if there is an iteration, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6bb\/6bb61e3b7bce0931da574d19d1d82c88-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='-1' title='-1' class='latex' \/> otherwise). Assuming <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/a06\/a06939a8b2fe0e85727890a888a7e06c-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{it}' title='X_{it}' class='latex' \/> be the features corresponding to user <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/865\/865c0c0b4ab0e063e5caa3387c1a8741-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='i' title='i' class='latex' \/> and item <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/e35\/e358efa489f58062f10dd7316b65649e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='t' title='t' class='latex' \/>, the logistic regression model can be written as:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8d7\/8d77ac190d81503ea2d6d5a0fc719842-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\log\\left(\\displaystyle\\frac{P(y_{it}=1 | \\text{user}=i, \\text{update}=t)}{1-P(y_{it}=1 | \\text{user}=i, \\text{update}=t)}\\right) = \\sum_j \\beta_j [X_{it}]_j,' title='\\log\\left(\\displaystyle\\frac{P(y_{it}=1 | \\text{user}=i, \\text{update}=t)}{1-P(y_{it}=1 | \\text{user}=i, \\text{update}=t)}\\right) = \\sum_j \\beta_j [X_{it}]_j,' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8d7\/8d77ac190d81503ea2d6d5a0fc719842-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 403w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8d7\/8d77ac190d81503ea2d6d5a0fc719842-ffffff-000000-0.png?size=126x13&#038;lossy=2&#038;strip=1&#038;webp=1 126w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8d7\/8d77ac190d81503ea2d6d5a0fc719842-ffffff-000000-0.png?size=252x26&#038;lossy=2&#038;strip=1&#038;webp=1 252w' sizes='(max-width: 403px) 100vw, 403px' \/><\/p>\n<p>where <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/35e\/35e985d710477a356d19570d41e41111-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\beta_j' title='\\beta_j' class='latex' \/> are the model parameters. The model is trained over fixed data collected over some time. For some <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/a5f\/a5f3c6a11b03839d46af9fb43c97c188-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='K' title='K' class='latex' \/> updates shown to a member, the ones where the member interacted are considered as positives (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/ace\/acec65f0a31089cf5776116a0ec6fbf6-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='y_{it} =1' title='y_{it} =1' class='latex' \/>), and others are considered as negatives (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/b27\/b27665d71627cc9c9180b0ad37ee0990-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='y_{it} =0' title='y_{it} =0' class='latex' \/>).<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4Evaluation\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4Evaluation\"><strong>Evaluation<\/strong><\/a><\/h4>\n<p>Offline evaluation is important before deploying the model in an online setting. LinkedIn uses two metrics for offline evaluation. The first one is the O\/E ratio which calculates the ratio of observed (predicted by the logistic regression model) and the expected probabilities (ground truth). If O\/E is less than <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/>, the CTR model overestimates pCTR probabilities. If it is greater than <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/>, the CTR model underestimates pCTR probabilities.<\/p>\n<p>The second metric is \u201cReplay,\u201d which runs the trained logistic regression model on random historical data and records when the new model recommends updates that the user interacted with.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4FeatureRepresentation\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4FeatureRepresentation\"><strong>Feature Representation<\/strong><\/a><\/h4>\n<p>Each feed activity (e.g., connection, like, share, update, etc.) is represented as a triplet (actor <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/363\/363b122c528f54df4a0446b6bab05515-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='j' title='j' class='latex' \/>, verb <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/9e3\/9e3669d19b675bd57058fd4664205d2a-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v' title='v' class='latex' \/>, and object <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/d95\/d95679752134a2d9eb61dbd7b91c4bcc-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='o' title='o' class='latex' \/>). So, for example, a member (actor) shared (verb) an update (object), a member (actor) updated (verb) his profile (object), etc. <strong>Table 1 <\/strong>shows the taxonomy of different feed activity triplets.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh4.googleusercontent.com\/K-fmXQwNyS5CRx0HxxMDr_vSLv4MVp7xZA52mvJNrCy-udaBw5rUgkR5_L4FUdZkHm96GBHHHMDrYFEodmqZqhju3cJHLgR8MLYYNLMSfjNoTbLlnBiLjBgeSb4IafSjw0Bek8SYgqAK2Nh-CPz5JnY\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/K-fmXQwNyS5CRx0HxxMDr_vSLv4MVp7xZA52mvJNrCy-udaBw5rUgkR5_L4FUdZkHm96GBHHHMDrYFEodmqZqhju3cJHLgR8MLYYNLMSfjNoTbLlnBiLjBgeSb4IafSjw0Bek8SYgqAK2Nh-CPz5JnY\" alt=\"\" width=\"700\" height=\"384\"\/><\/a><figcaption><strong> Table 1:<\/strong> Taxonomy of various feed activity triplets (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2016\/03\/making-your-feed-more-relevant--part-2--relevance-models-and-fea\"  rel=\"noreferrer noopener\">Guy Lebanon, LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>Let&#8217;s understand it more clearly by taking an example of activity <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/e35\/e358efa489f58062f10dd7316b65649e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='t' title='t' class='latex' \/> about a job opening (for a Java developer) shared by Microsoft. Here actor <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/363\/363b122c528f54df4a0446b6bab05515-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='j' title='j' class='latex' \/> is company Microsoft, verb <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/d95\/d95679752134a2d9eb61dbd7b91c4bcc-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='o' title='o' class='latex' \/> is sharing of jobs, and object <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/d95\/d95679752134a2d9eb61dbd7b91c4bcc-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='o' title='o' class='latex' \/> is the job description for Java developers.<\/p>\n<p>Now, for a user <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/865\/865c0c0b4ab0e063e5caa3387c1a8741-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='i' title='i' class='latex' \/> and the activity <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/e35\/e358efa489f58062f10dd7316b65649e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='t' title='t' class='latex' \/> (job posting from Microsoft), the feature <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/a06\/a06939a8b2fe0e85727890a888a7e06c-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{it}' title='X_{it}' class='latex' \/> used as input for the logistic regression model comprises the following features:<\/p>\n<ul>\n<li>User-only feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/a97\/a97118fb9e8d7e006a466bfc0771f888-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_i' title='X_i' class='latex' \/>, represents user profile, interests, skills, etc. (e.g., it will include features like if the user has expertise and experience in Java).<\/li>\n<li>Activity-only feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/ff4\/ff41056dec337b31678a729b1ecfcfb4-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_t' title='X_t' class='latex' \/>, representing activity type (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8ce\/8ce4b16b22b58894aa86c421e8759df3-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='k' title='k' class='latex' \/>), actor type (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/363\/363b122c528f54df4a0446b6bab05515-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='j' title='j' class='latex' \/>), verb type (<img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/9e3\/9e3669d19b675bd57058fd4664205d2a-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v' title='v' class='latex' \/>) and creation time, FPR score, activity impression time, popularity, etc. (e.g., how many likes, comments, and shares the job posting received).<\/li>\n<li>User-actor feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/293\/293d0536b3311ee8663909034780258d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{ij}' title='X_{ij}' class='latex' \/>, representing the interaction between user <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/865\/865c0c0b4ab0e063e5caa3387c1a8741-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='i' title='i' class='latex' \/> and actor <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/363\/363b122c528f54df4a0446b6bab05515-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='j' title='j' class='latex' \/> (of update <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/e35\/e358efa489f58062f10dd7316b65649e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='t' title='t' class='latex' \/>) (e.g., whether the user follows Microsoft or not).<\/li>\n<li>User-activity feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/77b\/77b1ae00459123e2d4e51f6af6a38310-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{ik}' title='X_{ik}' class='latex' \/>, captures the interaction between user <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/865\/865c0c0b4ab0e063e5caa3387c1a8741-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='i' title='i' class='latex' \/> and activity type <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8ce\/8ce4b16b22b58894aa86c421e8759df3-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='k' title='k' class='latex' \/> (e.g., whether the user is looking for a job or has recently applied to any job).<\/li>\n<li>User-actor-activity feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/fb0\/fb019c4acd6327d987bb89a971bae349-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{ijk}' title='X_{ijk}' class='latex' \/>, captures the interaction between user, actor, and activity type (e.g., whether the user applied to a job posting by Microsoft in the past or recently).<\/li>\n<li>User-object feature, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/fbf\/fbf1a479b7b7a9efd13b36851d54e178-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{io}' title='X_{io}' class='latex' \/>, capturing the interaction between user and object (e.g., whether the user is apt for the job posting).<\/li>\n<\/ul>\n<p>The feature <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/a06\/a06939a8b2fe0e85727890a888a7e06c-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{it}' title='X_{it}' class='latex' \/> is thus the concatenation of the above features, that is,<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6d2\/6d2e6b064dd473a9b6ba0b0c3aaaf43e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='X_{it} = (X_i, X_t, x_{ij}, X_{ik}, X_{ijk}, X_{io})' title='X_{it} = (X_i, X_t, x_{ij}, X_{ik}, X_{ijk}, X_{io})' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6d2\/6d2e6b064dd473a9b6ba0b0c3aaaf43e-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 226w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6d2\/6d2e6b064dd473a9b6ba0b0c3aaaf43e-ffffff-000000-0.png?size=126x11&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 226px) 100vw, 226px' \/><\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h3Recruiter\"\/>\n<h3><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh3Recruiter\"><strong>Recruiter Search Recommendations<\/strong><\/a><\/h3>\n<p>Recruiter Talent Search and Recommendations is one of the major offerings by LinkedIn that contributes to around 65% of its annual revenue. It provides a marketplace to connect job seekers with job providers by enabling recruiters and companies to reach out to potential candidates for their job openings.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4TalentSearch\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4TalentSearch\"><strong>LinkedIn Talent Search and Recommendations<\/strong><\/a><\/h4>\n<p>LinkedIn talent search recommendation system (<strong>Figure 6<\/strong>) provides a ranked list of potential candidates corresponding to a search query, which can be a text query, job description, etc. Given a search request (e.g., a software developer with a machine learning background ready to join in California), the candidates are ranked based on their experience with machine learning and expertise as a software developer, similarity of their work, living in California, and likelihood that they will respond to the job description.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh3.googleusercontent.com\/1UoUnhsDjyYv8ykYApFyBnwiMbRgaC09dZXCDLcVuNlmCxOP94uR3D84_VbkmMbrhP-jLKNJBJKD7Zf6gaRocR0Je_QoCBLCbuvKsROMdSA07jLL7M0Ngn4ZJT8CI3Onb_AltrGNvBCrIeeR764gkBI\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/1UoUnhsDjyYv8ykYApFyBnwiMbRgaC09dZXCDLcVuNlmCxOP94uR3D84_VbkmMbrhP-jLKNJBJKD7Zf6gaRocR0Je_QoCBLCbuvKsROMdSA07jLL7M0Ngn4ZJT8CI3Onb_AltrGNvBCrIeeR764gkBI\" alt=\"\" width=\"478\" height=\"500\"\/><\/a><figcaption><strong> Figure 6:<\/strong> Talent search and recommendations (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2019\/04\/ai-behind-linkedin-recruiter-search-and-recommendation-systems\"  rel=\"noreferrer noopener\">Guo et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>For each result shown by the recommender system, the recruiter can then perform three actions:<\/p>\n<ul>\n<li>View the candidate\u2019s profile<\/li>\n<li>Bookmark or save the candidate\u2019s profile for further evaluation<\/li>\n<li>Send an InMail to the candidate<\/li>\n<\/ul>\n<p>All these actions tell us that the recruiter finds the recommended candidate relevant for the job opening. However, suggesting a list of potential candidates that match the search query is inefficient if most are not interested in applying. Therefore, recommending talent to recruiters requires mutual interest between the recruiter and the candidate.<\/p>\n<p>Therefore, a new feature, \u201cInMail Accept,\u201d is provided by LinkedIn to record the event when the candidate positively responds to the InMail request sent by the recruiter. Thus a candidate recommendation is said to be relevant when the recruiter sends an InMail and candidates positively respond to it. <\/p>\n<p>The nature of search queries is usually complex, involving a combination of several structured fields (e.g., location, experience, etc.) and unstructured fields (e.g., free text). This makes the association between search queries and interested candidates complex and non-linear. Thus, LinkedIn leverages neural networks that can handle complex queries and capture the non-linear relationship between the query and the candidates. <\/p>\n<p>Given a query <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/769\/7694f4a66316e53c8cdd9d9954bd611d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='q' title='q' class='latex' \/> by a recruiter, we want to rank a list of LinkedIn members <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/fde\/fde4cb48e77b741a9c17501492770c3d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='m_1, m_2,\\dots, m_d' title='m_1, m_2,\\dots, m_d' class='latex' \/> in order of decreasing relevance. In other words, we want to learn a function that assigns scores to each candidate based on their relevance to the query provided by the recruiter. To achieve this, LinkedIn knows the dense vector representations of question and member in a common subspace and then performs the final scoring afterward (e.g., cosine similarity between both vectors). There are two approaches to learning these representations: unsupervised and supervised.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4UnsupervisedApproach\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4UnsupervisedApproach\"><strong>Unsupervised Approach<\/strong><\/a><\/h4>\n<p>LinkedIn entities like skill, title, company, institution or school, and location (mentioned in query and member profile) are categorical and suffer from sparsity because of the large search space. This makes learning dense embeddings for these entities difficult to use traditional approaches like <a href=\"https:\/\/pyimagesearch.com\/2022\/07\/11\/word2vec-a-study-of-embeddings-in-nlp\/\"  rel=\"noreferrer noopener\">Word2vec<\/a>. LinkedIn thus uses its economic graph to learn dense representations for these entities.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h5EconomicGraph\"\/>\n<h5><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh5EconomicGraph\"><strong>LinkedIn\u2019s Economic Graph<\/strong><\/a><\/h5>\n<p><a href=\"https:\/\/economicgraph.linkedin.com\/\"  rel=\"noreferrer noopener\">LinkedIn\u2019s Economic Graph<\/a> is a digital representation of its economy based on data from over 500 million members, tens of thousands of standardized skills, employers and open jobs, and tens of thousands of educational institutions, along with the relationships between these entities. Vertices represent the network members, and edges represent the intensity of interaction (e.g., clicks, likes, shares, social actions, etc.) between the two members. <\/p>\n<p>However, the economic graph is large and sparse, which results in intractable models and noisy embeddings. Hence, LinkedIn uses an entity graph, a sub-network of the economic graph representing only entities (skill, title, company) whose dense representations need to be learned. <\/p>\n<p><strong>Figure 7 <\/strong>shows the entity graph representing companies. Each vertex represents a company, and an edge between two companies represents the LinkedIn members who have worked in both companies. In this example, the aim will be to calculate the dense representation of each company. Similar graphs can be constructed for other entity types (e.g., skills and schools).<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh4.googleusercontent.com\/CfubjH23scT_YEwWXmdd9skj37U_er75wKWFSIfZ8fKTstpm2SRyb7keveIGJYXTmHsSilRyFMQyWZXtOhlc7eVEnQjYXwlhP5Hqp1BAWI4EjPLkPnn7Y0cz1e_st3CwohDSJ-yx2YxIYDLwWz2Wd7k\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/CfubjH23scT_YEwWXmdd9skj37U_er75wKWFSIfZ8fKTstpm2SRyb7keveIGJYXTmHsSilRyFMQyWZXtOhlc7eVEnQjYXwlhP5Hqp1BAWI4EjPLkPnn7Y0cz1e_st3CwohDSJ-yx2YxIYDLwWz2Wd7k\" alt=\"\" width=\"660\" height=\"500\"\/><\/a><figcaption><strong> Figure 7:<\/strong> Company entity graph (source: <a href=\"https:\/\/arxiv.org\/pdf\/1809.06473.pdf\"  rel=\"noreferrer noopener\">Ramanath et al.<\/a>).<\/figcaption><\/figure>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h5First-OrderEmbeddings\"\/>\n<h5><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh5First-OrderEmbeddings\"><strong>First-Order Embeddings<\/strong><\/a><\/h5>\n<p>First-order embeddings are generated based on the observation that vertices connected by an edge are similar. We define a joint probability distribution between vertices <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/b04\/b047f24e2fa0d6c8825b03766e27b0b5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_j' title='v_j' class='latex' \/> connected by an edge of weight <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/322\/322b227441558f0ed48aba836d0caf6f-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='w_{ij}' title='w_{ij}' class='latex' \/> as follows:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0b3\/0b3599106abeaa05e774a9462d0fdecf-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='p_1(v_i, v_j) = \\displaystyle\\frac{\\sigma(\\langle u_i, u_j \\rangle)}{\\sum_{(v_m, v_n) \\in E} \\sigma(\\langle u_m, u_n \\rangle)},' title='p_1(v_i, v_j) = \\displaystyle\\frac{\\sigma(\\langle u_i, u_j \\rangle)}{\\sum_{(v_m, v_n) \\in E} \\sigma(\\langle u_m, u_n \\rangle)},' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0b3\/0b3599106abeaa05e774a9462d0fdecf-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 250w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0b3\/0b3599106abeaa05e774a9462d0fdecf-ffffff-000000-0.png?size=126x23&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 250px) 100vw, 250px' \/><\/p>\n<p>where <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/f7a\/f7a2a4bf000cbfb327e6d8c919d9ac0f-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u_i \\in \\Re^d' title='u_i \\in \\Re^d' class='latex' \/> is the <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/827\/8277e0910d750195b448797616e091ad-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='d' title='d' class='latex' \/>-dimensional embedding of vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/99d\/99dc6615bae5ad708a6b9e403f793198-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i, \\langle .,. \\rangle' title='v_i, \\langle .,. \\rangle' class='latex' \/> represents the dot product between two vectors, and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/9e4\/9e41fca8c3d581861c7657b9456a5d46-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\sigma(x)  = \\frac{1}{1+\\exp(-x)}' title='\\sigma(x)  = \\frac{1}{1+\\exp(-x)}' class='latex' \/> is the sigmoid function. Set <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/3a3\/3a3ea00cfc35332cedf6e5e9a32e94da-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='E' title='E' class='latex' \/> consists of all edges of the entity graph. Next, we can define an empirical joint distribution between vertices <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/b04\/b047f24e2fa0d6c8825b03766e27b0b5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_j' title='v_j' class='latex' \/> as follows:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/457\/4574e57835ade9109ea3db21b0dac517-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{p}_1(v_i, v_j) = \\displaystyle\\frac{w_{ij}}{\\sum_{(v_m, v_n) \\in E} w_{mn}}' title='\\hat{p}_1(v_i, v_j) = \\displaystyle\\frac{w_{ij}}{\\sum_{(v_m, v_n) \\in E} w_{mn}}' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/457\/4574e57835ade9109ea3db21b0dac517-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 195w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/457\/4574e57835ade9109ea3db21b0dac517-ffffff-000000-0.png?size=126x25&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 195px) 100vw, 195px' \/><\/p>\n<p>Finally, to learn embeddings <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/eb0\/eb00a04135562ae6f74786f084f54327-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u_i' title='u_i' class='latex' \/>, we minimize the Kullback-Leibler (KL) divergence between <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/03b\/03b632315ee5bee654b60a6bd902a249-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='p_1' title='p_1' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0cc\/0ccf00b197e54916535e4485151113cd-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{p}_1' title='\\hat{p}_1' class='latex' \/> with respect to embeddings to preserve the first-order proximity:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/412\/41213af6d3cd4cda7b204d462dcd65f0-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='O_1 = \\sum_{(v_i, v_j) \\in E}  \\hat{p}_1(v_i, v_j) \\log \\displaystyle\\frac{p_1(v_i, v_j) }{\\hat{p}_1(v_i, v_j)}' title='O_1 = \\sum_{(v_i, v_j) \\in E}  \\hat{p}_1(v_i, v_j) \\log \\displaystyle\\frac{p_1(v_i, v_j) }{\\hat{p}_1(v_i, v_j)}' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/412\/41213af6d3cd4cda7b204d462dcd65f0-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 264w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/412\/41213af6d3cd4cda7b204d462dcd65f0-ffffff-000000-0.png?size=126x20&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 264px) 100vw, 264px' \/><\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h5Second-OrderEmbeddings\"\/>\n<h5><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh5Second-OrderEmbeddings\"><strong>Second-Order Embeddings<\/strong><\/a><\/h5>\n<p>Second-order embeddings are generated based on the observation that vertices having shared neighbors are similar. In this case, a vertex plays two roles: the vertex itself and the specific context for the other vertex. To represent this, we define the probability of a context vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/b04\/b047f24e2fa0d6c8825b03766e27b0b5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_j' title='v_j' class='latex' \/> being generated by a vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/> as follows:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/57c\/57ce60a79345142ee41769b9618e96ee-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='p_2(v_j | v_i) = \\displaystyle\\frac{\\exp(\\langle u^\\prime_j, u_i \\rangle)}{\\sum_{k=1}^\\vert V \\vert \\exp(\\langle u^\\prime_k, u_i \\rangle)},' title='p_2(v_j | v_i) = \\displaystyle\\frac{\\exp(\\langle u^\\prime_j, u_i \\rangle)}{\\sum_{k=1}^\\vert V \\vert \\exp(\\langle u^\\prime_k, u_i \\rangle)},' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/57c\/57ce60a79345142ee41769b9618e96ee-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 240w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/57c\/57ce60a79345142ee41769b9618e96ee-ffffff-000000-0.png?size=126x25&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 240px) 100vw, 240px' \/><\/p>\n<p>where <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/98d\/98d1bcb6eeedf8b6afe3c4510a4906d5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u^\\prime_i' title='u^\\prime_i' class='latex' \/> represents the second-order embedding of vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/> used when it is treated as a context, and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c1e\/c1e17396eb5a76911034a1c66adac871-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\vert V \\vert' title='\\vert V \\vert' class='latex' \/> is the total number of vertices in the entity graph.<\/p>\n<p>The empirical probability can be written as follows:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0ea\/0eab9871a798240d5454296dd864666a-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{p}_2(v_j | v_i) = \\displaystyle\\frac{w_{ij}}{\\sum_{v_k: (v_i, v_k) \\in E} w_{ik}}' title='\\hat{p}_2(v_j | v_i) = \\displaystyle\\frac{w_{ij}}{\\sum_{v_k: (v_i, v_k) \\in E} w_{ik}}' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0ea\/0eab9871a798240d5454296dd864666a-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 194w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/0ea\/0eab9871a798240d5454296dd864666a-ffffff-000000-0.png?size=126x25&#038;lossy=2&#038;strip=1&#038;webp=1 126w' sizes='(max-width: 194px) 100vw, 194px' \/><\/p>\n<p>Finally, to learn embeddings <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/eb0\/eb00a04135562ae6f74786f084f54327-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u_i' title='u_i' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/98d\/98d1bcb6eeedf8b6afe3c4510a4906d5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u^\\prime_i' title='u^\\prime_i' class='latex' \/>, we minimize the KL divergence between <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6fe\/6fe97b358b528edc477ba63d50b652af-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='p_2' title='p_2' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/07c\/07c845ba06c7540f2553a3f90cb56bda-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{p}_2' title='\\hat{p}_2' class='latex' \/> with respect to embeddings to preserve the second-order proximity:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8b4\/8b4339cd2d8ac9908061fa37ec3f8d8c-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='O_2 = \\sum_{v_i \\in V} \\lambda_i \\cdot \\sum_{v_j: (v_i, v_j) \\in E} \\hat{p}_2(v_j | v_i) \\log \\displaystyle\\frac{p_2(v_j | v_i) }{\\hat{p}_2(v_j | v_i)},' title='O_2 = \\sum_{v_i \\in V} \\lambda_i \\cdot \\sum_{v_j: (v_i, v_j) \\in E} \\hat{p}_2(v_j | v_i) \\log \\displaystyle\\frac{p_2(v_j | v_i) }{\\hat{p}_2(v_j | v_i)},' class='latex' srcset='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8b4\/8b4339cd2d8ac9908061fa37ec3f8d8c-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1 352w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8b4\/8b4339cd2d8ac9908061fa37ec3f8d8c-ffffff-000000-0.png?size=126x15&#038;lossy=2&#038;strip=1&#038;webp=1 126w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8b4\/8b4339cd2d8ac9908061fa37ec3f8d8c-ffffff-000000-0.png?size=252x29&#038;lossy=2&#038;strip=1&#038;webp=1 252w' sizes='(max-width: 352px) 100vw, 352px' \/><\/p>\n<p>where <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/561\/5614371f803f8a78b18b27391549a107-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\lambda_i' title='\\lambda_i' class='latex' \/> is the degree of vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/> representing its importance in the entity graph.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h5ComputingRelevance\"\/>\n<h5><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh5ComputingRelevance\"><strong>Computing Relevance<\/strong><\/a><\/h5>\n<p>After obtaining the first- and second-order embeddings <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/eb0\/eb00a04135562ae6f74786f084f54327-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u_i' title='u_i' class='latex' \/> and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/98d\/98d1bcb6eeedf8b6afe3c4510a4906d5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='u^\\prime_i' title='u^\\prime_i' class='latex' \/> for a vertex <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/1df\/1df181eaa1bb40a0067c06ead197170d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='v_i' title='v_i' class='latex' \/>, each entity (the company in our case) can now be represented as a single vector by concatenating its first- and second-order embeddings <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/364\/364799c8ef1e1e42aeda83303a3cfb16-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='[u_i, u^\\prime_i]' title='[u_i, u^\\prime_i]' class='latex' \/>.<\/p>\n<p>Each query and member can be represented by a bag of companies (i.e., a query can contain multiple companies referenced in the search terms, and a member could have worked at multiple companies, which is manifested on the profile). <\/p>\n<p>Thus, we can represent each query and member as a point on vector space with a simple pooling operation (max-pooling or mean-pooling) over the bag companies. A similarity function between two vector representations can be used as a feature ranking.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4SupervisedApproach\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4SupervisedApproach\"><strong>Supervised Approach<\/strong><\/a><\/h4>\n<p>The supervised approach (<strong>Figure 8<\/strong>) to learning dense representations for query and member involves training three neural networks:<\/p>\n<ul>\n<li>A query network <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/5ef\/5ef43b432f54a5a1d57ece33a896a0ba-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\phi_q(.)' title='\\phi_q(.)' class='latex' \/> that embeds a given query to a fixed dimensional latent space.<\/li>\n<li>A member network <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/59e\/59edeea793edeb6892b3f5ed206e7ebb-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\phi_m(.)' title='\\phi_m(.)' class='latex' \/> embeds a given member to a fixed dimensional latent space.<\/li>\n<li>A cross-network <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/fd4\/fd411bfd8ef2a1ef77224d63305b2ca5-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='f(.)' title='f(.)' class='latex' \/> that takes a query and member embeddings and computes their relevance score.<\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh4.googleusercontent.com\/PpAXCNwCKepewML8weIYMT1I8KvBDQG49Fw5zxbuWnl4w54_KEvis8nXDW8Wt-HrHAm-jnMhMJW7xw6ZoV-yEw1Go_n4RPsI7y6vwOSnSgOp5QFZnwHFdOjDt8U01pzbIY1vKWUFI4D2BGGYmiiJSRI\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/PpAXCNwCKepewML8weIYMT1I8KvBDQG49Fw5zxbuWnl4w54_KEvis8nXDW8Wt-HrHAm-jnMhMJW7xw6ZoV-yEw1Go_n4RPsI7y6vwOSnSgOp5QFZnwHFdOjDt8U01pzbIY1vKWUFI4D2BGGYmiiJSRI\" alt=\"\" width=\"603\" height=\"500\"\/><\/a><figcaption><strong> Figure 8:<\/strong> Supervised approach for learning entity representations (source: <a href=\"https:\/\/arxiv.org\/pdf\/1809.06473.pdf\"  rel=\"noreferrer noopener\">Ramanath et al.<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>In other words, the predicted relevance score <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/5d2\/5d28a7ba1a44a73b8c2ed21321697c59-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{y}' title='\\hat{y}' class='latex' \/> for a query <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/769\/7694f4a66316e53c8cdd9d9954bd611d-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='q' title='q' class='latex' \/> and member <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/6f8\/6f8f57715090da2632453988d9a1501b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='m' title='m' class='latex' \/> is computed as:<\/p>\n<p class=\"has-text-align-center\"><img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/b77\/b77592fa77026a8d00522d5fa324e024-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='\\hat{y} = f(\\phi_q(q), \\phi_q(m))' title='\\hat{y} = f(\\phi_q(q), \\phi_q(m))' class='latex' \/><\/p>\n<p>The cross-network can be a neural network of a similarity function such as cosine similarity.<\/p>\n<p>These three models are trained over historically collected triplets <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c23\/c23dcbea49e14e1121c9869a03c578a2-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='(q_i, m_i, y_i)' title='(q_i, m_i, y_i)' class='latex' \/>, where <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/da3\/da326f7200e158a864695985b2e2f095-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='q_i' title='q_i' class='latex' \/> is the query provided by the recruiter, <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/342\/342e772474b691ac87dac30aeef596c0-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='m_i' title='m_i' class='latex' \/> is a member profile, and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/8d6\/8d62e469fb30ed435a668eb5c035b1f6-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='y_i' title='y_i' class='latex' \/> is a binary label which is <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/> if the member was relevant to query and also accepted recruiter InMail request and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/cfc\/cfcd208495d565ef66e7dff9f98764da-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='0' title='0' class='latex' \/> otherwise (either candidate is not relevant to the query or s\/he didn\u2019t accept the InMail).<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h3CourseRecommendations\"\/>\n<h3><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh3CourseRecommendations\"><strong>Course Recommendations<\/strong><\/a><\/h3>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4LinkedInLearning\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4LinkedInLearning\"><strong>LinkedIn Learning<\/strong><\/a><\/h4>\n<p>LinkedIn Learning (<strong>Figure 9<\/strong>) is a platform that allows members to develop relevant skills through courses to advance their professional careers. Over the last few years, LinkedIn has developed a course recommendation system that recommends relevant courses to its members based on their interests and learning aspirations.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh6.googleusercontent.com\/KdiJj5COLRqUswON0Xtk3AAV-IBUcEOnWue_uOI8F8lYgTlsqzE0ODAF6aAXBslpSb7FF-cFl4w8r2gLo8_VYcCX0oBlMvHz4yFvTcEu5e90kvLv1KiLLhid_8ZWpKuKz1XYuTyTaRRHDiDAXxK9cOE\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/KdiJj5COLRqUswON0Xtk3AAV-IBUcEOnWue_uOI8F8lYgTlsqzE0ODAF6aAXBslpSb7FF-cFl4w8r2gLo8_VYcCX0oBlMvHz4yFvTcEu5e90kvLv1KiLLhid_8ZWpKuKz1XYuTyTaRRHDiDAXxK9cOE\" alt=\"\" width=\"700\" height=\"398\"\/><\/a><figcaption><strong> Figure 9:<\/strong> LinkedIn course recommendations (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2020\/course-recommendations-ai-part-one\"  rel=\"noreferrer noopener\">Chaudhari et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>The goal of the course recommendation system is to provide personalized courses to its members so that it helps them advance their professional careers. The recommendation system (<strong>Figure 10<\/strong>) consists of three major blocks:<\/p>\n<ul>\n<li><strong>Collaborative filtering:<\/strong> This block uses collaborative filtering algorithms to recommend courses to a member based on preferences from many users.<\/li>\n<li><strong>Response prediction:<\/strong> This system predicts the member-course relevance using the learner&#8217;s profile features (e.g., skills and industry) and course metadata (e.g., course difficulty, category, and skills).<\/li>\n<li><strong>Blending:<\/strong> This block combines the recommendations from collaborative filtering and response prediction to determine every learner&#8217;s final set of courses. This is an online component, so the offers from each model are fetched upon request. <\/li>\n<\/ul>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/lh6.googleusercontent.com\/1I38QtNm5CMfO6COzSab2wEHbXqtU3bXtF38l-i1oWr_My0x6NpnnbDyxS_ovNeIoKvKGjl1YATjH4hx5ZyWd9w6IY0lNXPTiwLElK6tkK38XWuG6Ei-cuRRPoDr1fMJTRg8do7Yz-CGsrcwU9LcNlU\"  rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/1I38QtNm5CMfO6COzSab2wEHbXqtU3bXtF38l-i1oWr_My0x6NpnnbDyxS_ovNeIoKvKGjl1YATjH4hx5ZyWd9w6IY0lNXPTiwLElK6tkK38XWuG6Ei-cuRRPoDr1fMJTRg8do7Yz-CGsrcwU9LcNlU\" alt=\"\"\/><\/a><figcaption><strong> Figure 10:<\/strong> LinkedIn course recommendation system \u2014 collaborative filtering and response prediction (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2020\/course-recommendations-ai-part-one\"  rel=\"noreferrer noopener\">Chaudhari et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4CollaborativeFiltering\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4CollaborativeFiltering\"><strong>Collaborative Filtering<\/strong><\/a><\/h4>\n<p>Typically there are three collaborative filtering algorithms: user-item-based utility, matrix factorization technique, and deep neural network-based approach. However, due to the popularity and efficacy of deep learning algorithms, LinkedIn adopts a neural collaborative filtering approach (<strong>Figure 11<\/strong>) consisting of three networks: course, learner, and output. <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh6.googleusercontent.com\/UIXZ0eepDGE1VPsUKx0qmBJvd7ygVJXswFVoERXspPV1NvvIOoMAsBj3UZNyUBG4nirdcqSGnTvEJkD0ytnq1yEejfhU4FWDjaKH5dyUNnCql_wQGENa_pcPenL1lDLOkK4Kt4qRPG_HNdKTIoLp8rA\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/UIXZ0eepDGE1VPsUKx0qmBJvd7ygVJXswFVoERXspPV1NvvIOoMAsBj3UZNyUBG4nirdcqSGnTvEJkD0ytnq1yEejfhU4FWDjaKH5dyUNnCql_wQGENa_pcPenL1lDLOkK4Kt4qRPG_HNdKTIoLp8rA\" alt=\"\" width=\"405\" height=\"500\"\/><\/a><figcaption><strong> Figure 11:<\/strong> Neural collaborative filtering for course-learner relevance (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2020\/course-recommendations-ai-part-two\"  rel=\"noreferrer noopener\">Chaudhari et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>Learner and course networks input course and learner features and generate learner and course embeddings. The output network then computes the ranking score between the learner and course embeddings, which creates a list of course recommendations for each learner.<\/p>\n<p>The input to the learner&#8217;s network is a sparse vector of all courses watched by that learner in the past year (<strong>Figure 12<\/strong>). For example, for a learner who has watched two courses, the learner input vector will have non-zero values for those courses and zero for others. The input to the course&#8217;s network is a vector representing the similarity of that course with other courses (<strong>Figure 12<\/strong>). These similarities are computed beforehand based on their co-watching patterns.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh4.googleusercontent.com\/cBTpRI-IflmpIRYSpZ_jahsi9RrLijLrzAH30gdL8SIKC_1gnlsvYxYjmAyC6fTFwtW-OOE0rDKcN9X_cDUnyzfx_3lduyYEpsmolDe152fZLJMtbilZkODbPBb9BdwgOgEN0GpknDpnXYCrIZ_pDmk\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/cBTpRI-IflmpIRYSpZ_jahsi9RrLijLrzAH30gdL8SIKC_1gnlsvYxYjmAyC6fTFwtW-OOE0rDKcN9X_cDUnyzfx_3lduyYEpsmolDe152fZLJMtbilZkODbPBb9BdwgOgEN0GpknDpnXYCrIZ_pDmk\" alt=\"\" width=\"700\" height=\"214\"\/><\/a><figcaption><strong> Figure 12:<\/strong> Learner and course features (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2020\/course-recommendations-ai-part-two\"  rel=\"noreferrer noopener\">Chaudhari et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>LinkedIn generates binary labels for all learner-course pairs based on historical learner watch history to train the collaborative filtering model. A label of <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/> denotes that the course is relevant to the learner, whereas a label of <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/cfc\/cfcd208495d565ef66e7dff9f98764da-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='0' title='0' class='latex' \/> denotes the course is not relevant to the learner. <\/p>\n<p>A course is considered relevant for the learner if the learner has watched the course up to a certain duration. If a learner has only watched the first 10 seconds of a course, that engagement does not impact the model like viewing a full course session.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h4ResponsePrediction\"\/>\n<h4><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh4ResponsePrediction\"><strong>Response Prediction<\/strong><\/a><\/h4>\n<p>Response prediction aims to estimate the relevance of a course for a learner by using learner-level features (e.g., skills, industry, etc.) and course-level features (e.g., course difficulty, course category, and course skills, etc.). LinkedIn uses the Generalized Linear Mixture Model (GLMix) (<strong>Figure 13<\/strong>) for response prediction.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><a href=\"https:\/\/lh5.googleusercontent.com\/ulLgBeSp8I5wrfF_RLIcIHj-hKOqENvUdDS4rq8YN9x2U0V0OvXBkxhJV47R5Tsp_JBKTkra8Q7aoyEmmB3Rw3X9XVVXODY3_Jkoy50ufkZlkzjU-z6CpnPIdxW4DO6jMgm8K9WOBz03EyJAz1ZV1yk\"  rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/ulLgBeSp8I5wrfF_RLIcIHj-hKOqENvUdDS4rq8YN9x2U0V0OvXBkxhJV47R5Tsp_JBKTkra8Q7aoyEmmB3Rw3X9XVVXODY3_Jkoy50ufkZlkzjU-z6CpnPIdxW4DO6jMgm8K9WOBz03EyJAz1ZV1yk\" alt=\"\" width=\"700\" height=\"230\"\/><\/a><figcaption><strong> Figure 13:<\/strong> GLMix architecture (source: <a href=\"https:\/\/engineering.linkedin.com\/blog\/2020\/course-recommendations-ai-part-two\"  rel=\"noreferrer noopener\">Chaudhari et al., LinkedIn Engineering<\/a>).<\/figcaption><\/figure>\n<\/div>\n<p>Apart from learning fixed or global model coefficients, GLMix also knows learner-level coefficients based on their engagements with courses and course-level coefficients based on engagement actions of a course. Learning learner and course-level coefficients are important for personalization as they capture the learner&#8217;s unique interests.<\/p>\n<p>The predicted score in GLMix is the sum of the three components: global, learner-level, and course-level models.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<div id=\"pitch\" style=\"padding: 40px; width: 100%; background-color: #F4F6FA;\">\n<h3>What&#8217;s next? I recommend <a  href=\"https:\/\/pyimagesearch.com\/pyimagesearch-university\/?utm_source=blogPost&#038;utm_medium=bottomBanner&#038;utm_campaign=What%27s%20next%3F%20I%20recommend\">PyImageSearch University<\/a>.<\/h3>\n<p>\t<script src=\"https:\/\/fast.wistia.com\/embed\/medias\/kno0cmko2z.jsonp\" async><\/script><script src=\"https:\/\/fast.wistia.com\/assets\/external\/E-v1.js\" async><\/script><\/p>\n<div class=\"wistia_responsive_padding\" style=\"padding:56.25% 0 0 0;position:relative;\">\n<div class=\"wistia_responsive_wrapper\" style=\"height:100%;left:0;position:absolute;top:0;width:100%;\">\n<div class=\"wistia_embed wistia_async_kno0cmko2z videoFoam=true\" style=\"height:100%;position:relative;width:100%\">\n<div class=\"wistia_swatch\" style=\"height:100%;left:0;opacity:0;overflow:hidden;position:absolute;top:0;transition:opacity 200ms;width:100%;\"><img decoding=\"async\" src=\"https:\/\/fast.wistia.com\/embed\/medias\/kno0cmko2z\/swatch\" style=\"filter:blur(5px);height:100%;object-fit:contain;width:100%;\" alt=\"\" aria-hidden=\"true\" onload=\"this.parentNode.style.opacity=1;\" \/><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div style=\"margin-top: 32px; margin-bottom: 32px; \">\n\t\t<strong>Course information:<\/strong><br \/>\n\t\t80 total classes \u2022 105+ hours of on-demand code walkthrough videos \u2022 Last updated: September 2023<br \/>\n\t\t<span style=\"color: #169FE6;\">\u2605\u2605\u2605\u2605\u2605<\/span> 4.84 (128 Ratings) \u2022 16,000+ Students Enrolled\n\t<\/div>\n<p><strong>I strongly believe that if you had the right teacher you could <em>master<\/em> computer vision and deep learning.<\/strong><\/p>\n<p>Do you think learning computer vision and deep learning has to be time-consuming, overwhelming, and complicated? Or has to involve complex mathematics and equations? Or requires a degree in computer science?<\/p>\n<p>That\u2019s <em>not<\/em> the case.<\/p>\n<p>All you need to master computer vision and deep learning is for someone to explain things to you in <em>simple, intuitive<\/em> terms. <em>And that\u2019s exactly what I do<\/em>. My mission is to change education and how complex Artificial Intelligence topics are taught.<\/p>\n<p>If you&#8217;re serious about learning computer vision, your next stop should be PyImageSearch University, the most comprehensive computer vision, deep learning, and OpenCV course online today. Here you\u2019ll learn how to <em>successfully<\/em> and <em>confidently<\/em> apply computer vision to your work, research, and projects. Join me in computer vision mastery.<\/p>\n<p><strong>Inside PyImageSearch University you&#8217;ll find:<\/strong><\/p>\n<ul style=\"margin-left: 0px;\">\n<li style=\"list-style: none;\">&check; <strong>80 courses<\/strong> on essential computer vision, deep learning, and OpenCV topics<\/li>\n<li style=\"list-style: none;\">&check; <strong>80 Certificates<\/strong> of Completion<\/li>\n<li style=\"list-style: none;\">&check; <strong>105+ hours<\/strong> of on-demand video<\/li>\n<li style=\"list-style: none;\">&check; <strong>Brand new courses released <em>regularly<\/em><\/strong>, ensuring you can keep up with state-of-the-art techniques<\/li>\n<li style=\"list-style: none;\">&check; <strong>Pre-configured Jupyter Notebooks in Google Colab<\/strong><\/li>\n<li style=\"list-style: none;\">&check; Run all code examples in your web browser \u2014 works on Windows, macOS, and Linux (no dev environment configuration required!)<\/li>\n<li style=\"list-style: none;\">&check; Access to <strong>centralized code repos for <em>all<\/em> 520+ tutorials<\/strong> on PyImageSearch<\/li>\n<li style=\"list-style: none;\">&check; <strong> Easy one-click downloads<\/strong> for code, datasets, pre-trained models, etc.<\/li>\n<li style=\"list-style: none;\">&check; <strong>Access<\/strong> on mobile, laptop, desktop, etc.<\/li>\n<\/ul>\n<p style=\"text-align: center;\">\n\t\t<a  class=\"button link\" href=\"https:\/\/pyimagesearch.com\/pyimagesearch-university\/?utm_source=blogPost&#038;utm_medium=bottomBanner&#038;utm_campaign=What%27s%20next%3F%20I%20recommend\" style=\"background-color: #6DC713; border-bottom: none;\">Click here to join PyImageSearch University<\/a>\n\t<\/p>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h2Summary\"\/>\n<h2><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh2Summary\"><strong>Summary<\/strong><\/a><\/h2>\n<p>In this lesson, we discussed LinkedIn recommendation systems. LinkedIn uses AI in ways its members see every day:<\/p>\n<ul>\n<li>Recommending the right job opportunities<\/li>\n<li>Encouraging them to connect with someone (\u201cPeople You May Know\u201d feature)<\/li>\n<li>Providing relevant content on their feed<\/li>\n<li>Providing course suggestions to upgrade their skills<\/li>\n<li>Suggesting recruiters with the best talent for their job openings<\/li>\n<\/ul>\n<p>We discussed how recommendation systems are used for LinkedIn feeds. The feed is a sorted list of heterogeneous updates (e.g., news, articles, jobs, connections, etc.) displayed to its members when they log in. <\/p>\n<p>The LinkedIn feed recommendation system comprises two engines: First Pass Rankers (FPRs) and Second Pass Rankers (SPRs). <\/p>\n<p>First Pass Rankers are responsible for separately ranking items according to user relevance for each inventory (e.g., articles, news, jobs, connections, etc.). Top-k items from each inventory (ranked by FPRs) are then passed through the Second Pass Ranker (SPR), which combines all these outputs from FPRs to create a single personalized ranked list. <\/p>\n<p>Next, we discussed LinkedIn talent search and recommendations that provide a marketplace to connect job seekers with job providers by enabling recruiters and companies to reach out to potential candidates for their job openings. The talent search and recommendation system learns a function that assigns scores to each candidate based on their relevance to the query provided by the recruiter. <\/p>\n<p>To achieve this, LinkedIn learns dense vector representations of query and member in a common subspace and then performs final scoring afterward. The unsupervised approach involves leveraging the entity graph, a sub-network of the economic graph representing only entities (skill, title, company) whose dense representations need to be learned. <\/p>\n<p>The supervised approach involves learning dense representations for query and member by training neural networks over historically collected query-member pairs and their corresponding binary label (a <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/c4c\/c4ca4238a0b923820dcc509a6f75849b-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='1' title='1' class='latex' \/> for member was relevant to the query and also accepted recruiter InMail request and <img src='https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/latex\/cfc\/cfcd208495d565ef66e7dff9f98764da-ffffff-000000-0.png?lossy=2&#038;strip=1&#038;webp=1' alt='0' title='0' class='latex' \/> otherwise).<\/p>\n<p>Lastly, we discussed LinkedIn course recommendations that allow members to develop relevant skills through courses to advance their professional careers. The recommendation system consists of two algorithms: collaborative filtering and response prediction. <\/p>\n<p>In collaborative filtering, LinkedIn adopts a neural collaborative filtering approach that takes course and learner features as input and computes the ranking score between the learner and course embeddings, which is used to create a list of course recommendations for each learner.<\/p>\n<p>In response prediction, it uses the Generalized Linear Mixture Model (GLMix) to estimate the relevance of a course for a learner by using learner-level features (e.g., skills, industry, etc.) and course-level features (e.g., course difficulty, course category, and course skills, etc.). <\/p>\n<p>However, this is just the tip of the iceberg, as there is much more to LinkedIn recommendation systems.<\/p>\n<p>Stay tuned for the next sequence of this course series, where we will discuss recommendation systems used on Amazon, YouTube, and Spotify.<\/p>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" id=\"h3Citation\"\/>\n<h3><a href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/#TOCh3Citation\"><strong>Citation Information<\/strong><\/a><\/h3>\n<p><strong>Mangla, P. <\/strong>\u201cLinkedIn Jobs Recommendation Systems,\u201d <em>PyImageSearch<\/em>, P. Chugh, A. R. Gosthipaty, S. Huot, K. Kidriavsteva, and R. Raha, eds., 2023, <a href=\"https:\/\/pyimg.co\/9ip27\"  rel=\"noreferrer noopener\">https:\/\/pyimg.co\/9ip27<\/a> <\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"classic\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"false\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@incollection{Mangla_2023_LinkedInJobs,\n  author = {Puneet Mangla},\n  title = {LinkedIn Jobs Recommendation Systems},\n  booktitle = {PyImageSearch},\n  editor = {Puneet Chugh and Aritra Roy Gosthipaty and Susan Huot and Kseniia Kidriavsteva and Ritwik Raha},\n  year = {2023},\n  url = {https:\/\/pyimg.co\/9ip27},\n}<\/pre>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<div style=\"padding: 40px; width: 100%; background-color: #F4F6FA;\">\n<img decoding=\"async\" src=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/05\/maskcv.png?lossy=2&#038;strip=1&#038;webp=1\" alt=\"Featured Image\" style=\"width: 100%; height: auto; margin-bottom: 20px;\" srcset=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/05\/maskcv.png?size=126x70&#038;lossy=2&#038;strip=1&#038;webp=1 126w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/05\/maskcv-300x166.png?lossy=2&#038;strip=1&#038;webp=1 300w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/05\/maskcv.png?size=378x209&#038;lossy=2&#038;strip=1&#038;webp=1 378w, https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2023\/05\/maskcv.png?lossy=2&#038;strip=1&#038;webp=1 500w\" sizes=\"(max-width: 500px) 100vw, 500px\"><\/p>\n<h3>Unleash the potential of computer vision with Roboflow &#8211; Free!<\/h3>\n<ul style=\"margin-left: 0px;\">\n<li style=\"list-style: none;\">Step into the realm of the future by <a  href=\"https:\/\/roboflow.com\/?ref=pyimagesearch\">signing up or logging into your Roboflow account<\/a>. Unlock a wealth of innovative dataset libraries and revolutionize your computer vision operations.<\/li>\n<li style=\"list-style: none;\">Jumpstart your journey by choosing from our broad array of datasets, or benefit from PyimageSearch\u2019s comprehensive library, crafted to cater to a wide range of requirements.<\/li>\n<li style=\"list-style: none;\">Transfer your data to Roboflow in any of the 40+ compatible formats. Leverage cutting-edge model architectures for training, and deploy seamlessly across diverse platforms, including API, NVIDIA, browser, iOS, and beyond. Integrate our platform effortlessly with your applications or your favorite third-party tools.<\/li>\n<li style=\"list-style: none;\">Equip yourself with the ability to train a potent computer vision model in a mere afternoon. With a few images, you can import data from any source via API, annotate images using our superior cloud-hosted tool, kickstart model training with a single click, and deploy the model via a hosted API endpoint. Tailor your process by opting for a code-centric approach, leveraging our intuitive, cloud-based UI, or combining both to fit your unique needs.<\/li>\n<li style=\"list-style: none;\">Embark on your journey today with absolutely no credit card required. Step into the future with Roboflow.<\/li>\n<\/ul>\n<p style=\"text-align: center;\">\n        <a  class=\"button link\" href=\"https:\/\/roboflow.com\/?ref=pyimagesearch\" style=\"background-color: #6DC713; border-bottom: none;\">Join Roboflow Now<\/a>\n    <\/p>\n<\/div>\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n<div id=\"download-the-code\" class=\"post-cta-wrap\">\n<div class=\"gpd-post-cta\">\n<div class=\"gpd-post-cta-content\">\n<div class=\"gpd-post-cta-top\">\n<div class=\"gpd-post-cta-top-image\"><img decoding=\"async\" src=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2020\/01\/cta-source-guide-1.png?lossy=2&#038;strip=1&#038;webp=1\" alt=\"\" srcset=\"https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2020\/01\/cta-source-guide-1.png?lossy=2&#038;strip=1&#038;webp=1 410w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2020\/01\/cta-source-guide-1.png?size=126x174&#038;lossy=2&#038;strip=1&#038;webp=1 126w,https:\/\/b2633864.smushcdn.com\/2633864\/wp-content\/uploads\/2020\/01\/cta-source-guide-1.png?size=252x348&#038;lossy=2&#038;strip=1&#038;webp=1 252w\" sizes=\"(max-width: 410px) 100vw, 410px\" \/><\/div>\n<div class=\"gpd-post-cta-top-title\">\n<h4>Join the PyImageSearch Newsletter and Grab My FREE 17-page Resource Guide PDF<\/h4>\n<\/div>\n<div class=\"gpd-post-cta-top-desc\">\n<p>Enter your email address below to <strong>join the PyImageSearch Newsletter<\/strong> and <strong>download my FREE 17-page Resource Guide PDF<\/strong> on Computer Vision, OpenCV, and Deep Learning.<\/p>\n<\/div><\/div>\n<div class=\"gpd-post-cta-bottom\">\n<form class=\"footer-cta\" action=\"https:\/\/www.getdrip.com\/forms\/657075648\/submissions\" method=\"post\"  data-drip-embedded-form=\"657075648\">\n\t\t\t\t\t<input name=\"fields[email]\" type=\"email\" value=\"\" placeholder=\"Your email address\" class=\"form-control\" \/><\/p>\n<p>\t\t\t\t\t<button type=\"submit\">Join the Newsletter!<\/button><\/p>\n<div style=\"display: none;\" aria-hidden=\"true\"><label for=\"website\">Website<\/label><br \/><input type=\"text\" id=\"website\" name=\"website\" tabindex=\"-1\" autocomplete=\"false\" value=\"\" \/><\/div>\n<\/p><\/form>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/\">LinkedIn Jobs Recommendation Systems<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/pyimagesearch.com\/\">PyImageSearch<\/a>.<\/p>\n\n<p class=\"syndicated-attribution\"><figure class= \\\"wp-block-image alignnone \\\"><img src= \\\"http:\/\/itteacheritfreelance.hk\/test\/wordpress\/wp-content\/uploads\/2016\/05\/logo2-2.png\\\" alt=\\\"IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\\\"\/><figcaption>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427!<\/figcaption><\/figure>\r\n<\/br>Find A Teacher Form:\r\n<\/br>https:\/\/docs.google.com\/forms\/d\/1vREBnX5n262umf4wU5U2pyTwvk9O-JrAgblA-wH9GFQ\/viewform?edit_requested=true#responses\r\n<\/br><\/br>Email:\r\n<\/br>public1989two@gmail.com<br><br><br><br><br><br><br>\r\n<a href=www.itsec.hk style=color:#FFFFFF;>www.itsec.hk<\/a><br>\r\n<a href=\\\"www.itsec.vip\\\" style=color:#FFFFFF;>www.itsec.vip<\/a><br>\r\n<a href=\\\"www.itseceu.uk\\\" style=color:#FFFFFF;>www.itseceu.uk<\/a><br><\/p>","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Table of Contents LinkedIn Jobs Recommendation Systems Feed Recommendations LinkedIn Feed First Pass Rankers Second Pass Ranker Evaluation Feature Representation Recruiter Search Recommendations LinkedIn Talent Search and Recommendations Unsupervised Approach LinkedIn\u2019s Economic Graph First-Order Embeddings Second-Order Embeddings Computing Relevance Supervised\u2026<\/p>\n<p>The post <a rel=\"nofollow\" href=\"https:\/\/pyimagesearch.com\/2023\/08\/07\/linkedin-jobs-recommendation-systems\/\">LinkedIn Jobs Recommendation Systems<\/a> appeared first on <a rel=\"nofollow\" href=\"https:\/\/pyimagesearch.com\/\">PyImageSearch<\/a>.<\/p>\n<\/div>","protected":false},"author":2020,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"slim_seo":{"title":"LinkedIn Jobs Recommendation Systems - ITTeacherITFreelance.hk","description":"Table of Contents LinkedIn Jobs Recommendation Systems Feed Recommendations LinkedIn Feed First Pass Rankers Second Pass Ranker Evaluation Feature Representatio"},"footnotes":""},"categories":[10700],"tags":[10756,10757,10758,10759,10760],"_links":{"self":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/329290"}],"collection":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/2020"}],"replies":[{"embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=329290"}],"version-history":[{"count":1,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/329290\/revisions"}],"predecessor-version":[{"id":329291,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/329290\/revisions\/329291"}],"wp:attachment":[{"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=329290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=329290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=329290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}