music recommender system final
DESCRIPTION
system and musicTRANSCRIPT
ABSTRACT:
With growing popularity of the web-based systems that are applied in many different areas, they
tend to deliver Customized information for their users by means of utilization of
recommendation methods. The recommendation Techniques: content-based, collaborative and by
means of genetic algorithm are used in existing systems.
They recommend user those items which are based on past history of the user but user’s intention
is not focused. This Paper proposes Genetic algorithm for recommendation by generating new
mutations by providing optimized solution every time and which is based on user’s preferences.
Keywords: Recommender system, Genetic algorithm, User Profiling, Content Based filtering
Introduction:
When users browse through a web site they are usually looking for items they find interesting.
Interest items can consist of a number of things.
For example, textual information can be considered as interest items or an index on a certain
topic could be the item a user is looking for.
Another example, applicable for a web vendor, is to consider purchased products as interest
items. Whatever the items consist of, a website can be seen as a collection of these interest items.
Recommender systems are widely implemented in e-commerce websites to assist customers in
finding the items they need.
A recommender system should also be able to provide users with useful information about the
item that interest them. The ability of promptly responding to the changes in user’s preference is
a valuable asset for such systems.
A Recommender system for music data it proposed which assists customers in searching music
data and provides result with items resulting in own user preference. This system first extracts
unique properties of music like pitch, chord, and tempo from the music file using a CLAM
annotator software tool. This extracted data is then stored on the database. Each stored property
is analyzed using content Based filtering and interactive genetic algorithm. After acquiring
records, the system recommends items Appropriate to user’s own favourite.
Literature Survey
What is Recommender system?
Recommender systems or recommendation systems (sometimes replacing "system" with a
synonym such as platform or engine) are a subclass of information filtering system that seek to
predict the 'rating' or 'preference' that a user would give to an item (such as music, books,
or movies) or social element (e.g. people or groups) they had not yet considered, using a model
built from the characteristics of an item (content-based approaches).
Recommendation Systems forms a specific type of information filtering technique that attempts
to present information items. (like movies, music, books, news, images, etc.)
A Recommender system for music data is proposed which assists customers in searching music
data and provides result with items resulting in own user preference. Recommender systems have
become extremely common in recent years.
Fig : Recommender System
What is Content based filtering?
A common approach when designing recommender systems is content-based filtering.
Content-based filtering methods are based on information about and characteristics of the items
that are going to be recommended. In other words, these algorithms try to recommend items that
are similar to those that a user liked in the past (or is examining in the present). In particular,
various candidate items are compared with items previously rated by the user and the best-
matching items are recommended.
>> key issue with content-based filtering is whether the system is able to learn user preferences
from user's actions regarding one content source and use them across other content types. When
the system is limited to recommending content of the same type as the user is already using, the
value from the recommendation system is significantly less than when other content types from
other services can be recommended.
Fig : Content based Approch
Technical Requirements
HARDWARE
1. 256 MB RAM.
2. 80 GB HDD.
3. Intel 1.66 GHz Processor Pentium 4
SOFTWARE
1. Visual Studio 2008(.Net framework)
2. MS SQL Server 2005
Technology Used
.NET Framework
The .NET Framework is an environment for building, deploying, and running XML Web
services and other applications. It is the infrastructure for the overall .NET platform. The .NET
Framework consists of three main parts: the common language runtime, the class libraries, and
ASP.NET.
The common language runtime and class libraries, including Windows Forms, ADO.NET, and
ASP.NET, combine to provide services and solutions that can be easily integrated within and
across a variety of systems. The .NET Framework provides a fully managed, protected, and
feature-rich application execution environment, simplified development and deployment, and
seamless integration with a wide variety of languages.
ASP.NET
ASP.NET is more than the next version of Active Server Pages (ASP); it is a unified Web
development platform that provides the services necessary for developers to build enterprise-
class Web applications. While ASP.NET is largely syntax-compatible with ASP, it also provides
a new programming model and infrastructure that enables a powerful new class of applications.
You can migrate your existing ASP applications by incrementally adding ASP.NET functionality
to them.
ASP.NET is a compiled .NET Framework -based environment. You can author applications in
any .NET Framework compatible language, including Visual Basic and Visual C#. Additionally,
the entire .NET Framework platform is available to any ASP.NET application. Developers can
easily access the benefits of the .NET Framework, which include a fully managed, protected, and
feature-rich application execution environment, simplified development and deployment, and
seamless integration with a wide variety of languages.
Microsoft SQL Server
Business today demands a different kind of data management solution.
Performance scalability, and reliability are essential, but businesses now expect more from their
key IT investment.
SQL Server 2005 exceeds dependability requirements and provides innovative
capabilities that increase employee effectiveness, integrate heterogeneous IT ecosystems,and
maximize capital and operating budgets. SQL Server 2005 provides the enterprise data
management platform your organization needs to adapt quickly in a fast changing environment.
Benchmarked for scalability, speed, and performance, SQL Server 2005 is a fully
enterprise-class database product, providing core support for Extensible Markup Language
(XML) and Internet queries.
Easy-to-use Business Intelligence(BI) Tools
Through rich data analysis and data mining capabilities that integrate with familiar
applications such as Microsoft Office, SQL Server 2005 enables you to provide all of your
employees with critical, timely business information tailored to their specific information needs.
Every copy of SQL Server 2005 ships with a suite of BI services.
Self-Tuning and Management Capabilities
Revolutionary self-tuning and dynamic self-configuring features optimize database
performance, while management tools automate standard activities. Graphical tools and
performance, wizards simplify setup, database design, and performance monitoring, allowing
database administrators to focus on meeting strategic business needs.
Data Management Application and Services
Unlike its competitors, SQL Server 2005 provides a powerful and comprehensive data
management platform. Every software license includes extensive management and development
tools, a powerful extraction, transformation, and loading (ETL) tool, business intelligence and
analysis services, and analysis service, and such as Notification Service. The result is the best
overall business value available.
Enterprise Edition includes the complete set of SQL Server data management and analysis
features are and is uniquely characterized by several features that makes it the most scalable and
available edition of SQL Server 2005 .It scales to the performance levels required to support the
largest Web sites, Enterprise Online Transaction Processing (OLTP) system and Data
Warehousing systems. Its support for failover clustering also makes it ideal for any mission
critical line-of-business application. Additionally, this edition includes several advanced analysis
features that are not included in SQL Server 2005 Standard Edition.
Requirement Analysis
FEASIBILITY STUDY
The very first phase in any system developing life cycle is preliminary investigation. The
feasibility study is a major part of this phase. A measure of how beneficial or practical the
development of any information system would be to the organization is the feasibility study.
The feasibility of the development software can be studied in terms of the following
aspects:
1. Operational Feasibility.
2. Technical Feasibility.
3. Economical feasibility.
4. Motivational Feasibility.
Legal Feasibility
OPERATIONAL FEASIBILITY
The site will reduce the time consumed to maintain manual records and is not tiresome and
cumbersome to maintain the records. Hence operational feasibility is assured.
TECHNICAL FEASIBILITY
Minimum hardware requirements:
At least 166 MHz Pentium Processor or Intel compatible processor.
At least 256 MB RAM.
14.4 kbps or higher modem.
A video graphics card.
A mouse or other pointing device.
At least 1 Gb free hard disk space.
Microsoft Internet Explorer 4.0 or higher.
ECONOMICAL FEASIBILTY
Once the hardware and software requirements get fulfilled, there is no need for the user of
our system to spend for any additional overhead.
For the user, the web site will be economically feasible in the following aspects:
The web site will reduce a lot of paper work. Hence the cost will be reduced.
Our web site will reduce the time that is wasted in manual processes.
The storage and handling problems of the registers will be solved.
MOTIVATIONAL FEASIBILITY
The users of our system need no additional training. Visitors do not require entering
password and are shown the appropriate information.
Analysis Phase
Design Phase
Coding Phase
Testing Phase
LEGAL FEASIBILITY
The licensed copy of the required software is quite cheap and easy to get. So from
legal point of view the proposed system is legally feasible. Software Development Model
Used:
Software process model deals with the model which we are going to use for the development
of the project. There are many software process models available but while choosing it we
should choose it according to the project size that is whether it is industry scale project or big
scale project or medium scale project.
Accordingly the model which we choose should be suitable for the project as the software
process model changes the cost of the project also changes because the steps in each
software process model varies.
This software is build using the waterfall mode. This model suggests work cascading from
step to step like a series of waterfalls. It consists of the following steps in the following manner
Waterfall model:
Analysis Phase:
To attack a problem by breaking it into sub-problems. The objective of analysis is to determine exactly what must be done to solve the problem. Typically, the system’s logical elements (its boundaries, processes, and data) are defined during analysis.
Design Phase:
The objective of design is to determine how the problem will be solved. During design the analyst’s focus shifts from the logical to the physical. Data elements are grouped to form physical data structures, screens, reports, files and databases.
Coding Phase:
The system is created during this phase. Programs are coded, debugged, documented, and tested. New hardware is selected and ordered. Procedures are written and tested. End-user documentation is prepared. Databases and files are initialized. Users are trained.
Testing Phase:
Once the system is developed, it is tested to ensure that it does what it was designed to do. After the system passes its final test and any remaining problems are corrected, the system is implemented and released to the user.
GENETIC ALGORITHM
Introduction of GA:
In the computer science field of artificial intelligence, a genetic algorithm (GA) is
a search heuristic that mimics the process of natural evolution. This heuristic is routinely used to
generate useful solutions to optimization and search problems. Genetic algorithms belong to the
larger class of evolutionary algorithms (EA), which generate solutions to optimization problems
using techniques inspired by natural evolution, such as inheritance, mutation, selection,
and crossover.
Genetic algorithm procedure:
1. Choose the initial population of individuals
2. valuate the fitness of each individual in that population
3. Repeat on this generation until termination (time limit, sufficient fitness achieved, etc.):
4. Select the best-fit individuals for reproduction
5. Breed new individuals through crossover and mutation operations to give birth to offspring
6. Evaluate the individual fitness of new individuals
7. Replace least-fit population with new individuals
The evolutionary process of a GA is a highly simplified and stylized simulation of the biological
version. It starts from a population of individuals randomly generated according to some
probability distribution, usually uniform and updates this population in steps called generations.
Each generation, multiple individuals are randomly selected from the current population based
upon some application of fitness, bred using crossover, and modified through mutation to form a
new population.
Crossover – exchange of genetic material (substrings) denoting rules, structural
components, features of a machine learning, search, or optimization problem.
Selection – the application of the fitness criterion to choose which individuals from a
population will go on to reproduce.
Replication – the propagation of individuals from one generation to the next
Mutation – the modification of chromosomes.
Genetic algorithm in recommender system:
A Recommender system for music data is proposed which assists customers in searching audio
data and provides result with items resulting in own user preference.
This system first extracts unique properties of music like pitch, chord, and tempo from the music
file using a CLAM annotator software tool.
This extracted data is then stored on the database. Each stored property is analyzed using content
based filtering and interactive genetic algorithm. After acquiring records, the system
recommends items appropriate to user’s own favourite.
The genetic algorithm is applied and user is provided with a general list from which users can
select the audio tracks, listen to it and give rating, recommendation list and user favourite list
where that user has given highest rating to the audio tracks
PHASES OF GENETIC ALGORITHM IN RECOMMENDER SYSTEM:
Fig: The process of Interactive GA phase
The following are phases of genetic algorithm are as follows:
1. Selection phase – Music features are extracted using CLAM software. The items
which are rated above threshold value are selected rest other items are ignored.
2. Crossover phase – The BLX – alpha crossover algorithm is used since extracted
features are real numbers. Hence crossover is performed with this algorithm resulting in
new generation
BLX-a:
1. Select two parents X(t) and Y(t) from a parent pool2. Create two offspring X(t+1) and Y(t+1) as follows:3. for i = 1 to n do4. di=|xi(t)-yi(t)|5. Choose a uniform random real number u from6. interval <min(xi(t),yi(t))-adi,7. max(xi(t),yi(t))+adi>8. xi(t+1)=u9. Choose a uniform random real number u from10. interval11. <min(xi(t),yi(t))-adi, max(xi(t),yi(t))+adi>12. yi(t+1)=u13. end do14. where: a – positive real parameter
3. Matching phase- This phase finds the similar items stored in database to the newly
Generated music features. Once similarity is found those items are recommended to the
User.
This phase uses Euclidean distance between two offspring and distance between
Each feature of the two offspring is calculated, resulting value is used to match the
records Stored in the database those records are compared with the resulting value which
the user has given highest rating to the tracks.
Flow of the system
Fig: The Flow of the Recommender System.
The Above Figure explains the flow of the system which can be designed and implemented. The
idea is to provide each user with user profile for audio tracks. Each of the records from the data
base is displayed on user page and called as general list and indexing can be provided to make it
more users friendly. The CLAM software then extracts the features from each of the files which
the user has provided rating, the features extracted can be tempo, pitch, etc. These extracted
features are stored on to the database. The genetic algorithm is used further to provide optimized
solutions for recommending items and recommended list will be always provide newer solutions
one which are closer to user’s preference. The genetic algorithm can be made to run infinite
times to generate the mutations, hence every time providing new solutions that is, new
recommendation every time.
System Architecture
Fig: System Architecture.
WORKING:
Apply genetic algorithm to music recommendation system.
The system can detect and recommend appropriate songs which are suitable for user’s
musical preference.
And, the system requires pre-processing which is feature (i,e. tempo, chord, pitch, etc.)
extraction from music. It based on shuffle operation. (i.e, play song randomly)
At first time, the system recommends songs randomly and user cans judge’s song’s
preference by controlling their devices or program. Just click the next song button.
PROJECT PLAN
5.1 IMPLEMENTATION PLAN
The following table gives the project plan for the Phase 1 & 2 of our project:
Phase 1:
Activity Description Effort in person weeks
Deliverable
Phase 1
P1-01 Requirement Analysis 2 weeks Requirement Gathering
P1-02 Existing System Study & Literature
3 weeks Existing System Study & Literature
P1-03 Technology Selection 2 weeks >NET
P1-04 Modular Specifications 2 weeks Module Description
P1-05 Design & Modelling 4 weeks Analysis Report
Total 13 weeks
Phase 2:
Activity Description Effort in person weeks
Deliverable
Phase 2
P2-01 Detailed Design 2 weeks LLD / DLD Document
P2-02 UI and user interactions design Included in above
UI document
P2-03 Coding & Implementation 12 weeks Code Release
P2-04 Testing & Bug fixing 2 weeks Test Report
P2-05 Performance Evaluation 4 weeks Analysis Report
P2-06 Release Included in above
System Release
Total 20 weeks Deployment efforts are extra
Gantt chart
Gantt Charts:
The Gantt Chart Shows planned and actual progress for a number of tasks displayed against a
horizontal time scale.
It is effective and easy-to-read method of indicating the actual current status for each of set of
tasks compared to planned progress for each activity of the set.
Gantt Charts provide a clear picture of the current state of the project.
CONCLUSION
We proposed real-time genetic recommendation method in order to overcome the existing
recommendation techniques that are not reflecting in the current user`s intend. With the genetic
algorithm newer solutions can be generated providing optimal solution each time when the
algorithm is made to run, thus providing mutations.
This method can be compared with the existing ones which lack the quality of providing accurate
results.
REFERENCES
[1] Hyun – Tae Kim, Eungyeong Kim, “Recommender system based on genetic algorithm for
music data”, 2nd International Conference on Computer Engineering and
Technology, 2010.
[2] J. Ben Schafer, Joseph Konstan, John Riedl,”Recommender Systems in ECommerce”,
2007.
[3] D.E Goldberg and J. H Holland, “Genetic Algorithms and Machine Learning”, 2006.
[4] Paul resnick and Hal .R. varian,”Recommender system”,Vol. 40, No. 3
COMMUNICATIONS OF THE ACM, March 1997.
[5] Tom V. Mathew, “Genetic algorithm”, http://www.civil.iitb.ac.in/tvm/2701_dga/2701- ga-
notes/gadoc/gadoc.html
[6] Xiaoyuan Zhu, Yongquan Yu, Xueyan Guo,”Genetic Algorithm based on Evolution
Strategy and the Application in Data Mining”, pp- 849-852, First International Workshop on
Education Technology and Computer Science, 2009.
[7] Janusz Sobecki,”Implementations of Web-based Recommender Systems Using Hybrid
Methods”, International Journal of Computer Science & Applications ,2006 Techno mathematics
Research Foundation, Vol. 3 Issue 3, pp 52 – 64.