<!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>with Explanations⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anna Dalla Vecchia</string-name>
          <email>anna.dallavecchia@studenti.univr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Niccolò Marastoni</string-name>
          <email>niccolo.marastoni@univr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Barbara Oliboni</string-name>
          <email>barbara.oliboni@univr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elisa Quintarelli</string-name>
          <email>elisa.quintarelli@univr.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Explainable Recommendations, Context-awareness, Data mining</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dept. of Computer Science, University of Verona</institution>
          ,
          <addr-line>Verona</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <abstract>
        <p>The Intuitive Context-Aware Recommender with Explanations (ICARE) framework leverages data mining algorithms to provide contextual recommendations, together with their explanations, useful to achieve a specific and predefined goal. We apply ICARE in the healthcare scenario to infer personalized recommendations related to the activities (fitness and rest periods) a specific user should pursue or avoid in order to obtain a high value for the sleep quality score, while also considering their current context and the physical activities performed during the previous days.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>that happen in succession. Each event is labeled with a timestamp reporting the exact time at
which it is collected, thus the temporal feature is one of the contextual dimensions that can
be leveraged to obtain useful knowledge, e.g. whether events are correlated to any additional
contextual feature, such as weather conditions or personal circumstances.</p>
      <p>
        In this paper, we will describe ICARE (Intuitive Context-Aware Recommender with
Explanations), a framework presented in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and able to (i) collect data from wearable devices (e.g., Fitbit),
(ii) enrich data with external contextual information, (iii) analyse enriched data to discover
sequential rules by correlating sequences of past events, along with their intensity, with a
specified future goal, in our case ”sleeping well”, and (iv) provide explainable recommendations
by means of an intuitive application. In particular, ICARE suggests which set of actions is best
to take next in order to have a good night’s sleep whilst considering the user’s current context,
as well as the actions that should be avoided. An aging function is introduced to facilitate
upto-date analysis and consequently adapt recommendations when frequent behaviours change;
for example, fitness activities correlated with sleep quality might change during the year due to
diferent factors, such as weather conditions or available free time.
      </p>
      <p>The paper is structured as follows: Section 2 informally introduces the proposed algorithm
and Section 3 describes our proposal to adopt mined sequential rules to provide both positive
and negative suggestions toward a specific goal. Section 4 describes the implemented mobile
App, and Section 5 summarizes the state of the art. Finally, 6 concludes the paper and outlines
future work.</p>
      <sec id="sec-1-1">
        <title>Aged LookBackApriori</title>
      </sec>
      <sec id="sec-1-2">
        <title>Recommender System</title>
        <p>τw
D
Augmentation
DTw</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. The ALBA Algorithm</title>
      <sec id="sec-2-1">
        <title>Aging</title>
      </sec>
      <sec id="sec-2-2">
        <title>Apriori S</title>
        <p>Ro
R</p>
      </sec>
      <sec id="sec-2-3">
        <title>Ordering</title>
      </sec>
      <sec id="sec-2-4">
        <title>Search</title>
        <p>query</p>
      </sec>
      <sec id="sec-2-5">
        <title>Rule Generation</title>
        <p>minconf, minsupp
r+
rIn this Section, we describe the overall approach of ICARE and the ALBA (Aged
LookBackApriori) algorithm used to infer sequential rules that are then used to provide contextual
recommendations. As shown in Figure 1, ICARE needs as input a temporal dataset  (in our
scenario, the log of physical activity levels collected by Fitbit), enriched with contextual
information. For our scenario we leverage the temporal dimension to capture the user’s habits on
some specific days, i.e., we distinguish if each day is either a weekday or part of the weekend.
Whenever it is possible, we also utilize weather conditions to establish if they afect the user’s
preferences. The dataset  is fed into ALBA, which then considers a temporal window   to
conMax Memory usage</p>
        <p>Total time
60
s
nd40
o</p>
        <p>
          ALBA
