Entry point: The item that the user chooses as a starting point can be considered a strongly positive preference, since the user is looking for something similar to it. Ending point: The final selection or buying decision can also be considered a positive rating. Tweaking: When a user critiques a returned item and moves on to something different, we can consider this a negative rating. Browsing: If the user navigates to other items in the returned set, we can consider this a weak negative rating: if the user truly liked the item he or she would probably not browse further. These heuristics are somewhat weak, since we sometimes find users who are exploring the system to see what it can do, applying tweaks not to get a specific recommendation, but to see what will come back.
In 2009 we presented the idea of using collaborative filtering within a complex software application to help users learn new and relevant commands (Matejka et al. 2009). This project continued to evolve and we explored the design space of a contextual software command recommender system and completed a six-week user study (Li et al. 2011). We then expanded the scope of our project by implementing CommunityCommands, a fully functional and deployable recommender system. CommunityCommands was a publically available plug-in for Autodesk’s flagship software application AutoCAD. During a one-year period, the recommender system was used by more than 1100 users. In this article, we discuss how our practical system architecture was designed to leverage Autodesk’s existing Customer Involvement Program (CIP) data to deliver in-product contextual recommendations to end-users. We also present our system usage data and payoff, and provide an in-depth discussion of the challenges and design issues associated with developing and deploying the software command recommender system. Our work sets important groundwork for the future development of recommender systems within the domain of end-user software learning assistance.
Deep learning has been widely successful in solving complex tasks such as image recognition (ImageNet), speech recognition, machine translation, etc. In the area of personalized recommender systems, deep learning has started showing promising advances in recent years. The key to success of deep learning in personalized recommender systems is its ability to learn distributed representations of users' and items' attributes in low dimensional dense vector space and combine these to recommend relevant items to users. To address scalability, the implementation of a recommendation system at web scale often leverages components from information retrieval systems, such as inverted indexes where a query is constructed from a user's attribute and context, learning to rank techniques. Additionally, it relies on machine learning models to predict the relevance of items, such as collaborative filtering. In this tutorial, we present ways to leverage deep learning towards improving recommender system. The tutorial is divided into four parts: (1) In the first part, we will present an overview of concepts in deep learning which are pertinent to recommender systems including sequence modeling, word embedding and named entity recognition.
Recommender systems are used in variety of domains affecting people's lives. This has raised concerns about possible biases and discrimination that such systems might exacerbate. There are two primary kinds of biases inherent in recommender systems: observation bias and bias stemming from imbalanced data. Observation bias exists due to a feedback loop which causes the model to learn to only predict recommendations similar to previous ones. Imbalance in data occurs when systematic societal, historical, or other ambient bias is present in the data. In this paper, we address both biases by proposing a hybrid fairness-aware recommender system. Our model provides efficient and accurate recommendations by incorporating multiple user-user and item-item similarity measures, content, and demographic information, while addressing recommendation biases. We implement our model using a powerful and expressive probabilistic programming language called probabilistic soft logic. We experimentally evaluate our approach on a popular movie recommendation dataset, showing that our proposed model can provide more accurate and fairer recommendations, compared to a state-of-the art fair recommender system.
When we provide ratings for products and services on the internet, all the preferences we express and data we share (explicitly or not), are used to generate recommendations by recommender systems. The most common examples are that of Amazon, Google and Netflix. In this article, I have combined movie attributes such as genre, plot, director and main actors to calculate its cosine similarity with another movie. The dataset is IMDB top 250 English movies downloaded from data.world. Exploring the dataset, there are 250 movies (rows) and 38 attributes (columns).