<!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>Incremental Graph of Sequential Interactions for Online Recommendation with Implicit Feedback</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Murilo F. L. Schmitt</string-name>
          <email>muriloschmitt@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eduardo J. Spinosa</string-name>
          <email>spinosa@inf.ufpr.br</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Federal University of Paraná</institution>
          ,
          <addr-line>Curitiba, Paraná</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Federal University of Paraná</institution>
          ,
          <addr-line>Curitiba, Paraná</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>Recommender systems aim to recommend items to users based on their interests. Traditional models usually adopt batch processing. Considering that user feedback is generated continuously, it becomes desirable to design models that are capable of learning as data arrives. In this work, we propose an incremental graph of sequential user interactions using implicit feedback from a data stream, with the assumption that user behavior can be extracted from such sequence of interactions as time passes. The model was evaluated by recommending items with diferent strategies, and such strategies were compared with an incremental matrix factorization algorithm, using a prequential approach. Results highlight the potential of the proposed method, which obtained superior accuracy than the baseline with generally better update and recommendation times.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>CCS CONCEPTS</title>
      <p>• Information systems → Recommender systems; Data stream
mining; • Theory of computation → Online algorithms.</p>
    </sec>
    <sec id="sec-2">
      <title>INTRODUCTION</title>
      <p>Given the massive amount of data available in online services of
various sorts, ways of filtering information to users are necessary in
order to improve their interaction with the system. Recommender
systems are designed to filter such data, guiding users through the
item collection by presenting items based on their preferences.</p>
      <p>
        Collaborative filtering (CF) is an efective technique to solve
this problem, in which the prediction of unknown user-item
preferences are inferred based on past user behavior. User feedback
can be explicit, e.g., a user assigns a specific rating to an item,
or implicit, which indirectly captures user behavior, for instance,
through browsing history [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Traditional CF approaches such as
neighborhood methods (K-nearest neighbors) and latent factor
models (matrix factorization) usually adopt batch data processing.
      </p>
      <p>While such approaches are generally efective in terms of
predictive capability, there is the assumption that training data is always
available for updating the model, and usually temporal sequence is
disregarded. Considering that in many real scenarios intrinsically
time-dependent data is generated continuously at unprecedented
rates, it becomes impractical to update these models as new data is
generated.</p>
      <p>In that sense, learning and updating a model with one (or few)
example(s) is preferable, and even required in real-world applications.
To that end, incremental algorithms can be used for
recommendation by treating feedback as a data stream, i.e., incorporating
feedback into the model as data arrives and discarding examples
after they are processed.</p>
      <p>
        In this paper, we propose to incorporate implicit user feedback
into a graph in incremental fashion with the assumption that user
behavior can be extracted from the sequence of user interactions
as time progresses, capturing short-term and long-term interests.
To that end, edges are continuously included in the graph and their
weights are updated according to the sequential user interactions,
such that for each incoming user feedback in a data stream, a
directed edge connects the last item interacted by the user to the
current interaction, and the frequency in which this sequential
interaction occurs is reinforced in the weight of the edge. We
evaluated the proposed model by recommending items with diferent
strategies and compare the results with an incremental matrix
factorization method [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] using a prequential protocol [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], obtaining
superior accuracy and generally better update and recommendation
times.
      </p>
      <p>The remainder of this paper is organized as follows: Section 2
presents related work. Section 3 presents the proposed approach.
Section 4 presents experiments and results. Conclusions and future
work are presented in Section 5.
2</p>
    </sec>
    <sec id="sec-3">
      <title>RELATED WORK</title>
      <p>This section describes the related work, categorized as follows:</p>
      <p>
        Time-dependent CF. These approaches treat feedback as a
chronological sequence, using time for modeling user preferences,
while implicitly capturing temporal dynamics [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Approaches
such as matrix and tensor factorization models have been studied
[
        <xref ref-type="bibr" rid="ref26 ref8">8, 26</xref>
        ]. In Das et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], an approach for news recommendation
using pLSA, MinHash clustering and covisitation counts was
proposed. The covisitation is implemented as a graph, such that nodes
represent items and edges represent covisitation of items. Baluja
et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] proposed personalized video recommendation based on
covisitation graphs. Assuming that recent data better reflects the
interests of users, techniques to increase importance of recent
feedback were proposed, such as decay functions [
        <xref ref-type="bibr" rid="ref10 ref5 ref6">5, 6, 10</xref>
        ] and
slidingwindows [
        <xref ref-type="bibr" rid="ref13 ref15 ref22">13, 15, 22</xref>
        ]. Data pre-processing approaches to capture