GSP
800
600
B
where  and  are two sets of ordered data items, such that  ∩  = ∅
, according to specific
thresholds for confidence and support [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Support is the frequency of the set  ∪ 
in the
dataset, while confidence is the conditional probability of finding
 , having found  and is given
. Without an aging mechanism, the support of a sequence appearing frequently
in recent times and another sequence that appeared the same amount of times a while ago
would be the same. For this reason, we modify the support of each sequence to account for
their recentness. More in detail, in order to penalize older sequences, we multiply each row of
our dataset by an aging factor that guarantees that the items in the temporal window will still
be represented, while older items decay but never quite disappear.
        </p>
        <p>The recommender system orders  with the criteria introduced in Section 3.1 to produce a
set of totally ordered sequential rules that can be queried to extract a positive recommendation
 + and a negative recommendation  − . This last step is explained in Section 3.2.
Diference with other approaches:</p>
        <p>A sequential pattern-mining algorithm identifies
frequent sub-sequences of items in the data. The algorithm typically involves two main steps:
candidate generation and pattern pruning. In the candidate generation step, the algorithm
generates a set of candidate patterns by exploring the search space of possible sequences. In
the pruning step, the algorithm removes any pattern that does not reach the minimum support
threshold, i.e., the minimum number of sequences for a pattern to be considered frequent.</p>
        <p>
          We also follow this approach but with a slight diference in the candidate generation step,
where the order of the itemsets is encoded in the itemsets themselves. This allows us to generate
fewer candidates than usual sequence mining algorithms, resulting in less memory usage and
computation time. In Fig. 2 we compare the performance of ALBA with GSP [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
Validation of the aging mechanism: In order to evaluate our approach we show that our
algorithm with the aging mechanism (ALBA) improves the accuracy of the version without the
0.7
0.6
0.5
y
ra0.4
u
0.2
0.1
0.0
ALBA
        </p>
        <p>LBA</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. The Recommender System</title>
      <p>
        In our use case scenario, the transactional dataset  is a log of physical activity levels and sleep
quality extracted from Fitbit, where for each day   , the user’s physical activities, such as heavy
activity (HA), light activity (LA), steps (ST), rest periods (R), sleeping score (SL) and their related
intensities are encoded. These values are enriched by the tag  
, if   represents a day that falls
on a weekend, and by additional codes relating to the weather conditions (S=sunny, C=cloudy,
R=rainy), if the location of the user during   is available. Weather conditions are extracted
through the API of OpenWeather [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. For each user, the time interval of each (daily) activity has
been discretized into 3 possible values (1: Low, 2: Medium, 3: Intense). Each day is an itemset, as
the activities themselves are not ordered due to the aggregated nature of Fitbit data.
      </p>
      <p>In this dataset, the timestamp  is related to an interval including the fitness activities and
the subsequent sleeping period. For simplicity, we will call this time unit day. After frequent
itemsets have been mined, non-contextual sequential rules will be generated and in our scenario,
they will be of the form   ∶</p>
      <p>−(  −1) ∧ ⋯ ∧  −2 ∧  −1 →  0 [  ,   ].
sleeping activity) and fitness activities, performed considering at most</p>
      <p>This shows, with support   and confidence   , the correlation between the sleep quality (i.e.,
our target function) for the current day 0 (see the itemset  0 in the consequent related to the
 days, where   is
the considered temporal window. We remind the reader that the sequence of itemsets in the
antecedent does not need to be complete. For example, a mined rule stating that after a day
with medium heavy activity (HA: 2) and a long stretch of rest (R: 3), and the subsequent day
with a low level of light activity (LA: 1), the predicted sleeping quality for the current day will
likely be medium (SL: 2), has the form {  ∶ 2,  ∶ 3}
−2 ∧ { ∶ 1}
−1 → { ∶ 2}
0 [  ,   ].</p>
      <p>When the Fitbit log is enriched with contextual information, ICARE mines sequential rules
of the form   ∶  −(  −1) ∧ ⋯ ∧  −2 ∧  −1 →  0 [  ,   ], where each itemset in the antecedent
of the rule contains, besides the information about frequent fitness activities, also the related
contextual conditions, if available. For example, a mined rule stating that after a cloudy day with
a medium level of heavy activity (HA: 2) and a long stretch of rest (R: 3), and the subsequent
rainy day, during a weekend, with a low level of light activity (LA: 1), the predicted sleeping
quality for the current day will likely be medium (SL: 2), has the following form:
{,   ∶ 2,  ∶ 3}
−2 ∧ {,  ,  ∶ 1}
−1 → { ∶ 2} 0 [  ,   ]</p>
      <p>To discover the best rule  for predicting the answer to the query “How well will I sleep
tonight?”, we need to match the mined rules to a portion of the user’s Fitbit log
 = ⟨ −′(  −1), … ,  −′2,  −′1⟩
related to the established temporal window. This partial log will be hereafter called query. Note
that if the user constantly wears the smartwatch, the query will contain information for each
day, always enriched with contextual information related to the day of the week (  or not),
and sometimes the weather conditions, when available. For example, during the previous 3 days
the user log/query may be:  = ⟨{ ∶ 1,   ∶ 3,   ∶ 2,  ∶ 3} −3, { ∶ 3,   ∶ 1,   ∶
1,  ∶ 3} −2, { ∶ 2,   ∶ 2,   ∶ 3,  ∶ 2} −1⟩.</p>
      <p>Note that  refers to weekdays (the item   related to the weekend is not present) and the
weather information is not available (i.e., the user did not declare his/her current location). The
algorithm will then need to sift through all the mined rules to find one that matches the query
in the antecedent and the goal in the consequent.
3.1. Rule Ordering
The set of rules is ordered using the following criteria: 1) confidence, 2) completeness, 3) support,
and 4) size. Ordering by confidence and support is straightforward, as they are simple float
values. A rule with better support will be prioritized over a rule with less support and the same
goes for the confidence. On the other hand, ordering by completeness means that the rules that
have at least one type of activity per timestamp in the considered temporal window will be
prioritized over those that lack information in specific days. Let us define the subset of empty
itemsets in a rule  as  ∅ ∶ {  ∈  ∣   = ∅}. We can define the completeness order between two
rules  1,  2 as  1 &gt;  2 → | ∅1| &lt; | ∅2| and  1 =  2 → | ∅1| = | ∅2|.</p>
      <p>If two rules  1,  2 have the same support, confidence and  1 =  2, then the rule with more
