You are on page 1of 80

on

DCCR Deep Collaborative Conjunctive


Recommender for Rating Prediction
ABSTRACT
Now a days, collaborative filtering combined with various
kinds of deep learning models is appealing to recommender
systems, which have shown a strong positive effect in an accuracy
improvement. Furthermore, most of them ignore the interaction
effect between users and items when building the recommendation
model. To address these issues, we propose DCCR, a deep
collaborative conjunctive recommender, for rating prediction tasks
that are solely based on the raw ratings. Here we try to collect the
opinion on products based on rating prediction method by making
the use of social users’ sentiment to infer ratings. First, we extract
product features from user reviews. Then, we find out the
sentiment words, which are used to describe the product features.
Here the admin will add a set of pre-defined words which comes
under three categories and based on the matching of words from
the database, the review was classified in one of the three
categories. To further improve the performance of DCCR, a K-NN
function is proposed, which can be specified with input vectors.
INTRODUCTION
1.INTRODUCTION

1.1 Project purpose


Recommender systems [1] are essential for the success of many
online applications. Considering online shopping web- sites as an example,
numerous goods are provided by these shopping sites, and users browse all
the information about all the goods in a short time. In this context,
recommender systems, as one kind of effective information filtering tool,
not only can help users to obtain more valuable advice by filtering the
redundant information but also gradually increase the sales volume of the
websites. As a result, recommender systems have already been integrated in
some large-scale web sites (e.g., Amazon), which continually service
thousands of people.

To date, different kinds of recommendation tasks have been


extensively investigated in academia and industry, including rating
prediction tasks [11], [13], [25], Top-N tasks [30], [32], [35], click-through
rate prediction [12], [27], [29], etc. These tasks can help people to obtain
useful information from a certain amount of varied data, which conform to
the actual use scenario in industrial applications. In the past few decades,
teams of researchers have spent a considerable amount of effort on
recommender design and have achieved great results. Collaborative filtering
(CF) [1] is one of the great inventions in recommendation research that has
been successfully used for industry applications. In contrast to traditional
CF recommenders that depend on calculating the similarity between
users/items with similar preferences, matrix factorization (MF) is a popular
CF recommender for rating prediction tasks [11]. MF decomposes the

1
original rating matrix R into two low-rank matrices, which represent the
latent feature space of users and items.

Particular experimental settings and processes are defined to obtain


reasonable results. We test the results with the root mean squared error and
the mean absolute error. To obtain the optimal results, some experiments are
conducted with varying parameters settings. The experimental results are
illustrated to understand the impacts of many factors. We also compare the
accuracy of our proposed method with other related and recent methods.

1.2 Project Scope

The main goal of this proposed application is to address the primitive


issues, and try to propose a deep collaborative conjunctive recommender
(DCCR). We focus on the rating prediction task of a recommender and
format it as a regression problem. By taking advantage of deep learning and
traditional CF methods, we try to extract latent features from users' explicit
ratings to items without any additional information. We first present some
related studies of deep learning methods and traditional methods and
analyze the process of rating prediction. We then describe the feature
representation with users and items and explain the model that we propose.
Some techniques that we apply and the working mechanism are detailed for
better features extraction with consideration of the interaction between the
users and items.

 1.3 Project Overview

  Collaborative filtering (CF) [1] is one of the great inventions in


recommendation research that has been successfully used for industry

2
applications. In contrast to traditional CF recommenders that depend on
calculating the similarity between users/items with similar preferences,
matrix factorization (MF) is a popular CF recommender for rating prediction
tasks [11]. MF decomposes the original rating matrix R into two low-rank
matrices, which represent the latent feature space of users and items.

1.4 Main Features

Due to their effectiveness, variants of the MF method have been


proposed [2], [9]. Recently, with the success of deep neural networks, the
combination with deep learning methods is a new breakthrough for
recommenders. In this context, the CF recommender combined with deep
learning methods has attracted much attention of academia and industry.
Deep learning methods have been successful applied and have achieved
satisfactory results in many fields, such as image processes, speech
recognition and natural language processes [3], [18]. Research results have
demonstrated that neural networks have the powerful ability to learn the
latent features from heterogeneous data and to gain reasonable results [4],
[20]. Among them, AutoEncoders (AE) and Multi-Layer Perceptron (MLP)
have been widely used for recommendation recently. However, they have
their own advantages and disadvantages when designing recommendation
model. For AE, it is a common and effective method to reconstruct its input
data in the output layer.

3
CHAPTER-2
LITERATURE SURVEY
LITERATURE SURVEY

2.1 INTRODUCTION
Literature survey is the most important step in software development process.
Before developing the tool, it is necessary to determine the time factor, economy
and company strength. Once these things are satisfied, then next steps are to
determine which operating system and language used for developing the tool.
Once the programmers start building the tool, the programmers need lot of
external support. This support obtained from senior programmers, from book or
from websites. Before building the system the above consideration r taken into
account for developing the proposed system.

2.2 RELATED WORK

1) Collaborative Filtering Recommender Systems

AUTHORS: Michael D. Ekstrand, John T. Riedl and Joseph A. Konstan


Recommender systems are an important part of the information and e-commerce
ecosystem. They represent a powerful method for enabling users to filter through large
information and product spaces. Nearly two decades of research on collaborative filtering
have led to a varied set of algorithms and a rich collection of tools for evaluating their
performance. Research in the field is moving in the direction of a richer understanding of
how recommender technology may be embedded in specific domains. The differing
personalities exhibited by different recommender algorithms show that recommendation
is not a one-sizefits-all problem. Specific tasks, information needs, and item domains
represent unique problems for recommenders, and design and evaluation of
recommenders needs to be done based on the user tasks to be supported. Effective
deployments must begin with careful analysis of prospective users and their goals. Based
on this analysis, system designers have a host of options for the choice of algorithm and
for its embedding in the surrounding user experience. This paper discusses a wide variety
of the choices available and their implications, aiming to provide both practicioners and
researchers with an introduction to the important issues underlying recommenders and
current best practices for addressing these issues.

2) Social Popularity based SVD++ Recommender System

AUTHORS: Rajeev Kumar and Shyam Sunder Rastogi

Recommender systems have shown a lot of awareness in the past decade. Due to their great
business value, recommender systems have also been successfully deployed in business, such as
product recommendation at flipkart, HomeShop18, and music recommendation at Last.fm,
Pandora, and movie recommendation at Flixstreet, MovieLens, and Jinni. In the past few years,
the incredible growth of Web 2.0 web sites and applications constitute new challenges for
Traditional recommender systems. Traditional recommender systems always ignore social
interaction among users. But in our real life, when we are asking our friends or looking opinions,
reviews for recommendations of Mobile or heart touching music, movies, electronic gadgets,
restaurant, book, games, software Apps, we are actually using social information for
recommendations. In this paper social popularity factor are incorporated in SVD++ factorization
method as implicit feedback to improve accuracy and scalability of recommendations.

3) Understanding Dropout

AUTHORS: Pierre Baldi and Peter Sadowski

