Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ABSTRACT 1 INTRODUCTION
The Location-Based Social Networks (LBSN) (e.g., Facebook, etc.) Most of the existing e-commerce systems (e.g., Amazon.com, etc.)
have many attributes (e.g., ratings, reviews, etc.) that play a cru- have been facilitating users to share their consumption experience
cial role for the Point-of-Interest (POI) recommendations. Unlike via ratings and reviews. The LBSNs have also been a useful platform
ratings, the reviews can help users to elaborate their consumption to share consumption experiences on different factors of interest
experience in terms of relevant factors of interest (aspects). Though (e.g., price, service, accessibility, product quality, etc.). For instance,
some of the existing systems have exploited user reviews, most of the review text "The breakfast was awesome but the front-desk service
them are less transparent and non-interpretable (as they conceal was really bad" implies a positive experience of the reviewer towards
the reason behind recommendation). These reasons have motivated "breakfast" and opposite for "front-desk". The words "breakfast" and
us towards explainable and interpretable recommendation. To the "front-desk" are known as aspect terms and their equivalent cate-
best of our knowledge, only few of the researchers have exploited gories "Food" and "Service" are known as aspects. Such experiences
user reviews to incorporate the sentiment and opinions on different from a real customer have been crucial in the purchase decision for
aspects for personalized and explainable POI recommendation. potential customers, and product improvement for manufacturers.
This paper proposes a model termed as ReEL (Review aware Despite the usefulness, reading time and uniform interpretability
Explanation of Location Recommendation) which models the review- of reviews have been a major concern. It would have been easier if
aspect correlation by exploiting deep neural network, formulates one can summarize and explain the opinions on key aspects, for in-
user-aspect bipartite relation as a bipartite graph, and models the stance, (i) place A has a good rating for food, (ii) place B is renowned
explainable recommendation by using dense subgraph extraction for cleanliness, etc. Though a dedicated community has been focus-
and ranking-based techniques. The major contributions of this pa- ing on the extraction of such aspects and opinions [12, 45, 47], the
per are: (i) it models users and POIs using the aspects posted on user recommendation domain can also use such aspect-based summa-
reviews, and it provisions incorporation of multiple contexts (e.g., rization to enhance and explain the generated recommendation.
categorical, spatial, etc.) in POI recommendation, (ii) it formulates The exploitation of different factors of LBSN for an efficient rec-
preference of users’ on aspects as a bipartite relation, represents ommendation has been quite popular in the last decade [51, 55].
it as a location-aspect bipartite graph, and models the explainable Most of the studies have focused on non-text attributes, such as
recommendation with the notion of ordered dense subgraph extrac- categorical, temporal, spatial, and social [1–3, 48, 49] but have been
tion using bipartite cores, shingles, and ranking-based techniques, less transparent and less interpretable (i.e. the factors used for rec-
and (iii) it extensively evaluates the proposed models using three ommendation are hidden from end users). Contrary to that, some
real-world datasets and demonstrates an improvement of 5.8% to of the studies [17, 18, 35, 36, 40, 41, 43, 57] have already claimed
29.5% on F-score metric, when compared to the relevant studies. the user persuasiveness due to explainability in real-world systems.
The similarity-based approaches [4, 23] have proposed user-based
KEYWORDS neighbor style (e.g., "users with similar interest have purchased the
Explainable Recommendation; Social Networks; Information Re- following items..." ) explanations. The item-based neighbor style (e.g.,
trieval "items similar to you viewed or purchased in the past..."), influence
style (how the users’ input have influenced the generation of recom-
ACM Reference Format: mendation), and keyword-style (items that have similar description
Ramesh Baral, XiaoLong Zhu, S. S. Iyengar, Tao Li. 2018. ReEL: Review aware content to purchase history) can be other variants of explanations.
Explanation of Location Recommendation. In Proceedings of 26th Conference
To the best of our knowledge, only few studies have focused on
on User Modeling, Adaptation and Personalization (UMAP ’18). ACM, New
York, NY, USA, 10 pages. https://doi.org/10.1145/3209219.3209237
review-aware explainable recommendation. There are many factors
that make this problem challenging and interesting. The aspect
Permission to make digital or hard copies of all or part of this work for personal or extraction from ambiguous and noisy text, organizing the numerous
classroom use is granted without fee provided that copies are not made or distributed aspect terms into relevant categories (e.g., food, service, etc.), and
for profit or commercial advantage and that copies bear this notice and the full citation personalization of recommendation are some of the main challenges.
on the first page. Copyrights for components of this work owned by others than ACM
must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, The aspect-based personalized explanation is challenging as it needs
to post on servers or to redistribute to lists, requires prior specific permission and/or a to handle the sentiments of each aspects, and also the individual
fee. Request permissions from permissions@acm.org.
user preferences and item features to get relevant explanation.
UMAP ’18, July 8–11, 2018, Singapore
© 2018 Association for Computing Machinery.
ACM ISBN 978-1-4503-5589-6/18/07. . . $15.00
https://doi.org/10.1145/3209219.3209237
The ease of adaptation of arbitrary continuous and categori- and (iii) it efficiently exploits a bipartite core extraction, shingles ex-
cal attributes in a scalable manner makes the Convolutional Neu- traction, and ranking-based methods to extract densely connected
ral Networks (CNN) a good candidate for classification problems aspects and relevant POIs for an explainable recommendation.
(e.g., [13, 25]). This also makes them ideal for a supervised review- Explanation-based approaches: Chen et al. [11] personalized
aspect classification problem. We formulate the problem of review ranking based tensor factorization model and used phrase-level sen-
and aspect correlation using CNNs. This simplifies the process of timent analysis across multiple categories. They extracted aspect-
mapping the user sentiments to the (POI, aspect) tuples and model- sentiment pairs from review text and used Bayesian Personalized
ing the users’ aspect preferences as the aspect-POI bipartite rela- Ranking [38] to rank the features from user reviews. Finally, feature
tion. We represent such a bipartite relation using a bipartite graph, wise preference of a user was derived using the user-item-feature
extract users’ ordered aspect preferences using dense subgraph cube and rank of the feature obtained earlier. Zhang et al. [56] used
extraction and ranking-based methods, and generate an explain- matrix factorization to estimate the missing values and a recommen-
able POI recommendation. The core contributions of this paper dation was made by matching the most favorite features of a user
are: (i) it models users and POIs using the aspects extracted from and properties of items. They used simple text templates to generate
reviews and different contexts (e.g., categorical, spatial, etc.), (ii) it a feature-based explanation of positive and negative recommen-
formulates the user preferences as an ordered aspect-POI bipartite dations. However, incorporation of additional features (e.g., POI
relation, represents it as a bipartite graph, and proposes bipartite category) was not explored. Lawlor et al. [27] exploited sentiment-
core, shingles, and ranking-based methods to generate personal- based approach to explain why a place might(not) be interesting to a
ized and explainable POI recommendation, and (iii) it evaluates the user. For each aspect, they compared the recommended place to the
proposed model using three real-world datasets. As an important alternatives and provided explanation (e.g., better (worse) than 90%
by-product, our model can implicitly identify the user communities (20%) of alternatives for room quality (price), etc.). However, they
and categorize them by their preferred aspects. It can also identify relied on frequency of aspects of POIs and users to get such relation
the implicit POI groups that are known for a set of aspects. and incorporation of additional features remained unexplored. He
et al. [21] exploited tri-partite modeling of user-item-aspect tuples
and used graph-based ranking to find the most relevant aspects of
a user that match with relevant aspects of places. The common rel-
2 RELATED RESEARCH evant aspects were used in the explanation. Li et al. [10] proposed
The problem of aspect extraction from review text has been quite an explanation interface to explain the tradeoff properties within
popular [8, 28, 52] for various problems (e.g., rating prediction [31], a set of recommendations, in terms of their static specifications
aspect-sentiment summarization [24, 34, 42], recommendation [30, and feature sentiments. However, their interface requires users to
53], etc.). To the best of our knowledge, exploitation of aspects explicitly provide their preference on different aspects.
for explainable POI recommendation has been less explored. We We have found that only few of the existing studies have fused
present the relevant studies in following two categories: few additional attributes (e.g., social), whereas most of them had
Aspect-based approaches: Yang et al. [50] exploited sentiment no provision for them. Most of the studies were tightly coupled to
lexicon (e.g., SentiWordNet)-based approach and defined user pref- aspects and their sentiments, and analyzed influence of all aspects
erences based on tips, check-ins, and social relations but did not together. The influence of aspects among each other can have ad-
fully exploit user preferences at aspect level. Wang et al. [46] ex- verse impact on recommendation quality, for e.g., a place that is
ploited multi-modal (i.e. text, image, etc.) topics-based POI semantic good in "Price" aspect might be opposite in "Service" aspect. A user
similarity but ignored aspect level preference modeling and recom- who just cares about "Price" aspect might ignore some "Service"
mendation explanation. Covington et al. [14] exploited different related problems in that place. So we need to minimize the influ-
factors, such as users’ activity history, demographics, etc., but did ence of aspects among each other. This is crucial for aspect-based
not incorporate opinions from user comments and also did not recommendation systems, and to the best of our knowledge, this
focus on recommendation for each aspect. Guo et al. [19] repre- direction is less explored and is still a viable research problem. We
sented users, POIs, aspects, and geo-social relations with a graph attempt to fill this gap by exploiting bipartite graph and dense sub-
and ranked the nodes to define the POI recommendations. Some graph extraction techniques. For a user, the most dense subgraph
of the studies [15] used the features extracted from user reviews represents the set of most preferred aspects and places popular for
to build user and item profiles and generated the recommendation. those aspects. The dense subgraph extraction is followed by discon-
Zhang et al. [53] used the aspect opinions, social, and geographical necting the edges within the dense subgraph which ensures less
attributes to generate the recommendation. Chen et al. [9] used interference from the aspects already discovered in previous dense
aspect-based user preferences in their recommendation. Recently, subgraphs. This claim is also supported by our evaluation where
Zheng et al. [58] adapted [13] to exploit user reviews and mapped one of our model ReEL-Core performs better than our another
user and item feature vectors into same space to estimate user- model ReEL-Rank (see Sec. 4.1, Sec. 4.3, and Sec. 5 for detail).
item rating. Our model has following advantages than [58]: (i) it
uses sentiment polarity of reviews at sentence level rather than the
whole review text, (ii) it learns to classify each review sentence into 3 METHODOLOGY
aspects and models users and places using these aspects and embed- The overview of proposed system is illustrated in Figure 1. The core
ding of additional contexts (e.g., POI category, check-in time, etc.), components of the proposed system are as follows:
Shingles
Recommendation
Explanation of
Extraction
Ranking
2 Aspect User feature
method
vector Concatenated
term User’s context
Bipartite Core vectors
Extraction embedding detection
1 preprocessing 3
Aspect
Reviews
categorization
Review
Reviews by
sentences Sentence
User
Factorization Machine
vectorsFactorization Machine
Bipartite Core
Test data 4
detection
vector Concatenated
Top-N places
Sentence aspect
Ranking
method
training data
vectors
5
preparation
Training data
CNN-based Location
Location’s feature vector
sentence aspect
context vector
context
Location
classification
User context
Sentence embedding
vectors
…...
Sentence polarity
Predicted result Explanati
Sentence
User’s context
embedding
Location
Reviews
Recommen
embedding
Aspect label for vectors
Location’s
context
for
Sentence
-/+
vectors
Sentence
review
vectors
sentences -/+ Reviews
Reviews by
Sentence for
(a) Overview of review classification module User polarity
Location
categorization
preparation
Figure 1: High level overview of system architecture
Aspect
training data
Sentence aspect
4
Training data
3
(1) Review preprocessing: The review texts are splitted into activation function, a max-pooling, a dense layer, and a soft-
sentence aspect
sentences
sentences
individual sentences and the stop words are removed. max layer (see [25] for detail). The input to this classifier is
Review
2 Aspect
review
term
(2) Aspect term extraction: The pre-processed review sen- word embedding of review sentences. We use Word2Vec [32]
tences are fed to the aspect extraction module to extract to map every word to a uniform size vector in a latent feature
5
aspect terms. A simple two-step process is applied. First, we space. The outcome of the classifier is a bipartite relation
preprocessing
…...
filter out nouns and noun phrases using some experimentally between review and the aspects.
Review
set frequency threshold. Most of the reviews focus on a set For every user, the classifier gives a set of sentence feature
1
Sentence
of topics, hence this approach can capture such topics [33]. vectors (later known as user feature vectors) that are embed-
vectors
Reviews
Second, we use a rule-based approach [54] that adopts the ding of her preferred aspects. Similarly, for every POI, the
dependency parsing [29] to capture the aspect terms missed sentence feature vectors (later known as POI feature vectors)
in the previous step. are embeddings of the aspects specified in its reviews. As
(3) Aspect-categorization: As there can be numerous aspect every user tends to mention some opinion on preferred as-
terms, we narrow down them to few well-known aspects pects in her reviews and every place is mentioned about the
(see Table 2b) for easy computation. The aspect terms and aspects it was reviewed for, such vectors incorporate the
their synsets from WordNet [16] are used to assign the best aspects relevant to users and POIs. As a POI can be posi-
matching aspect. We select top 3 synsets to handle ambiguity tively or negatively reviewed for an aspect, we extract the
of aspect terms and to capture the relevant aspect. sentiments of each review sentence by using the trigrams
(4) Sentence-aspect training data preparation: As the as- around the aspect terms. The embeddings of the sentiment
pect extraction and labeling is not the core focus of this term [32] is concatenated to the POI feature vector. As each
paper, we rely on supervised sentence-aspect classification POI can get multiple reviews on same aspect, the POI feature
concept. The review text (after aspect term extraction) is la- vector is normalized on feature vectors of each aspect. This
beled by the aspect that has closest match to its aspect terms. review-aspect bipartite relation is then used to define the
The distance between aspect terms and the aspects (and their POI-aspect tuples and user-aspect tuples. Such a bipartite
synonyms) from the WordNet [16] are used to assign the relation can be exploited to model user preferences via or-
closest possible label. As we assign top 3 matching synsets, dered aspect-POI relation using bipartite graph and dense
a single aspect term can have three matching aspects. The subgraphs of such graph (see Sec. 4.1, and Sec. 4.3 for details).
sentences with multiple aspect terms get multiple label. This The POI-aspect pair is supplemented with the aggregated
labeled data is used to train the CNN-based sentence-aspect sentiment extracted from all the review sentences.
classifier. The performance of this module is defined in the (6) Recommendation generation: This variant of proposed
evaluation section (see Section 5). model is termed as Deep Aspect-based POI recommender
(5) CNN-based sentence-aspect classifier: The review-aspect (DAP). Besides the review text, we also incorporate addi-
correlation module is a multi-class classifier (see Figure 1a) tional context (e.g., categorical, spatial, etc.) into the feature
that classifies a review sentence into relevant aspects. In- vector of the POIs obtained from the classifier.
spired from [25], we use a CNN-based classifier to label each
review sentence. The network consists of a convolution, an
We formulate the recommendation problem as a matrix, 3.1 Factorization Machine
whose rows represent a user, POI, and elements of differ- The Factorization Machine [37] formulates the prediction problem
ent contexts. For each row, the check-in flag of a user to a as a design matrix X ∈ Rn×p . The i th row x®i ∈ Rp of the design
POI is treated as the target. For instance, if a user ui has matrix defines a case with p real-valued variables. The main goal
feature vector as ⟨ue 1 , ue 2 , ...., uem ⟩, a place l j has its sen- is to predict the target variable ŷ(®
x) using Eqn. 1. The proposed
timent concatenated feature vector as ⟨le 1 , le 2 , ..., len ⟩, and recommendation module is formulated as a sparse matrix. The rows
the user ui has visited the place l j , then a row in the design of the matrix are generated by concatenating the embeddings of
matrix is obtained simply by concatenating the user feature a user feature vector, POI feature vector, and context vector. We
vector, POI feature vector, and context vectors, and is de- consider the check-in flag as the target variable for each row. The
−−−−−−→
fined as: ui , l j , fk = ⟨ui e 1 , ui e 2 , ...., ui em , l j e 1 , l j e 2 , ..., l j en , proposed model is operated with the following objective function:
fk e 1 , fk e 2 , ....fk eo , 1⟩, where ui ea , l j ea , and fk ea are the ath n
Õ Õn Õ n
item (a real-valued number) of the feature vector of user (ui ), ŷ(®
x) = w 0 + wi xi + < v®i , v®j > x i x j , (1)
i=1 i=1 j=i+1
place (l j ), and context (fk ). The last element 1 represents
where w 0 is the global bias of all user-POI-context tuples, x® is a
the check-in flag for user-place-context tuple in the training
concatenation of user feature vector, POI feature vector, and context
data and represents the score to be estimated on test data. k
For a user u, the context vector is concatenation of tem- vector, n is the size of input variables, < v®i , v®j >= vi, f .v j,f , and
Í
poral, spatial, categorical, and social vectors: ⟨vt1 , vt2 , vt3 ⟩, f =1
⟨vdist1 , vdist2 , vdist3 ⟩, ⟨vcat1 , vcat2 , ..., vcatk ⟩, and ⟨vsoc ⟩. vcat1 k is the dimensionality of factorization. The Factorization Machine
is the multiplication of embedding vector of category cat 1 can learn latent factors for all the variables, and can also allow the
and the factor rcat1 = ( Vu (l))/( Vu (l)) (i.e. the ratio of
Í Í interactions between all pairs of variables. This makes them an
l .cat =cat 1 l ′ ∈u L ideal candidate to model complex relationships in the data.
total check-ins made to places with category cat 1 to that
of all check-ins). vdist1 = ( Vu (l))/( Vu (l ′ )) is ratio of to-
Í Í
dist (l )≤ϵ1 l ′ ∈u L
4 EXPLANATION OF RECOMMENDATION
tal check-ins on places within a threshold distance ϵ1 (from The POI-aspect bipartite relation derived from Sec. 3 is represented
users’ home, work place or most frequently checked-in place) as a bipartite graph and the ordered preference of user on aspect
to that of all check-ins (we consider ϵ1 ≤ 1, 1 < ϵ2 ≤ categories is extracted and used for explanation.
5, ϵ3 > 5 as three distance thresholds (in K.M.)). vsoc =
( Vu (l))/( Vu (l ′ )) is the ratio of total check-ins made on
Í Í
4.1 Bipartite Core Extraction (ReEL-Core)
l ∈u f L l ′ ∈u L
places visited due to social influence to that of all check-ins. A k-core of a graph is a maximal connected subgraph whose every
vt1 is the ratio of total check-ins made in time t 1 (we use vertex is connected to at least k other vertices. The k-core analysis
three values for time - morning, afternoon, and others (night is popular for community detection, dense subgraph extraction,
and evening)). The POI context vector consists of category, and in dynamic graphs. Our method for bipartite core detection
time, and distance vectors. is inspired from [26] where each node is assigned two scores -
A factorization machine [37] is exploited to estimate the hub score and authority score, which are defined in terms of the
value of the check-in flag for every user-place-context tuple. outgoing and incoming edges respectively. The hub score (hi ) of a
As the factorization machine has the ability to deal with addi- node is proportional to the sum of authority scores of the nodes it
tional features, a user-place pair can have multiple rows but links to. The authority score (ai ) of a node is proportional to the
just one row for each user-place-context tuple. So, the predic- sum of hub scores of the nodes it is linked from. Given the initial
tion is already personalized for the user-place-context tuple. authority and hub scores of all the nodes, the scores are iteratively
The top-N scorers from factorization machine are further updated until the graph converges. For a given user, we consider all
filtered out using the preferred aspects of user (determined the recommended places as the seed nodes and connect them to the
by the frequency of aspects mentioned on her reviews) and aspect nodes for which they have overall positive sentiments (i.e.
are recommended to the users. The high-level overview of (no. of positive opinions)> (no. of negative opinions)). This filters
the recommendation module is illustrated in Figure 1b. out the negatively reviewed places and gives us a bipartite graph
(7) Explanation of recommendation: After getting the place- as shown in Fig 2a (left graph).
aspect bipartite relation from CNN-based classifier, we rep- We calculate the eigenvectors of the adjacency matrix of the
resent the user-aspect preference as a bipartite graph and graph to identify the primary eigenpair (largest eigenvalue). The
generate the recommendation explanation by extracting the eigenvalue is used as a measure of the density of links in the graph.
most dense subgraphs from this bipartite graph. We propose The iterative algorithm gives the largest eigenvalue (primary eigen-
three different methods- a bipartite core extraction, shin- pair). The primary eigenpair corresponds to the primary bipartite
gles extraction, and ranking-based methods for explanation core (most prevalent set of POI-aspect pairs) and non-primary eigen-
generation (see Sec. 4 for detail). pairs correspond to the secondary bipartite cores (less prevalent
set of POI-aspect pairs). The most dense subgraph (e.g., the right
subgraph in Figure 2a with nodes AC1 , P1 , P2 , and P3 ) is extracted
as the primary bipartite core. After finding the primary core, the
edges relevant to this core are removed and the process is repeated
Aspects Example
Price cheap, deals, coupons, cost Price
P_1
AC_3
food quality, food variety, free
P_1 P_3 Food
breakfast Service
AC_1 P_3 Service serving time, friendly staffs
P_4 Food
P_2 comfort, laundry, security,
Amenities
P_2 AC_2 free parking, free WiFi Amenities
P_5 AC_1 near, disability access,
Accessibility Accessibility
information on web
(a) Others security, pet friendly
(c)
(b)
Figure 2: (a) Place Aspect Graph (ACk = aspect k, Pi = places) (Left subgraph is a bipartite graph and the right one is a primary
bipartite core), (b) Aspects, and (c) Aspect score to star ratings for a POI
on residual graph to get the next prevalent bipartite cores. Removal Figure 3a shows a basic representation of the network and ex-
of edges from the primary core will still leave the nodes relevant to traction of dense subgraphs. The POI-aspect edge is weighted by
other aspect nodes that belong to other bipartite cores. The bipar- the normalized measure of frequency of overall positive opinions
tite cores are used in the order (primary, secondary, etc.) and the on the aspect for the POI. The user-aspect edge is weighted by the
aspects in bipartite cores are used to explain the recommendation. normalized measure of number of times the user reviewed on the
Explanation generation: A bipartite core consists of densely aspect. We exploit the random extraction of connected components
connected nodes and resembles the set of place nodes which are from the network and proceed with the components having high
mostly known for the relevant aspect nodes. For a user, we generate similarity score. If γ is a random permutation applied on the homo-
the POI-aspect relations from the ordered bipartite cores as: geneous sets A and B (e.g., set A has only user nodes and set B has
Aspect 1: POI 1 , POI 2 , ..., POIi only aspect nodes), then their similarity score is defined as:
Aspect 2: POIi , POI j , ..., POI j+k f (A, B)
Simγ (A, B) = (2)
..... f (A) + f (B)
Aspect k: POI 1 , POIi , ..., POI j , where f (A, B) = Wa,b , whereWa,b is the weight of edge (a,b) that
Í
a ∈A,b ∈B
where each row gives the aspect from the ordered bipartite core (a,b)∈E
and the relevant set of POIs that are popular for that aspect. We is normalized to all the edges outgoing from node a, f (A) = Wa,i
Í
also generate the score of each POIi on each aspect as: (a,i)∈E
Aspect 1: Scorei,1 is the sum of normalized weights of all edges outgoing from node
a, and f (B) = Wi,b is the sum of normalized weights of all
Í
Aspect 2: Scorei,2
(i,b)∈E
.....
edges incidence on node b. We assume that absence of POI-aspect
Aspect k: Scorei,k ,
edge indicates that the place is not known for that aspect (e.g.,
where Scorel,a represents the score of POIl by the aspect a for all
the aspect is irrelevant). We can use the min-wise independent
k
users, and is defined as: Scorel,a =
Í 1 ∗ | core
l,a,i |, where the
permutations [6, 7] technique to avoid exploitation on each and
i
i=1 every permutation to find the sets with high similarity score. We
term | corel,a,i | represents the number of times the POIl was in use some predefined number of permutations (c=10) and do not
i th bipartite core for the aspect a on all users, and k represents focus on the min-wise independence of permutations. Algorithm 1
the ordered number of bipartite cores used (e.g., k=1 is for primary
bipartite core, k=2 for secondary core, and so on). The scores com- Algorithm 1 ShingleFinder(G = (V,E), c, s, k)
puted are interpolated to the 5-star rating scheme (see Figure 2c).
As an example, the review text "Tasty free hot breakfast and friendly 1: //G is the input graph, V is the set of vertices, and E is the set
staffs", implies that the reviewer cares about the "Price" and "Ser- of edges, c is the number of permutations, s is the length of
vice" aspects, and a primary bipartite core for this user should each set, k is the number of shingles to be extracted
contain these aspects and relevant places. Given the place "Hyatt 2: initialize L as an empty list
Regency" and "The Setai Miami Beach" have overall positive opin- 3: for each place node do
ions for the "Price" aspect, they are included in the primary bipartite 4: for j = 1 to c do
core (i.e. related to "Price") and the explanation is generated graph- 5: get a set of s aspect nodes
ically as shown in Figure 2c and is supplemented with text as: 6: find aggregated similarity for the place and aspect nodes
Recommended Place: Hyatt Regency, The Setai Miami Beach, ...; in this set using Eqn. 2
Explanation: Popular for Price. 7: store this set and its score in L
8: return k sets with high similarity score (these sets are called
4.2 Dense subgraph extraction (ReEL-Dense) shingles) from L
This model exploits the weight of user-aspect and place-aspect
relation to incorporate the extent of user preferences on aspects defines shingles extraction process from a bipartite graph. For each
and the popularity information of a place through the aspects. POI, we apply Algorithm 1 to find the set of aspect nodes linked
Attributes Yelp1 TripAdvisor2 AirBnB3
to it and extract the k shingles for it. For each shingle, we find the Reviews 2,225,213 246,399 570,654
list of all POI nodes that contain it. These are the POIs that are Users 552,339 148,480 472,701
mostly reviewed for the aspect nodes contained in the shingle (see Places 77,079 1,850 26,734
Words 302,979,760 43,273,874 54,878,077
Figure 3a). As shingles can contain overlapping set of aspects, it
Sentences 18,972,604 2,167,783 284,1004
can represent the POIs and user preferences of overlapping aspects Avgerage
8.53 8.79 4.98
as well. The shingles of a user node represent the set of aspects that Sentences/review
Avgerage
adhere to her preferences (the preference can be ordered based on Words/review
136.15 175.62 96.16
the similarity score of a user node to the shingles). As our goal is to Avgerage
4.03 1.66 1.20
cluster (user, POI) tuples, we need to find the sets of user and POI Reviews/user
Avgerage
nodes that share sufficiently large number of shingles. Each shingle 28.87 133.18 21.34
Reviews/place
contains the associated aspects which relates users and POIs. We 4, 5 stars4
591,618 78,404
479,842
and 900,940 and 104,442
can easily find the top nu users and top nl POIs whose similarity 260,492 15,152
1, 2 stars 5,766
score is high for this shingle. The overall process can be achieved and 190,048 and 20,040
in polynomial time [6, 7] and is dependent on the number of nodes Table 1: Statistics of the datasets
in the graph, number of shingles to use, and the size of a shingle.
The normalized similarity score between a POIl and an aspect (a) 5 EVALUATION
from all shingles is defined as: We defined four models: (i) DAP - the model that used a deep net-
1 Õ 1
Score(l, a) = simγ (l, Sh), (3) work and factorization machine for recommendations and has no
| Sh | k provision for explanation, (ii) ReEL-Core - the model that used bi-
a ∈Sh
where Sh is the set of ordered shingles that contain aspect a, and k partite core, (iii) ReEL-Dense - the model that used dense subgraph
is the similarity-based order of the relevant shingle. This score is extraction, and (iv) ReEL-Rank - the model that used a ranking
interpolated to the 5-star rating scheme similar to ReEL-Core. approach for explanation generation. We also evaluated the Aspect
Finding the subsets of aspects with highest similarity score not extraction, Aspect categorization, Sentence-aspect classification
only facilitates explanation of recommendation but also provisions modules in terms of accuracy.
clustering of users who have similar preferences on aspects (even in (1) Aspect extraction: We used the SemEval 2014 Task 4: As-
absence of explicit social links) and generating a group recommen- pect Based Sentiment Analysis Annotation dataset as the
dation. It can also be used to generate preference wise recommen- benchmark data and were able to get an accuracy of 70.04%.
dation (e.g., for the set of users {u 1 , u 2 , u 5 } the set of aspects {"food", (2) Aspect categorization: We got an accuracy of 67.12% with
"service"} might be interesting, for the set of users {u 1 , u 2 , u 3 } the the SemEval 2014 Task 4: Aspect Based Sentiment Analysis
set of aspects {"food", "price"} might be interesting, etc.). This can Annotation dataset.
also facilitate the clustering of POIs that are preferred for similar (3) Sentence-aspect classification: We used 100, 150, and 200
aspects (e.g., the set of hotels that are popular for "Service"). epochs with 32 and 64 batches. With 200 epochs and 64
batches, we got 69.01% accuracy on Yelp dataset.
4.3 Ranking Method (ReEL-Rank)
We compared the performance of our proposed models with the
This model uses the frequency of usage of an aspect to a place. The following models: (1) UCF [22] uses the user-based collaborative
places recommended to a user and the places’ relevant aspects are filtering technique, (2) ICF [39] uses item-based collaborative filter-
used as graph nodes. The weight of a place-aspect edge indicates ing, (3) PPR [20] uses personalized page ranking, (4) Guo et al. [19]
the overall positive opinions on the place for the aspect. A ranking uses aspect-aware POI recommendation, (5) ORec [53] uses opinion-
function is then defined as: based POI recommendation, (6) Word-embedding approach: In this
1−d Õ Rank(j) ∗ Wj,i
Rank(i) = +d ∗ , (4) approach, the review sentences from a user and the one for an item
N Oj
(j,i)∈E are mapped to a latent space using the word embedding [32]. For a
where Rank(i) is the rank of a node i, d (=0.85) is the damping factor, user, the K-nearest neighbors in the space were considered as the
N is number of nodes in the graph, E is set of edges in the graph,Wj,i top-K recommendations, (7) Latent Dirichlet Allocation approach [5]:
is weight of the edge (j, i), and O j is number of outgoing links from In this model, we extract the topics relevant to a user and the topics
node j. The ranks are iteratively updated till the graph is converged. relevant to places. The user-place tuples with most common topics
The highest ranking aspect node and its highest ranking neighbors are used for the recommendation, and (8) DeepConn [58]: This is the
give the places that are noted for this aspect. Similarly, other higher CNN-based model which uses the review embeddings but ignores
ranking aspect nodes and their neighbors are accessed to get the the other contextual embedding and the polarity of reviews.
other place-aspect pairs. For a given aspect, the neighbor nodes
are sorted based on their rank before the explanation is generated. 5.1 Dataset
An explanation of the following form is generated: (i) Food: Places We used three real-world datasets to evaluate the proposed models.
ordered by rank: Place 1, Place 2, ...(ii) Service: Places ordered by Table 1 shows that in all three datasets, most of the users tend
rank: Place 4, Place 5, ..., etc. The rank of a place on an aspect is to give high (positive) ratings to the places. The top-10 terms of
aggregated from all the users to get the star rating score. different aspects are illustrated in Table 3b.
1 https://www.yelp.com/dataset_challenge 2 Wang et al. [44] 3 http://insideairbnb.com/get-the-data.html Experimental settings We used a 5-fold cross validation to
4 explicitly missing ratings, neutral, and zero ratings are not shown evaluate the models. The frequency thresholds for noun and noun
Users Aspect Places Aspect Terms Bipartite
User u 1 User u 2 User u 3
cash, redeem, cheap, expensive, Cores
Price afford, refund, skyrocket, Price Service Price
First
economize, reimburse, discount core
cappuccino, buffet, shell, 103 places 137 places 272 places
Food salami, healthy, mushroom, Pet Price Service
Second
croissant, cranberry , sushi, broccoli
core Precision@N on Yelp
mew, swan, cat, fish, ant, 0.8 103 places 137 places 272 places
Pet
pony, dog, bird, duck, purr 0.7 Third Service Pet Pet
Users Shingles Places
friendly, repair, employment, 0.6 core
safari, servings, discount, 47 places 137 places 272 places
Service 0.5
checkouts, cleansing, Food Food Food
0.4 Fourth
sightseeing, attitude 5
core
breakfast, massage, yoga, 0.3 103 places 42 places 1 place
Amenities
gabmle, excursion, exercise, 0.2 FifthPrecision@N on TripAdvisor
Amenities Amenities Amenities 10
sightseeing, housekeeping, 0.7
0.1 core
exercise, television 9 places 137 places 81 places
0.60 15
(a) (b) Top-10 terms in different aspect categories (c) Summary of bipartite cores of three users
0.5
0.4
Figure 3: (a) Shingles extraction (shown without edge weights), (b) Top-terms in different categories, (c) bipartite cores 5
0.3
Models Precision Recall F-Score Precision@N on Yelp 0.2 10
Yelp Data 0.8 Recall@N on Yelp
1
0.7 0.1
0.9
UCF [22] 0.23000 0.56800 0.32741
0.6 0.8 15
ICF [39] 0.20100 0.51000 0.28835 0
0.5 0.7
PPR [20] 0.23640 0.57000 0.33420
0.6
Guo et al. [19] 0.52000 0.77420 0.62213 0.4
5 0.5 5
ORec [53] 0.50030 0.61000 0.54973 0.3 0.4
LDA [5] 0.50160 0.48280 0.49200 0.2 0.3
10 10
Embedding [30] 0.50020 0.71250 0.58780 0.2
0.1
DeepConn [58] 0.50510 0.79350 0.61720 0.1
0 15 0 Precision@N on Airbnb 15
DAP 0.61550 0.89630 0.72980 0.7
ReEL-Core 0.71680 0.89960 0.79780∗
0.6
ReEL-Rank 0.67740 0.88420 0.76710
ReEL-Dense 0.67310 0.87940 0.76250 0.5
TripAdvisor Data Precision@N on TripAdvisor 0.4 Recall@N on TripAdvisor
0.7 1
UCF [22] 0.30000 0.55700 0.38996 0.3 5
0.6
ICF [39] 0.25000 0.52000 0.33766 0.8
PPR [20] 0.35000 0.58000 0.43656 0.5 Recall@N on Yelp 0.2
1 10
Guo et al. [19] 0.55000 0.77430 0.64315 0.4
0.6
0.1
0.9
ORec [53] 0.51000 0.65130 0.57205 0.8
0.3 5 0.40 15
5
LDA [5] 0.50000 0.79680 0.61440 0.7
0.2
Embedding [30] 0.57110 0.79710 0.66540 0.6 10 0.2 10
DeepConn [58] 0.56340 0.87810 0.68640 0.5
0.1 5
0.4 15 0
DAP 0.61310 0.79880 0.69370 0 15
0.3
ReEL-Core 0.63880 0.83410 0.72350∗ 10
0.2
ReEL-Rank 0.63660 0.81120 0.71330
0.1
ReEL-Dense 0.62540 0.79980 0.70190 15
0
AirBnB Data Precision@N on Airbnb
UCF [22] 0.23200 0.56500 0.32893 0.7
Recall@N on Airbnb
0.9
ICF [39] 0.20200 0.50000 0.28775 0.6 0.8
PPR [20] 0.24700 0.56000 0.34280 0.5 0.7
Guo et al. [19] 0.54000 0.76100 0.63173 0.6
0.4 Recall@N on TripAdvisor 0.5
ORec [53] 0.52700 0.60200 0.56201 1
0.3 5 0.4 5
LDA [5] 0.50000 0.59480 0.54330
0.8 0.3
Embedding [30] 0.61640 0.62430 0.62030 0.2
10 0.2
0.6 10
DeepConn [58] 0.60010 0.68320 0.63890 0.1 0.1
DAP 0.59720 0.78450 0.67810 0.40 515 100 15
ReEL-Core 0.62160 0.81830 0.70650∗
0.2
ReEL-Rank 0.61610 0.80730 0.69880
0 15
ReEL-Dense 0.60770 0.79700 0.68960