• No results found

An Implementation of Content Boosted Collaborative Filtering Algorithm

N/A
N/A
Protected

Academic year: 2020

Share "An Implementation of Content Boosted Collaborative Filtering Algorithm"

Copied!
10
0
0

Loading.... (view fulltext now)

Full text

(1)

An Implementation of Content Boosted

Collaborative Filtering Algorithm

Boddu Raja Sarath Kumar

CSE Department, Lenora College of Engineering,

Rampachodavaram,

Maddali Surendra Prasad Babu

Department of CS&SE, Andhra University,

Visakhapatnam ,

ABSTRACT:

Collaborative filtering (CF) systems have been proven to be very effective for personalized and accurate recommendations. These systems are based on the Recommendations of previous ratings by various users and products. Since the present database is very sparse, the missing values are considered first and based on that, a complete prediction dataset are made. In this paper, some standard computational techniques are applied within the framework of Content-boosted collaborative filtering with imputational rating data to evaluate and produce CF predictions. The Content-boosted collaborative filtering algorithm uses either naive Bayes or means imputation, depending on the sparsity of the original CF rating dataset. Results are presented and shown that this approach performs better than a traditional content-based predictor and collaborative filters.

Key Words: Collaborative filtering, Mean Absolute Error, Predictions, Harmonic Mean Weighting Factor, Self Weighting factor

1. INTRODUCTION

World Wide Web has created the universe as global village, with an explosive growth of enormous information. Getting the relevant information from the internet is a very big problem. Personalized recommendation systems may be used to get relevant information from the internet. CF is a widely used technique for information filtering in personalized recommendation systems. They are mainly classified into three categories: namely, memory based collaborative filtering, model based collaborative filtering and hybrid or content boosted collaborative filtering techniques [5]. Memory based CF is further sub-divided into user-based collaborative filtering, item user-based collaborative filtering and content user-based collaborative filtering techniques. User-based collaborative filtering recommendation systems depend on item rating predictions. The process of considering items to a user is based upon the opinions of people with similar likes or dislikes. Generally the filtering system determines which users have similar likes or dislikes. Recommender systems helps to users to overcome information overload by providing personalized suggestions based on a history of a user's likes and dislikes. On-line web portals like Amazon.com [16]; eBay.com [17]; Netflix.com [18] etc. are providing these recommending services to know about the personalized interests.

Collaborative Filtering systems recommend an item based on ratings in a given domain by duly examining the likes or dislikes among the other users likes or dislikes. On the other hand, content-based methods in Collaborative Filtering provide recommendations by comparing representations of content contained in an item to representations of content that interests the users. Content-based methods can concatenate each user, whereas it is not possible in Collaborative filtering but it still has some other key advantages. Collaborative filtering can also perform with less data of items to recommend items that are relevant to the user, but do not contain content. The main draw backs of these algorithms are sparsity [5] and cold-start [2] problems. Sparsity occurs when the user do not rate more items. In this case the sparse user-item rating value decreases which causes low value ratings in finding similar set of users. Cold-start is a basic problem concerned with an item that can only be recommended after rated by a user [9].

(2)

Filtering algorithms. This paper puts forward a comprehensive study of the Content boosted collaborative filtering algorithm and its implementations.

2. CONTENT-BASED COLLABORATIVE FILTERING

Content Based Collaborative Filtering first proposed by [9] uses neighborhood-based recommendations. Here subsets of users are chosen based on their similarity to the active user, and a weighted combination of their ratings is used to produce predictions for the active user. The algorithm is given in the following steps.

Step1. All active users are equally weighted with respect to similarity.

Step2. Measure the similarity between users as the Pearson Correlation Coefficient between their ratings vectors. Pearson correlation coefficient can be computed by the formula.

  

rn i rn

i ui u a

i a rn

i ai a ui u u a

r

r

r

r

r

r

r

r

P

1 1 3 , 3 ,

1 , ,

,

)

(

)

(

)

(

)

(

… (1)

Where

r a,i is the rating given to item i by user a ra is the mean rating given by user a.

Step3. Select the n users which are having the highest similarity with the active user.

Step4. Form the neighborhood of active user recommendations predictions are computed as the weighted average of deviations from the neighbor's mean:

 

n

u au n

u ui u au a i a

P

P

r

r

r

P

1 ,

1 , ,

,

)