Dropout is a relatively new algorithm for training neural networks which relies
on stochastically "dropping out" neurons during training in order to avoid the co-
adaptation of feature detectors. We introduce a general formalism for studying
dropout on either units or connections, with arbitrary probability values, and use it to
analyze the averaging and regularizing properties of dropout in both linear and non-
linear networks. For deep neural networks, the averaging properties of dropout are
characterized by three recursive equations, including the approximation of
expectations by normalized weighted geometric means. We provide estimates and
bounds for these approximations and corroborate the results with simulations.
Among other results, we also show how dropout performs stochastic gradient
descent on a regularized error function

4) ImageNet: A Large-Scale Hierarchical Image Database


AUTHORS: Jia Deng and Wei Dong, R
The explosion of image data on the Internet has the potential to foster more
sophisticated and robust models and algorithms to index, retrieve, organize and interact with
images and multimedia data. But exactly how such data can be harnessed and organized
remains a critical problem. We introduce here a new database called “ImageNet”, a largescale
ontology of images built upon the backbone of the WordNet structure. ImageNet aims to
populate the majority of the 80,000 synsets of WordNet with an average of 500- 1000 clean and
full resolution images. This will result in tens of millions of annotated images organized by the
semantic hierarchy of WordNet. This paper offers a detailed analysis of ImageNet in its current
state: 12 subtrees with 5247 synsets and 3.2 million images in total. We show that ImageNet is
much larger in scale and diversity and much more accurate than the current image datasets.
Constructing such a large-scale database is a challenging task. We describe the data collection
scheme with Amazon Mechanical Turk. Lastly, we illustrate the usefulness of ImageNet through
three simple applications in object recognition, image classification and automatic object
clustering. We hope that the scale, accuracy, diversity and hierarchical structure of ImageNet
can offer unparalleled opportunities to researchers in the computer vision community and
beyond.

5Dropout: A Simple Way to Prevent Neural Networks from Over fitting

AUTHORS: Nitish Srivastava and Geoffrey Hinton


Deep neural nets with a large number of parameters are very powerful machine learning
systems. However, overfitting is a serious problem in such networks. Large networks are also
slow to use, making it difficult to deal with overfitting by combining the predictions of many
different large neural nets at test time. Dropout is a technique for addressing this problem. The
key idea is to randomly drop units (along with their connections) from the neural network
during training. This prevents units from co-adapting too much. During training, dropout
samples from an exponential number of different “thinned” networks. At test time, it is easy to
approximate the effect of averaging the predictions of all these thinned networks by simply
using a single unthinned network that has smaller weights. This significantly reduces overfitting
and gives major improvements over other regularization methods. We show that dropout
improves the performance of neural networks on supervised learning tasks in vision, speech
recognition, document classification and computational biology, obtaining state-of-the-art
results on many benchmark data sets.
SYSTEM ANALYSIS
3. SYSTEM ANALYSIS
3.1 Feasibility Study
The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates. During
system analysis the feasibility study of the proposed system is to be carried out. This
is to ensure that the proposed system is not a burden to the company. For feasibility
analysis, some understanding of the major requirements for the system is essential.

Three key considerations involved in the feasibility analysis are

 ECONOMICAL FEASIBILITY
 TECHNICAL FEASIBILITY
 SOCIAL FEASIBILITY
3.1.1 Economical Feasibility

This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into the
research and development of the system is limited. The expenditures must be justified.
Thus the developed system as well within the budget and this was achieved because most
of the technologies used are freely available. Only the customized products had to be
purchased.

3.1.2 Technical Feasibility


This study is carried out to check the technical feasibility, that is, the
technical requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands on the
available technical resources. This will lead to high demands being placed on the client.
The developed system must have a modest requirement, as only minimal or null changes
are required for implementing this system.

3.1.3 Social Feasibility


The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user must
not feel threatened by the system, instead must accept it as a necessity. The level of
acceptance by the users solely depends on the methods that are employed to educate the
user about the system and to make him familiar with it. His level of confidence must be
raised so that he is also able to make some constructive criticism, which is welcomed, as
he is the final user of the system.

3.2 Software Description:


3.2.1 Java Technology
Java technology is both a programming language and a platform.

3.2.2 The Java Programming Language


The Java programming language is a high-level language that can be
characterized by all of the following buzzwords:
 Simple
 Architecture neutral
 Object oriented
 Portable
 Distributed
 High performance
 Interpreted
 Multithreaded
 Robust
 Dynamic
 Secure

With most programming languages, you either compile or interpret a program so


that you can run it on your computer. The Java programming language is unusual in that
a program is both compiled and interpreted. With the compiler, first you translate a
program into an intermediate language called Java byte codes —the platform-
independent codes interpreted by the interpreter on the Java platform. The interpreter
parses and runs each Java byte code instruction on the computer. Compilation happens
just once; interpretation occurs each time the program is executed. The following figure
illustrates how this works.

You can think of Java byte codes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether it’s a development tool or a
Web browser that can run applets, is an implementation of the Java VM. Java byte codes
help make “write once, run anywhere” possible. You can compile your program into byte
codes on any platform that has a Java compiler. The byte codes can then be run on any
implementation of the Java VM. That means that as long as a computer has a Java VM,
the same program written in the Java programming language can run on Windows 2000,
a Solaris workstation, or on an iMac.

The Java Platform


A platform is the hardware or software environment in which a program
runs.We’ve already mentioned some of the most popular platforms like Windows 2000,
Linux, Solaris, and MacOS. Most platforms can be described as a combination of the
operating system and hardware. The Java platform differs from most other platforms in
that it’s a software-only platform that runs on top of other hardware-based platforms.

The Java platform has two components:


 The Java Virtual Machine (Java VM)
 The Java Application Programming Interface (Java API)
You’ve already been introduced to the Java VM. It’s the base for the Java
platform and is ported onto various hardware-based platforms.
The Java API is a large collection of ready-made software components that
provide many useful capabilities, such as graphical user interface (GUI) widgets. The
Java API is grouped into libraries of related classes and interfaces; these libraries are
known as packages. The next section, What Can Java Technology Do? Highlights what
functionality some of the packages in the Java API provide.
The following figure depicts a program that’s running on the Java platform. As
the figure shows, the Java API and the virtual machine insulate the program from the
hardware.

Native code is code that after you compile it, the compiled code runs on a specific
hardware platform. As a platform-independent environment, the Java platform can be a
bit slower than native code. However, smart compilers, well-tuned interpreters, and just-
in-time byte code compilers can bring performance close to that of native code without
threatening portability.