itemsets will be prioritized:  1 &gt;  2 ∶ | 1| &gt; | 2|.
3.2. Rule Search
The recommender system is designed to be goal-oriented, so the rules are first filtered
(according to their consequent) into two diferent sets ℛ+() and ℛ−() , that will contain the
recommendations on the fitness activities that may lead to better sleep quality and to worse
sleep quality, respectively.</p>
      <p>The two sets of rules are then searched separately to produce a positive recommendation
and its negative counterpart. Before defining how rules are matched with queries, we need to
define the similarity of itemsets and items. Every item is either a contextual item or a physical
activity represented by its intensity and duration, thus two items are considered similar if they
have the same type, i.e., LA:3 is similar to LA:2 but not to MA:3. Note that the contextual value
can match only with itself. Given an ordered set of rules, obtained through the above criteria,
the algorithm needs to find the best rule that matches the query. The query is a list of activities
and contextual information, if any, in sequential time slots and it is matched to the antecedent
of a rule through the following criteria:
1. EXACT_MATCH → the query is exactly the antecedent of the rule:</p>
      <p>Query: { ∶ 3}
Match: { ∶ 3}
−3 ∧ {  ∶ 2}
−3 ∧ {  ∶ 2}
−2 ∧ { ∶ 3} −1
−2 ∧ { ∶ 3} −1
2. MATCH → all of the items in the matching rule appear in the right time slot in the query:
−3 ∧ {  ∶ 2}
−2 ∧ { ,  ∶ 1,  ∶ 3}</p>
      <p>−1
