A Smart Media Based Recommendation System. Do you want the complete project material? Download the complete project topic and material (chapter 1-5) on Edustore.NG below.
See below for the abstract, table of contents, list of figures, list of tables, list of appendices, list of abbreviations and chapter one, Literature Review, Methodology e.t.c
Please Note: This is a complete project work from, abstract, table of contents, chapters 1 to 5 with references and questionnaire you can only view half of the project. But if you need the complete project work Click Here To Place Your Order
Abstract on A Smart Media Based Recommendation System
Smart media devices such as: smartphones and tablets are getting more powerful, smarter, cheaper and hence more popular.
Recommendation systems become very common in e-business and e-Commerce, for example: Amazon, Google, eBay, Facebook, etc. all are using recommendation systems to promote their business. Recommendation systems are rarely used in learning; however it can be very useful.
The proposed project works as follow:
Send a learning query to sites, sources and repositories across the Web and gather relevant information through the use of recommendation system that filter all the useless or irrelevant materials off the main list of recommended items.
Filter result from other user’s preference using collaborative-filtering, having the current query in mind.
Use TFIDF for content-based filtering and ranking of the shortlisted pages or articles.
Present the shortlist based on their rank to the user of the system.
Table of contents on A Smart Media Based Recommendation System
Table of Contents
Abstract …………………………………………………………………………………………………………………… iii
Dedication ………………………………………………………………………………………………………………… iv
Acknowledgement ……………………………………………………………………………………………………….v
Table of Figures …………………………………………………………………………………………………………..4
1. Introduction ………………………………………………………………………………………………………….6
1.1. Context ………………………………………………………………………………………………………….6
1.3. Research Objective ………………………………………………………………………………………….7
1.4. Research Methodology ……………………………………………………………………………………..8
1.4.1. Information gathering ………………………………………………………………………………..8
1.4.2. Collaborative Filtering ……………………………………………………………………………….8
1.4.3. Content-based filtering ……………………………………………………………………………….9
1.4.4. Hybridization of Both filtering methods ………………………………………………………..9
1.4.5. Connecting of the Android application to the Server through HTTP protocol ………9
1.5. Organization of document ………………………………………………………………………………. 10
2. State of Art ………………………………………………………………………………………………………… 11
2.1. Collaborative filtering ……………………………………………………………………………………. 11
2.1.1. Overview of the Collaborative Filtering Process…………………………………………… 11
2.1.2. Types of Collaborative Filtering Algorithms ……………………………………………….. 13
2.1.3. Application ……………………………………………………………………………………………. 14
2.2. Content based filtering …………………………………………………………………………………… 15
2.2.1. TFIDF …………………………………………………………………………………………………… 15
2.2.2. Application of TF-IDF …………………………………………………………………………….. 18
2.3. Java…………………………………………………………………………………………………………….. 18
2.4. Android……………………………………………………………………………………………………….. 18
2 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
2.5. Servlet / JSP …………………………………………………………………………………………………. 19
2.6. JSON ………………………………………………………………………………………………………….. 20
2.7. Related work ………………………………………………………………………………………………… 22
2.7.1. Hybrid Web Recommender Systems [19] ……………………………………………………. 22
2.7.2. Combining Content-Based and Collaborative Filters in an Online Newspaper [15] 30
2.7.3. Item-Based Collaborative Filtering Recommendation Algorithms [1] ……………… 31
2.8. Discussion (outcome, pros, cons) & why your work ……………………………………………. 32
2.8.1. Pros and Cons of Different techniques ……………………………………………………….. 32
2.9. Proposal …………………………………………………………………………………………………………. 35
3. Application / Case Study / Benchmarking ……………………………………………………………….. 39
3.1. Case Study …………………………………………………………………………………………………… 39
3.2. ER Diagram …………………………………………………………………………………………………. 40
3.3. Building Dataset …………………………………………………………………………………………… 40
3.4. Query the System through Android and HTTP …………………………………………………… 41
3.4.1. Querying the server via emulator ………………………………………………………………. 41
3.4.2. Querying the server via a physical device. …………………………………………………… 41
3.5. Gathering Information ……………………………………………………………………………………. 42
3.5.1. Getting URL links …………………………………………………………………………………… 42
3.5.2. Removing irrelevant links ………………………………………………………………………… 42
3.5.3. Avoiding Duplicates ……………………………………………………………………………….. 44
3.5.4. Making content temporarily available ………………………………………………………… 44
3.6. Collaborative filtering of URL-List ………………………………………………………………….. 45
3.7. Content-based filtering of final List ………………………………………………………………….. 47
3.7.1. Getting documents weight ………………………………………………………………………… 48
3 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
3.7.2. Getting Term Frequency (TF) …………………………………………………………………… 48
3.7.3. Getting the Inverse Document Frequency (IDF) …………………………………………… 48
3.7.4. Computing TFIDF ………………………………………………………………………………….. 48
3.8. Making a JSON output for Android device ………………………………………………………… 49
3.9. Android Application ……………………………………………………………………………………… 50
3.9.1. Adding Item to database …………………………………………………………………………… 52
3.9.2. Adding Rating to database ……………………………………………………………………….. 54
3.9.3. Adding Users to database …………………………………………………………………………. 56
3.9.4. Authenticating user …………………………………………………………………………………. 57
3.9.5. Screenshots ……………………………………………………………………………………………. 59
4. Conclusion ………………………………………………………………………………………………………… 61
4.1. Work done …………………………………………………………………………………………………… 61
5. References …………………………………………………………………………………………………………. 63
Appendix A1 …………………………………………………………………………………………………………….. 65
Appendix A2 …………………………………………………………………………………………………………….. 66
Appendix A3 …………………………………………………………………………………………………………….. 67
CHAPTER ONE
1. Introduction
With the growth of the web, there is an explosion in the size of content available to various users around the world. The materials available are a mixture of useful and useless documents to the interest of the user. This show gives the need for a better way of getting useful document from the web and mostly through the taste of the user of the web.
This project aims at using the taste and the behavior of a user to get documents that are relevant to what the user needs. Depending on the choices of the user, they may have people with the same taste as them, and the system is to harness this opportunity and recommend materials, based on interaction of the neighbor of the users with other interesting materials. Using a collaborative filtering approach, the system can find the items (document) that other users with similar interest with the current user have read and rated to a good degree. In the early stages of the system’s life, the system can’t depend on the Collaborative approach alone, or else the system’s recommendation will be inadequate, thus prompting the need for another filtering approach to support the weaknesses of the collaborative approach. The most use filtering approach that has been used with the collaborative filtering approach is the “Content-based filtering” approach. Adding a content-based filter to the result of the collaborative will yield a more concrete recommendation that will be close to what the user requires.
1.1. Context
Recently Recommendation Systems are becoming common and important in e-technologies such as e-business and e-learning. Many major companies such as Amazon, Google, etc. have its own recommendation system. Recommendation systems can help customers to pick up the most relevant products that fit with their needs. In the area of e-learning and learning in general, there is no much research have been done to design and build a reliable recommendation system that can help learners to pick up the most relevant materials that can speed up and enhance their learning process.
In this project we plan to design and implement a learning recommendation system, which supports smart media such as smartphone and tablets, as its clients.
To achieve this, the system needs to be hosted probably on a remote server with the capability to run codes efficiently, and optimally. A server side will be written in Java Servlets in order to be
7 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
able to use various libraries available. All communication will be across a network and the source data will be from the internet.
1.2. Problem Statement
In the digital world today, the amount of content finding their way to the internet, has become alarming in the rate of increase, and this has led to an increase in the scrutiny of this content by search engines and other pointer-sites. It is now glaring that there is a need to provide a personal touch to the recommendation of materials to users.
If a form of recommendation can be added to the search result of user’s, then the probability of them getting more interesting materials will become high. Take for example, a school with lots of materials in their repository, which offers the students or the public access to their wealth of content, but the only provide a generic search. If there is a way of finding the articles or papers of interest, and at the same time finding materials with similar relevant content, based on the content similarities and the people who previously viewed and rated the materials, thus saving the next person the trouble of viewing irrelevant materials.
1.3. Research Objective
In this research, the aim is to aid common search with the help of filtering techniques, in order to improve the quality of materials recommended to people or users of the system.
Due to the fact that finding material for research and study may be hard to get on the web, a user might search with a search engine for materials and information, and the user may or may not get the result he/she seek from the first search engine, and he/she may try the second, third, fourth etc. this process of searching numerous places for information may be time consuming and tedious. Then a system that searches more than one place will surely be better.
We aim to provide a multi-platform search that is based on hybrid filtering, in order to provide the user with a result that is close to what the user wants or needs.
The normal search (e.g. Google) also does its filtering, but we aim to join the result from different sites and repositories, giving users a list that is more scrutinized than the result presented by a singular website or service.
8 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
With the help of a user’s preference and the help of the characteristic of users with the same preference as the current user, our system will be able to provide a better result-set for the user of the system.
Let us consider a university of library reach in materials, and there is a way of searching for materials, the system will be able to provide good search based on the title of the material or even the some part of the content might be taking into consideration. This project not only emphasizes on the approach that will be adopted in the implementation, but it depends on the creativity of future developers to enhance the application, and use it for more advanced reasons. We aim to show how relevant the content-based and collaborative filtering algorithms are in the recommendation of materials based on the current query of a user.
1.4. Research Methodology
The approaches to be adopted in this project are:
1.4.1. Information gathering
This is where we source the internet for information, primarily using searchengines to gather information, and using a tool to search the DOM for links (The Document Object Model (DOM) is an application programming interface (API) for HTML and XML documents. It defines the logical structure of documents and the way a document is accessed and manipulated [13]).
When the list from different sources have been obtained, then they will be combined to form a single list without duplicates. This list will be sent to the collaborative filter before it’s sent to the content-based filter.
The list mentioned above is a database table with fields of ID, TITLE, URL, BODY, and SCORE. When the list gathered, then the system using JSoup, the system will get for all the URLs, the title of the page, the content of the pages (i.e. the texts inside the body of the page), and saves the URL also in the URL field. This table is used exclusively by the current user in order to avoid inconsistency in the recommendation.
1.4.2. Collaborative Filtering
Sometimes called social filtering, it is a filtering technique that uses the relationship between peer users with similar rating history, to generate recommendations using the neighborhood [19].
9 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
With this filtering process, the system makes recommendations based on the whether the URLs in the list fetched from the internet have been rated before, for every URL in the list that has been rated a recommendation (finding URLs/items similar to the current one) for extra URLs are made by the system, and they are added to the list of URLs.
1.4.3. Content-based filtering
The system generates recommendations from two sources: product features, and user-ratings. Content-based recommenders treat recommendation as a user-specific classification problem and learn a classifier for the user’s likes and dislikes based on product features [19].
With this process, I intend to rank documents in relation to their weight for a group of terms in a query. For each term, a document has a weight, and depending on the number of terms in a query, a documents has a combined weight. This combine-weight will be used to rank the documents in the temporary-corpus.
1.4.4. Hybridization of Both filtering methods
The combination of two different filtering approaches together to create a new system that is better than any individual filter. Using a hybrid will help to overcome the flaws of a single filter-system.
In this case, after the collaborative filter has finished recommending and adding its recommendation to the list, the list is sent to the content-based filter to undergo filtering again, thus creating a rank that brings the important documents to the top, and leaving the less-relevant ones at the bottom.
1.4.5. Connecting of the Android application to the Server through HTTP protocol
The project client is primarily an android program that queries the system to get some results proposed by the system. So the mobile app needs to communicate with the server in some way, and Android can communicate with remote web servers via a network with the Hypertext Transfer Protocol (HTTP).
To leverage the power of Java, I decided to use the Java-Servlet to run the request sent by the Android application. Different packages have been created to accommodate the various techniques to be used by the system, even the use of Java external libraries like Apache Mahout [4], JSoup, JDBC-MySQL connector etc.
10 | M S c . C o m p u t e r S c i e n c e A U S T 2 0 1 3 / 2 0 1 4
Figure 1 Structure of the recommendation process
1.5. Organization of document
The organization of this document is as follows: Chapter 2, Shows a detailed review of the techniques and theory used in this thesis. Chapter 3, Shows the processes of the implemented software for our case-study. Chapter 4, is the conclusion that shows the work done in the cause of the project, and the limitation of the application and proposed methods in the use-case.
IF YOU CAN'T FIND YOUR TOPIC, CLICK HERE TO HIRE A WRITER»