<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Combination of Content-Based User Pro ling and Local Collective Embeddings for Job Recommendation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vasily Leksin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andrey Ostapets</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mikhail Kamenshikov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmitry Khodakov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vasily Rubtsov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Avito</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Research University Higher School of Economics</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>9</fpage>
      <lpage>17</lpage>
      <abstract>
        <p>We present the approach to the RecSys Challenge 2017, which ranked 7th. The goal of the competition was to prepare job recommendations for the users of the social network for business Xing.com. Our algorithm consists of two di erent models: Content-based User Proling and Local Collective Embeddings. The rst content-based model contains many hand-tuned parameters and data insights, so it performs fairly well on the task of the challenge despite its simplicity. The second model is based on Matrix Factorization and may be applicable to a wide range of cold-start recommendation tasks. The combination of these two models have shown the best performance on local validation.</p>
      </abstract>
      <kwd-group>
        <kwd>recommender system</kwd>
        <kwd>cold-start problem</kwd>
        <kwd>Local Collective Embeddings</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Unlike last year's competition [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] ACM RecSys Challenge 2017 focuses on the
problem of a cold-start vacancy recommendations for a business social network
XING. The Challenge consists of two phases. The rst phase is o ine evaluation:
xed historical dataset and xed target users and items for which
recommendations should be submitted. Very few target items were in Interactions data.
The second phase is online evaluation: a new portion of target users and items
was released every day. The recommendations submitted at the online stage
were rolled out in XING's live system and pushed to real users. Both phases
aimed at achieving the following tasks: given a new job posting the goal was to
identify those users who (a) might be interested in getting the job posting as a
push noti cation with recommendation and (b) were also proper candidates for
the given job position. For online and o ine evaluation, the same metrics and
the same structure of datasets were used. The top teams from the o ine phase
were allowed to participate in the online evaluation. Online part determined the
winners of the challenge.
      </p>
      <p>The task of o ine phase was standard cold-start recommendation problem