JDBC:
In an effort to set an independent database standard API for Java; Sun
Microsystems developed Java Database Connectivity, or JDBC. JDBC offers a generic
SQL database access mechanism that provides a consistent interface to a variety of
RDBMSs. This consistent interface is achieved through the use of “plug-in” database
connectivity modules, or drivers. If a database vendor wishes to have JDBC support, he
or she must provide the driver for each platform that the database and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBC’s framework on ODBC.
As you discovered earlier in this chapter, ODBC has widespread support on a variety of
platforms. Basing JDBC on ODBC will allow vendors to bring JDBC drivers to market
much faster than developing a completely new connectivity solution.
JDBC was announced in March of 1996. It was released for a 90 day public
review that ended June 8, 1996. Because of user input, the final JDBC v1.0 specification
was released soon after.
The remainder of this section will cover enough information about JDBC for you to
know what it is about and how to use it effectively. This is by no means a complete
overview of JDBC. That would fill an entire book.
JDBC Goals:
Few software packages are designed without goals in mind. JDBC is one that,
because of its many goals, drove the development of the API. These goals, in conjunction
with early reviewer feedback, have finalized the JDBC class library into a solid
framework for building database applications in Java.
The goals that were set for JDBC are important. They will give you some insight as
to why certain classes and functionalities behave the way they do. The eight design goals
for JDBC are as follows:
1. SQL Level API
The designers felt that their main goal was to define a SQL interface for Java. Although
not the lowest database interface level possible, it is at a low enough level for higher-
level tools and APIs to be created. Conversely, it is at a high enough level for application
programmers to use it confidently. Attaining this goal allows for future tool vendors to
“generate” JDBC code and to hide many of JDBC’s complexities from the end user.

2. SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an
effort to support a wide variety of vendors, JDBC will allow any query statement to be
passed through it to the underlying database driver. This allows the connectivity module
to handle non-standard functionality in a manner that is suitable for its users.

1 JDBC must be implemental on top of common database interfaces


The JDBC SQL API must “sit” on top of other common SQL level APIs. This goal
allows JDBC to use existing ODBC level drivers by the use of a software interface. This
interface would translate JDBC calls to ODBC and vice versa.
2 Provide a Java interface that is consistent with the rest of the Java
system
Because of Java’s acceptance in the user community thus far, the designers feel
that they should not stray from the current design of the core Java system.
3 Keep it simple

This goal probably appears in all software design goal listings. JDBC is no
exception. Sun felt that the design of JDBC should be very simple, allowing for only one
method of completing a task per mechanism. Allowing duplicate functionality only
serves to confuse the users of the API.

JAVASCRIPT:
Java Script is a client side programming language called as Livewire, which can work
back-end server process. JavaScript allows programmers to add interactivity to web
pages without using server-based applications, such as Common Gateway Interface(CGI)
.Programs JavaScript can be used to manage user input as well as to show text ,play
,sounds, display images, or plug in response to “event” such as a mouse click or entry to
a web page JavaScript is a Scripting Languages which is used to allow more complex
programs, created by programming languages such as C and C++ to work together.
JavaScript is one of the more popular languages, and is uniquely suited for this purpose.
JavaScript is an object-based, not object oriented as it does not allow for this purpose.
JavaScript is an event driven, which can tie to any of the events such as clicking a button,
clicking or moving the mouse overhyperlinks,entering the text into a text field or so
forth.

3.3 EXISTING SYSTEM:


In the existing system, there was no method like sentiment-based rating
prediction method (RPS) or Collaborative sentiment-based rating prediction method to
improve prediction accuracy in recommender systems .In the existing system the analysis
can be conducted on three different levels: review-level, sentence-level, and phrase-level.
In the existing system there is no option to display the reviews in three categories
separately like negative, positive and neutral.In the existing system there is no exact
proof for mapping stars for the appropriate item or product.Also in the existing system
there is no comparative report for K-nearest Neighborhood between set of same category
products.
DISADVANTAGES OF EXISTING SYSTEM:

1. The existing work mainly focuses on classifying users into binary Review system
(i.e. positive or negative), and they do not go further in mining user’s sentiment.
2. In the existing system, we can’t able to separate the reviews of neural or mixed
feedback accurately
3. In the existing system, mixed feedbacks may some time leads to wrong
calculation of percentages for the specific product.
4. In the existing system we cannot able to see the recommendation percentage
among set of same category products based on any classification algorithms.

3.4 PROPOSED SYSTEM

We propose DCCR, a deep collaborative conjunctive recommender, for rating


prediction tasks that are solely based on the raw ratings. Here we try to collect the
opinion on products based on rating prediction method by making the use of social
users’ sentiment to infer ratings. First, we extract product features from user reviews.
Then, we find out the sentiment words, which are used to describe the product features.
Here the admin will add a set of pre-defined words which comes under three categories
and based on the matching of words from the database, the review was classified in one
of the three categories. In this proposed work there is a method to get the comparative
report for K-nearest Neighborhood between set of same category products.

ADVANTAGES OF PROPOSED SYSTEM


1. In our paper, we not only mine social user’s opinion, but also explore
interpersonal opinion influence like recommendation of product based on user
opinion
2. The purpose of our proposed approach is to find effective clues from reviews and
predict social users’ ratings.

3. In the proposed system we can able to mine or extract the reviews that are pure
positive ,pure negative and partially rated reviews accurately.

4. In this we have a method to get the comparative report for K-nearest


Neighborhood between set of same category products.

5. This is purely used for recommendation to others.

3.5 System Modules

Implementation is the stage where the theoretical design is converted into


programmatically manner. In this stage we will divide the application into a number of
modules and then coded for deployment. The front end of the application takes
JSP,HTML and Java Beans and as a Back-End Data base we took My SQL data base.
The proposed application is divided into mainly 2 modules and they are many sub-
modules present in these main modules. Now let us look about them in detail as follows:

1) Admin Module
2) User Module

MODULES DESCRIPTION:

3.5.1 Admin Module


In this module, the Admin has to login by using valid user name and password. After
login successful he can do some operations such as View All Users and Authorise,Add posts,
View All posts with ratings, View All Movie Recommended Posts, View All service reviewed
posts,View All Search History, View Collaborative Filtering based on Recommendation,Find
top-K hit rate in the chart.

3.5.2 User Module:

In this module, there are n numbers of users are present. User should register before
doing some operations. After registration successful he has to login by using authorized user
name and password. Login successful he will do some operations like View My Profile, Search
friend and accept friend request,Search for Post,My Accounts, View Recommendations,View All
users interest on the Individual Post,View top K hit rate.
SYSTEM SPECIFICATION
4.SYSTEM SPECIFICATION
4.1 Software Requirement Specification:
A Software Requirements Specification (SRS) is a complete description of the
behavior of the system to be developed. It includes a set of use cases that describe all the
interactions the users will have with the software. Use cases are also known as functional
requirements. In addition to use cases, the SRS also contains non-functional (or
supplementary) requirements. Non-functional requirements are requirements which
impose constraints on the design or implementation (such as performance engineering
requirements, quality standards, or design constraints).

4.2 Functional Requirements:

In software engineering, a functional requirement defines a function of a software


system or its component. A function is described as a set of inputs, the behavior, and
outputs. Functional requirements may be calculations, technical details, data
manipulation and processing and other specific functionality that define what a system is
supposed to accomplish. Behavioral requirements describing all the cases where the
system uses the functional requirements are captured in use cases. Functional
requirements are supported by non-functional requirements (also known as quality
requirements), which impose constraints on the design or implementation (such as
performance requirements, security, or reliability). How a system implements functional
requirements is detailed in the system design. In some cases a requirements analyst
generates use cases after gathering and validating a set of functional requirements. Each
use case illustrates behavioral scenarios through one or more functional requirements.
Often, though, an analyst will begin by eliciting a set of use cases, from which the
analyst can derive the functional requirements that must be implemented to allow a user
to perform each use case.

