{'fraction_non_alphanumeric': 0.018076178179470628, 'fraction_numerical': 0.0, 'mean_word_length': 5.25, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Opinion-enhanced collaborative filtering for recommender systems through sentiment analysis

The motivation of collaborative filtering (CF) comes from the idea that people often get the best recommendations from someone with similar tastes. With the growing popularity of opinion-rich resources such as online reviews, new opportunities arise as we can identify the preferences from user opinions. The main idea of our approach is to elicit user opinions from online reviews, and map such opinions into preferences that can be understood by CF-based recommender systems. We divide recommender systems into two types depending on the number of product category recommended: the multiple-category recommendation and the single-category recommendation. For the former, sentiment polarity in coarse-grained manner is identified while for the latter fine-grained sentiment analysis is conducted for each product aspect. If the evaluation frequency for an aspect by a user is greater than the average frequency by all users, it indicates that the user is more concerned with that aspect. If a user's rating for an aspect is lower than the average rating by all users, he or she is much pickier than others on that aspect. Through sentiment analysis, we then build an opinion-enhanced user preference model, where the higher the similarity between user opinions the more consistent preferences between users are. Experiment results show that the proposed CF algorithm outperforms baseline methods for product recommendation in terms of accuracy and recall.