3. Feed forward network
β An artificial neuron
β Receives inputs
β Summation followed by a nonlinear activation.
β Produces an output for next layer neurons
β Weights learnt through back propagation
Source:https://en.wikipedia.org/wiki/Connectionism
5. xn
x2
x1
x W[1] z[1]|a[1] W[2] output
oK
o2
o1
softmax
MultiLayer Perceptron - loss functions
Learn weights by minimizing the loss
6. DL in Recommendation Systems
β Deep learning based models achieved the best performances and is a promising tool
for recommender problems
β Representation plays an important role in Recommender Systems. Multiple sources
of data may be leveraged for rich representation
β Representation of users and items
β Transactions
β Content: Product description, Metadata, Reviews, Product Image
β User demography
β Product ontology
6
7. Using all embeddings
β’ Multiple ways of learning/combining
representations
β’ Example 1: (Adapted from one experiment at
Flipkart Recommender System)
β’ Concatenate different pre-trained
embeddings into a single vector
β’ Learn a simple Logistic Regression
OR
β’ Feed into another ANN with softmax
output (corresponding to purchase or
clicks)
β’ Example 2: Joint learning of the embeddings
β’ Similar products - Locality Sensitive Hashing
(LSH) on embeddings
CF embedding Image embedding Text embedding
Hidden layer
Output layer
8. Representation of Items, Users, Reviews
Representation of items and/or
users is necessary for getting a
recommender system to work.
β’ One-hot representation
β’ Embedding as vectors: pre-
trained
β’ Embedding can be learned on
the task
β’ Item Representation
1. Based on item interaction
sequences and item properties
β Prod2vec, Meta Prod2vec etc
2. Based on user-item interaction
β’ Neural collaborative filtering: Model
user-item interactions
3. User and item information
(content)
β’ Review representation
β’ User representation
9. Product Embedding
Prod2vec or Item2vec : Product embedding
β’ Based on item-item co-occurrence from transaction sequences
co-purhased products)
β’ Uses method of word embedding: low-dimensional, distributed
embeddings of words based on word sequences in text documents
1. Barkan, Oren, and Noam Koenigstein. "Item2vec: neural item embedding for collaborative filtering."
Machine Learning for Signal Processing (MLSP), 2016 IEEE 26th International Workshop on. IEEE,
2016.
2. Grbovic, Mihajlo, et al. "E-commerce in your inbox: Product recommendations at
scale." Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and
Data Mining. ACM, 2015.
10. β’ Representation of words
``Similar words have similar contextsβ
1. CBOW: P Word Context
2. Skipgram: P(Context|Word)
Word2vec
Input Projection Output
Input Projection Output
11. Skipgram Model
β’ Input: Central word π€π€π‘π‘
β’ Output: Words in its context: ππππππππ
π€π€π‘π‘βππ, β¦ , π€π€π‘π‘β1 , π€π€π‘π‘+1, β¦ , π€π€π‘π‘+ππ
β’ Each input word represented by a 1-hot
encoding of size V
Source Text:
Deep Learning attempts to learn multiple
levels of representation from data.
Input output pairs :
Positive samples:
β’ (representation, levels)
β’ (representation, of)
β’ (representation, from)
β’ (representation, data)
Negative samples:
β’ (representation, x)
[x: all other words except the 4
positive]
π€π€π‘π‘
π€π€π‘π‘+1
π€π€π‘π‘+ππ
π€π€π‘π‘βππ
π€π€π‘π‘β1
INPUT PROJECTION OUTPUT
12. Prod2vec
Use word2vec on co-purchased products
Purchase sequence of user u
πππ’π’π’, πππ’π’π’, β¦ , πππ’π’π’π’
Skipgram applied on transaction sequence
πππ‘π‘
πππ‘π‘+1
πππ‘π‘+ππ
πππ‘π‘βππ
πππ‘π‘β1
Input Projection Output
Positive samples: Negative
samples
πππ’π’,π‘π‘, πππ’π’,π‘π‘βππ
πππ’π’,π‘π‘, πππ’π’,π‘π‘β1
πππ’π’,π‘π‘, πππ’π’,π‘π‘+1
πππ’π’,π‘π‘, πππ’π’,π‘π‘+ππ
ππππ, ππππππππ
πππ’π’,π‘π‘, p
p is any product
other than ππππππππ
13. Extensions of prod2vec
1. Meta prod2vec
β’ Use product metadata in
addition to transaction
sequence
β Category, Brand, Description, etc
β Embedded metadata added both
to input and context
2. Several other *2vec models
πππ‘π‘
πππ‘π‘+1
πππ‘π‘+1
πππ‘π‘β1
Input Projection Output
πππ‘π‘
πππ‘π‘β1
ππππ
ππππ
14. Review Representation
β Word2vec for word representation (concept representation)
β Document or paragraph representation
β Averaging or summing of word vectors
β Paragraph or document vector using CNN, RNN, etc
17
15. Convolution for Text
this
sequence
of
word
vectors
represents
a
text
ππ Γ ππ representation of sentence
ππ1
ππ2
Filter of size 2 Γ ππ
Feature map
of 1 filter
π₯π₯1
π₯π₯2
π₯π₯ππ
π₯π₯3
ππππ = ππ π€π€ β π₯π₯ππ:ππ+ββ1 + ππ
17. CNN for Text: Kimβs CNN
Kim, Yoon. "Convolutional neural networks for sentence classification." arXiv
preprint arXiv:1408.5882 (2014).
18. Kimβs CNN
β Word embedding
β Padding to size n
Dropout
Rescale the weight
vectors of each class to
fixed number s
1. Convolution layer
2. Max-pooling layer
ππΜ = max ππ
3. Fully connected layer with
softmax output
19. Dynamic k-max pooling
Handles sentences of varying length
k is a function of the sentence
length and network depth
ππππ = max πππ‘π‘π‘π‘π‘π‘,
πΏπΏ β ππ
πΏπΏ
β π π
πποΌcurrent convolution layer
πΏπΏοΌNumber of convolutional layers
π π : Sentence length
πππ‘π‘π‘π‘π‘π‘οΌfixed pooling parameter for the
topmost convolutional layer
Neural Network for Modeling
Sentencesβ by Nal Kalchbrenner, Edward
Grefenstette, Phil Blunsom arXiv, 2014
21. Recurrent Neural Networks: make use of sequential information
24
Input at time step π‘π‘ β 1
Hidden state at time step t
Output state at time step t
Activation function
25. Long Short Term Memory (LSTMs)
28
β Provide highway to pass cell state (or memory).
β LSTM can add or remove information to the cell state through regulated
structures called gates. LSTM has three gates to protect and control cell
state
26. f u
LSTMs β Details
Forget Update
+
tanh output
tanh
softmax
o
Ct-1
ht-1
xt
Ct
ht
C~
t
yt
27. Forget gate
β Forget gate layer decides what information will be thrown away
β Looks at βπ‘π‘β1 and π₯π₯π‘π‘ and outputs a number between 0 and 1
β 1 represents completely keep this, 0 represents completely get rid of this
β Example: forget the gender of the old subject, when we see a new subject
30
28. Update
β A sigmoid layer (input gate layer): decides what values weβll update
β A tanh layer: creates a vector of new candidate values, πΆπΆπ‘π‘
οΏ½
31
Input gate layer tanh layer
29. Update
32
β’ Update old state by πΆπΆπ‘π‘β1 into the new cell state πΆπΆπ‘π‘
β’ Multiply old state by πππ‘π‘
β’ Forgetting the things we decided to forget earlier
β’ Then we add πππ‘π‘ β πΆπΆπ‘π‘
οΏ½
30. Output
β A sigmoid layer decides what parts of the cell state to output
β Put the cell state through tanh and multiply it by the output of the sigmoid gate
33
31. Gated Recurrent Unit
β Replace forget (f) and input (i)
gates with an update gate (z)
β Introduce a reset gate (r ) that
modifies ht-1
β Eliminate internal memory ct
Source: http://colah.github.io/posts/2015-08-Understanding-LSTMs/
35. Sentence Modeling
β Word Average
β CNN
β LSTM: A sentence π π is transformed to a fix-length vector πππ π by recursively
applying a LSTM unit to each word embedding πππ€π€π‘π‘
and the previous step
βπ‘π‘β1.
β BiLSTM: Bi-directional LSTM (BiLSTM) captures both the left and right
context.
β Two hidden states βπ‘π‘
ππππππππππππππ
and βπ‘π‘
πππππππππ€π€π€π€π€π€π€π€
are concatenated into a
final hidden state βπ‘π‘
ππππππππππππ
38
36. Joint deep modelling of Users and Items using
Review for Recommendation
β A shared layer helps couple latent factors learned for user behavior and item
properties from reviews by two parallel networks
39
Joint deep modelling of Users and Items using Review for
Recommendation, Lei Zheng, Vahid Noroozi, Philip S. Yu, WSDM 2017
37. DeepCONN Architecture
40
User Review Text Item Review Text
Factorization Machine
TCNNu
TCNNi
π₯π₯π’π’ π¦π¦ππ
User Network Item Network
38. 41
Li P, Wang Z, Ren Z, Bing L, Lam W. Neural rating
regression with abstractive tips generation for
recommendation, SIGIR 2017.
Abstractive Tips Generation
β Gated recurrent neural networks help translate
user and item latent representations into concise
abstractive tips with good linguistic quality
simulating user experience and feelings
β Deep Composite Model : MLP and RNN
β Two Tasks
1. Rating prediction with MLP
2. Tips Generation
40. Neural Rating Tips
β Examples of the predicted ratings
and the generated tips.
β The first line of each group shows
the generated rating and tips.
β The second line shows the ground
truth.
43
41. Unified Representation
By translating various sources
(e.g., review, rating) into a
unified representation space,
heterogeneous information can
be integrated for informed
recommendation.
44
Zhang Y, Ai Q, Chen X, Croft WB.
Joint representation learning for
top-n recommendation with
heterogeneous information
sources, CIKM 2017.
42. NAPRE: Neural Attentional Rating Regression with Review-level Explanations
β To predict a rating given a user and an
item, as well as to select both useful
and representative reviews.
β Useful reviews are obtained through a
attention mechanism and provide
explanations for users to make better and
faster decisions.
β NAPRE learns the usefulness of each
review.
45
Chen C, Zhang M, Liu Y, Ma S. Neural Attentional Rating Regression with Review-level
Explanations, WWW 2018.
43. TextCNN
β CNN text Processor: inputs a
sequence of words and
outputs a n-dimensional
vector representation for the
input.
46
44. NAPRE
β Utilize the attention mechanism to assign
weights to reviews when modeling users
and items.
β Two parallel neural networks for user
modeling and item modeling.
β A prediction layer to let the hidden latent
factors of user and item interact.
β The training data consists of users,
items, and text reviews.
β Test stage: only users and items are
available.
47
45. Item Modelling
β CNN Text Processor is applied to process the
textual reviews of item i.
β Each review of i is transformed into a matrix of
word vectors, (Vi1, Vi2,...Vik).
β These matrixes are sent to the convolutional
layer and the feature vectors of them can be
obtained from the output as (Oi1, Oi2, ...Oi j) .
β Attention mechanism is used to learn the weight
of each review.
48
46. Attention-based Review Pooling
β Select reviews that are representative to item iβs
features
β Aggregate the representation of informative reviews to
characterize item i.
β A two-layer network is applied to compute the
attention score ππππππ .
β The input contains the feature vector of the lth review
of item i (ππππππ) and the user who wrote it
β (ID embedding, π’π’ππππ ) models the quality of users, helps
identify users who always write less-useful reviews.
49
47. Attention-based Review Pooling
β The attention network:
ππβ
ππππ = βππ ππππππππ ππππ ππππππ + πππ’π’ π’π’ππππ + ππ1 + ππ2
β Normalize: ππππππ =
exp(ππβ
ππππ)
β exp(ππβ
ππππ)ππ
ππ=0
β the feature vector of item i: ππππ = β ππππππ ππππππππ=1β¦ππ
β The output of the attention-based pooling layer is a
k1 dimensional vector
β A fully connected layer computes the final
representation of item i: ππππ = ππ0 ππππ + ππ0
50
48. NAPRE: Prediction Layer
β NAPRE extends user preferences and item
features in LFM model to two components: one
based on ratings while the other based on
reviews.
β A neural form LFM used for predicting ratings.
β the latent factors of user and item are mapped
to a shared hidden space.
β The interaction between u and i is modelled
as:
β0 = (πππ’π’ + πππ’π’)β¨(ππππ + ππππ)
51
49. NAPRE: Prediction Layer
β The interaction between u and i is modelled as:
β0 = (πππ’π’ + πππ’π’)β¨(ππππ + ππππ)
β πππ’π’ and ππππ are user preferences and item features
based on ratings from LFM
β πππ’π’ and ππππ are user preferences and item features
obtained from the above method
β β¨ denotes the element-wise product of vectors.
β The output is a n-d vector, passed to prediction
layer:
π π οΏ½π’π’,ππ = π€π€1
ππ
β0 + πππ’π’ + ππππ + ππ
52
51. Aspect Similarity Recognition using Deep Learning
β Two sentences are identified as
aspect similar if they mention at
least one aspect in common
55
A Deep Learning Study of Aspect
Similarity Recognition Huy-Tien
Nguyen, Quan-Hoang Vo, and Minh-
Le Nguyen, 2018
52. Recommendation of High Quality Representative Reviews in E-commerce
Recsys 2017, Debanjan Paul, Sudeshna Sarkar (IIT Kharagpur)
Muthusamy Chelliah, Chetan Kalyan, Prajit Nadkarni (Flipkart)
54. Product
Reviews
Aspect and
Sentiment
Extraction
Review
Selection
Preserves
Statistical
Distribution
Subset
of βkβ
Review
s
Aspect
Synonymy
Detection
Review Quality
Estimation
Set of annotated review data
Distribution of aspects and
sentiments
Product
aspects and
sentiments
Review
quality score
Extracts product aspect phrases along with the
corresponding sentiments from each reviews of
the item.
E.g. The lens of this camera is great.
Considers semantic similarity between
aspects to merge similar aspects.
E.g. βPhotoβ, βPictureβ, βcameraβ refer to the
same feature of a mobile phone.
Estimates review quality
score from its textual
content
Representative Reviews
Covers different product aspects and
sentiments.
Preserves the statistical distribution of product
aspects and opinions.
55. Aspect Extraction
Extracts product aspect phrases from each reviews of the item along with
the sentiments expressed about them.
Sample Input: The picture quality is great. It
also has cool looks. But the phone hangs
sometimes, if you install too many apps.
Output:
picture quality,+1 ;
looks,+1 ;
processor,-1
Qiu, Guang, et al. "Opinion word expansion and target extraction through double propagation."
Computational linguistics 37.1 (2011)
Use a semi-supervised technique
based on bootstrapping from a small
opinion lexicon.
Utilize several syntactic relations that
link opinion words and targets to
expand the initial opinion lexicon and
to extract targets.
56. Evaluation of Aspect and Sentiment Extraction Module
β’ Used 300 reviews from
mobile phone, camera and
blue tooth headsets product
in Amazon dataset
β’ Manually annotated to find
the correct aspect phrases
and corresponding
sentiment
No. of reviews 300
Actual no of aspect phrases 660
No of extracted aspect phrases 630
Correctly extracted aspect phrases 468
Precision 70.90%
57. Aspect Synonymy Detection
General Display Processor Memory Camera Connectivity Multimedia Charging
56% 47% 16% 6% 29% 49% 34% 36%
Audio
quality
Video
Recording
Sound
quality
Photo Camera Bluetooth
headset
RAM Picture
quality
Touch
Screen
Battery
life
β¦
2% 0% 1% 1% 10% 6% 0% 2% 1% 7%
β’ 125 reviews of an βAsus Zenfone Maxβ.
β’ 35 aspects before: audio quality, video recording, sound, photo, camera, bluetooth headset, RAM,
picture quality, touch screen, battery life, picture, clock speed, frequency, OS, SIM, packaging,
network, model, ROM, pixel, LED, button, power, price, formats, display, disk, processing,
configuration, thing, smartphone, support, resolution.
Use word embeddings of words and phrases. Merge phrases with similar word vectors.
8 aspects obtained.
58. Evaluation of Aspect Similarity Detection Module
β’ We extracted aspect phrases for
10 products in mobile phone
domain and mapped the
extracted aspect phrases with
the Flipkart catalogue aspects.
β’ We have manually evaluated
the correctness of the mappings
obtained.
β’ The accuracy of our aspect
similarity detection module is
83.75%.
Aspect
Category
#Extracted
aspect
phrases
Correctly
mapped
Incorrectly
mapped
Camera 360 342 18
Connectivity 135 63 72
Dimension 99 45 54
Display 306 198 108
General 423 333 90
Memory 27 27 0
Multimedia 45 27 18
OS 207 207 0
Others 1062 963 99
Not Mapped 216 207 9
Total 2880 2412 468
59. Review Quality Estimation
β’ Some review recommendation systems use review helpfulness
score as the parameter to judge review quality.
β’ New reviews do not have any helpfulness score (cold start).
β’ Not all sites capture helpfulness score.
β’ We develop a CNN (convolutional neural network) to estimate the
quality score of the textual reviews.
β Simple CNN
β Dynamic CNN with k-max pooling
60. Dynamic Convolutional Neural Network Architecture
Input Layer
β’ All reviews of a product (length s)
β’ Each word is embedded as a d-dim vector.
Convolutional Layer
β’ A convolution matrix is applied to input
matrix S (filter size of m)
Dynamic K-max pooling layer
β’ Selects K most active features.
β’ K is determined dynamically as a function of
the length of the sentence and depth of the
network .
πΎπΎππ = max πΎπΎπ‘π‘π‘π‘π‘π‘, πΏπΏ β ππ β π π
πΏπΏοΏ½
61. Dynamic Convolutional Neural Network Architecture
Folding
β’ Elements in two rows of the matrix are added
component wise in order to obtain a reduced
matrix of dimension d/2.
Fully Connected Layer
β’ Fully connected softmax layer.
62. Experiments
β’ Amazon dataset.
β’ Reviews from six different product
domains
β electronics, clothing, books,
shoes, music, watches
β’ Accuracy:
β CNN: 71%
β DCNN: 83%
Number of
reviews
34,686,770
Number of users 6,643,669
Number of
products
2,441,053
Users with > 50
reviews
56,772
Median number of
words per review
82
Timespan Jun 1995 β
Mar 2013
63. Review Selection
β’ Given a corpus of reviews R on an item, find a k-size subset S β R of
reviews that accurately capture the proportion of opinions of the itemβs
features.
β’ For t = 1 to k
1. Pick one review r Ο΅ R to form subset S(t) β R
2. so that the distance D( Ο( S(tβ1) βͺ {r}), Ο) is minimized, where π π is the
percentage distribution of the aspects in the set π π (S) and D is the L2
2 norm
of their difference i.e. π«π« π π , ππ = π³π³ππ
2 π π β ππ = β π π ππ β ππ ππ ππππ
ππ=ππ , where
m is the total number of extracted aspects.
Lappas, Theodoros, Mark Crovella, and Evimaria Terzi. "Selecting a characteristic set of reviews."
Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining.
ACM, 2012
64. Sample Output
β’ Product Name: Plantronics Voyager 510 Bluetooth Headset
β’ Number of Reviews : 465
β’ Number of Attributes (Catalogue Attributes) : 8
β’ Original attribute distribution:
General Display Processor Memory &
Storage
Camera Connectivity Multimedia Charging
60% 60% 20% 0% 20% 40% 40% 40%
General Display Processor Memory &
Storage
Camera Connectivity Multimedia Charging
56% 47% 16% 6% 29% 49% 34% 36%
Resulting attribute distribution in recommended reviews:
65. System Evaluation
We have recommended three sets of reviews for 8
products based on:
β’ RQS: Explicit review helpfulness score.
β’ CNN: Quality score of review estimated by CNN
β’ DCNN: Quality score of review estimated by
DCNN
β’ CRS: Characteristic Review Selection algorithm.
β’ COMB: Combined approach
β’ 3 sets of 5 reviews
from the methods are
given to 10 human
annotators to rank the
methods from 1 to 3.
β’ Ranking done on basis
of which set of reviews
defines the product
best
66. Comparison of RQS,CNN and DCNN method
β’ DCNN has an accuracy of 83% wrt RQS
β’ Plain CNN has 70%.
β’ COMB is declared as the best method in
60% of the reports obtained from
annotators.
β’ COMB approach has the lowest rank.
Method Percentage Average Rank
RQS 35 1.925
CNN 20 2.2625
DCNN 45 1.7875
Method Percentage Average Rank
CRS 15 2.175
CNN 25 2.2125
COMB 60 1.6125
67. Live Evaluation of the system at Flipkart
Live Evaluation of COMB method against
default recommendation system at Flipkart
β’ 100 sorted reviews recommended by
COMB method for 24 random
products in mobile phone category.
β’ 25% of users experience the reviews
recommended by our method while
rest experience the default behavior.
β’ Impact is measured in number of
transactions (Txns) per product page
visit (PPV).
0
0.5
1
1.5
2
Product1
Product3
Product5
Product7
Product9
Product11
Product13
Product15
Product17
Product19
Product21
Product23
Default
COMB
β’ COMB shows an increase in product
purchase for 10 products.
β’ Default recommendation system performs
better in case of 5 products.
β’ Similar performance in case of 9 products.
68. Live Evaluation of the system at Flipkart
β’ Net product transaction increase by 1.85%
out of 1 million product units by using
COMB.
β’ COMB combines quality score of reviews
with the product aspects and sentiments
along with maintaining statistical
distribution of opinions found in
underlying corpus.
β’ COMB has performed better than both
CNN and default recommendation system
at Flipkart live testing.
Algorithm Txns PPV
Default 1777 313776
COMB 1781 308782
Increase in conversion by 1.85%
69. List of reviews recommended by CRS method Current List of reviews recommended by COMB
I love my headset. It is clear and comfortable. I could
wear it all day.
Works well, good audio quality, battery lasts a long
time.
I bought this model for my wife after her last one died.
It was her third or fourth..? I've lost track. This model
does not compare to the others; it's much better. It
hooked up easy to her Verizon phone and sounds
clear on BOTH ends. I hear her fine and her voice is
crisp and clear. What else is there? Oh yes, price....
around $40...Buy one, you will not be sorry.
I have been using this headset for about a month. The
sound quality is better than most headsets that I have
used. One day when it was very windy there was a
little too much wind noise in the mic for the person that
I was speaking to. The device automatically connected
to my RAVR phone so connection was not an issue. I
am not crazy about the connect button on the mic arm,
and open the phone to connect to calls The set comes
with three different sizes of ear pieces which makes it
fit well for almost everyone. The battery life on this
device is amazing
Doesn't work. Will be sending back---home. Tried
pairing it up over 10 times with Iphone, which is with
Verizon, and it did not work with phone. Expecting a
refund back when I get the CD back to send with the
rest of items. Thank you anyway.
I bought the 510 based on the volume of positive
reviews. Well if this truly is the best Bluetooth headset
then I'm going back to using a wired headset. Sound
quality was poor, people couldn't hear me if there was
any background noise and the ear pieces were all
uncomfortable.
70. Personalised review recommendation in e-commerce
74
Mtech thesis of Surjodoy Ghosh Dastider, IIT Kharagpur, 2018
Review 1: Good UI, user-friendly, sturdy
Review 2: Poor battery life and performance of
apps
...
User 1: Prefers user-
friendly phones
User 2: Prefers high-
performance phones
Product: Mobile Phone XYZ
71. Methodology
Our proposed review recommendation system performs the following tasks:
1. Extract aspects and corresponding sentiments from all reviews and questions in a
given product domain.
2. Represent each review, product and user as a probability distribution over topics.
3. Generate helpfulness/quality score for each review.
4. Generate the desired aspect distribution in the recommended set of reviews, using
product and user profiles.
5. Select an optimal subset of reviews to recommend to a user.
6. Use user cluster profiles instead of individual user profiles.
75
73. Domain Topic Identification
β We use a topic model, Sentiment-LDA (Li β10) for aspect based
sentiment analysis (ABSA), to extract product aspects and corresponding
sentiments.
β Given a product domain, we discover the optimal number of global
topics T for all product reviews in that domain.
β For each topic-sentiment pair, we retrieve the top 30 words
77
75. Representation of Reviews and Products
We analyze each review r to get a vector V(r) of size 2*T. Similarly, we find
vectors from questions available in the e-commerce platform.
For each product P, we aggregate vectors of all reviews Rev(P) written for that
product to generate the product vector V(P).
V (P) = Ξ£rβRev(P) V (r)
79
76. Representation of Users
For each user U, we used three sources of information:
β Reviews written by that user Revu(u)
UR(u) = Ξ£r β Revu(u)V (r)
β Questions asked by that user Ques(u)
UQ(u) = Ξ£q β Ques(u)V (q)
β Reviews up-voted/down-voted by that user Vote(u)
UV(u) = Ξ£r β Vote(u) V (r)
Each such user vector gives the distribution of topics over each user, or the aspects that
each user is interested in. Some or all of them can be used to build the user profile U(u).
80
77. Personalization Strategy
The base review recommendation model considers the product vector V(P) as the
desired distribution of topics with sentiments in the recommended review set.
A personalized system needs to take the user interests into consideration. For this
we use the user profile U(u).
We felt that it is important to balance the inputs from U(u) as well as V(P) to form
the desired topic distribution in the recommended review set.
Thus the desired distribution is given by D(p, u) = f(V(p), U(u)).
81
78. Personalization Strategy (contd.)
We considered the following forms for the composition:
D(p, u) = V(p)Ξ± . U(u)Ξ²
1. V(p): Ξ± = 1, Ξ² = 0.
2. U(u): Ξ± = 0, Ξ² = 1.
3. A combination of both the terms, obtained by keeping Ξ± = 1 and varying Ξ². A
higher value of Ξ² corresponds to more aggressive personalization.
82
80. User Clustering
Drawback: Latency issues when used in a online e-commerce platform.
The reviews to be recommended to a user may be pre-computed in order to serve users in
real time.
Workaround: Group users based on the similarity of their user profiles so that different
review recommendations may be associated with each group.
Used a clustering algorithm (k-means) to group the users based on their aspect preferences
for each domain and created c groups of users.
Computed the mean vector U(Ci) of each group, and replaced the user's own vector U(u)
with the mean vector U(Ci) of the user's group.
84
81. Dataset
Mobile Phones
Number of Reviews: 100000
Number of Products: 5987
Number of Users: 93434
85
Computers
Number of Reviews: 40958
Number of Products: 3455
Number of Users: 39336
β Used reviews from the product review dataset of Flipkart.
β Each review item includes product title, user info, review rating, and plaintext review.
β Reviews chosen from two popular product domains - mobile phones and computers.
82. Evaluation Strategy
A way to evaluate the system is to check whether the reviews recommended by
the system are found to be helpful to the user.
We can find whether the reviews of a product that a user actually up-voted were
recommended by the review recommendation algorithm. We used the offline
review up-vote data by users for this purpose.
86
83. Evaluation Strategy
Supposing that from the review set R = Rev(p), RU is the set up-voted by the user,
and S is the set recommended. We evaluate the performance of our system using
average Precision and average Recall.
Precision: Percentage of reviews in the recommended set S which have been
up-voted.
Recall: Percentage of up-voted reviews RU returned in the recommended set S.
87
84. Experiments
1. For aspect-sentiment extraction, 6 topics were taken for cell phones and 8 topics were
taken for computers. Number of sentiments was taken as 2.
2. We used the following Dirichlet priors for our topic model: Ξ± = 0.1, Ξ² = 0.01, Ξ³ = 1.
3. Using the resulting global topics, we created vectors of size 6*2=12 for each mobile
phone review, and of size 8*2=16 for each computer review. Based on this we created
product profiles for each product using Rev(p), and user profiles for each user by using
three sources of information: UR(u), UQ(u) and UV(u).
88
85. Experiments
4. We used the following different combinations of the aforementioned user vectors to
obtain the final user vector U(u) for our personalization step:
a. UR = UR(u)
b. URQ = UR(u) + UQ(u)
c. URV = UR(u) + UV(u)
d. URQV = UR(u) + UQ(u) + UV(u)
5. Given a user u, a product p, its reviews Rev(p), we recommended a subset SK
u,p of K
reviews using our algorithm based on our desired distribution D(p, u).
89
86. Testing
We took N=1000 products from each domain with the highest review count.
For each product, we randomly selected one user who has up-voted more than
three reviews of that product, thus creating N product-user pairs.
For each product-user pair, we generated K recommendations. We experimented
with the recommendation set size K, using values of 5, 10 and 15.
90
87. Results
β The system's recall for both domains increases with increase in K.
β We found that the user profile URQV computed using all information works best.
β We next ran the grouping based recommendation and experimented for group
sizes of 5, 10 and 15. We found that the results using the group profile is better
than the non-personalized case even for 5 groups. In most cases the results are
better with more number of groups (c).
β For the mobile phone domain with K=5, the best precision was 11.57% for c=15
as compared to 12.04% for the individual approach.
β The best recall obtained for K=15 is 26.76% for mobile phones and 23.85% for
computers.
91
91. Conclusions and Future Work
β Our system for personalized review recommendation using individual profiles
performs better than other proposed systems addressing the same problem.
β The group based implementation is novel and makes our system practical.
β We plan to perform live testing and check the effectiveness of our method in
increasing product purchases.
95