<!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>Situation-aware User Interest Mining on Mobile Handheld Devices</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Doreen Cheng, Henry Song, Swarooop Kalasapur, Sangoh Jeong Samsung Electronics R&amp;D Center</institution>
          ,
          <addr-line>75 W. Plumeria Dr. San Jose, CA 95134 (doreen.c, henry.song, s.kalasapur</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present our experience in creating a novel unsupervised clustering algorithm for situation-aware pattern extraction from usage logs. The algorithm automatically estimates nearoptimal number of clusters and cluster centroids. It models situation by taking advantage of sensors. 5-fold cross validations using real-world data show that the algorithm delivers higher accuracy than existing algorithms with much lower complexity. As a result it is the first clustering algorithm that can be practically deployed on mobile handheld devices in the real world. We also describe the research problems in situation-aware personalization that must be addressed before users can benefit from the learning algorithms and speculate on possible approaches to the solutions. Consumers are overwhelmed when trying to get what they want from the Web using their handheld devices. Personalization is recognized as a key to help the users, and understanding user interests is critical for personalization. Since users' interests are often situation dependent, we decided to pursue research on situation-aware user interest mining. With more sensors, such as GPS, camera, and gyroscope, embedded in mobile handhelds, we can capture the environmental contexts while recording a user usage. Increased usage of wearable sensors can enable us to capture users' physical and physiological state. If we use the captured sensor data to represent the situation of a usage event and extract patterns from the usage logs, we can then use the patterns to predict the user's situational interests for better personalization. The problem is that handheld devices have limited power and computation resources for complex analytics. To address this problem, the Maggitti project [16] suggested sending usage logs to a server for the analysis. This approach, however, resulted in immediate privacy concerns. To protect user privacy, we aimed for complete client solutions on mobile handheld devices. Currently there are many client-side solutions. Many of them target at media recommendations [1, 2] and Web information retrieval [3]. Most of them require profiles and situations defined by the users or by rules specified at design time; some even require the users to proactively train the system first. These requirements are unrealistic, since users are unlikely to specify situational preferences and keep them updated. Users are even less likely to train the system by entering their situations every time they use their phones. To alleviate users from these burdens, the author of [5] used unsupervised clustering algorithms to extract patterns from user usage data combined with context data from sensors. However, there is no substantial performance results reported and it is not generally applicable in real-life cases since it requires prior knowledge of K, the number of clusters, an important parameter for good performance, but K is typically unknown and varies from dataset to dataset. For a client-side solution to be practically deployable in the real world, we must eliminate all the impractical assumptions and requirements. In addition, the solution must be lightweight and able to perform well for the datasets with varying characteristics such as the density of valid data entries. In this paper, we will first describe our approach to solving the problem in Section 2. We will then present the results in Section 3. In Section 4, we will discuss the difficulties in situationaware pattern mining and in Section 5 we will conclude and speculate future research directions in this research area.</p>
      </abstract>
      <kwd-group>
        <kwd>interest mining</kwd>
        <kwd>situation-aware</kwd>
        <kwd>unsupervised learning</kwd>
        <kwd>clustering</kwd>
        <kwd>pattern extraction</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Our goal is to create a learning algorithm for usage pattern extraction that is practically
deployable on mobile handheld devices. We chose two use scenarios to drive algorithm
development: the situation-aware mobile task recommendation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and smart search and
advertisement [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In addition to their apparent values to end users, these scenarios also require
different partitioning of the fields of the input vectors and exhibit different data characteristics,
which means that any algorithm we develop should deliver good performance over a broader
range of data characteristics.
      </p>
      <p>The raw log data is processed and encoded for clustering based on the requirements of the
driving use scenarios. A data vector is semantically partitioned into two portions: a portion
representing a situation and a portion representing user-need to be predicated. For example, for
task recommendation, situation is represented by the context part only and the application usage
part is used for predicting the applications that are likely to be used in a situation. In case of
smart search, both the context and the application usage are used to represent situation and the
interest part is used for predicting user needs in the situation.</p>
      <p>At a prediction time, the sensor values are sampled to represent the current situation that is
compared with the situation portion of each centroids. The centroid most similar to the current
situation is selected for prediction. For example, in the case of application recommendation, we
recommend applications that are most frequently used in a current situation. In the case of smart
search, we use highly probable keywords plus current location to form queries and search for
links and Ads for the user.</p>
      <p>The input data densities of the two driving use cases are quite different. By data density, we
mean the density of valid entries in the prediction portion of an input matrix. In the case of task
recommender, it means the density of the valid entries in the application-usage portion of the
matrix, where as in the smart search case, it means the density of the valid entries in the
userinterest portion of the matrix. In the task recommender case, we assume the density is 100%
since an application is either used or not used. In the smart search case, we assume that only the
data entries that contain user implicit or explicit feedbacks are valid, and all the others are
unknown – similar to the assumption used in collaborative filtering. Since a typical user would
only give feedbacks to a very small number of items among all the items considered, the data
density is usually very low.</p>
    </sec>
    <sec id="sec-2">
      <title>Sensors</title>
      <p>feedback</p>
    </sec>
    <sec id="sec-3">
      <title>Usage Log</title>
    </sec>
    <sec id="sec-4">
      <title>Current Situation</title>
    </sec>
    <sec id="sec-5">
      <title>Comparison</title>
    </sec>
    <sec id="sec-6">
      <title>Data Clustering Fig 1. Extracting situational usage patterns for recommendation.</title>
    </sec>
    <sec id="sec-7">
      <title>Centroid Recommendation</title>
      <p>
        Seeking for an algorithm that could deliver good performance for both scenarios, we need
datasets with various densities in our experiments. The first problem we faced is that there are no
real life data that can be used for algorithm development and we had to devise a cold-start
method to statistically generate synthetic data [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that is as close as possible to real-life data.
Meanwhile we conducted an 8-user, 6-month user study to collect real-world usage data for
algorithm validation.
      </p>
      <p>
        We chose to use unsupervised clustering approach to solving the problem because in the real
life, mobile device usage data will not come with labels. We started by using the LBG [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
(Linde, Buzo, Gray) algorithm for its initialization stability and the co-clustering [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ] for its
ability to capture coherent as well as homogeneous trends latent. We tried various ways of
clustering the data, e.g. clustering the situation portion only, the prediction portion only, and both
portions combined. We tuned the parameters of each algorithm to achieve good accuracy [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
The problem is that all these algorithms require prior knowledge of K, the number of patterns
contained in a given input dataset and a good initial guess of centroids for good accuracy. With
gained insights of the problem, we set out to eliminate this requirement. There are algorithms for
estimating optimal K, e.g. the KL algorithm [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and algorithms for estimating optimal initial
values of centroids, e.g. the KKZ algorithm [21]. But we are not aware of any algorithm can do
both. In addition, all these algorithms are far too complex to be used on mobile handheld devices.
3.
      </p>
      <sec id="sec-7-1">
        <title>Results</title>
        <p>
          We created the One-Pass Clustering (OPC) algorithm [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ], a special-purpose algorithm for
situation-aware usage pattern extraction. It is the first algorithm that can automatically make
good estimates for both K and initial cluster centroids. It does so by taking advantage of situation
awareness. It first classifies the input vectors according to the state combination of the
situationportion of each vector. It then classifies the groups into basic groups and noisy groups based on
whether there are sufficient statistical evidences for prediction (i.e. enough valid data in the
prediction-portion of a group). In other words, a basic group contains enough valid data to give
high confidence for pattern-based prediction, whereas a noisy group does not. The OPC
algorithm uses three thresholds for the classification. To qualify a group as a basic group, we first
use a threshold to ensure that it has enough number of input vectors. We use a second threshold
to ensure that the group has enough valid values in each column, a third threshold to ensure that
that the centroid of the group has enough valid entries.
        </p>
        <p>After all the groups are classified, the number of basic groups becomes the estimated optimal
number of clusters, K, and the situation state of each basic group becomes the initial situation
centroid for the cluster. The OPC algorithm then assigns the data instances in the noisy groups
into appropriate clusters by computing the similarity between the situation states between a noisy
group and each of the centroids and assigns the data instances in the noisy groups to the cluster
with highest similarity. It then updates the corresponding situation centroid. After all the data in
noisy groups are assigned to the clusters, the algorithm then re-computes the prediction portion in
every cluster.</p>
        <p>
          We compared the performance of the algorithms for both task recommendation and smart
search using real-life data gathered from eight users including students, engineers, and managers
for 6 months. We recorded their application usages on BlackJackII phones together with the date,
time, location, battery level, device mode (e.g., “out door”, “automatic”, “vibrate”, etc.), and ring
status at each usage event. .Limited by space, we will only include the co-clustering in this paper.
We will also only describe the details of the result for the task recommendation here so as to
motivate our discussions on the difficulties of situation-aware pattern extraction. Interested
reader can find more details in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ][
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>We used a simple average method (AVG) as the base for algorithm comparison, where the
unknown data fields are filled using the average of the valid values from the same column as
predicated values; if there are no valid values in the column, the average of the valid values of
entire matrix is used. For the co-clustering, we used the KL algorithm to estimate near-optimal
number of clusters and used the LBG algorithm for initializing the centroids before running the
co-clustering itself. The KL algorithm iteratively finds the k that gives the smallest difference in
the overall distortions between kth and (k+1)th iterations. Its computation complexity is
O{C2mnT)}, where C is the number of clusters, T is the number of iterations, m and n are the
dimensions of the situation portion of the matrix. Obviously the complexity is too high to be used
on mobile handhelds, especially considering the combined complexity of co-clustering and KL.
In comparison, the computation complexity of OPC, including k estimation and clustering, is
O{Cmn}. Although theoretically the number of clusters could be equal to the number of state
combinations of the situation portion of the vector, in reality, it is much smaller since the number
of patterns in a dataset is typically small. In our 8-user-6-month datasets, the number of clusters
ranges from 1 to 280.</p>
        <p>True
Positiveness
True
Negativeness
Overall
Accuracy</p>
        <p>User 1</p>
        <p>User 2</p>
        <p>User 3</p>
        <p>User 4</p>
        <p>User 5</p>
        <p>User 6</p>
        <p>User 7</p>
        <p>User 8
CC
OPC
AVG
CC
OPC
AVG
CC
OPC
AVG</p>
        <p>
          We used true positiveness (TP), true negativeness (TN), and overall accuracy defined in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]
for measuring accuracy, since they are commonly used for testing accuracy of 2-class
classifications and our algorithms make 2-class predictions as recommended or not. Since
mobile handheld devices have limited screen size, we choose to recommend top-3 frequently
applications. Table 1 shows the 5-fold cross-validation results.
        </p>
        <p>From the table, we can observe that co-clustering performs the worst although it is the most
complex algorithm especially combined with the LBG and KL algorithms. Although it might be
possible to further tune the KL algorithm and recommendation schemes, we expect the
improvements to be small and not worth the high computation and memory costs. On the other
hand, the simple AVG algorithm performs well, especially for datasets that do not contain clear
situational patterns or for datasets with no statistically sufficient data for pattern extraction.</p>
        <p>We observed that the real-life usage data vary widely from having no clear patterns to having
strong patterns. Also for a single user, typically there are no clear patterns in the usage data at the
beginning and patterns emerge and become clearer over time. In addition, over time some old
patterns will gradually disappear and new ones will emerge. This means that a practically
deployable algorithm should also be able to deliver good accuracy in most of these cases in
addition to being able to estimate K. Our results show that the OPC algorithm performs the best
over the datasets with these varying characteristics. For example, in Table 1, the TP performance
of OPC and AVG differs from 6% to -1%, while TN performance differs from 2% to 0%.
Overall, the OPC performs better than AVG, because it behaves like the AVG algorithm when
there are no sufficient evidences for patterns, but it behaves like clustering when evidences
increase.</p>
      </sec>
      <sec id="sec-7-2">
        <title>Discussion</title>
        <p>
          We encountered problems in both data preprocessing and computation formulation. In this
section we will present our experiences so as to invite discussions from the research community.
The first problem is accuracy. As shown in the last section, even with good estimates of the
number of clusters and initial centroids, the prediction accuracy is only moderately higher than
the simple average method. This is mainly due to the difficulties in situation representation. For
example, user’s preferences often depend on her mood and who are around, but we are not able
to capture these parameters. Using fixed context states may introduce noises since what context
state should be used for representing a situation may vary from user to user and from time to
time. A naive solution could be to assign weights based on specific use scenarios, but such
solution may not be adaptive to different users. Furthermore a same context may be more
relevant for one situation than another. This means that the weighting for a context may not be
applicable to all situations. Since the features chosen by traditional feature selections [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] are
relevant to all clusters, these algorithms do not apply here. .Other factors such as imprecise
similarity computation of situations may also contribute to lowering the performance, since we
have hard time to justify the semantic meanings of using either the Euclidean or the cosine
distance measures for our purposes.
        </p>
        <p>The second problem is raw log data processing. For consumers to benefit from
situationaware user modeling, the raw log data needs to be automatically transformed in order to be used
by the learning algorithms. The transformation includes cleaning, quantization/grouping, and
encoding. The quality of transformation significantly impacts the performance and how to
transform typically depends on the use scenarios and user’s life style. A reasonable way might be
to allow a use scenario to specify the requirements and the system automatically does the job. But
we found several issues need to be addressed for this to happen.</p>
        <p>One issue is the need to handle missing context data in raw log records. For example the
location information may be missing because getting GPS data is very slow and the cell tower
information is not available during phone calls. The battery status may be missing due to system
limitations. We addressed this problem by sampling context values periodically in addition to
sampling them at the time of use and by deriving a missing value from the valid value(s) in a
time window around the usage event. But this interpolation can introduce significant noise into
prediction and periodic sampling consumes power. Perhaps support from sensor and system
designers to provide high quality context data can be a better solution to the problem.</p>
        <p>Another issue is the difficulties of automatic cleaning, quantizing and encoding of raw data.
For example many locations do not have statistically significant number of usage events and
many applications occur infrequently in a log. We addressed this problem by retaining 9
frequently visited ZIP-code level locations, by combining the infrequently visited locations into a
single group, and by grouping the applications by types, e.g. grouping SMS, MMS and IM as
messaging. The issue gets more complicated if we consider that different use scenarios may
require different treatments. Since there can be many types of data being logged, many
applications available, and potentially a large number of items are to be predicated or
recommended in the real world, how to model the log data fields in order to flexibly support the
needs of various scenarios still need more research.</p>
      </sec>
      <sec id="sec-7-3">
        <title>Conclusion and Future Direction</title>
        <p>Situation-aware personalization is becoming more important in mobile and pervasive
computing. Previous works in this area use assumptions that prevent them to be practically
deployable in the real world. In this paper, we described the OPC algorithm that does not require
the impractical assumptions and is able to perform well for datasets with broader characteristics.
It delivers higher accuracy with much lower complexity than existing algorithms and runs
completely on a mobile handheld device. However for end users to benefit from the results of
user modeling, we need to address the following research issues: 1) a data model that supports
automatic preprocessing (cleaning, quantization, and encoding) of usage data based on given
requirements, 2) more accurate ways to approximate user's situations using sensors, 3) more
semantically correct ways for computing similarity between context values. We also speculate
that a client and server coordination solution could go a long way. Specifically a user's device
could send predicted preferences to a server without revealing the user’s situation and the server
offers recommendations based on the user’s preferences and the preferences from the people
similar to the user.
21. H. Song, S. Jeong, D. Cheng, and S. Kalasapur, “Efficient situation-aware user
preferences mining on mobile devices", to be submitted to RecSys
2009.
22. I. Katsavounidis, C.-C. J. Kuo, and Z. Zhang, “A New Initialization Technique for Generalized Lloyd
Iteration”, IEEE Signal Processing Letters, Vol. 1, No. 10, Oct. 1994.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Dornbush</surname>
          </string-name>
          , K. Fisher,
          <string-name>
            <surname>K. McKay</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Prikhodko</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Segall</surname>
          </string-name>
          , “
          <article-title>XPOD - A Human Activity and Emotion Aware Mobile Music Player</article-title>
          ,
          <source>” proc. 2nd Int'l Conf. Mobile Technology, Applications and Systems</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Chin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Men</surname>
          </string-name>
          ,
          <article-title>"Supporting Context-Aware Media Recommendations for Smart Phones," IEEE Pervasive Computing</article-title>
          ,
          <string-name>
            <surname>July-September</surname>
          </string-name>
          ,
          <year>2006</year>
          , vol.
          <volume>5</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>68</fpage>
          -
          <lpage>75</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Yau</surname>
            ,
            <given-names>S.S.</given-names>
          </string-name>
          ; Huan Liu;
          <article-title>Dazhi Huang; Yisheng Yao, "Situation-aware personalized information retrieval for mobile Internet,"</article-title>
          <source>proc. 27th Int'l Computer Software and Applications Conference (COMPSAC 2003)</source>
          , vol., no., pp.
          <fpage>639</fpage>
          -
          <lpage>644</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.S.</given-names>
            <surname>Jensen</surname>
          </string-name>
          , “Research Challenges in Location-enabled
          <string-name>
            <surname>M-Services</surname>
            <given-names>”</given-names>
          </string-name>
          ,
          <source>In Proc. of the 3rd International Conference on Mobile Data Management (MDM</source>
          <year>2002</year>
          ),
          <source>Jan. 22002</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>J.A.</given-names>
            <surname>Flanagan</surname>
          </string-name>
          , “
          <article-title>Unsupervised Clustering of Context data and Learning User Requirements for a Mobile Device</article-title>
          ,
          <source>” proc. 5th Int'l Conf. Modeling and Using Context, LNCS 3554</source>
          , Springer,
          <year>2005</year>
          , pp.
          <fpage>155</fpage>
          -
          <lpage>168</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. D. Cheng, H. Song,
          <string-name>
            <given-names>H.</given-names>
            <surname>Cho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jeong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kalasapur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A</given-names>
            . Messer, “
            <surname>Mobile</surname>
          </string-name>
          Situation-aware
          <source>Task Recommendation Application,” Proc. Next Gen Mobile Apps &amp; Tech (NGMAST-08)</source>
          , IEEE CS press,
          <year>2008</year>
          , pp
          <fpage>228</fpage>
          -
          <lpage>233</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>S.C.</given-names>
            <surname>Madeira</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. L.</given-names>
            <surname>Oliveira</surname>
          </string-name>
          ,
          <article-title>"Biclustering Algorithms for Biological Data Analysis: A Survey,"</article-title>
          <source>IEEE Transactions on Computational Biology and Bioinformatics</source>
          , vol
          <volume>1</volume>
          , issue 1, pp
          <fpage>24</fpage>
          -
          <lpage>45</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>H.</given-names>
            <surname>Cho</surname>
          </string-name>
          , et.al. ,
          <source>“Minimum Sum-Squared Residue Co-clustering of Gene Expression Data,” Proceedings of the Fourth SIAM International Conference on Data Mining (SDM)</source>
          , pp
          <fpage>114</fpage>
          -
          <lpage>125</lpage>
          ,
          <year>April 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Banerjee</surname>
          </string-name>
          , et.al.,
          <article-title>“A generalized maximum entropy approach to bregman co-clustering and matrix approximation</article-title>
          ,
          <source>” Journal of Machine Learning Research</source>
          , vol
          <volume>8</volume>
          , pp
          <fpage>1919</fpage>
          -
          <lpage>1986</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. T. Hastie,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tibshirani</surname>
          </string-name>
          , and G. Walther, “
          <article-title>Estimating the Number of Data Clusters via the Gap Statistic”</article-title>
          ,
          <source>Journal of the Royal Statistical Society, B</source>
          <volume>63</volume>
          :
          <fpage>411</fpage>
          -
          <lpage>423</lpage>
          ,
          <year>2001</year>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. W. J.
          <string-name>
            <surname>Krzanowski</surname>
            , and
            <given-names>Y. T.</given-names>
          </string-name>
          <string-name>
            <surname>Lai</surname>
          </string-name>
          , “
          <article-title>A Criterion for Determining the Number of Groups in a Data Set using Sum of Squares Clustering”</article-title>
          , Biometrics,
          <year>1985</year>
          ,
          <volume>44</volume>
          :
          <fpage>23</fpage>
          -
          <lpage>34</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>12. Confusion Matrix, http://www2.cs.uregina.ca/~dbd/cs831/notes/confusion_matrix/confusion_matrix.html</mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>B.</given-names>
            <surname>Sarwar</surname>
          </string-name>
          , G. Karypis,
          <string-name>
            <given-names>J.</given-names>
            <surname>Konstan</surname>
          </string-name>
          , J. Reidl, “
          <article-title>Item-based collaborative filtering recommendation algorithms,”</article-title>
          <source>In Proc. 10th int'l Conf. on World Wide Web (WWW</source>
          '
          <year>2001</year>
          ) ACM, New York, NY, pp.
          <fpage>285</fpage>
          -
          <lpage>295</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>M. Balabnovic</surname>
            , and
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Shoham</surname>
          </string-name>
          , “Fab:
          <article-title>Content-based Collaborative Recommendation”</article-title>
          ,
          <source>Communications of the ACM</source>
          , Vol.
          <volume>40</volume>
          , Issue 3, pp
          <fpage>66</fpage>
          -
          <lpage>72</lpage>
          , Mar. 1997
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. L.
          <string-name>
            <surname>Buriano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Marchetti</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Carmagnola</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Cena</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Gena</surname>
            and
            <given-names>I. Torre</given-names>
          </string-name>
          , “
          <article-title>The Role of Ontologies in Context-aware Recommender Systems”</article-title>
          ,
          <source>In Proc. of the 7th International Conference on Mobile Data Management (MDM</source>
          <year>2006</year>
          ), May,
          <year>2006</year>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>H.C. Peng</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Long</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ding</surname>
          </string-name>
          , “
          <article-title>Feature selection based on mutual information: criteria of maxdependency, max-relevance, and min-redundancy”</article-title>
          ,
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          , Vol.
          <volume>27</volume>
          , No.
          <issue>8</issue>
          , pp.
          <fpage>1226</fpage>
          -
          <lpage>1238</lpage>
          ,
          <year>2005</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>M. Roberts</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Ducheneaut</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Begole</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Partridge</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Price</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Bellotti</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Walendowski</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Rasmussen</surname>
          </string-name>
          <article-title>“Scalable Architecture for Context-Aware Activity-Detecting Mobile Recommendation Systems”</article-title>
          , http://www.parc.com/research/publications/files/6319.pdf
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. H.
          <string-name>
            <surname>Song</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Kalasapur</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Jeong</surname>
          </string-name>
          , and D. Cheng, “SmartSearch:
          <article-title>Situation-Aware Web Search on Mobile Devices”</article-title>
          ,
          <string-name>
            <surname>IEEE</surname>
            <given-names>CCNC</given-names>
          </string-name>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Linde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Buzo</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Gray</surname>
          </string-name>
          , “
          <article-title>An Algorithm for Vector Quantization Design,”</article-title>
          <source>IEEE Transactions on Communications</source>
          , vol.
          <volume>28</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>95</lpage>
          , January,
          <year>1980</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>S.</given-names>
            <surname>Jeong</surname>
          </string-name>
          , D. Cheng, H. Song, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kalasapur</surname>
          </string-name>
          ,
          <article-title>"NON-COLLABORATIVE INTEREST MINING FOR PERSONAL DEVICES”</article-title>
          ,
          <source>IEEE CIDM 2009</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>