4.3 Non Functional Requirements:

14
In systems engineering and requirements engineering, a non-functional
requirement is a requirement that specifies criteria that can be used to judge the operation
of a system, rather than specific behaviors. This should be contrasted with functional
requirements that define specific behavior or functions In general, functional
requirements define what a system is supposed to do whereas non-functional
requirements define how a system is supposed to be.

Non-functional requirements are often called qualities of a system. Other terms


for non-functional requirements are "constraints", "quality attributes", "quality goals"
and "quality of service requirements," and "non-behavioral requirements."[1] Qualities,
that is, non-functional requirements, can be divided into two main categories:

1. Execution qualities, such as security and usability, which are observable at


run time.

2. Evolution qualities, such as testability, maintainability, extensibility and


scalability,which are embodied in the static structure of the software system.

Introduction:

To be used efficiently, all computer software needs certain hardware components


or other software resources to be present on a computer. These pre-requisites are known
as (computer) system requirements and are often used as a guideline as opposed to an
absolute rule. Most software defines two sets of system requirements: minimum and
recommended. With increasing demand for higher processing power and resources in
newer versions of software, system requirements tend to increase over time.

Hardware Requirements:

The most common set of requirements defined by any operating system or


software application is the physical computer resources, also known as hardware. The
following sub-sections discuss the various aspects of hardware requirements.

 System : Pentium IV 2.4 GHz.

15
 Hard Disk : 40 GB.
 Floppy Drive : 1.44 Mb.
 Monitor : 15 VGA Colour.
 Mouse : Logitech.
 Ram : 512 Mb.
Software Requirements:

Software Requirements deal with defining software resource requirements and pre-
requisites that need to be installed on a computer to provide optimal functioning of an
application. These requirements or pre-requisites are generally not included in the
software installation package and need to be installed separately before the software is
installed.

 Operating system : Windows 7.


 Coding Language : JAVA/J2EE
 Tool : Netbeans 7.2.1
 Database : MYSQL
 Front End : HTML,JSP and CSS

16
SYSTEM DESIGN
5. SYSTEM DESIGN
5.1 System Architecture

Admin
List Users and Authorize

View all Friend request and response

Add Posts

View all Posts with ratings

View All Recommended Posts

View
iew All
All Service
Service Usage
Usage Reviewed
Reviewed Posts

View all user search History

View Collaborative Filtering based


Recommendation

Find Top K Hit Rate in chart


Store and retrievals

Remote User
WEB Database

1. Register and Login


2.View your profile,
3.Req for friend, Find Friends, View
all your friends
4.Search Post
5.My Search History
6.View Recommends
7.View User Interests in the post
8.View Top K Hit Rate

17
5.2 Uml Diagrams
UML stands for Unified Modeling Language. UML is a standardized general-
purpose modeling language in the field of object-oriented software engineering. The
standard is managed, and was created by, the Object Management Group.
The goal is for UML to become a common language for creating models of object
oriented computer software. In its current form UML is comprised of two major
components: a Meta-model and a notation. In the future, some form of method or process
may also be added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying,
Visualization, Constructing and documenting the artifacts of software system, as well as
for business modeling and other non-software systems.
The UML represents a collection of best engineering practices that have proven
successful in the modeling of large and complex systems.
The UML is a very important part of developing objects oriented software and
the software development process. The UML uses mostly graphical notations to express
the design of software projects.

GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so that they
can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core concepts.
3. Be independent of particular programming languages and development process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations, frameworks,
patterns and components.
7. Integrate best practices.

18
5.2.1 USE CASE DIAGRAM

A use case diagram in the Unified Modeling Language (UML) is a type of


behavioral diagram defined by and created from a Use-case analysis. Its purpose is to
present a graphical overview of the functionality provided by a system in terms of actors,
their goals (represented as use cases), and any dependencies between those use cases.
The main purpose of a use case diagram is to show what system functions are performed
for which actor. Roles of the actors in the system can be depicted.

5.2.2 CLASS DIAGRAM

19
In software engineering, a class diagram in the Unified Modeling Language
(UML) is a type of static structure diagram that describes the structure of a system by
showing the system's classes, their attributes, operations (or methods), and the
relationships among the classes. It explains which class contains information.

5.2.4 Sequence Diagram:

20
A sequence diagram in Unified Modeling Language (UML) is a kind of
interaction diagram that shows how processes operate with one another and in what
order. It is a construct of a Message Sequence Chart. Sequence diagrams are sometimes
called event diagrams, event scenarios, and timing diagrams.

5.2.5 Collaboration Diagram

21
A Collaboration diagram is very similar to a Sequence diagram in the purpose it
achieves; in other words, it shows the dynamic interaction of the objects in a system. A
distinguishing feature of a Collaboration diagram is that it shows the objects and their
association with other objects in the system apart from how they interact with each other.
The association between objects is not represented in a Sequence diagram. A
Collaboration diagram is easily represented by modeling objects in a system and
representing the associations between the objects as links.

22
5.2.6 State chart Diagram
State chart diagram describes the flow of control from one state to another state.
States are defined as a condition in which an object exists and it changes when some
event is triggered. The most important purpose of State chart diagram is to model
lifetime of an object from creation to termination.
State chart diagrams are also used for forward and reverse engineering of a system.
However, the main purpose is to model the reactive system.
State chart for user

23
State chart for Admin

5.2.7 Data Flow Diagram

24
Data Flow diagrams are graphical representations of workflows of stepwise
activities and actions with support for choice, iteration and concurrency. In the Unified
Modeling Language, activity diagrams can be used to describe the business and
operational step-by-step workflows of components in a system. An activity diagram
shows the overall flow of control.

4.2.8 Deployment Diagram

25
The term Deployment itself describes the purpose of the diagram. Deployment
diagrams are used for describing the hardware components, where software components
are deployed. Component diagrams and deployment diagrams are closely related.

Component diagrams are used to describe the components and deployment diagrams
shows how they are deployed in hardware.

UML is mainly designed to focus on the software artifacts of a system. However, these
two diagrams are special diagrams used to focus on software and hardware components.

Most of the UML diagrams are used to handle logical components but deployment
diagrams are made to focus on the hardware topology of a system. Deployment
diagrams are used by the system engineers.

4.2.9 Component diagram

26
It does not describe the functionality of the system but it describes the
components used to make those functionalities. Thus from that point of view,
component diagrams are used to visualize the physical components in a system. These
components are libraries, packages, files, etc. Component diagrams can also be
described as a static implementation view of a system. Static implementation represents
the organization of the components at a particular moment. A single component
diagram cannot represent the entire system but a collection of diagrams is used to
represent the whole.

send request
request
user
page

search the
information
server
register login

yes no

information

related information

27
IMPLEMENTATION
6 SAMPLE CODE