(

…. (2)

Where

Pa,i is the prediction for the active user a for item i. Pa,u is the similarity between users a and u. n is the number of users in the neighborhood.

Step5. Compute the prediction of a weighted combination of the neighbors' ratings.

2.1 Significance Weighting Factor (SWF)

Significance weighting factor is used to devalue the correlations generated based on few co-rated items to prevent bad predictors. If the number of co-rated items (n) is less than 50 then SWF is the product of their correlations. When n ≥ 50 then the factor

Sg

a,u

1

.

3. CONTENT-BOOSTED COLLABORATIVE FILTERING ALGORITHM

In Content boosted collaborative filtering, pseudo user-rating vectors of all users are combined into pseudo rating matrix. Similarity between the active users is computed by using the Pearson correlation coefficient The following steps describe the proposed algorithm

Step1. A pseudo user-rating vector for all users in the database is created by Using Harmonic Mean Weighting

Factor (HMW). The pseudo user-ratings vector, , consists of the item ratings provided by the user u. r u,i denotes the actual rating provided by user u for item i, while C u,i is the rating predicted by the content-based system.

….. (3)

Step2. Compute pseudo rating matrix V by combine the pseudo user-ratings vectors of all users.

(3)

Step4. Computed mean-centered ratings of the best-n neighbors of that user as weighted sum of the active user by incorporate a Self Weighting factor in the final predictions.

Step5. Combined the above two weighting schemes to evaluate the final CBCF predictions.

3.1 Harmonic Mean Weighting

An accuracy of a pseudo user-ratings vector is computed for a user depends on the number of movies rated. If the user rated many items, the content-based predictions are good and hence his pseudo user-ratings vector is fairly accurate. Otherwise, if the user rated only a few items, the pseudo user-ratings vector will not be as accurate. It is clear that inaccuracies in pseudo user-ratings vector often yielded misleadingly high correlations between the active user and other users. Harmonic Mean weighting factor (HMW) is used to incorporate these low user-rated correlations.

j i j i j i

m

m

m

m

hm

2

, …. (4)

In the above equation,

n

irefers to the number of items that user i has rated. The harmonic mean tends

to bias the weight towards the lower of the two values namely

m

iand

m

j.Thus correlations between pseudo

user-ratings with at least 50 user-rated items each, will receive the highest weight, regardless of the actual number of movies each user rated. Otherwise, even if one of the pseudo user-rating vectors is based on less than 50 user-rated items, the correlation will be devalued appropriately. The threshold 50 is based on the learning curve of the content predictor. It can be noted from[ ] that initially as the predictor is given more and more training examples the prediction performance improves, but at around 50 it begins to level off. Beyond this is the point of diminishing returns; as no matter how large the training set is, prediction accuracy improves only marginally. The HMW includes the significance weighting to obtain the hybrid correlation weight.

hw

a,u

hm

a,u

Sg

a,u…. (5)

3.2 Self-Weighting

The mean-centered votes of the best-n neighbors of that user are computed as weighted sum of the active user. In our approach, pseudo active user is also added to the neighborhood. The other neighbors are given more importance than pseudo active user. A Self Weighting factor has been incorporated in the final prediction:

…. (6) where

a

n

is the number of items rated by the active user.

Combining the above two weighting schemes, the final CBCF prediction for the active user a and item i is produced as follows:

          n a u u u a u a a n a u u u i u u a u a a i a a a i a P hw sw v v p hw v c sw v p 1 , , 1 , , , , , ( ) ( …. (7) Where i a

(4)

i y

v

, is the pseudo user-rating for a user u and item i

u

v

is the mean over all items for that user.

u a a

hw

Sw

,

, , and

P

a,uare evaluated.

n is the size of neighborhood.

4. Implementation of the CBCF Algorithm

4.1. Methodology

The experimental methodology used for computing the different prediction algorithms namely CF predictor, Content-based algorithm and CBCF are presented and evaluated. then prediction times and the quality of their predictions are measured for each evaluated algorithm. All the experiments were performed on an Intel Pentium-IV Processor, 2 GB RAM system and implemented in Java and executed. The dataset is stored in database MySQL in the same computer.

4.2. Dataset

To carry out the research and analysis for content boosted collaborative filtering system, the GroupLens Research Project agency at the University of Minnesota developed Internet Movie Database which contains the user-movie ratings and the movie details, called the EachMovie dataset [12]. This dataset may be used to derive the results. The data set consists of 100,000 ratings (1-5) from 943 users on 1682 movies. Each user has rated at least 20 movies. It provides demographic data such as age, gender, and the zip code supplied by each person. The content of the information of every movie is considered as a set of slots. Each slot is represented by number of words. Further, the data has been segregated and discarded for having less than 20 ratings or in complete demographic information. Now the dataset provides the actual rating data provided by each user for various movies and used in the implementation process to generate prediction values for various algorithm systems. The same was downloaded and has been used from their website [13] to derive the results.

4.3. Experimental Evaluation

A subset of the ratings data from the EachMovie data set used for the purposes of comparison. 20% of the users were randomly selected to be the test users. In the each movie data downloaded from grouplens website [13], it mentioned that the data sets u1.base and u1.test through u5.base and u5.test are 80%/20% splits of the u data into training and test data. Each of u1, u2, u3, u4, and u5 has disjointed test sets for cross validation. These data sets can be generated from u.data by mku.sh. Source file u.data contained the u dataset by 943 users with 100000 ratings on 1682 items. Each user has rating at least 20 movies. This is a tab separated list of user id, item id, rating and timestamp.

The main java classes designed and developed to evaluated the predictions for the content-based algorithm and content-boosted algorithm are CBA5.java, NBSSimblanceRow.java, Probability.java XYSplineRendererDemoTest.java . A segment of java code snippet and the structure of the java classes that implements the content-based collaborative filtering, collaborative filtering predictor and Content-Boosted Collaborative Filtering algorithms proposed in the system is as follows.

List original = new ArrayList ();

String fileName2 = "D:\\Excelwork\\ml-data_0\\u.data";

int usersSize = 100; int itemsSize = 1000;

we.initialize(original, usersSize, itemsSize);

we.populateFileToList(original, fileName2, usersSize, itemsSize);

The List ‘original’ is the list which contains the original ratings of the users which will be compared with the predicted ratings. It is designed to populate the list with the ratings read from the u.data file with the mentioned Path in the code.

List test = new ArrayList();

(5)

we.populateFileToList(test, fileName2, usersSize, itemsSize);

The List ‘test’ is the list which contains the test ratings of the users. Test data is the subset of original data. Using test data, it is designed to produce the user rating predictions and populating the ‘test’ list with values read from u5.test. Content-based predictions are generated by treating the task as a text-categorization problem. The movie data which contains the content information is considered as text documents, and user ratings given as 1-5.

fileName2 = "D:\\Excelwork\\ml-data_0\\u.genre"; ArrayList genre = new ArrayList(); we.initializeGenre(genre, fileName2);

The List ‘genre’ is the list of genre of the movies. Each movie genre is given a unique number which is used in item classification.

fileName2 = "D:\\Excelwork\\ml-data_0\\u.item"; List items = new ArrayList();

we.initializeItems(items, 1682, 30);

we.populateItemsToList(items, fileName2, 1682, 30, genre);

The List ‘items’ is the list of all the items that presented in u.item. 1682 is number of items given, and 30 is the number of properties mentioned in the u.item file. It is designed and developed to populate the test list with values read from u.item. All the properties are embedded in a child list and the child list is added to parent list.

List docsIJ = new ArrayList(); we.initialize(docsIJ, usersSize, 5);

we.populateNoOfRatingsVsClazz(docsIJ, test, usersSize);

The List docsIJ is the list that contains the data of users which rated for first grade( rating given as 1). Similarly, second grade ratings given by particular user. Hence it contains number particular ratings (1-5) which was graded by each and every user. The method populateNoOfRatingsVsClazz is designed to develop the list of the ratings of all users.

List Examples = new ArrayList(); we.populateExamples(Examples, docsIJ);

Examples is the list of number of total ratings given by every user. It is designed and developed to generate MAE values for content boosted collaborative filleting. MAE calculates the irrelevance between the recommendation value predicted by the system and the actual evaluation value rated by the user. The measurement method of evaluating the recommendation quality of recommendation system mainly includes statistical precision measurement method it includes to measure the recommendation quality. [6] The generated prediction values are stored in an arraylist of Examples mentioned above and tabulated in the next sections. This arraylist Example is input for the the class populatePredictContentBoostedUJ to generate the MAE values. The arraylist contains the values of the predicted user rating is geneated with the java class ‘Examples’ and actual user rating arraylist generated with the java class ‘original’. These two arraylist are the inputs for populatePredictContentBoostedUJ java class to generate MAE values

sheetData1 = ((List) ((ArrayList) test).clone()); s3 =new ArrayList();

Hashtable table = new Hashtable();

for(int i=4; i<30; i=i+4){

// s3 = we.populatePredictUJ(sheetData1, listSimblances, i);

s3 = we.populatePredictContentBoostedUJ(test1, test2, Examples, listSimblances, i);

double mae = we.getMAE1(test, original, s3);

BigDecimal z1 = new BigDecimal(mae).setScale(2,BigDecimal.ROUND_HALF_UP); mae = z1.doubleValue();

System.out.println(" For neighbourset size -- " + i +" MAE is " + mae); table.put(new Double(i), mae);

(6)

5. RESULTS

The MAE values are computed using Content Based CF and Content Boosted CF algorithms for different test data sets u1.test, u2.test, u3.test, u4.test and u5.test and tabulated in table 1 to table 5. MAE value for Content Based Predictor is also estimated and included in these tables for verification. The Comparitive analysis of these computed values are presented in section 6.

5.1 MAE values for CF, CB and CBCF on U1.test dataset:

Table.1. MAE values for different neighbor sets for CF on u1.test

Neighbor Set Size

4 8 12 16 20 24 28

MAE Values of Content based CF

2.61 2.62 2.62 2.62 2.62 2.62 2.62

MAE Values of Content boosted CF

0.98 0.91 0.89 0.86 0.86 0.85 0.85

MAE value for content based predictor

0.982.

5.2 MAE values for CF, CB and CBCF on U2.test dataset:

Table.2.MAE values for different neighbor sets for CF on u2.test :

Neighbor Set Size

4 8 12 16 20 24 28

MAE Values of Content based CF

2.61 2.61 2.61 2.61 2.61 2.61 2.61

MAE Values of Content boosted CF

1.07 0.98 0.94 0.92 0.91 0.90 0.90

MAE values for content based Predictor

(7)

5.3 MAE values for CF, CB and CBCF on U3.test dataset

Table 3. MAE values for different neighbor sets for CF on u3.test

Neighbor Set Size 4 8 12 16 20 24 28

MAE

Values of Content based CF

2.62 2.61 2.61 2.60 2.61 2.61 2.61

MAE

Values of Content boosted CF

1.07 0.98 0.95 0.94 0.93 0.92 0.91

MAE values for content based Predictor

1.02.

5.4 MAE values for CF, CB and CBCF on U4.test dataset

. Table 4. MAE values for different neighbor sets for CF on u4.test

Neighbor Set Size 4 8 12 16 20 24 28

MAE

Values of Content based CF

2.21 2.54 2.56 2.56 2.54 2.54 2.54

MAE

Values of Content boosted CF

1.11 1.05 1.01 0.99 0.99 0.98 0.97

MAE value for content based Predictor

1.02.

5.5 MAE values for CF, CB and CBCF on U5.test dataset

Table.5. MAE values for different neighbor sets for CF on u5.test

Neighbor Set Size 4 8 12 16 20 24 28

MAE

Values of Content based CF

2.29 2.48 2.56 2.56 2.57 2.57 2.57

MAE

Values of Content boosted CF

1.13 1.04 1.01 1.00 0.99 0.98 0.97

MAE value for content based Predictor

1.02

6. COMPARITIVE ANALYSIS:

(8)

6.1. Bar diagram of MAE values for CF, CB and CBCF on U1.test dataset:

Fig.1: : Bar diagram represent MAE’s for CF, CB and CBCF fo for u1.test

6.2. Bar diagram of MAE values for CF, CB and CBCF on U2.test dataset:

Fig.2: Bar diagram represent MAE’s for CF, CB and CBCF fo for u2.test

6.3. Bar diagram of MAE values for CF, CB and CBCF on U3.test dataset:

(9)

6.4. Bar diagram of MAE values for CF, CB and CBCF on U4.test dataset:

Fig.4: : Bar diagram represent MAE’s for CF, CB and CBCF fo u4.test

6.5. Bar diagram of MAE values for CF, CB and CBCF on U5.test dataset

Fig.5: : Bar diagram represent MAE’s for CF, CB and CBCF fo u5.test

6.6. Comparison of MAE values for CF, CB and CBCF:

A graph is drawn (Fig.6) by taking test datasets on x-axis and minimum MAE values for different algorithms on y-axis. The red line indicates the graph for CF predictor, the green line indicates the graph for content based CF and the blue line indicates the graph for content boosted CF. The graphical representation shows that the over all performance of the content boosted algorithm is better than the other Comparitive algorithms

(10)

7. CONCLUSION

The derived results, comparative analysis and comprehensive study shows that Content boosted collaborative filtering algorithm puts forward for better performance among the other comparative algorithms. It is clearly understood that lesser MEA values indicates good recommendation quality. The results show that that CBCF is best and has good recommendation effect than the other algorithms.

8. REFERENCES

[1] Xiuyan Gu, Linfeng Jiang, and Ziyi Zhang, “Study on User’s Browse Behavior to Measure the User’s Browse Interest”, Network and Communication, vol.15, pp.43-45, 2005.

[2] Mustansar Ali Ghazanfar and Adam Pr¨ugel-Benne “Building Switching Hybrid Recommender System Using Machine Learning Classifiers and Collaborative Filtering” published in IAENG International Journal of Computer Science, 37:3, IJCS_37_3_09 [3] G. Adomavicius and A. Tuzhilin, “Towards the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and

Possible Extensions”, IEEE Transactions on Knowledge and Data Engineering 17 (2005), 634–749.

[4] R. Bell and Y. Koren, “Scalable Collaborative Filtering with Jointly Derived Neighborhood Interpolation Weights”, IEEE International Conference on Data Mining (ICDM’07), pp. 43–52, 2007.

[5] Xiaoyuan Su and Taghi M. Khoshgoftaar “Review Article A Survey of Collaborative Filtering Techniques” Hindawi Publishing Corporation Advances in Artificial Intelligence Volume 2009, Article ID 421425, 19 pages doi:10.1155/2009/421425

[6] J. Bennet and S. Lanning, “The Netflix Prize”, KDD Cup and Workshop, 2007. www.netflixprize.com.

[7] Z. Huang, D. Zeng and H. Chen, “A Comparison of Collaborative-Filtering Recommendation Algorithms for E-commerce”, IEEE Intelligent Systems 22 (2007), 68–78.

[8] Lijuan Zheng,Yaling Wang, Jiangang Qi, Dan Liuresearch and improvement of personalized recommendation algorithm based on collaborative filtering” published in IJCSNS International Journal of Computer Science and Network Security, VOL.7 No.7, July 2007 [9] Prem Melville and Raymond J. Mooney and Ramadass Nagarajan Content-Boosted Collaborative Filtering for Improved

Recommendations published in Proceedings of the Eighteenth National Conference on Artificial Intelligence(AAAI-2002), pp. 187-192, Edmonton, Canada, July 2002

[10] R. Salakhutdinov, A. Mnih and G. Hinton, “Restricted Boltzmann Machines for Collaborative Filtering”, Proc. 24th Annual International Conference on Machine Learning, pp. 791–798, 2007.

[11] R. Salakhutdinov and A. Mnih, “Probabilistic Matrix Factorization”, Advances in Neural Information Pro-cessing Systems 20 (NIPS’07), pp. 1257–1264, 2008.

[12] movie lens data, http://movielens.umn.edu. [13] group lens, http://www.grouplens.org/

[14] Bhaskar Mehta, Thomas Hofmann, and Wolfgang Nejdl, Robust Collaborative Filtering, In Proceedings of the 1st ACM Conference on Recommender Systems (Joseph A. Konstan, John Riedl, and Barry Smyth, eds.), ACM Press, October 2007, pp. 49–56.

[15] Bhaskar Mehta and Wolfgang Nejdl, Attack-resistant Collaborative Filtering, In Proceedings of the 31st ACM SIGIR Conference, ACM Press, 2008.

[16] amazon, an online portal, http://www.amazon.com/

[17] ebay, an online portal, http://www.ebay.in/

References

Related documents

ACR: American College of Rheumatology; BMI: body mass index; CDHB: Canterbury District Health Board; CTCAE: Common Terminology Criteria for Adverse Events; GP: general

International Journal of Scientific Research in Computer Science, Engineering and Information Technology CSEIT172559 | Received 10 Sep 2017 | Accepted 19 Sep 2017 | September October

The aim of this project was to determine the cytotoxic effect of ethanolic and aqueous crude extracts of C.hystrix leaves on colon cancer cells (HT29), to determine the

We describe a case of hyper-eosinophilia who presented with overt manifestation of high eosinophil and detected to have underlying non Hodgkin lymphoma.. He had

Fig. Location of the study area showing where soils were sampled [17] degradation; organic matter. Soil degradation, caused by salinization is a environmental issue that has

Subjects have included young African-American male and female clients of clinics for sexually transmitted disease, Af- rican-Americans living with HIV in Baltimore, outreach workers

A Syntactic Resource for Thai CG Treebank Proceedings of the 7th Workshop on Asian Language Resources, ACL IJCNLP 2009, pages 96?102, Suntec, Singapore, 6 7 August 2009 c?2009 ACL and AFNLP