while the online stage was focused on the push noti cations and was designed
by the following scheme:
{ Every 24 hours teams needed to send a submission to the organizers;
{ For each job posting, a team needed to provide a list of 250 users;
{ Each user could receive 1 push per day.</p>
      <p>The recommendations were delivered to the users through the following
channels: activity stream in the mobile applications, jobs marketplace, emails, and
recruiter tools. Some challenges that the participating teams needed to solve:
{ Balance between user interests and the interests of recruiters
{ Balance between relevance and revenue
{ Item cold-start problem
{ Smart targeting of push recommendations
2</p>
    </sec>
    <sec id="sec-2">
      <title>Data Description</title>
      <p>In the challenge, the semi-synthetic dataset from XING was provided: arti cial
users and events were added, text tokens from job postings titles and descriptions
were replaced by numeric IDs and random noise was added in order to anonymize
the data.</p>
      <p>The organizers have provided datasets:
{ Interactions | interactions that the user performed on the job posting
items (clicked, bookmarked, replied, recruiter interest or deleted) as well as
details about items shown to users by the existing recommender
(impressions).
{ Users | details about those users who appear in the above datasets: job
roles, career level, discipline, industry, location, experience, and education.
{ Items | job postings details that were/will be recommended to the users:
title, career level, discipline, industry, location, employment type, tags,
created time and ag if item was active during the test.</p>
      <p>On the online phase datasets contained 1M users, 853K items, 88.7M
impressions, 4.2M interactions (84% clicked, 8.5% deleted, 4.3% bookmarked, 2.3%
replied, 0.8% recruiter interest). Every 24 hours the organizers provided a new
portion of target users and items for prediction.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Evaluation Measure</title>
      <p>Let T be a list of target items. For each target item i 2 T a recommender selects
users to whom that item is pushed as a recommendation. Leaderboard score is
computed as follows:</p>
      <p>S =</p>
      <p>X s(i; r(i)):
Here, recommendations r(i) speci es the list of users who will receive the given
item as a push recommendation.</p>
      <p>Let Ur = r(i) be a list of recommended users. The score function s(i; Ur)
sums up the success rates of the users Ur and the item-based success rate:
s(i; Ur) = itemSuccess(i; Ur) + X userSuccess(i; u);
u2Ur
where userSucess scores a user-item pair according to the user interactions:
userSuccess(i; u) = (u; r) premiumBoost(u);
where is event type weight and premiumBoost is a boost coe cient for premium
user
(2)
(3)
(4)
(5)
(6)
(7)
(u; r) =
8 10; if delete only;
&gt;
&gt;
&gt;&lt;1; if clicked;
&gt;5; if bookmarked or replied;
&gt;
&gt;:20; if recruiter interest;
premiumBoost(u) =
(2; if the user is premium;</p>
      <p>1; otherwise:
itemSuccess(i; Ur) =
(w(i); if 9u 2 Ur : userSuccess(i; u) &gt; 0</p>
      <p>0; otherwise;
where w is a boost coe cient for a paid item.</p>
      <p>w(i) =
(50; if the item is paid;</p>
      <p>25; otherwise:</p>
      <p>Evaluation measure shows the business value of di erent types of events from
di erent types of users and di erent types of vacancies.</p>
      <p>For local validation in the rst phase we used the last week of interactions.
In the second phase, we used userSuccess score as a local score and
recommendations were built only for those users and items that were present in the all
currently available data from the daily chunks.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Models</title>
      <p>
        In our solution, we used two di erent approaches: Content-Based User Pro ling
and Local Collective Embeddings [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        Content-Based User Pro ling
Our rst content-based [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] model is based on ranking user-item pairs using
content information from a user pro le and user interaction history. The motivation
for the content-based approach is below: we tried experimenting with classical
XGBoost, but it delivered rather bad results; so, we built a simple algorithm
where each feature has its own weight and it was possible to understand how
the score for each prediction is formed.
      </p>
      <p>Let U be a set of target users and I be a set of target items. For each
pair (uk; ik) we check whether it has matches between User Job Title and Item
Job Title (or tags) to reduce the number of the observed pairs. Then we apply
following rankers to make top-N recommendations.</p>
      <p>{ User Title ranker | rstly, we calculate 3 types of inverse document
frequency for each token as
(8)
(9)
(10)
(11)
(12)
where juj is a number of tokens in the user's title. The nal ranker score for
a pair (uk; ik) is calculated as a sum of token scores in intersection between
User Title and Item Title (tags).</p>
      <p>score(u; i) =</p>
      <p>X scoret
t
{ User Interest ranker | this ranker is quite similar to User Title ranker
described above, but instead of scoring tokens from User Job Title, we score
tokens from items target user interacted with. This scoring includes Item
Job Title and Item Job Tags with weights based on the interaction type.
{ Industry, Discipline and Career Level rankers | those rankers also
use information from both user pro les and user interactions. The Pro le
Career Level ranker is based on the Career Level di erence between user
and item: CLD(u; i) = juCL iCLj
where U Ft stands for User Title, IFt stands for Item Title, and T Ft stands
for Item Tags. For each user u we calculate the token weight as:
Ft = log(</p>
      <p>#unique tokens
#token occurrences</p>
      <p>)
scoret =
20</p>
      <p>U Ft IFt T Ft
p u</p>
      <p>j j
wCL(u; i) =
8&gt;1:2; if CLD(u; i) 1
&lt;</p>
      <p>0:7; if CLD(u; i) = 3
&gt;:0:5; if CLD(u; i) 4
score(u; i) = wCL
score(u; i)
As the features Industry and Discipline are categorical, we multiply the pair
score by w &gt; 1 having exact match, and by w &lt; 1 otherwise. Interactions
rankers are slightly di erent from the pro le ones, and the main purpose
of those rankers is to modify the score according to the ratio of parameter
matches and the total user interactions.
{ User Behavior ranker | di erent users have di erent behavior patterns.</p>
      <p>That ranker is based on user interaction history. If the user has all positive
interactions, we add a constant to his score, if the user has all negative
interactions, we subtract a constant from his score. Also, we multiply user
score by a w &lt; 1, which is based on the positive/negative interactions ratio.
{ Premium Ranker is a simple ranker that multiplies the score by 1:1 for
a premium user and by 1:05 for a premium item. Weights were rst set
manually based on our expertise and then they were optimized on the local
validation set using a parameter grid.</p>
      <p>Final predictions were made by applying all rankers to user-item pairs,
thresholding, and taking top-100 users for each item.
4.2</p>
      <p>
        Local Collective Embeddings
Local Collective Embeddings (LCE) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] is a matrix factorization model that
exploits items' properties and past user preferences while enforcing the
manifold structure exhibited by the collective embeddings. This model addresses the
cold-start problem. The motivation for LCE approach is as follows: matrix
factorization and topic modeling are well-proven methods, but in this challenge, we
faced the necessity of a hybrid solution, which is LCE.
      </p>
      <p>Assume that we have:
{ a set of m properties stored in a matrix Xs 2 Rn m, where a row corresponds
to an item and a column to an item property;
{ a set of u users stored in a matrix Xu 2 Rn u, where a cell (i; j) indicates
whether the user j has shown interest to item i.</p>
      <p>At the test time, we are given a new item q with description qs 2 R1 m, and
our goal is to predict qu 2 R1 u, i.e., to score how likely is the user to show
interest to the new item.</p>
      <p>De ne LCE optimization problem:</p>
      <p>To regularize this matrix factorization model we use manifold assumption: if
two data points xi and xj , in any view, are close in the intrinsic geometry of the
distribution, then their representations in the low-dimensional space should also
be close to each other. Let's construct a graph with n nodes where each node
represents a data point. For each point, we nd the p nearest neighbors and we
connect the corresponding nodes in the graph.</p>
      <p>This results in a matrix A which can later be used to measure the local
closeness of two points xi and xj . Using the above de ned weight matrix A we
may measure the smoothness of the low dimensional representation as:
S =
where D is a diagonal matrix which entries are the row sums of A (or column,
as A is symmetric), i.e., Dii = P Aij ; L = D A is called the Laplacian matrix
of the graph [10] and T r() is the trace operator.</p>
      <p>This leads to the following optimization problem:
where L is the Laplacian matrix of the graph, and is a hyper-parameter which
controls the extent to which locality is enforced.</p>
      <p>
        Learning algorithm have the following Expectation Maximization (EM)[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]
update rules:
      </p>
      <p>W</p>
      <p>W</p>
      <p>[ XsHsT + (1
[ W HsHsT + (1</p>
      <p>)XuHuT +
)W HuHuT +</p>
      <p>AW ]
DW +
e109
u
l
a
v
e
v
i
t
c
e
jb108
O
75 100 125</p>
      <p>Number of iterations</p>
      <p>objective
alpha
beta
gamma
150
175
200
25
50
100
500
1000</p>
      <p>4000
200</p>
      <p>k
200</p>
      <p>k
After parameter tuning we had local score of 649 for Content-Based User Pro
ling and 405 for LCE. We generated 500 recommended items for each user from
both models. Then we got the nal score for user-item pair as a weighted sum
of scores of two models:</p>
      <p>
        scorefinal = 0:8 scoreLCE + scorec0o:1n5tent based:
The coe cient choice for blending was based on the distribution of scores. The
content-based algorithm produced scores from 0 to 20K (approximately). LCE
scores were in 0-1 range. Therefore, the content-based model score was raised to
power p &lt; 1. Then the exact values of the parameters were selected on the local
validation set. This ne-tuning scheme of two rankers by their linear combination
is similar to the scheme from [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The local score for the mixed model was 702.
It means that the LCE model allowed to increase the local score by 8.1%.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In our approach, we used two di erent models: Content-based User Pro ling
and Local Collective Embeddings. In this Challenge, the content-based approach
have shown better results on local validation than the Local Collective
Embeddings. A possible reason for the fact that the more sophisticated LCE algorithm
has lost in quality to the simpler content-based method is that LCE was not
customized enough for the task of competition. In particular, it was trained on
binary data and did not take into account the di erent types of features
(numeric, categorical, binary). However, the composition of the two algorithms had
a better score.</p>
      <p>
        The underlying rules leading to the observed results are as follows: within
the content-based approach it is very important to understand how the score for
each prediction is formed. In the Matrix Factorization approach [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], it is very
important to choose an appropriate generative model which can include user
and item side features, for example, an extension on LCE. Further improvement
of the LCE algorithm may incorporate the user features to the model (as an
additional term similar to the item features) as well as di erent probability
distributions for binary, categorical and numeric features.
      </p>
      <p>The second phase of the competition can be considered as an A/B test.
Obviously, it is hard to carry out for organizers (it is necessary to split into
groups correctly, collect solutions from participants, etc.), but it may stimulate
participants since they can compete in real-time and observe how the algorithm
shows itself comparing to other algorithms. Daily feedback in the online phase
was too rare to use it for automatic parameter tuning or multi-armed bandits
approach. In the o ine stage, it was also important not to use features which
we would not be able to use in the online stage.</p>
      <p>The main scienti c contribution of the paper answers the question of how to
use Local Collective Embeddings with user's side features. Originally, LCE was
not designed to include user features.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Trevor</given-names>
            <surname>Hastie</surname>
          </string-name>
          , Robert Tibshirani, and
          <string-name>
            <given-names>Jerome</given-names>
            <surname>Friedman</surname>
          </string-name>
          .
          <year>2001</year>
          .
          <article-title>The Elements of Statistical Learning</article-title>
          . Springer New York Inc., New York, NY, USA, Chapter
          <volume>8</volume>
          .5 The EM algorithm,
          <volume>236243</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dmitry</surname>
            <given-names>I Ignatov</given-names>
          </string-name>
          ,
          <article-title>Sergey I Nikolenko, Taimuraz Abaev</article-title>
          , and
          <string-name>
            <given-names>Jonas</given-names>
            <surname>Poelmans</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Online recommender system for radio station hosting based on information fusion and adaptive tag- aware pro ling</article-title>
          .
          <source>Expert Systems with Applications</source>
          <volume>55</volume>
          (
          <year>2016</year>
          ),
          <fpage>546558</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Vasily</given-names>
            <surname>Leksin</surname>
          </string-name>
          and
          <string-name>
            <given-names>Andrey</given-names>
            <surname>Ostapets</surname>
          </string-name>
          .
          <year>2016</year>
          .
          <article-title>Job Recommenda- tion Based on Factorization Machine and Topic Modelling</article-title>
          .
          <source>In Proceedings of the Recommender Systems Challenge (RecSys Challenge 16)</source>
          . ACM, New York, NY, USA, Article
          <volume>6</volume>
          , 4 pages. https://doi.org/10.1145/2987538.2987542
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Francesco</given-names>
            <surname>Ricci</surname>
          </string-name>
          , Lior Rokach, and Bracha Shapira (Eds.).
          <year>2015</year>
          . Recommender Systems Handbook. Springer, Chapter 4 Semantics- Aware
          <source>Content-Based Recommender Systems</source>
          ,
          <volume>119159</volume>
          . https://doi.org/10.1007/978-1-
          <fpage>4899</fpage>
          -7637-6
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Badrul</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sarwar</surname>
          </string-name>
          , George Karypis, Joseph A.
          <string-name>
            <surname>Konstan</surname>
          </string-name>
          , and John T. Riedl.
          <year>2000</year>
          .
          <article-title>Application of Dimensionality Reduction in Recommender System A Case Study</article-title>
          .
          <source>In IN ACM WEBKDD WORKSHOP.</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Martin</given-names>
            <surname>Saveski</surname>
          </string-name>
          and
          <string-name>
            <given-names>Amin</given-names>
            <surname>Mantrach</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Item Cold-start Rec- ommendations: Learning Local Collective Embeddings</article-title>
          .
          <source>In Pro- ceedings of the 8th ACM Conference on Recommender Sys- tems (RecSys 14)</source>
          . ACM, New York, NY, USA,
          <volume>8996</volume>
          . https:// doi.org/10.1145/2645710.2645751
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>