−3 ∧ {  ∶ 2}
−2 ∧ { ,  ∶ 3}
−1
3. PARTIAL_MATCH → some of the items in the query appear in the right time slot in the
matching rule, while others have ”similar” counterparts in the right time slot:
4. SIMILAR_MATCH → every time slot in the query contains one item that is ”similar” to
one item in the corresponding time slot of the matching rule:
Query: {  ∶ 2,  ∶ 3}
Match: { ∶ 3}
Query: { ∶ 2,  ∶ 2}
Match: { ∶ 3}
Query: { ∶ 3,  ∶ 2}
Match: { ∶ 3}
−3 ∧ {  ∶ 2}
−2 ∧ { ∶ 2,  ∶ 2}</p>
      <p>−1
−3 ∧ {  ∶ 2}</p>
      <p>−2 ∧ { ∶ 3} −1
−3 ∧ {  ∶ 3}
−2 ∧ { ∶ 2,  ∶ 1}</p>
      <p>−1
−3 ∧ {  ∶ 2}</p>
      <p>−2 ∧ { ∶ 3} −1</p>
      <p>The search algorithm then iterates over the ordered rules and returns the best match (or no
match at all) according to the criteria above. If an exact match is encountered, the algorithm
immediately returns the corresponding rule  iteration proceeds until the end and collects the
other types of matching rules in their respective lists. At the end, the best rule  is the first rule
in the first non-empty list in the order established above and is of the form:</p>
      <p>∶  −(  −1) ∧ ⋯ ∧  −2 ∧  −1 →   0