6.1) Sample code of Index.Jsp Page


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Home Page</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-
8" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/coin-slider.css"
/>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/droid_sans_400-
droid_sans_700.font.js"></script>
<script type="text/javascript" src="js/jquery-
1.4.2.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/coin-
slider.min.js"></script>
<style type="text/css">
<!--
.style3 {font-size: 36}
.style4 {padding:0; margin:0; width:100%; line-height:0; clear:
both;}
.style5 {font-size: 36px}
.style6 {font-size: 22px}
.style8 {font-size: 12px}
.style9 {
color: #FF0000;
font-weight: bold;
}
-->
</style>
</head>
<body>
<div class="main style3">
<div class="header">
<div class="header_resize">
<div class="logo">
<h1 class="style5"><a href="index.html"
class="style6">DCCR Deep Collaborative Conjunctive Recommender
for Rating Prediction</a></h1>
</div>
<div class="searchform">
<form id="formsearch" name="formsearch" method="post"
action="#">
</form>
</div>
<div class="style4"></div>
<div class="slider">
<div id="coin-slider"> <a href="#"><img
src="images/slide1.jpg" width="960" height="314" alt="" /></a> <a
href="#"><img src="images/slide2.jpg" width="960" height="314"
alt="" /></a> <a href="#"><img src="images/slide3.jpg"
width="960" height="314" alt="" /></a> </div>
<div class="style4"></div>
</div>
<div class="style4"></div>
<div class="rss"></div>
<div class="menu_nav">
<ul>
<li class="active"><a href="index.html">Home</a></li>
<li><a href="Admin.jsp">Admin Login </a></li>
<li><a href="User.html">User Login </a></li>
<li><a href="Register.html">Rgister</a></li>
<li><a href="contact.html"></a></li>
</ul>
</div>
<div class="style4"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<div class="article">
<h2>DCCR Deep Collaborative Conjunctive Recommender for
Rating Prediction</h2>
<p class="infopost">Concept <a href="#"
class="com"></a></p>
<div class="style4"></div>
<img src="images/img1.jpg" width="223" height="258"
alt="" class="fl" />
<div class="post_content">
<p align="justify" class="style9">Recently,
collaborative _ltering combined with various kinds of deep
learning models is appealing to recommender systems, which have
shown a strong positive effect in an accuracy improvement.
However, many studies related to deep learning model rely heavily
on abundant information to improve prediction accuracy, which has
stringent data requirements in addition to raw rating data.
Furthermore, most of them ignore the interaction effect between
users and items when building the recommendation model. To
address these issues, we propose DCCR, a deep collaborative
conjunctive recommender, for rating prediction tasks that are
solely based on the raw ratings. A DCCR is a hybrid architecture
that consists of two different kinds of neural network models
(i.e., an autoencoder and a multilayered perceptron). The main
function of the autoencoder is to extract the latent features
from the perspectives of users and items in parallel, while the
multilayered perceptron is used to represent the interaction
between users and items based on fusing the user and item latent
features. To further improve the performance of DCCR, an advanced
activation<br />
function is proposed, which can be speci_ed with
input vectors. The extensive experiments conducted with two well-
known real-world datasets and performances of the DCCR with
varying settings are analyzed. The results demonstrate that our
DCCR model outperforms other state-of-art methods. We also
discuss the performance of the DCCR with additional layers to
show the extensibility of our model.</p>
</div>
<div class="style4"></div>
</div>
<p class="pages">&nbsp;</p>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star">Sidebar Menu</h2>
<div class="style4"></div>
<ul class="sb_menu">
<li><a href="#"><br />
Home</a></li>
<li><a href="Admin.jsp">Admin</a></li>
<li><a href="User.html">User</a></li>
<li><a href="Register.html">Register</a></li>
<li></li>
</ul>
</div>
<div class="gadget">
<h2 class="star"><span>Concepts</span></h2>
<div class="clr"></div>
<ul class="ex_menu">
<li class="style9">
<p align="center" class="style8">Recommender
systems,<br />
Collaborative _ltering,<br />
rating prediction, <br />
denoising autoencoders,<br />
multi layered perceptron.</p>
</li>
</ul>
</div>
</div>
<div class="style4"></div>
</div>
</div>
<div class="fbg"></div>
<div class="footer">
<div class="footer_resize">
<div style="clear:both;"></div>
</div>
</div>
</div>
</body>
</html>

