Professional Documents
Culture Documents
1
original rating matrix R into two low-rank matrices, which represent the
latent feature space of users and items.
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.
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.
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
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
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.
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.
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.
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.
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. In the proposed system we can able to mine or extract the reviews that are pure
positive ,pure negative and partially rated reviews accurately.
1) Admin Module
2) User Module
MODULES DESCRIPTION:
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).
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.
Introduction:
Hardware Requirements:
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.
16
SYSTEM DESIGN
5. SYSTEM DESIGN
5.1 System Architecture
Admin
List Users and Authorize
Add Posts
View
iew All
All Service
Service Usage
Usage Reviewed
Reviewed Posts
Remote User
WEB Database
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
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.
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.
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
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.
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.
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
<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> </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>
<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> </h2>
<div class="clr"></div>
<p> </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>
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
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);
%>
<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> </div></td>
</tr>
</table>
<p> </p>
<p align="center"><strong>
<%
out.println("----------------------------------------------------
--------------------------------------------------------");
}
connection.close();
}
catch(Exception e)
{
out.println(e.getMessage());
}
%> </p>
<p align="right"><a href="AdminMain.jsp">Back</a></p>
<p>
</p>
<p> </p>
</div>
<div class="article">
<h2> </h2>
<div class="clr"></div>
<p> </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"> </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"> </p>
<p class="rf"> </p>
<div style="clear:both;"></div>
</div>
</div>
</div>
</body>
</html>
%><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;
%>
myData["<%=i%>"]=["<%=s1 %>",<
%=rank%>];
<%
i++;
}
%>
</script>
</body>
</html>
<%
}
catch(Exception e)
{
e.printStackTrace();%>
TESTING
7.SYSTEM TESTING
Introduction:
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.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.
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.
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.
Success
User failed to
enter all details
3 Tc3 correctly or User Registration Same as Success
missed any field Failed expected
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
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
[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.
63
[7] P. Baldi and P. J. Sadowski, ``Understanding dropout,'' in Proc. Adv.
NeuralInf. Process. Syst., 2013, pp. 1_9.
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.
[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.
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.
66