user intent prediction
On-Device User Intent Prediction for Context and Sequence Aware Recommendation
Changmai, Benu Madhab, Nagaraju, Divija, Mohanty, Debi Prasanna, Singh, Kriti, Bansal, Kunal, Moharana, Sukumar
The pursuit of improved accuracy in recommender systems has led to the incorporation of user context. Context-aware recommender systems typically handle large amounts of data which must be uploaded and stored on the cloud, putting the user's personal information at risk. While there have been previous studies on privacy-sensitive and context-aware recommender systems, there has not been a full-fledged system deployed in an isolated mobile environment. We propose a secure and efficient on-device mechanism to predict a user's next intention. The knowledge of the user's real-time intention can help recommender systems to provide more relevant recommendations at the right moment. Our proposed algorithm is both context and sequence aware. We embed user intentions as weighted nodes in an n-dimensional vector space where each dimension represents a specific user context factor. Through a neighborhood searching method followed by a sequence matching algorithm, we search for the most relevant node to make the prediction. An evaluation of our methodology was done on a diverse real-world dataset where it was able to address practical scenarios like behavior drifts and sequential patterns efficiently and robustly. Our system also outperformed most of the state-of-the-art methods when evaluated for a similar problem domain on standard datasets.
r/MachineLearning - [P] Clickstream based user intent prediction with LSTMs and CNNs
I also did some experimentation with GRUs and LSTMs in NLP context, where I saw LSTMs performing better than GRUs, while they need more training time. Honestly, I never tried complete variable length sequences, because of the restriction, that each batch must be the same length and some layers are not usable if you have variable sequences. I don't think the difference will be huge, at least in my data. I experimented with different sequence lengths (100, 200, 250, 400, 500), and 400 and 500 have not performed better then 250. I did indeed achieve a noticeable performance improvement with embeddings, instead of one hot encoding.