user interest drifts were studied by Cao et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. For
comprehensive reviews considering algorithms and methodologies related to
this topic, we refer the reader to the works of Vinagre et al. [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]
and Quadrana et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        Incremental CF. Recently, studies with incremental CF for
implicit feedback also known as one-class CF [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], have been
developed. Vinagre et al. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] proposed an incremental version of the
Stochastic Gradient Descent method [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] (ISGD), which updates the
model based solely on the current observation in a data stream.
The paper also proposes a prequential evaluation methodology
that allows the continuous monitoring of the systems’ predictive
capacity. Considering that in Vinagre et al. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] all user feedback
is treated as positive, a follow-up study [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] proposed a
recencybased scheme to perform negative preference imputation into ISGD
(RAISGD). In Anyosa et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], an incremental co-factorization
algorithm (CORAISGD) was proposed and compared to RAISGD on
music domain datasets, obtaining superior results. Ramalho et al.
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] presented a robust comparison between incremental matrix
and tensor factorization.
      </p>
      <p>
        Graph-based methods. Regarding graph-based methods for
time-dependent recommendation, the following papers are
relevant to the scope of the present work. Xiang et al. [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] incorporate
short-term and long-term user preferences into a bipartite graph,
Session-based Temporal Graph (STG), where nodes represents users,
items and sessions, and edges balance the influence of short-term
and long-term preferences. User and item nodes are connected
based on past user interactions, representing long-term preferences.
Item and user-session nodes are connected based on user
interactions in a time window, representing short-term interests. To
address cold-start issues, Trevisiol et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] proposed the use of
two graphs, named BrowseGraph and ReferrerGraph to make news
recommendation to new users. BrowseGraph [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ] is built
according to users’ browsing behavior, where nodes represent web-pages
and edges connect nodes based on users’ transitions between pages.
ReferrerGraph is a subgraph of the BrowseGraph induced by user
sessions with the same referrer domain. To predict the next page to
a newcoming user, the neighbors of both graphs where considered
as candidates, and four strategies to select the next page where used:
random, content-based, most popular and edge-weight-based, with
the edge-based approach obtaining the best results. For location
recommendations, Zhang et al. [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] proposed to incorporate sequential
patterns from users’ check-in behaviors in a location-location
transition graph in incremental manner, where nodes represent locations,
edges represent transitions between locations, and edge weights are
based on transitions count. The proposed method, LORE, integrates
sequential influences with social and geographical information to
make recommendations.
      </p>
      <p>
        Our work is influenced by Vinagre et al . [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and Trevisiol et al.
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. Vinagre et al. [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] highlights the importance of updating a
model incrementally by proposing an online evaluation protocol
and also an algorithm capable of updating the model based solely
on the current observation in a data stream (ISGD). The work of
Trevisiol et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] demonstrates the potential of the
BrowseGraph approach for cold start issues, which is directly related to
recommendation in an online manner. To that end, we compare our
approach with ISGD using the prequential evaluation described in
Vinagre et al. [
        <xref ref-type="bibr" rid="ref21 ref23">21, 23</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-4">
      <title>PROPOSED APPROACH</title>
      <p>This section presents the proposed approach, which treats the item
recommendation problem under a data stream framework. That
is, intrinsically time-dependent data (user feedback) is generated
continuously at unprecedented rate and unpredictable order. In
that sense, it is desirable to incrementally update the model, while
being able to include new concepts and adapt old ones as new data
arrives.</p>
      <p>Considering the intrinsic relation between data and time, such
that user preferences adjust over time, we assume that the sequence
of user interaction can be important in defining user behavior. With
such definition, potentially relevant item recommendations can be
made to users based on past user behavior. As an example, the
release of a film can lead a user to watch the director’s past work
before watching the film. Another example is the birth of a child.
As time progresses, the family can direct their purchases towards
products intended for the children as they grow. In that sense, it
is reasonable to assume that the sequence of interactions can be
useful in modeling short-term and long-term user interest.</p>
      <p>Consequently, the premise of this work is to learn user
behavior from implicit feedback as time progresses, representing the
interactions between users and items in a graph in incremental
manner, allowing the inclusion of new incoming users and items
continuously. Then, information extracted from past interactions
represented in the graph can be used to generate future
recommendations.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Incremental Graph of Sequential</title>
    </sec>
    <sec id="sec-6">
      <title>Interactions</title>
      <p>In order to continuously capture sequential interactions between
users and items, we create a directed graph, where nodes represent
items and edges represent user interactions, such that the edge
direction indicates the order in which items where visited, i.e.,
sequential interaction. Thus, an edge from item i to item j exists
if a user interacted with item i, and the next interaction was with
item j. Therefore, for each new user interaction, the feedback is
included into the graph by an edge that connects the last interacted
item to the item of the new interaction.</p>
      <p>To distinguish the relevance of edges, each edge has an
associated weight, where the weights are inversely proportional to the
frequency in which a transition is made by users. In other words, the
higher the frequency of a sequential interaction of two items, the
lower the edge weight between the two items, implicitly measuring
the relevance of the edge for future recommendations. Notation
used throughout this work is summarized in Table 1.</p>
      <p>Figure 1 shows an example of the graph online maintenance,
illustrating two possible scenarios based on sequential interaction.
Consider the graph presented in Figure 1a and a user u, whose last
interaction was with item 5. At some time t , u interacts with item
0. Since there is no edge connecting item 5 to item 0, the edge from
item 5 to item 0 is inserted, as illustrated by the dotted edge in
Figure 1b. Now consider that after t , u interacts with item 1. Since
an edge from item 0 to item 1 exists, its weight must be updated, as
denoted in Figure 1c.</p>
      <p>We create a weighted directed graph G = (V , E, w ), where V =
{v1, v2, ..., vn } ⊆ I denotes the set of nodes and E ⊆ V × V denotes
the set of edges. Each edge e has an associated weight w (e ) ∈
R+. We define Su = {(v1, t1), (v2, t2), ..., (vn , tn )} as a list of items
interacted by user u ∈ U ordered according to time t . The last
interacted item by u is defined as liu ∈ I , i.e., the last element of Su .
The graph is updated in an incremental manner considering the
current observed interaction.</p>
      <p>User feedback is modeled as a data stream, where each
observation is defined as &lt; u, i, t &gt;, indicating that user u interacted with
item i at time t , i.e., implicit feedback. When updating the graph
considering the current observation, it is desirable that the model is
able to include feedback from new incoming users and items, while
also updating older concepts. In that sense, there are four possible
scenarios, as presented in Algorithm 1:
(1) User and item are unknown by the system (u &lt; U and i &lt; I ).</p>
      <p>In this case, user and item are included in the system, a node
for i is added to V , (i, t ) is included in Su and liu ← i;
(2) User is unknown and item is known by the system (u &lt; U
and i ∈ I ). In this case, user is included in the system, (i, t ) is
included in Su and liu ← i. Given that i is the first interaction
of u and i is known, there is no change in the graph;
(3) User is known and item is unknown by the system (u ∈ U
and i &lt; I ). In this case, item is included in the system and
a node for i is added into V . In this scenario, u has already
interacted with at least one item before. Since this is the first
interaction by any user with i, an edge (liu , i ) is included in
E, where w ((liu , i )) = 1. Lastly, (i, t ) is included in Su and
liu ← i;
(4) User and item are known by the system (u ∈ U and i ∈ I ).</p>
      <p>In this case, the current sequential interaction is liu to i. If
such interaction has happened before, i.e., (liu , i ) ∈ E, then
w (e ) is updated according to Equation (1):
w ((liu , i )) = w ((liu , i )) · ρ
(1)
where ρ ∈ (0, 1) is a parameter that controls the impact of
the interaction in the edge weight. If this is the first time such
interaction happens, an edge (liu , i ) is included in E, where
w ((liu , i )) = 1. Lastly, (i, t ) is included in Su and liu ← i.
D = &lt; u, i, t &gt;: data stream;
liu = last item interacted by user u;
for &lt; u, i, t &gt;∈ D do
if u ∈ U then
if i ∈ I then
if (liu , i ) ∈ E then</p>
      <p>w ((liu , i )) ← w ((liu , i )) · ρ;
else
end</p>
      <p>E ← E ∪ {(liu , i )};
w ((liu , i )) ← 1;
else</p>
      <p>I ← I ∪ {i };
V ← I ∪ {i };</p>
      <p>E ← E ∪ {(liu , i )};
end
else</p>
      <p>U ← U ∪ {u };
if i &lt; I then</p>
      <p>I ← I ∪ {i };</p>
      <p>V ← I ∪ {i };
end
end
Su ← Su ∪ {(i, t )};
liu ← i;
end</p>
      <p>Algorithm 1: Online graph update
3.2</p>
    </sec>
    <sec id="sec-7">
      <title>Recommendation methods</title>
      <p>To evaluate the information that is inserted in the graph over time,
we tested a few approaches to generate recommendations for users
based on items in the list of interactions S. As baseline for
comparisons we use the in-degree centrality, that can be seen as a popularity
measure. The in-degree centrality captures the number of
predecessors that a node has, and is calculated as: indeдree (v ) = |P (v ) | ,
|V |−1
where P (v ) is the set of predecessors of node v. A recommendation
is generated by calculating the in-degree centrality of all items
and then recommending the k items with the highest values. This
recommendation method does not distinguish users and simply
recommends items with high centrality. We refer to this algorithm
as in-degree.</p>
      <p>
        To assess the influence of the most recent interaction on user
interest, two strategies based only on the last item interacted by the
user u, i.e., liu were evaluated. In these approaches, candidate items
are filtered out as items that are successors to liu . The first strategy
considers the in-degree centrality. To generate recommendations
to a user u, we calculate the in-degree centrality for all successors
of liu . The k items with highest values are then recommended to u.
We refer to this algorithm as in-degree_liu. The second strategy,
edge_weight_liu, considers the weight of edges that connects liu
to its successors as a measure of item relevance. Considering the
manner in which the graph is constructed, this approach values the
amount of times a sequential interaction happens. Candidate items
j are ordered according to the weight of the edge that connects
(a) Example of a graph before updates based on user
interactions.
(b) Insertion of edge from item 5 to item 0 based on a
sequential interaction.
(c) Weight update of edge from item 0 to item 1 based on
a sequential interaction.
liu to j, and the k items with the lowest weight are recommended.
A similar approach has been shown to be efective in addressing
cold-start issues in Trevisiol et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>To model long-term interest, recommendations to a user u are
generated based on the entire list of interactions Su . Two approaches
that filter candidate items as successors to nodes in Su were tested.
The first approach measures the influence of sequential item
interaction, where the relevance of candidate items are measured
according to the weight of edges, similar to edge_weight_liu . The
value a(j ) that represents a candidate item j is the lowest weight
between all the edges that connects a node in Su to j, i.e., a(j ) =
min(w ((v, j ))), ∀v ∈ Su , w ((v, j )) &lt; 1. The k items with lowest
a(j ) are then recommended to u. We refer to this algorithm as
edge_weight_Su. The second approach, path_count_Su,
considers an item j to be relevant to u based on the number of short paths
between items in Su and j, i.e., an item j is relevant to u if j is
successor to several items in Su . To recommend k items to u, for each
candidate item j we associate a value c (j ) that counts the amount of
predecessors of j in Su , i.e., c (j ) = P(v, j ) ∈E 1, ∀v ∈ Su , w ((v, j )) &lt; 1.
The k candidate items with highest c (j ) are recommended. We
discard information from edges where w (e ) = 1 since they indicate
that the sequential interaction occurred only once.</p>
      <p>Assuming that user preferences change over time, we have
adapted strategies edge_weight_Su and path_count_Su to generate
recommendations based on the r most recent user interactions.
The resulting approaches, edge_weight_r and path_count_r,
filter candidate items j for a user u as successors to the last r items
in the ordered list of interactions Su . Considering rSu as the last
r items in Su , edge_weight_r associates for each candidate item j
a value ar (j ) = min(w ((v, j ))), ∀v ∈ rSu , w ((v, j )) &lt; 1 and
recommends the k items with the lowest ar (j ). Algorithm path_count_r
associates for each candidate item j a value cr (j ) = P(v, j ) ∈E 1, ∀v ∈
rSu , w ((v, j )) &lt; 1 and recommends the k items with highest cr (j ).
The impact of parameter r is evaluated through experiments
reported in Section 4.4.
4</p>
    </sec>
    <sec id="sec-8">
      <title>EXPERIMENTS</title>
      <p>In this section we report the experiments performed to evaluate the
recommendations generated by the proposed approach, describe
the evaluation methodology and discuss the obtained results. We
compare the results with ISGD and present an analysis based on
the results.
4.1</p>
    </sec>
    <sec id="sec-9">
      <title>Evaluation</title>
      <p>
        In order to evaluate the proposed approach on a data stream, a
suitable evaluation methodology is required. In that sense, we use
the prequential evaluation protocol proposed by Vinagre et al. [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
For each incoming event &lt; u, i, t &gt;, the model is first tested and
then updated based on the following steps:
(1) If u is a known user, use the current model to recommend N
items to u, otherwise go to step 3;
(2) Score the recommendation list given the observed item i;
(3) Update the model with the observed event;
(4) Proceed to the next observation;
      </p>
      <p>We measure accuracy through the HitRate@N metric at cutofs
of N ∈ {1, 5, 10}. HitRate@N returns 1 if item i is within the N first
recommended items, and 0 otherwise.
4.2</p>
    </sec>
    <sec id="sec-10">
      <title>Datasets</title>
      <p>
        Two datasets from the movie domain were used, as summarized
in Table 2. The MovieLens-1M dataset1 contains around 1.000.000
timestamped ratings in a 1 to 5 scale. The Netflix dataset 2
contains around 100.000.000 timestamped ratings in a 1 to 5 scale. To
simulate continuous implicit feedback, we discarded ratings below
5 and sorted events chronologically, where events are defined as
&lt; user , item, time &gt;. For the Netflix dataset, we dropped users and
items with less than 10 interactions, and then selected ratings from
10.000 randomly selected users.
We compare the accuracy of the recommendation methods
described in Section 3.2 with ISGD [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. The initial models were built
on the first 20% of each dataset, while the remaining 80% were used
for incremental evaluation and learning, simulating a data stream.
For ISGD, recommendations are generated by estimating the rating
of all candidate items, sorting such estimations and selecting N
items with the highest values.
      </p>
      <p>
        Besides HitRate@N to evaluate accuracy, we also measure the
average time to update the model and to generate recommendations.
As stated in Section 3.1, edge weights are updated based on Equation
1, that updates the weight of an edge based on parameter ρ. In the
subsequent experiments, we set ρ = 0.9. Applying the same value
of ρ for every update does not distinguishing the importance of an
interaction and simply decreases the weight based on the number
of sequential interactions. All experiments were implemented in
Python 2.7, with the NetworkX library [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] for graph manipulation,
and executed on an Intel Core i7-4770 of 3.4 GHz with 16 GB RAM
running Ubuntu 16.04.
4.4
      </p>
    </sec>
    <sec id="sec-11">
      <title>Results</title>
      <p>As discussed in Section 3.2, algorithms edge_weight_r and path_count_r
generate recommendations to a user u based on the r most recent
interactions in Su . To that extent, we conducted experiments to
evaluate the impact of r in the accuracy of both algorithms with metric
HitRate@10. The results of these experiments for both datasets are
presented in Figure 2.
1https://grouplens.org/datasets/movielens/1m/
2https://netflixprize.com/</p>
      <p>For the MovieLens-1M dataset in Figure 2a, starting from r = 20,
we can see that accuracy increases for algorithm edge_weight_r as
r decreases until its peak at r = 3. For all values of r , edge_weight_r
obtained accuracy above 0.11%. We emphasize that r = 1
corresponds to algorithm edge_weight_liu . For the path_count_r
algorithm, we can see that accuracy tends to grow as we decrease r until
its peak at r = 5, and then decreases considerably after r = 3. The
decrease occurs because it becomes more dificult to distinguish
candidate items with less edges to them.</p>
      <p>For the Netflix dataset in Figure 2b, starting from r = 30, the
accuracy for algorithm edge_weight_r slightly increases as r
decreases until reaching its peak at r = 7. After r = 7 the accuracy
remains steady until reaching r = 3 and then drops considerably.
For algorithm path_count_r , accuracy reaches its peak at r = 13
and then decreases as r decreases.</p>
      <p>Overall, edge_weight_r is relatively stable to r , obtaining similar
accuracy for diferent values of r , while path_count_r is less stable,
given that it needs more feedback to distinguish candidate items.
We note that the recommendation time is associated with r , since
the algorithms iterate the successors to the last r nodes in Su . Thus,
recommendation time can be reduced by lowering r . In that sense,
considering that lower values of r can obtain reasonable accuracy
while generating faster recommendations, it is interesting to
consider the most recent interactions when modeling user behavior.
For overall results presented next, for the MovieLens-1M dataset
we set r = 3 to edge_weight_r and r = 5 to path_count_r . For the
Netflix dataset we set r = 7 and r = 13 respectively.</p>
      <p>Table 3 presents overall results for all algorithms. Accuracy is
measured through HitRate@N with N ∈ {1, 5, 10} and time is
measure through average update and recommendation times, with the
best results highlighted in bold.</p>
      <p>Observing the results presented in Table 3, we can see that
edge_weight_r has better accuracy compared to all other
methods for both datasets, also being the second fastest method. ISGD
is outperformed in accuracy by all graph-based methods, and the
two in-degree methods obtained the worst accuracy among the
graph-based methods.</p>
      <p>Although algorithms edge_weight_Su and path_count_Su
obtained superior results to the baselines, they have a high
recommendation time, since recommendation time is proportional to the
size of Su , which can make these algorithms impractical in some
scenarios. However, time is substantially decreased with improved
accuracy with its counterparts that only consider the most r recent
interactions, i.e., edge_weight_r and path_count_r .</p>
      <p>Comparing methods in-degree_liu and edge_weight_liu , we can
see that edge_weight_liu outperforms in-degree_liu both in
accuracy and recommendation time, with edge_weight_liu presenting
competitive results for MovieLens-1M, also being the fastest
algorithm overall.</p>
      <p>For both datasets, the three strategies based on edge_weight
are among the four best algorithms, together with path_count_r .
These results suggest the potential of including information from
sequential interactions into the recommendations.</p>
      <p>In terms of update time, both ISGD and graph-based methods
achieve competitive results, with graph-update being faster since
the update consists in inserting a new edge or updating an edge
(a) MovieLens-1M
weight based on the current interaction. Considering
recommendation time, all algorithms but those that generate recommendations
based on Su present acceptable time, since recommendation time
is proportional to the number of items. We note that ISGD is more
eficient in terms of space complexity since it grows linearly to
the number of users and items, while the space complexity for the
graph with an adjacency list is O (|V | + |E |).</p>
      <p>In Figure 3 we present the accuracy of all algorithms over time
with a moving average of the HitRate@10 metric for both datasets
with a window of size n = 5000 to further evaluate the learning
behavior of all algorithms through time. The evolution reinforces
that edge_weight_r is superior than other algorithms throughout
most of the time for both datasets. For the MovieLens-1M, all
algorithms present similar behavior, with similar peaks and a decrease
at the end. For both datasets, graph-based methods outperforms
ISGD over time.
5</p>
    </sec>
    <sec id="sec-12">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this work, we proposed an incremental graph of sequential user
interactions using implicit feedback, with the assumption that user
behavior can be inferred from such sequence of interactions through
time. We evaluated the model by recommending items with
diferent strategies on two movie domain datasets and compared results
with an incremental matrix factorization algorithm, ISGD, using
(a) MovieLens-1M
prequential evaluation. In terms of accuracy, the graph-based
methods outperformed ISGD, generally with better recommendation
time. The best results were achieved by considering the weight of
the edges that connect the r most recent user interactions with the
candidate items.</p>
      <p>
        A limitation of the proposed approach is that it requires
suficient data from several users in order to distinguish items based
on the sequential interactions. In future work we aim to explore
ways to overcome this limitation. Another aspect is how to update
the edges according to user sessions. In that sense, future work
also include evaluation of dynamic values for ρ, for instance, based
on the time elapsed between the interactions of u with liu and
i, considering the similarity between liu and i and based on the
number of interactions made by u. We also intend to include loss of
edge relevancy through time, explore diferent ways of generating
recommendations based on the graph, such as including
information from both edge_weight and path_count into recommendations
and make comparisons with other incremental algorithms, such as
item-based K-nearest neighbors [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], RAISGD [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] and CORAISGD
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
    </sec>
    <sec id="sec-13">
      <title>ACKNOWLEDGMENTS</title>
      <p>The authors would like to thank CAPES for the financial support.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Susan</surname>
            <given-names>C Anyosa</given-names>
          </string-name>
          ,
          <string-name>
            <surname>João Vinagre</surname>
          </string-name>
          , and
          <string-name>
            <surname>Alípio M Jorge</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Incremental matrix co-factorization for recommender systems with implicit feedback</article-title>
          .
          <source>In Companion Proceedings of the The Web Conference</source>
          <year>2018</year>
          .
          <fpage>1413</fpage>
          -
          <lpage>1418</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Shumeet</given-names>
            <surname>Baluja</surname>
          </string-name>
          , Rohan Seth, Dharshi Sivakumar, Yushi Jing, Jay Yagnik, Shankar Kumar, Deepak Ravichandran, and
          <string-name>
            <given-names>Mohamed</given-names>
            <surname>Aly</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Video suggestion and discovery for youtube: taking random walks through the view graph</article-title>
          .
          <source>In Proceedings of the 17th international conference on World Wide Web</source>
          .
          <fpage>895</fpage>
          -
          <lpage>904</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Huanhuan</given-names>
            <surname>Cao</surname>
          </string-name>
          , Enhong Chen,
          <string-name>
            <given-names>Jie</given-names>
            <surname>Yang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Hui</given-names>
            <surname>Xiong</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Enhancing recommender systems under volatile userinterest drifts</article-title>
          .
          <source>In Proceedings of the 18th ACM conference on Information and knowledge management</source>
          .
          <volume>1257</volume>
          -
          <fpage>1266</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Abhinandan S Das</surname>
          </string-name>
          ,
          <string-name>
            <surname>Mayur Datar</surname>
            , Ashutosh Garg, and
            <given-names>Shyam</given-names>
          </string-name>
          <string-name>
            <surname>Rajaram</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Google news personalization: scalable online collaborative filtering</article-title>
          .
          <source>In Proceedings of the 16th international conference on World Wide Web</source>
          .
          <fpage>271</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Yi</given-names>
            <surname>Ding</surname>
          </string-name>
          and
          <string-name>
            <given-names>Xue</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <year>2005</year>
          .
          <article-title>Time weight collaborative filtering</article-title>
          .
          <source>In Proceedings of the 14th ACM international conference on Information and knowledge management</source>
          .
          <volume>485</volume>
          -
          <fpage>492</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Yi</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Xue</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Maria E</given-names>
            <surname>Orlowska</surname>
          </string-name>
          .
          <year>2006</year>
          .
          <article-title>Recency-based collaborative ifltering</article-title>
          .
          <source>In Proceedings of the 17th Australasian Database Conference-</source>
          Volume
          <volume>49</volume>
          .
          <fpage>99</fpage>
          -
          <lpage>107</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Aric</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Hagberg</surname>
            , Daniel A. Schult, and
            <given-names>Pieter J.</given-names>
          </string-name>
          <string-name>
            <surname>Swart</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>Exploring Network Structure, Dynamics,</article-title>
          and
          <article-title>Function using NetworkX</article-title>
          .
          <source>In Proceedings of the 7th Python in Science Conference</source>
          , Gaël Varoquaux, Travis Vaught, and Jarrod Millman (Eds.). Pasadena, CA USA,
          <volume>11</volume>
          -
          <fpage>15</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Yehuda</given-names>
            <surname>Koren</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Collaborative filtering with temporal dynamics</article-title>
          .
          <source>In Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          .
          <volume>447</volume>
          -
          <fpage>456</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Yehuda</given-names>
            <surname>Koren</surname>
          </string-name>
          , Robert Bell, and
          <string-name>
            <given-names>Chris</given-names>
            <surname>Volinsky</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>Matrix factorization techniques for recommender systems</article-title>
          .
          <source>Computer 42</source>
          ,
          <issue>8</issue>
          (
          <year>2009</year>
          ),
          <fpage>30</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Nathan</surname>
            <given-names>N Liu</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Min</surname>
            <given-names>Zhao</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Evan</given-names>
            <surname>Xiang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Qiang</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Online evolutionary collaborative filtering</article-title>
          .
          <source>In Proceedings of the fourth ACM conference on Recommender systems. 95-102.</source>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Yuting</surname>
            <given-names>Liu</given-names>
          </string-name>
          , Bin Gao,
          <string-name>
            <surname>Tie-Yan</surname>
            <given-names>Liu</given-names>
          </string-name>
          , Ying Zhang, Zhiming Ma, Shuyuan He, and
          <string-name>
            <given-names>Hang</given-names>
            <surname>Li</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>BrowseRank: letting web users vote for page importance</article-title>
          .
          <source>In Proceedings of the 31st annual international ACM SIGIR conference on Research and development in information retrieval</source>
          .
          <volume>451</volume>
          -
          <fpage>458</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Yiqun</surname>
            <given-names>Liu</given-names>
          </string-name>
          , Min Zhang, Shaoping Ma, and
          <string-name>
            <given-names>Liyun</given-names>
            <surname>Ru</surname>
          </string-name>
          .
          <year>2009</year>
          .
          <article-title>User Browsing Graph: Structure, Evolution and Application.</article-title>
          .
          <source>In WSDM (Late Breaking-Results).</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Pawel</surname>
            <given-names>Matuszyk</given-names>
          </string-name>
          , João Vinagre, Myra Spiliopoulou, Alípio Mário Jorge, and
          <string-name>
            <given-names>João</given-names>
            <surname>Gama</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Forgetting methods for incremental matrix factorization in recommender systems</article-title>
          .
          <source>In Proceedings of the 30th Annual ACM Symposium on Applied Computing</source>
          .
          <volume>947</volume>
          -
          <fpage>953</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Catarina</given-names>
            <surname>Miranda</surname>
          </string-name>
          and Alípio Mário Jorge.
          <year>2009</year>
          .
          <article-title>Item-based and user-based incremental collaborative filtering for web recommendations</article-title>
          .
          <source>In Portuguese Conference on Artificial Intelligence</source>
          . Springer,
          <fpage>673</fpage>
          -
          <lpage>684</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Olfa</surname>
            <given-names>Nasraoui</given-names>
          </string-name>
          , Jef Cerwinske, Carlos Rojas, and
          <string-name>
            <given-names>Fabio</given-names>
            <surname>Gonzalez</surname>
          </string-name>
          .
          <year>2007</year>
          .
          <article-title>Performance of recommendation systems in dynamic streaming environments</article-title>
          .
          <source>In Proceedings of the 2007 SIAM International Conference on Data Mining. SIAM</source>
          ,
          <fpage>569</fpage>
          -
          <lpage>574</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Rong</surname>
            <given-names>Pan</given-names>
          </string-name>
          , Yunhong Zhou, Bin Cao, Nathan N Liu, Rajan Lukose,
          <string-name>
            <given-names>Martin</given-names>
            <surname>Scholz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Qiang</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <year>2008</year>
          .
          <article-title>One-class collaborative filtering</article-title>
          .
          <source>In 2008 Eighth IEEE International Conference on Data Mining. IEEE</source>
          ,
          <fpage>502</fpage>
          -
          <lpage>511</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Massimo</surname>
            <given-names>Quadrana</given-names>
          </string-name>
          , Paolo Cremonesi, and
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Jannach</surname>
          </string-name>
          .
          <year>2018</year>
          .
          <article-title>Sequenceaware recommender systems</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 51</source>
          ,
          <issue>4</issue>
          (
          <year>2018</year>
          ),
          <fpage>1</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Miguel</given-names>
            <surname>Sozinho</surname>
          </string-name>
          <string-name>
            <surname>Ramalho</surname>
          </string-name>
          , Joao Vinagre, Alípio Mário Jorge, and
          <string-name>
            <given-names>Rafaela</given-names>
            <surname>Bastos</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Incremental multi-dimensional recommender systems: co-factorization vs tensors</article-title>
          .
          <source>In 2nd Workshop on Online Recommender Systems and User Modeling</source>
          .
          <fpage>21</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Yue</surname>
            <given-names>Shi</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Martha</given-names>
            <surname>Larson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Alan</given-names>
            <surname>Hanjalic</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Collaborative filtering beyond the user-item matrix: A survey of the state of the art and future challenges</article-title>
          .
          <source>ACM Computing Surveys (CSUR) 47</source>
          ,
          <issue>1</issue>
          (
          <year>2014</year>
          ),
          <fpage>3</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Michele</surname>
            <given-names>Trevisiol</given-names>
          </string-name>
          , Luca Maria Aiello, Rossano Schifanella, and
          <string-name>
            <given-names>Alejandro</given-names>
            <surname>Jaimes</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Cold-start news recommendation with domain-dependent browse graph</article-title>
          .
          <source>In Proceedings of the 8th ACM Conference on Recommender systems. 81-88.</source>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>João</surname>
            <given-names>Vinagre</given-names>
          </string-name>
          , Alípio Jorge, and
          <string-name>
            <given-names>João</given-names>
            <surname>Gama</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Evaluation of recommender systems in streaming environments</article-title>
          .
          <source>In Proceedings of the Workshop on Recommender Systems Evaluation: Dimensions and Design in conjunction with the 8th ACM Conference on Recommender Systems (RecSys</source>
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>João</given-names>
            <surname>Vinagre</surname>
          </string-name>
          and Alípio Mário Jorge.
          <year>2012</year>
          .
          <article-title>Forgetting mechanisms for scalable collaborative filtering</article-title>
          .
          <source>Journal of the Brazilian Computer Society</source>
          <volume>18</volume>
          ,
          <issue>4</issue>
          (
          <year>2012</year>
          ),
          <fpage>271</fpage>
          -
          <lpage>282</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>João</surname>
            <given-names>Vinagre</given-names>
          </string-name>
          , Alípio Mário Jorge, and
          <string-name>
            <given-names>João</given-names>
            <surname>Gama</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Fast incremental matrix factorization for recommendation with positive-only feedback</article-title>
          .
          <source>In International Conference on User Modeling, Adaptation, and Personalization</source>
          . Springer,
          <fpage>459</fpage>
          -
          <lpage>470</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>João</surname>
            <given-names>Vinagre</given-names>
          </string-name>
          , Alípio Mário Jorge, and
          <string-name>
            <given-names>João</given-names>
            <surname>Gama</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Collaborative filtering with recency-based negative feedback</article-title>
          .
          <source>In Proceedings of the 30th Annual ACM Symposium on Applied Computing</source>
          .
          <volume>963</volume>
          -
          <fpage>965</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>João</surname>
            <given-names>Vinagre</given-names>
          </string-name>
          , Alípio Mário Jorge, and
          <string-name>
            <given-names>João</given-names>
            <surname>Gama</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>An overview on the exploitation of time in collaborative filtering</article-title>
          .
          <source>Wiley interdisciplinary reviews: Data mining and knowledge discovery 5</source>
          ,
          <issue>5</issue>
          (
          <year>2015</year>
          ),
          <fpage>195</fpage>
          -
          <lpage>215</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Liang</surname>
            <given-names>Xiang</given-names>
          </string-name>
          , Quan Yuan,
          <string-name>
            <given-names>Shiwan</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Li</given-names>
            <surname>Chen</surname>
          </string-name>
          , Xiatian Zhang, Qing Yang, and
          <string-name>
            <given-names>Jimeng</given-names>
            <surname>Sun</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>Temporal recommendation on graphs via long-and short-term preference fusion</article-title>
          .
          <source>In Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining</source>
          .
          <volume>723</volume>
          -
          <fpage>732</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <surname>Jia-Dong</surname>
            <given-names>Zhang</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chi-Yin Chow</surname>
            , and
            <given-names>Yanhua</given-names>
          </string-name>
          <string-name>
            <surname>Li</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Lore: Exploiting sequential influence for location recommendations</article-title>
          .
          <source>In Proceedings of the 22nd ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems</source>
          .
          <volume>103</volume>
          -
          <fpage>112</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>