6.2) Register. Jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Register</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-
8" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/coin-slider.css"
/>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-
titillium600w.js"></script>
<script type="text/javascript" src="js/jquery-
1.4.2.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/coin-
slider.min.js"></script>
<style type="text/css">
<!--
.style6 {font-size: 22px}
.style9 {color: #FF0000}
-->
</style>
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo">
<h1><a href="index.html" class="style6">DCCR Deep
Collaborative Conjunctive Recommender for Rating Prediction</a><a
href="index.html"></a></h1>
</div>
<div class="searchform"></div>
<div class="clr"></div>
<div class="slider">
<div id="coin-slider"> <a href="#"><img
src="images/slide1.jpg" width="960" height="314" alt="" /></a> <a
href="#"><img src="images/slide2.jpg" width="960" height="314"
alt="" /></a> <a href="#"><img src="images/slide3.jpg"
width="960" height="314" alt="" /></a> </div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="rss">
<p>&nbsp;</p>
</div>
<div class="menu_nav">
<ul>
<li><a href="index.html"><span>Home</span></a></li>
<li><span><a href="Admin.jsp">Admin</a></span></li>
<li><a href="User.html"><span>User</span></a></li>
<li class="active"><a
href="blog.html"><span>Register</span></a></li>
<li><a href="contact.html"><span></span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<div class="article">
<h2>User Registration </h2>
<div class="clr"></div>
<p><img src="images/Register.png" width="350"
height="144" />
<form action="insertdata.jsp" method="post"
id="sendemail" enctype="multipart/form-data">
<ol>
<li class="style9">
<label for="name">User Name (required)</label>
<input id="name" name="userid" class="text" />
</li>
<li class="style9">
<label for="password">Password (required)</label>
<input type="password" id="password" name="pass"
class="text" />
</li>
<li class="style9">
<label for="email">Email Address
(required)</label>
<input id="email" name="email" class="text" />
</li>
<li class="style9">
<label for="mobile">Mobile Number
(required)</label>
<input id="mobile" name="mobile" class="text" />
</li>

<li class="style9">
<label for="address">Your Address</label>
<textarea id="address" name="address" rows="3"
cols="50"></textarea>
</li>
<li class="style9">
<label for="dob">Date of Birth (required)</label>
<input id="dob" name="dob" class="text" />
</li>
<li class="style9">
<label for="gender">Select Gender
(required)</label>
<select id="s1" name="gender"
style="width:480px;" class="text">
<option>--Select--</option>
<option>MALE</option>
<option>FEMALE</option>
</select>
</li>
<li class="style9">
<label for="pincode">Enter Pincode
(required)</label>
<input id="pincode" name="pincode"
class="text" />
</li>

<li>
<span class="style9">
<label for="pic">Select Profile Picture
(required)</label>
</span>
<label for="pic"></label>
<input type="file" id="pic" name="pic"
class="text" />
<ol>

<ol>

<ol>
<li>
<input type="image" name="imageField"
id="imageField" src="images/submit.gif" class="send" />
</li>
</ol>
</ol>
</ol>
</li>
<li>
<div class="clr"></div>
</li>
</ol>
</form></p>
</div>

<div class="article">
<h2>&nbsp;</h2>

</div>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>Sidebar</span> Menu</h2>
<div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">Home</a></li>
<li><a href="Admin.jsp">Admin</a></li>
<li><a href="User.html">User</a></li>
<li><a href="Register.html">Register</a></li>
<li></li>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">

<div class="footer">
<div class="footer_resize">
<div style="clear:both;"></div>
</div>
</div>
</div>
</body>
</html>

6.3) User.Jsp Page

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>User Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-
8" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/coin-slider.css"
/>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-
titillium600w.js"></script>
<script type="text/javascript" src="js/jquery-
1.4.2.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/coin-
slider.min.js"></script>
<style type="text/css">
<!--
.style6 {font-size: 22px}
.style9 {color: #FF0000}
.style11 {color: #FF0000; font-weight: bold; }
-->
</style>
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo">
<h1><a href="index.html" class="style6">DCCR Deep
Collaborative Conjunctive Recommender for Rating Prediction</a><a
href="index.html"></a></h1>
</div>
<div class="searchform"></div>
<div class="clr"></div>
<div class="slider">
<div id="coin-slider"> <a href="#"><img
src="images/slide1.jpg" width="960" height="314" alt="" /></a> <a
href="#"><img src="images/slide2.jpg" width="960" height="314"
alt="" /></a> <a href="#"><img src="images/slide3.jpg"
width="960" height="314" alt="" /></a> </div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="rss"></div>
<div class="menu_nav">
<ul>
<li><a href="index.html"><span>Home</span></a></li>
<li><span><a href="Admin.jsp">Admin</a></span></li>
<li class="active"><span><a
href="User.html">User</a></span></li>
<li><span><a
href="Register.html">Register</a></span></li>
<li><a href="contact.html"><span></span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<div class="article">
<h2><span>User Login </span></h2>
<div class="clr"></div>
<p><img src="images/Login.jpg" width="270" height="129"
/></p>
<form action="authentication.jsp" method="post"
id="leavereply">
<ol>
<li class="style11">
<label for="name">Name (required)</label>
<input id="name" name="userid" class="text" />
</li>
<li>
<span class="style11">
<label for="email">Password (required)</label>
</span><span class="style9"><label
for="email"></label>
</span>
<label for="email"></label>
<input type="password" id="pass" name="pass"
class="text" />
</li>

<li>
<input type="image" name="imageField"
id="imageField" src="images/submit.gif" class="send" />
<div class="clr"></div>
</li>
</ol>
</form></p>
<p><a href="Register.html">Register</a></p>
</div>
<div class="article">
<h2>&nbsp;</h2>
<div class="clr"></div>
<p>&nbsp;</p>
</div>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>Sidebar</span> Menu</h2>
<div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">Home</a></li>
<li><a href="Admin.jsp">Admin</a></li>
<li><a href="User.html">User</a></li>
<li><a href="Register.html">Register</a></li>
<li></li>
<li><a href="index.html"></a><br />
</li>
<li></li>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">

<div class="footer">
<div class="footer_resize">
<div style="clear:both;"></div>
</div>
</div>
</div>
</body>
</html>

6.4) Connect. java


<%@ page import="java.sql.*"%>
<%@ page import="java.util.*" %>
<%
Connection connection = null;
try {

Class.forName("com.mysql.jdbc.Driver");
connection =
DriverManager.getConnection("jdbc:mysql://localhost:3306/DCCR","r
oot","root");
String sql="";

}
catch(Exception e)
{
System.out.println(e);
}
%>

6.5) DiversityRecommendation.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>All Diversity Recommendation </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-
8" />
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" type="text/css" href="css/coin-slider.css"
/>
<script type="text/javascript" src="js/cufon-yui.js"></script>
<script type="text/javascript" src="js/cufon-
titillium600w.js"></script>
<script type="text/javascript" src="js/jquery-
1.4.2.min.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<script type="text/javascript" src="js/coin-
slider.min.js"></script>
<style type="text/css">
<!--
.style6 {font-size: 22px}
.style8 {font-size: 12px}
.style15 {color: #FFFF00}
-->
</style>
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo">
<h1><a href="index.html" class="style6">DCCR Deep
Collaborative Conjunctive Recommender for Rating Prediction</a><a
href="index.html"></a></h1>
</div>
<div class="searchform">
</div>
<div class="clr"></div>
<div class="slider">
<div id="coin-slider"> <a href="#"><img
src="images/slide1.jpg" width="960" height="314" alt="" /></a> <a
href="#"><img src="images/slide2.jpg" width="960" height="314"
alt="" /></a> <a href="#"><img src="images/slide3.jpg"
width="960" height="314" alt="" /></a> </div>
<div class="clr"></div>
</div>
<div class="clr"></div>
<div class="rss">
<p>&nbsp;</p>
</div>
<div class="menu_nav">
<ul>
<li><a href="index.html"><span>Home</span></a></li>
<li class="active"><span><a
href="Admin.jsp">Admin</a></span></li>
<li ><span><a href="User.html">User</a></span></li>
<li><span><a
href="Register.html">Register</a></span></li>
<li><a href="contact.html"><span></span></a></li>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<div class="article">
<h2><span>View All Collaborative Conjunctive
Recommender </span></h2>
<div class="clr"></div>
<p><%@ include file="connect.jsp" %>
<%@page
import="com.oreilly.servlet.*,java.sql.*,java.lang.*,java.text.Si
mpleDateFormat,java.util.*,java.io.*,javax.servlet.*,
javax.servlet.http.*" %>
<%

String
from="",to="",s3="",details="",id="",dt="",pname="",id1="";
int i=0,j=0;

try
{
String str="select * from images order by count
DESC";
Statement st1=connection.createStatement();
ResultSet rs1=st1.executeQuery(str);
while ( rs1.next() )
{
id1=rs1.getString(1);
pname=rs1.getString(2);

%>

<table width="453" border="0" align="center">


<tr>
<td width="179" bgcolor="#FF0000"><div align="left"
class="style5 style8 style15">
<div align="center"><strong>Product ID </strong></div>
</div></td>
<td width="264"><%=id1%></td>
</tr>

<tr>
<td bgcolor="#FF0000"><div align="left" class="style5 style8
style15">
<div align="center"><strong>Product Name</strong></div>
</div></td>
<td><%=pname%></td>
</tr>
<tr>
<td bgcolor="#FF0000"><div align="left" class="style5 style8
style15">
<div align="center"><strong>View the topic</strong></div>
</div></td>
<td><div align="left"><a href="DiversityRecommendetion1.jsp?
id=<%=id1%>">view</a>&nbsp;</div></td>
</tr>
</table>

<p>&nbsp;</p>
<p align="center"><strong>

<%
out.println("----------------------------------------------------
--------------------------------------------------------");

}
connection.close();
}

catch(Exception e)
{
out.println(e.getMessage());
}
%>&nbsp;</p>
<p align="right"><a href="AdminMain.jsp">Back</a></p>
<p>
</p>
<p>&nbsp;</p>
</div>
<div class="article">
<h2>&nbsp;</h2>
<div class="clr"></div>
<p>&nbsp;</p>
</div>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>Sidebar</span> Menu</h2>
<div class="clr"></div>
<ul class="sb_menu">
<li><a href="#"></a></li>
<li><a href="AdminMain.jsp"></a></li>
<li><a href="index.html">Logout</a><br />
</li>
<li></li>
</ul>
</div>
<div class="gadget">
<h2 class="star">&nbsp;</h2>
<div class="clr"></div>
<ul class="ex_menu"><li></li>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">

<div class="footer">
<div class="footer_resize">
<p class="lf">&nbsp;</p>
<p class="rf">&nbsp;</p>
<div style="clear:both;"></div>
</div>
</div>
</div>
</body>
</html>

6.6) Results.Jsp Page

<%@ include file="connect.jsp"%>


<%
try
{

%><html>
<head>
<title>Transaction Results</title>
<script type="text/javascript"
src="sources/jscharts.js"></script>
</head>
<body>
<div id="graph">Loading graph...</div>
<script type="text/javascript">
var myData=new Array();
var colors=[];

<%
int i=0;

String s1=null;
int rank=0;

String query1="select * from images";


Statement
st1=connection.createStatement();
ResultSet
rs1=st1.executeQuery(query1);
while ( rs1.next() )
{
s1=rs1.getString(2);
rank=rs1.getInt(8);

%>
myData["<%=i%>"]=["<%=s1 %>",<
%=rank%>];
<%
i++;

}
%>

var myChart = new JSChart('graph', 'bar');


myChart.setDataArray(myData);
myChart.setBarColor('#42aBdB');
myChart.setBarOpacity(0.8);
myChart.setBarBorderColor('#D9EDF7');
myChart.setBarValues(true);
myChart.setTitleColor('#8C8383');
myChart.setAxisColor('#777E89');
myChart.setSize(800,350);
myChart.setAxisValuesColor('#777E81');
myChart.draw();

</script>

</body>
</html>
<%
}
catch(Exception e)
{
e.printStackTrace();%>
TESTING

7.SYSTEM TESTING
Introduction:

The purpose of testing is to discover errors. Testing is the process of trying to


discover every conceivable fault or weakness in a work product. It provides a way to
check the functionality of components, sub assemblies, assemblies and/or a finished
product It is the process of exercising software with the intent of ensuring that
theSoftware system meets its requirements and user expectations and does not fail in an
unacceptable manner. There are various types of test. Each test type addresses a specific
testing requirement.
7.1 Testing techniques:
7.1.1 Unit testing:

Unit testing focuses verification effort on the smallest unit of Software design
that is the module. Unit testing exercises specific paths in a module’s control structure to
ensure complete coverage and maximum error detection. This test focuses on each
module individually, ensuring that it functions properly as a unit. Hence, the naming is
Unit Testing.

During this testing, each module is tested individually and the module interfaces
are verified for the consistency with design specification. All important processing path
are tested for the expected results. All error handling paths are also tested.

Test objectives
 All field entries must work properly.
 Pages must be activated from the identified link.
 The entry screen, messages and responses must not be delayed.
Features to be tested
 Verify that the entries are of the correct format
 No duplicate entries should be allowed
 All links should take the user to the correct page.
7.1.2 Integration testing
Software integration testing is the incremental integration testing of two or more
integrated software components on a single platform to produce failures caused by
interface defects.

The task of the integration test is to check that components or software


applications, e.g. components in a software system or – one step up – software
applications at the company level – interact without error.

Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

7.1.3 User Acceptance Testing


User Acceptance of a system is the key factor for the success of any system. The system
under consideration is tested for user acceptance by constantly keeping in touch with the
prospective system users at the time of developing and making changes wherever required. The
system developed provides a friendly user interface that can easily be understood even by a
person who is new to the system.

7.1.4 Output Testing

After performing the validation testing, the next step is output testing of the proposed
system, since no system could be useful if it does not produce the required output in the specified
format. Asking the users about the format required by them tests the outputs generated or
displayed by the system under consideration. Hence the output format is considered in 2 ways –
one is on screen and another in printed format.

7.1.5 Validation Testing

Validation checks are performed on the following fields.

1.Text Field:

The text field can contain only the number of characters lesser than or equal to its size.
The text fields are alphanumeric in some tables and alphabetic in other tables. Incorrect entry
always flashes and error message.

2.Numeric Field:

The numeric field can contain only numbers from 0 to 9. An entry of any
character flashes an error messages. The individual modules are checked for accuracy
and what it has to perform. Each module is subjected to test run along with sample
data. The individually tested modules are integrated into a single system. Testing
involves executing the real data information is used in the program the existence of any
program defect is inferred from the output. The testing should be planned so that all the
requirements are individually tested.
White Box Testing:
White Box Testing is a testing in which in which the software tester has knowledge
of the inner workings, structure and language of the software, or at least its purpose. It is
purpose. It is used to test areas that cannot be reached from a black box level.
Black Box Testing:
Black Box Testing is testing the software without any knowledge of the inner
workings, structure or language of the module being tested. Black box tests, as most
other kinds of tests, must be written from a definitive source document, such as
specification or requirements document, such as specification or requirements document.
It is a testing in which the software under test is treated, as a black box .you cannot “see”
into it. The test provides inputs and responds to outputs without considering how the
software works.

7.2 Test Cases

S.No TCID DESCRIPTION EXPECTED OBSERVED Result


VALUE VALUE

1 Tc1 User try to register User Registered


Same as Success
with all his valid Successfully
expected
details

Success

2 Tc2 User failed to User Registration Same as


enter all details Failed expected
correctly or
missed any field

User failed to
enter all details
3 Tc3 correctly or User Registration Same as Success
missed any field Failed expected

Admin Failed to All Fields are Displays Error


Add Post Mandatory Message as
4 Tc4 Success
“Please Fill
Missing Fields”
5 TC5 Admin try to login Displays message
with his valid as “Admin Login
credentials Successful” Same as Success
expected
OUTPUT SCREENS
8.SCREEN SHOTS

8.1 Home Page

52
8.2 Admin login page

53
8.3 Admin Main Page
8.4 Admin Can View All User Details
8.5 User registration page

Admin Can See Newly Registered User Details

8.6 User Try to Login But Fails without Authorization


8.7 Admin Authorize Users
8.8 User Login Into His Account
8.9 Admin Views All Reviewed Post

8.10 Admin Views Collaborative Based Recommendation


8.11 Admin Can View Top K Hit Chart Result of All Posts
8.12 Admin Can View All posts with Ratings
8.13 user Can View top K Hit Rate

8.14 User can View the Result


CONCLUSION

9.CONCLUSION
In this project, we propose a Collaborative filtering has shown to be effective in
commercial recommender systems. By combining with neural net- works, CF can
represent the latent features of users and item without a manual setting. However, most
of related studies use a single model with a common activation function to perform a
rating prediction task without considering the traits of features and ratings. In this paper,
we propose a hybrid neural network model for rating prediction that is named the deep
collaborative conjunctive recommender (DCCR). This model integrates the spirits of
several neural networks to separately capture the latent features from users and items and
describes the interactions between these features. Solely using the explicit ratings from
the data, we design this end- to-end model to improve the accuracy of rating prediction.
Numerous factors affect the prediction performance. Thus, to achieve the optimal model,
we evaluate the DCCR with varying factor settings by considerable contrast experiments.
The results show that our DCCR model outperforms other state-of-the-art methods using
two real-world datasets. We also prove that the DCCR with additional layers has a
positive effect on accuracy improvement.
BIBLIOGRAPHY
10. BIBLIOGRAPHY

[1] M. D. Ekstrand, J. T. Riedl, and J. A. Konstan, ``Collaborative filtering


recommender systems,'' Found. Trends Hum.-Comput. Interact., vol. 4, no.
2, pp. 81_173, 2011.

[2] R. Kumar, B. K. Verma, and S. S. Rastogi, ``Social popularity based


SVDCC recommender system,'' Int. J. Comput. Appl., vol. 87, no. 14,
pp. 33_37, 2014.

[3] A. Krizhevsky, I. Sutskever, and G. E. Hinton, ``Imagenet classi_cation


with deep convolutional neural networks,'' in Proc. Adv. Neural Inf. Pro-
cess. Syst., 2012, pp. 1097_1105.

[4] Y. Jhamb, T. Ebesu, and Y. Fang, ``Attentive contextual denoising


autoen-coder for recommendation,'' in Proc. ACM SIGIR Int. Conf. Theory
Inf.Retr. New York, NY, USA: ACM, 2018, pp. 27_34.

[5] X. Cai, J. Han, and L. Yang, ``Generative adversarial network based het-
erogeneous bibliographic network representation for personalized citation
recommendation,'' in Proc. 32nd AAAI Conf. Artif. Intell., 2018, pp. 1_8.

[6] Y. Peng, S.Wang, and B.-L. Lu, ``Marginalized denoising autoencoder


viagraph regularization for domain adaptation,'' in Proc. Int. Conf. Neural
Inf.Process. Berlin, Germany: Springer, 2013, pp. 156_163.

63
[7] P. Baldi and P. J. Sadowski, ``Understanding dropout,'' in Proc. Adv.
NeuralInf. Process. Syst., 2013, pp. 1_9.

[8] J. Deng, W. Dong, R. Socher, L. Li, K. Li, and L. Fei-Fei, ``Imagenet:


A large-scale hierarchical image database,'' in Proc. IEEE Conf. Comput.
Vis. Pattern Recognit., Jun. 2009, pp. 248_255.

[9] H. J. Xue, X. Dai, J. Zhang, S. Huang, and J. Chen, ``Deep matrix


factorization models for recommender systems,'' in Proc. IJCAI, 2017,
pp. 1_7.

[10] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and R.


Salakhutdi-nov, ``Dropout:Asimpleway to prevent neural networks from
over_tting,''J. Mach. Learn. Res., vol. 15, no. 1, pp. 1929_1958, 2014.

[11] Y. Koren, R. Bell, and C. Volinsky, ``Matrix factorization techniques


forrecommender systems,'' Computer, vol. 8, pp. 30_37, Aug. 2009.

[12] S. Li, J. Kawale, and Y. Fu, ``Deep collaborative filtering via


marginalizeddenoising auto-encoder,'' in Proc. 24th ACM Int. Conf. Inf.
Knowl. Manage., New York, NY, USA: ACM, 2015, pp. 811_820.

[13] S. Sedhain, A. K. Menon, S. Sanner, and L. Xie, ``AutoRec:


Autoencodersmeet collaborative filtering,'' in Proc. 24th Int. Conf. World
Wide Web.New York, NY, USA: ACM, 2015, pp. 111_112.

[14] D. Liang, R. G. Krishnan, M. D. Hoffman, and T. Jebara, ``Variational

64
autoencoders for collaborative _ltering,'' in Proc. World Wide Web Conf.
World Wide Web Int. World Wide Web Conf. Steering Committee, 2018,
pp. 689_698.

[15] F. Strub and J. Mary, ``Collaborative _ltering with stacked denoising


autoencoders and sparse inputs,'' in Proc. NIPS Workshop Mach. Learn.
eCommerce, 2015, pp. 1_9.

[16] Y. LeCun, Y. Bengio, and G. Hinton, ``Deep learning,'' Nature, vol.


521,no. 7553, pp. 436_444, 2015.

[17] S. Ioffe and C. Szegedy, ``Batch normalization: Accelerating deep


networktraining by reducing internal covariate shift,'' in Proc. Int. Conf. Int.
Conf.Mach. Learn., 2015, pp. 1_11.

[18] K. He, X. Zhang, S. Ren, and J. Sun, ``Deep residual learning for
image recognition,'' in Proc. IEEE Conf. Comput. Vis. Pattern Recognit.,
Jun. 2016, pp. 770_778.

[19] F. M. Harper and J. A. Konstan, ``The movielens datasets: History and


context,'' ACM Trans. Interact. Intell. Syst., vol. 5, no. 4, p. 19, 2016.

[20] K. Christakopoulou, ``Q&R: A two-stage approach toward interactive


recommendation,'' in Proc. 24th ACM SIGKDD Int. Conf. Knowl. Discovery
Data Mining. New York, NY, USA: ACM, 2018, pp. 139_148.
[21] M. Abadi et al., ``TensorFlow: A systemfor large-scale machine
learning,''in Proc. 12th USENIX Symp. Oper. Syst. Design Implement.
(OSDI),Savannah, GA, USA, vol. 16, Nov. 2016.

65
[22] F. Zhuang, D. Luo, N. J. Yuan, X. Xie, and Q. He, ``Representation
learning with pair-wise constraints for collaborative ranking,'' in Proc. 10th
ACMInt. Conf. Web Search Data Mining. New York, NY, USA: ACM,
2017,pp. 567_575.

[23] L. Zheng, V. Noroozi, and P. S. Yu, ``Joint deep modeling of users and
items using reviews for recommendation,'' in Proc. 10th ACM Int. Conf.
Web Search Data Mining. New York, NY, USA: ACM, 2017, pp. 425_434.

[24] Y. Tay, A. T. Luu, and S. C. Hui, ``Multi-pointer co-attention networks


for recommendation,'' in Proc. 24th ACM SIGKDD Int. Conf. Knowl.
Discovery Data Mining. NewYork,NY, USA:ACM, 2018, pp. 2309_2318.

[25] F. Strub, R. Gaudel, and J. Mary, ``Hybrid recommender system based


on autoencoders,'' in Proc. 1st Workshop Deep Learn. Recommender Syst.
New York, NY, USA: ACM, 2016, pp. 11_16.

66

You might also like