If all lists are empty, the algorithm returns NULL. This process is executed for both ℛ+()
and ℛ−() , thus returning the best possible positive recommendation and the best negative
recommendation. The two sets are of the form:</p>
      <p>ℛ+() = { −(  −1) ∧ ⋯ ∧  −2 ∧  −1 ∧ If0 →  0∗</p>
      <p>
        ℛ−() = { −(  −1) ∧ ⋯ ∧  −2 ∧  −1 ∧ If0 →  0∗
 ℎ 
 ℎ 
0∗ &gt;  0}
0∗ &lt;  0}
The set ℛ+ is composed of the rules with the same past activities of  , but with a suggestion of
iftness activities for the current day (i.e., If0) and with a higher sleeping quality in the consequent.
On the contrary, the rules in ℛ− are those with the same past activities of  , but with a suggestion
of fitness activities for the current day (i.e., If0) that may lead to worse sleeping quality in the
consequent. The order relation &gt; depends on the function we want to optimize. Note that the
antecedent of a sequential rule is the explanation of the current suggestion, i.e., it is the recent
behaviour of the user that leads to a certain sleep quality. It is important to highlight that, when
using sequential rules to provide recommendations, the sequential relationship between each
itemset is important. Indeed, the user performs activities on particular days and under precise
contextual conditions, thus the order is important. This is the reason why we have developed
our approach without starting from well know algorithms, like GSP [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. ICARE App</title>
      <p>We implemented an Android app with a Python backend which recommends activities to
perform during the current day, either a weekday or during the weekend, in order to increase
the sleeping quality w.r.t. the predicted value, as well as the activities to avoid.</p>
      <p>The app is written in Ionic, an open-source framework used to create hybrid mobile apps. Its
main features resemble many existing health-related apps, collecting data from the user such
as their weight, sleep quality, and activity levels. The latter are obtained directly from a Fitbit
device worn by the user and are used mainly in the sleep quality prediction and the activity
recommendation phases. The main view and the sleep quality prediction page, together with
its explanation, can be seen in Figure 4(a), while positive and negative recommendations are
shown in Figure 4(b). The ICARE app provides a personalized prediction by giving a sleep
quality evaluation for the following night, with a visual representation of the related confidence,
describing the expected likelihood that the prediction will turn out to be true. Moreover, we
provide the user with an explanation for highlighting why that prediction was proposed. In
particular, physical activities performed in the previous days, and considered as the prevision
reason, are summarized. This way users are given an insight into the motivations that led to a
prediction, and thus they can better understand how activities and desired goals are intertwined.
Starting from the description of the present situation and the related prediction, ICARE provides
users with personalized suggestions that are diferent for diferent users. The app shows the
goal to reach, together with positive and negative recommendations describing activities to
perform and to avoid, respectively, in order to achieve the given goal. Proposed suggestions
change over time and are strictly related to user context.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>
        Data Mining algorithms considering the temporal dimension have been proposed in the literature
and mainly infer sequences of events [
        <xref ref-type="bibr" rid="ref10 ref11 ref8 ref9">8, 9, 10, 11</xref>
        ]. In our proposal, we set the minimum time
gap to the daily granularity of Fitbit data, the maximum time gap is flexible since the temporal
window can be enlarged but we difer from other previous work because we need to maintain
the relative (w.r.t. the current day) temporal information of each itemset, since it is used to
provide in time recommendations and thus, the antecedent of mined rules has to match with
the real user log storing what a user has done daily in the past few days.
      </p>
      <p>
        The impact of contextual information has been investigated in the state of the art and
considered relevant for providing personalized suggestions, since Context-Aware Recommendation
Systems (CARS) are able to provide more accurate recommendations by adapting them to the
specific context the user is acting in [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ]. Here, the notion of context can include, but it is
not limited to, geographical, temporal, social and categorical information. For example, the
(a)
(b)
ability to discover that a particular user sleeps better after some days of heavy fitness activity
and that the same user prefers to train during sunny days can be useful to provide personalized
suggestions suited to the weather conditions of the next few days.
      </p>
      <p>
        In the recommendation field, the importance of explanations has been also emphasized, since
they could help users fulfill their needs more easily and in an intuitive way, but also accept
the suggestions [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. This is true especially in the health care domain, since people using
wearable devices do not have clinical expertise, thus the ability to provide clear and quick
recommendations, together with intuitive explanations, could be very important [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions</title>
      <p>The paper introduces ICARE, a framework for collecting and enriching wearable device data
to produce contextual sequential rules. Sequential rules correlating sequences of past events
with a specified future goal are discovered by analysing temporal data. Finally, ICARE provides
explainable recommendations by means of an intuitive application. As for future work, we
plan to extend the ICARE app in order to collect the user’s opinion on the received predictions
and recommendations, and to infer not just the frequent activity patterns, but also the average
duration of each activity correlated with additional external information (e.g., the daily schedule).
Indeed, it could be useful to suggest the next best activities on the base of the user’s free time,
whilst factoring the current time, the available remaining time interval, and the average duration
of the activities to be recommended.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Calero Valdez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ziefle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Verbert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Holzinger</surname>
          </string-name>
          ,
          <article-title>Recommender Systems for Health Informatics: State-of-the-</article-title>
          <string-name>
            <surname>Art</surname>
          </string-name>
          and Future Perspectives, Springer International Publishing, Cham,
          <year>2016</year>
          , pp.
          <fpage>391</fpage>
          -
          <lpage>414</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>B.</given-names>
            <surname>Oliboni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Dalla</given-names>
            <surname>Vecchia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Marastoni</surname>
          </string-name>
          , E. Quintarelli,
          <source>ICARE: An Intuitive ContextAware Recommender with Explanations</source>
          , Springer Nature, To appear.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          ,
          <article-title>Fast algorithms for mining association rules in large databases</article-title>
          ,
          <source>in: Proceedings of the 20th International Conference on Very Large Data Bases</source>
          , VLDB '
          <fpage>94</fpage>
          , Morgan Kaufmann Publishers Inc., San Francisco, CA, USA,
          <year>1994</year>
          , p.
          <fpage>487</fpage>
          -
          <lpage>499</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lyu</surname>
          </string-name>
          , W. Gan,
          <string-name>
            <given-names>P. S.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Totally-ordered sequential rules for utility maximization</article-title>
          ,
          <source>CoRR abs/2209</source>
          .13501 (
          <year>2022</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Harms</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Deogun</surname>
          </string-name>
          ,
          <article-title>Sequential association rule mining with time lags</article-title>
          ,
          <source>J. Intell. Inf. Syst</source>
          .
          <volume>22</volume>
          (
          <year>2004</year>
          )
          <fpage>7</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V.</given-names>
            <surname>Thambawita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Hicks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Borgli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. K.</given-names>
            <surname>Stensland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Svensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.-A.</given-names>
            <surname>Pettersen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Johansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. D.</given-names>
            <surname>Johansen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. D.</given-names>
            <surname>Pettersen</surname>
          </string-name>
          , et al.,
          <article-title>Pmdata: a sports logging dataset</article-title>
          ,
          <source>in: Proceedings of the 11th ACM Multimedia Systems Conference</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>231</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>OpenWeather</surname>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://openweathermap.org/api.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>R.</given-names>
            <surname>Agrawal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Srikant</surname>
          </string-name>
          ,
          <article-title>Mining sequential patterns</article-title>
          , in: P. S.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>A. L. P.</given-names>
          </string-name>
          Chen (Eds.),
          <source>Proceedings of the Eleventh International Conference on Data Engineering, March</source>
          <volume>6</volume>
          -
          <issue>10</issue>
          ,
          <year>1995</year>
          , Taipei, Taiwan, IEEE Computer Society,
          <year>1995</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>14</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S. K.</given-names>
            <surname>Harms</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Deogun</surname>
          </string-name>
          ,
          <article-title>Sequential association rule mining with time lags</article-title>
          ,
          <source>J. Intell. Inf. Syst</source>
          .
          <volume>22</volume>
          (
          <year>2004</year>
          )
          <fpage>7</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pei</surname>
          </string-name>
          , J. Han,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mortazavi-Asl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Dayal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Hsu</surname>
          </string-name>
          ,
          <article-title>Mining sequential patterns by pattern-growth: The prefixspan approach</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>16</volume>
          (
          <year>2004</year>
          )
          <fpage>1424</fpage>
          -
          <lpage>1440</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>M. J. Zaki</surname>
          </string-name>
          ,
          <article-title>SPADE: an eficient algorithm for mining frequent sequences</article-title>
          ,
          <source>Mach. Learn</source>
          .
          <volume>42</volume>
          (
          <year>2001</year>
          )
          <fpage>31</fpage>
          -
          <lpage>60</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G.</given-names>
            <surname>Adomavicius</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tuzhilin</surname>
          </string-name>
          ,
          <string-name>
            <surname>Context-Aware Recommender</surname>
            <given-names>Systems</given-names>
          </string-name>
          , Springer US, Boston, MA,
          <year>2011</year>
          , pp.
          <fpage>217</fpage>
          -
          <lpage>253</lpage>
          . doi:
          <volume>10</volume>
          .1007/978- 0-
          <fpage>387</fpage>
          - 85820-
          <issue>3</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>G.</given-names>
            <surname>Adomavicius</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Mobasher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ricci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Tuzhilin</surname>
          </string-name>
          ,
          <article-title>Context-aware recommender systems</article-title>
          ,
          <source>AI</source>
          Magazine
          <volume>32</volume>
          (
          <year>2011</year>
          )
          <fpage>67</fpage>
          -
          <lpage>80</lpage>
          . doi:
          <volume>10</volume>
          .1609/aimag.v32i3.
          <fpage>2364</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>K.</given-names>
            <surname>Balog</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Radlinski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Arakelyan</surname>
          </string-name>
          ,
          <article-title>Transparent, scrutable and explainable user models for personalized recommendation</article-title>
          ,
          <source>SIGIR'19</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, New York, NY, USA,
          <year>2019</year>
          , p.
          <fpage>265</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>C.</given-names>
            <surname>Combi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Amico</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bellazzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Holzinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Moore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zitnik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <article-title>A manifesto on explainability for artificial intelligence in medicine</article-title>
          ,
          <source>Artif. Intell. Medicine</source>
          <volume>133</volume>
          (
          <year>2022</year>
          )
          <fpage>102423</fpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>