{'fraction_non_alphanumeric': 0.018430099312452253, 'fraction_numerical': 0.0028647822765469825, 'mean_word_length': 5.233928571428572, '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}}
Exploration of Collaboration Filtering Techniques for Product Recommendation

Today, recommendation system has been globally adopted as the most effective and reliable search engine for knowledge extraction in the field of education, economics and scientific research. Collaborative filtering is a proven techniques used in recommender system to make predictions or recommendations of the unknown preferences for users based on the known user preferences. In this paper, collaborative filtering task and their challenges are explored, study the different recommendation techniques and evaluate their performance using different metrics.


I. INTRODUCTION
Recommendation has become the most important tool used to change the method of communication between web users and web sites. Recommender system has been widely used in the field of economics, education and scientific research [1]. Today, the volume of data has tremendously increased that makes it extremely difficult for a user to find information they needed. With the increase in the volume of data, problem of data deficiency have been eliminated but leading to the issue of overload [2]. The excessive data leading to overload in the area of research makes it very difficult for researchers to properly judge the relevance of the items retrieved as the search result for making the right decision [3]. To alleviate the issue of overload an effective filtering mechanism is required to determine useful information from a large volume of data. Collaborative filtering as a classic filtering algorithm for the development of recommender system is divided into item based collaborative filtering and user based collaborative filtering. The user based collaborative filtering makes recommendations by searching similar users to the target user and uses the favorite items of the similar users to make recommendations to the target users whereas the item based collaborative filtering tries to locate items similar to the items purchased by the target user based on the user purchase or browse history [4].

A. Characteristics and Challenges of Collaborative Filtering
The ability of the recommender system to provide accurate recommendations to customers is a great challenge that relies on how well the challenges are addressed. The speed and accuracy of the recommender system in E-commerce attracts the attention of the customers and also boost the benefit of the company. The major characteristic of collaborative filtering task includes:  Data Sparsity: in e-commerce recommender systems evaluates a large number of product/item set that are distributed across different locations. The performance of predictions or recommendations made by the collaborative filtering method is a great challenge due to the sparsity of the user item matrix used by the CF method. A cold start problem also occurs when a new user or item is added to the system. In this situation it is difficult to find a similar user as there is no enough information about the user. Also, the newly added item cannot be recommended to a user as it has no got any rating from the previous users or purchase history. A reduced coverage also occurs due to a small number of ratings when compared to the large number of items/products in the system. In this case the recommender system may not be able to generate a prediction for the items. Thirdly, neighbor transitivity may reduce the effectiveness of the recommendation if the databases are sparse. In this case users with similar taste may not be identified [2].  Scalability: Count of users and items of commercial system is significantly increasing. When the number of users and items increases, the traditional collaborative filtering algorithms undergoes a serious scalability problem as the computational resources exceeds practical or acceptable level [4].  Synonym: a number of similar items may have different names or entries within the system. In this case the recommender system may consider these items with similar name or entries as differently without discovering the latent association between the products. The relevance of synonyms reduces the performance of the predictions made by the recommender system.  Grey Sheep: the opinion of the user may not consistently agree or disagree with the opinion of any user group. In this case the user may not benefit from the recommender system.
In view of the challenges faced by the recommender system, a number of techniques were proposed by researchers and more of these researches are in place to address the issues.

II. RELATED WORKS
In [5], authors proposed a hybrid recommendation system to surpass the difficulties in providing the right product based on customer preferences. The method combines context-based, data mining techniques and collaborative filtering. The algorithm begins by obtaining the similar group of customers based on customer lifetime value. In [6], authors developed a recommendation system using two recommender systems: collaborative and demographic analysis that provide an effective product recommendation. In [7], authors provide the overview of different collaborative filtering techniques giving some example, illustrative charts, and new trends with respect to time. Authors diagrammatically represent the techniques and explore future research directions. In this paper authors conclude that extra effort needs be put in place to overcome the limitations of the current techniques used.
In [8], authors proposed a structural balance theory based recommendation on E-Commerce large rating data. In this method the enemy (dissimilar user) of the target user is first obtained and then the possible friends of the E-Commerce target user based on the found enemy's enemy (Friends).
In [9], authors use the common singularity ratings provided by users to determine the similarity between the users. Author's uses lower probability to choose a neighbor that best fit the preferences of a group.
In [3], authors classify the most commonly used method for scientific paper recommendation, deeply analyze the evaluation metrics used in paper recommendation system and provide the summary of the challenges and problems faced in paper recommender system. In [10], authors proposed an aspect sentiment collaborative filtering technique that obtained the users attributes towards aspect of the item through fined grained sentiment analysis on user's transaction history. The degree of the user desire and importance on the item is analyzed for each feature using fuzzy kano model. In [13], authors proposed a recommendation algorithm that merges trusted relevance and matrix factorization. The proposed method establishes an effective trust metric model that integrates the user information into the proposed model. The direct or indirect trust relationships are considered using a concentric hierarchical model and integrate more information into the matrix factorization recommendation algorithm. Authors consider trust factors and interest similar facts to design the trust relevance.
In [11], authors proposed a high recommendation algorithm that exploit the user's attributes and cluster the attributes into a number of clusters. In each of the generated cluster a virtual opinion leader is conceived that is used to represents the entire cluster which significantly reduced the dimension of the initial user item matrix. A method called One-VU is designed and applied to virtual opinion leader item matrix to obtain the results of the recommendation.

III. COLLABORATIVE FILTERING METHODS
In this section, we discuss in detail the collaborative filtering methods used for generating recommendations for items to users of the e commerce.

Memory-Based Collaborative Filtering Technique
The memory-based collaborative filtering technique used the available data stored in the memory to predict the new rating using similarity between users or items. The set of similar users forms neighbor that is used to extract objects or products of similar ratings. Assumption here is that two users with similar rating history for some similar items will likely have the same preferences for other items. This algorithm is divided into user based and item-based algorithms based on the using the target user or target item/product. The user based and item-based methods were proposed to address the issue of scalability in the system [12].

Model Based Collaborative Filtering Technique
The model based collaborative filtering technique adopts various techniques on the training sets, in order to obtain pattern on a data and learn a model to predict new rating for user items. This model uses techniques like Fuzzy systems, slope, Bayesian Classifier, various probabilistic relational models, linear regression, Makov chain model, Latent Dirichet Allocation, Singular Value Decomposition, Clustering Models, Neural Networks, maximum entropy model and so on [12].

Hybrid Recommendation Technique
Various combinations of content based and collaborative filtering techniques exist that can be used to exploit user r item information, ratings and similarities of various users and items. The four ways of combining content based and collaborative filtering techniques includes: separate implementation of content based and collaborative filtering and them merging the result, Boosting the collaborative filtering algorithm using some features of the content based method, boosting the content based method using some characteristics of the collaborative filtering method and unify the collaborative filtering and the content based method into a single recommender system [12].

V. EXPERIMENT AND RESULT
In this experiment, a machine with Intel(R) Core i5, CPU of 2.0 GHz, RAM of 4GB running JAVA language on windows 10 operating system was used to compare the performance of some RS in terms of various evaluation metrics.

VI. CONCLUSION
In this paper, the well-known memory-based and content based collaborative filtering techniques were implemented and evaluated using different metrics, discuss the advantages and drawbacks of the well-known methods. Experiment shows that the memory-based CF have a faster query time compared to other techniques and the model based have more scalability and perform better on sparse databases. However, the later model is expensive to build and result to increase in time for the training. Therefore, a tradeoff between performance and scalability needs to be addressed.