Вы находитесь на странице: 1из 87

CHAPTER 1

INTRODUCTION
1.1 Overview:
WORD of mouth (WOM) has always been influential on consumer
decision-making. Family and friend are usually asked for advice and
recommendations before any important purchase-decisions are made. These
recommendations can both have short as well as long term influence on consumer
decision-making. With the Web, WOM has greatly expanded. Anyone who wishes
to share their experiences, can now do so electronically. Social media, like Twitter
and Facebook allow for easy ways to exchange statements about products,
services, and brands. The term for this expanded form of WOM is electronic WOM
(EWOM). Over the last few years, EWOM has become increasingly popular.

One of the most important forms of EWOM communication are


product and service reviews posted on the Web by consumers. Retail companies
such as Amazon and Flipkart have numerous reviews of the products they sell,
which provide a wealth of information, and sites like Yelp offer detailed consumer
reviews of local restaurants, hotels, and other businesses. Research has shown
these reviews are considered more valuable for consumers than market-generated
information and editorial recommendations, and are increasingly used in purchase
decision-making.

The information that can be obtained from product and service


reviews is not only beneficial to consumers, but also to companies. Knowing what
has been posted on the Web can help companies improve their products or
services. However, to effectively handle the large amount of information available
in these reviews, a framework for the automated summarization of reviews is
desirable. An important task for such a framework would be to recognize the topics
(i.e., characteristics of the product or service) people write about. These topics can
be fine-grained, in the case of aspect-level sentiment analysis, or more generic in
the case of aspect categories.

1
For example, in the following sentence, taken from a restaurant review set,
the fine-grained aspects are “fish,” “rice,” and “seaweed” whereas the aspect
category is “food.” “My goodness, everything from the fish to the rice to the
seaweed was absolutely amazing.” As one can see, aspect categories are usually
implied, that is, the names of the categories are not explicitly mentioned in the
sentence. The same holds for fine-grained aspects: while most of them are referred
to explicitly in a sentence, some are only implied by a sentence.

For example, in the sentence below, the implied fine-grained aspect


is “staff,” whereas the implied aspect category is “service”. They did not listen
properly and served me the wrong dish!” When the aspect categories are known
beforehand, and enough training data is available, a supervised machine learning
approach to aspect category detection is feasible, yielding a high performance.
Many approaches to find aspect categories are supervised.

However, sometimes the flexibility inherent to an unsupervised


method is desirable. The task addressed in this paper stems from a subtask of the
SemEval-2014 Challenge, which purpose is to identify aspect categories discussed
in sentences, given a set of aspect categories. The sentences come from customer
reviews and should be classified into one or more aspect categories based on its
overall meaning.

For example, given the set of aspect categories (food, service, price,
ambience, and anecdotes/miscellaneous), two annotated sentences are as follows.
“The food was great.” → (food) “It is very overpriced and not very tasty.” → (price,
food) As shown in the above examples, aspect categories do not necessarily occur
as explicit terms in sentences. While in the first sentence food, is mentioned
explicitly, in the second sentence it is done implicitly. In our experiments all
sentences are assumed to have at least one aspect category present. Because it may
not always be clear which category applies to a sentence, due to incomplete domain
coverage of the categories and the wide variation of aspects a reviewer can use, a
“default” category is used.

2
An example of a sentence where a default category is used, is
presented below. Here, the second part of the sentence (“but everything else ... is
the pits.”) is too general to classify it as one of the other categories (i.e., food,
service, price, and ambience). “The food is outstanding, but everything else about
this restaurant is the pits.” → (food, anecdotes/miscellaneous) In this paper, both
an unsupervised and a supervised method are proposed that are able to find aspect
categories based on co-occurrence frequencies.

The unsupervised method uses spreading activation on a graph built


from word co-occurrence frequencies in order to detect aspect categories. In
addition, no assumption has to be made that the implicit aspects are always referred
to explicitly, like it is done in. The proposed unsupervised method uses more than
just the literal category label by creating a set of explicit lexical representations for
each category. The only required information is the set of aspect categories that is
used in the data set.

1.2 Organization of Project:

The rest of the project is organized in the following manner:

Chapter 1 : Introduction

Chapter 2 : Gives the Implementation details, which the hardware

and software requirements, description of the Tools and

Technologies used.

Chapter 3 : Contains the proposed work.

Chapter 4 : Gives the detailed description of Modules using UML


Diagrams.
Chapter 5 : Contains the modules of the project and the coding is
involved.

3
Chapter 6 : Deals with the Debugging Process of the proposed system
with the Tools used.
Chapter 7 : Here the results of the implemented modules along with
the respective screen shots are provided.
Chapter 8 : Here the Conclusions of the current application are
provided.

4
CHAPTER 2

SYSTEM REQUIREMENT SPECIFICATION

2.1 Functional Requirements:


a. Inputs:
Network Connection:
 All the nodes are registered.
 Connection is registered between source node and destination node
b. Processing:

Node Frame:

 In each node frame a specified file is browse


 Source and destination nodes are selected and this browsed file is send
from selected source node to destination node.

Performance Requirements:

Due to the high scope of the software, the performance


requirements are high. The speed at which the software is required to operate is
nominal. A processing rate of 5-10 seconds per query is acceptable.

i.Error Message Design

The design of error messages is an important part of the user


interface design. As user is bound to commit some errors or other while designing
a system the system should be designed to be helpful by providing the user with
information regarding the error he/she has committed.

ii.Error detection:

Even though every effort is make to avoid the occurrence of error ,


still a small portion of errors are always likely to occur , these type of errors can be

5
discovered by using validations to check input data. The system is designed to be a
user friendly one. In other words the system has been designed for the
communication of client and server effectively with the help of different routers.

2.2 Non Functional Requirements:


Performance is measured in terms of the output provided by the
application. Requirement specification plays an important part in the analysis of a
system. Only when the requirement specifications are properly given, it is possible
to design a system, which will fit into required environment. It rests largely in the
part of users of the existing system to give the requirement specifications because
they are the people who finally use the system.

The requirement specification for any system can be broadly stated


as given below:

 The system should be able to interface with the existing system.


 The system should be accurate.
 The system should be better than existing system.

Portability:

It should run on specified platforms successfully. To achieve this we


should test the product on all platforms before launching the product. If our project
runs successfully on different platforms then our system is portable in nature.

Reliability:

The system should perform its intended functions under specified


conditions. If our system satisfies all the specified conditions then it is Reliable in
nature.

6
Reusability:

The system should be extremely reusable as a whole or part. Make


the system modularize and make sure that modules are loosely coupled. This project
is having reusability nature because we can reuse whole or part of this project on
other systems.

Robustness:

The system on the whole should be robust enough to perform well


under different circumstances without any inconsistencies.

Testability:

The product of a given development phase should satisfy the


conditions imposed at the start of that phase.

Usability:

It should be perfect and comfortable for users to work.

Security:

The system is completely based on the security. This system will


provide security base on the password.

Software Specifications:

 Operating System - Windows XP or Later Version


 Coding Language - Java/J2EE(JSP, Servlet)
 Front End - J2EE
 Back End - MySQL

7
Hardware Specifications:

 Processor - Pentium –IV or Later Version


 RAM - 4 GB (min)
 Hard Disk - 40 GB
 Monitor - SVGA

8
CHAPTER 3

SYSTEM ANALYSIS

3.1 Existing System:

The lexicon directly associates aspects with categories. Sentences


with no assigned category went through the post processing step, where the
sentence was labeled with the category with maximum posterior probability. The
lexicon learned from YELP data significantly improved the F1-score, which was
reported to be 88.6% and ranked first among 21 submissions in SemEval-2014
workshop. However, for fair comparison, the score obtained without using the
lexical resources derived from the YELP data, which is an F1-score of 82.2%, is
reported in the evaluation, as our proposed supervised method to which it is
compared also does not use external knowledge.

3.2 Proposed System:

In this paper, both an unsupervised and a supervised method are


proposed that are able to find aspect categories based on co-occurrence frequencies.
The unsupervised method uses spreading activation on a graph built from word co-
occurrence frequencies in order to detect aspect categories. In addition, no
assumption has to be made that the implicit aspects are always referred to explicitly,
like it is done. The proposed unsupervised method uses more than just the literal
category label by creating a set of explicit lexical representations for each category.
The only required information is the set of aspect categories that is used in the data
set. The supervised method on the other hand uses the co-occurrences between
words, as well as grammatical relation triples, and the annotated aspect categories
to calculate conditional probabilities from which detection rules are mined.

9
3.3 Preliminary Investigation:

The first and foremost strategy for development of a project starts


from the thought of designing a mail enabled platform for a small firm in which it
is easy and convenient of sending and receiving messages, there is a search engine,
address book and also including some entertaining games. When it is approved by
the organization and our project guide the first activity, ie. preliminary investigation
begins.
The Activity has three parts:

 Request Clarification

 Feasibility Study

 Request Approval

3.3.1 Request Clarification:


After the approval of the request to the organization and project
guide, with an investigation being considered, the project request must be examined
to determine precisely what the system requires.

Here our project is basically meant for users within the company
whose systems can be interconnected by the Local Area Network(LAN). In today’s
busy schedule man need everything should be provided in a readymade manner. So
taking into consideration of the vastly use of the net in day to day life, the
corresponding development of the portal came into existence.

3.3.2 Feasibility Study:

An important outcome of preliminary investigation is the


determination that the system request is feasible. This is possible only if it is
feasible within limited resource and time. The different feasibilities that have to be
analyzed are:

10
 Operational Feasibility
 Economic Feasibility
 Technical Feasibility

Operational Feasibility:
Operational Feasibility deals with the study of prospects of the
system to be developed. This system operationally eliminates all the tensions of the
Admin and helps him in effectively tracking the project progress. This kind of
automation will surely reduce the time and energy, which previously consumed in
manual work. Based on the study, the system is proved to be operationally feasible.

Economic Feasibility:

Economic Feasibility or Cost-benefit is an assessment of the


economic justification for a computer based project. As hardware was installed
from the beginning & for lots of purposes thus the cost on project of hardware is
low. Since the system is a network based, any number of employees connected to
the LAN within that organization can use this tool from at anytime. The Virtual
Private Network is to be developed using the existing resources of the organization.
So the project is economically feasible.

Technical Feasibility:
According to Roger S. Pressman, Technical Feasibility is the
assessment of the technical resources of the organization. The organization
needs IBM compatible machines with a graphical web browser connected to
the Internet and Intranet. The system is developed for platform Independent
environment. Java Server Pages, JavaScript, HTML, SQL server and WebLogic
Server are used to develop the system. The technical feasibility has been
carried out. The system is technically feasible for development and can be
developed with the existing facility.

11
3.3.3 Request Approval:

Not all request projects are desirable or feasible. Some organization


receives so many project requests from client users that only few of them are
pursued. However, those projects that are both feasible and desirable should be put
into schedule. After a project request is approved, it cost, priority, completion time
and personnel requirement is estimated and used to determine where to add it to
any project list. Truly speaking, the approval of those above factors, development
works can be launched.

12
CHAPTER 4

SYSTEM DESIGN

4. 1 Introduction:

Design is concerned with identifying software components


specifying relationships among components. Specifying software structure and
providing blue print for the document phase. Design will explain software
components in detail. This will help the implementation of the system. Moreover,
this will guide the further changes in the system to satisfy the future requirements.
Modularity is one of the desirable properties of large systems. It implies that the
system is divided into several parts. In such a manner, the interaction between parts
is minimal clearly specified.

Input Design:

Input Design plays a vital role in the life cycle of software


development, it requires very careful attention of developers. The input design is to
feed data to the application as accurate as possible. So inputs are supposed to be
designed effectively so that the errors occurring while feeding are minimized.
According to Software Engineering Concepts, the input forms or screens are
designed to provide to have a validation control over the input limit, range and other
related validations.

This system has input screens in almost all the modules. Error
messages are developed to alert the user whenever he commits some mistakes and
guides him in the right way so that invalid entries are not made. Let us see deeply
about this under module design.

Input design is the process of converting the user created input into
a computer-based format. The goal of the input design is to make the data entry
logical and free from errors. The error is in the input are controlled by the input
design. The application has been developed in user-friendly manner. The forms

13
have been designed in such a way during the processing the cursor is placed in the
position where must be entered. The user is also provided with in an option to select
an appropriate input from various alternatives related to the field in certain cases.

Validations are required for each data entered. Whenever a user


enters an erroneous data, error message is displayed and the user can move on to
the subsequent pages after completing all the entries in the current page.

Output Design:

The Output from the computer is required to mainly create an


efficient method of communication within the company primarily among the
project leader and his team members, in other words, the administrator and the
clients. The output of VPN is the system which allows the project leader to manage
his clients in terms of creating new clients and assigning new projects to them,
maintaining a record of the project validity and providing folder level access to
each client on the user side depending on the projects allotted to him.

After completion of a project, a new project may be assigned to the


client. User authentication procedures are maintained at the initial stages itself. A
new user may be created by the administrator himself or a user can himself register
as a new user but the task of assigning projects and validating a new user rests with
the administrator only.

The application starts running when it is executed for the first time.
The server has to be started and then the internet explorer in used as the browser.
The project will run on the local area network so the server machine will serve as
the administrator while the other connected systems can act as the clients. The
developed system is highly user friendly and can be easily understood by anyone
using it even for the first time.

4.1.1 Unified Modeling Language:

Booch, James Rumbaugh and Ivar Jacobson have collaborated to


combine Grady the best features of their individual object oriented analysis and

14
design methods into a unified method the unified modeling language, the version
1.0 for the Unified Modeling was released in January 1997 the main parts of UML
are based on the Booch, OMT and OOSE methods.

The goals of UML are:

 To model systems using object-oriented concepts.


 To establish an explicit coupling between conceptual as well as executable.
 To address the issues of scale inherent in complex, mission critical system.
 To create a modeling language usable by both humans and machines.

UML Specifying
Specifying means building models that are precise, unambiguous
and complete. In particular, the UML address the specification of all the important
analysis, design and implementation decisions that must be made in developing and
displaying a software intensive system.

UML Visualization
The UML includes both graphical and textual representation. It
makes easy to visualize the system and for better understanding.

UML Constructing:

UML models can be directly connected to a variety of programming


languages and it is sufficiently expressive and free from any ambiguity to permit
the direct execution of models.

UML Documenting:

UML provides variety of documents in addition raw executable


codes.

15
Fig 4.1(a) Modeling a System Architecture using views of UML

The use case view of a system encompasses the use cases that describe the behavior
of the system as seen by its end users, analysts, and testers.

The design view of a system encompasses the classes, interfaces, and collaborations
that form the vocabulary of the problem and its solution.

The process view of a system encompasses the threads and processes that form the
system's concurrency and synchronization mechanisms.

The implementation view of a system encompasses the components and files that
are used to assemble and release the physical system. The deployment view of a
system encompasses the nodes that form the system's hardware topology on which
the system executes.

16
Fig 4.1(b) Types of UML diagrams

4.1.2 Building blocks of UML:

The vocabulary of the UML encompasses 3 kinds of building blocks

 Things
 Relationships
 Diagrams

Things:

Things are the data abstractions that are first class citizens in a
model. Things are of 4 types Structural Things, Behavioral Thin , Grouping Things,
An notational Things

Relationships:

Relationships tie the things together. Relationships in the UML are


Dependency, Association, Generalization, Specialization.

17
4.2 UML Diagrams

A diagram is the graphical presentation of a set of elements, most


often rendered as a connected graph of vertices (things) and arcs (relationships).

There are two types of diagrams, they are:

 Structural
 Behavioral Diagrams.

Structural Diagrams:

The UML‘s four structural diagrams exist to visualize, specify,


construct and document the static aspects of a system. I can View the static parts of
a system using one of the following diagrams. Structural diagrams consists of Class
Diagram, Object Diagram, Component Diagram, Deployment Diagram.

Behavioral Diagrams:

The UML’s five behavioral diagrams are used to visualize, specify,


construct, and document the dynamic aspects of a system. The UML’s behavioral
diagrams are roughly organized around the major ways which can model the
dynamics of a system.

Behavioral diagrams consists of:

Use case Diagram, Sequence Diagram, Collaboration Diagram,


State chart Diagram, Activity Diagram.

4.2.1 Use-Case diagram:


A use case is a set of scenarios that describing an interaction
between a user and a system. A use case diagram displays the relationship
among actors and use cases. The two main components of a use case
diagram are use cases and actor.

An actor is represents a user or another system that will interact with the
system you are modeling. A use case is an external view of the system that

18
represents some action the user might perform in order to complete a task.

Contents:

 Use cases
 Actors
 Dependency, Generalization, and association relationships
 System boundary

Fig 4.2.1 Use-case diagram

19
4.2.2 Class Diagram:

Class diagrams are widely used to describe the types of objects in a


system and their relationships. Class diagrams model class structure and contents
using design elements such as classes, packages and objects. Class diagrams
describe three different perspectives when designing a system, conceptual,
specification, and implementation. These perspectives become evident as the
diagram is created and help solidify the design. Class diagrams are arguably the
most used UML diagram type. It is the main building block of any object oriented
solution. It shows the classes in a system, attributes and operations of each class
and the relationship between each class. In most modeling tools a class has three
parts, name at the top, attributes in the middle and operations or methods at the
bottom. In large systems with many classes related classes are grouped together to
to create class diagrams. Different relationships between diagrams are show by
different types of Arrows. Below is a image of a class diagram. Follow the link for
more class diagram examples.

20
Product Admin

Add Category, Add Post , View All Posts , View Friend Request and
Response, View All Post Reviews, View Post Sentiment Analysis, View All
Methods Post Recommends, View Positive Reviews Results, View Negative Reviews
Results

Members Select Category, Title Name, Price for 1 Plate, Uses, Description, Select
Image, Title Owner, Title Published Date and Time

Login
Login (), Reset (), Register
Register ().
Methods
User Name, Password.
Methods Register (), Reset ()

Login, Register User Name, Password, E-


Members mail, Mobile, Address, DOB,
User Name, Password Members
Gender, Pin code, Image

User
View Your Profile, Search Friend, View Friend Request, View All My
Methods Friends, Search Post, View Recommended Posts, Manage Account,
Purchase Confirmation, View Purchased Products

Members
Select Category, Title Name, Price for 1 Plate, Uses, Description, Select
Image, Title Owner, Title Published Date and Time

Figure 4.2.2 Class diagram

21
4.2.3 Sequence Diagram

Sequence diagrams in UML shows how object interact with each


other and the order those interactions occur. It’s important to note that they show
the interactions for a particular scenario. The processes are represented vertically
and interactions are show as arrows. This article explains the purpose and the basics
of Sequence diagrams.

Figure 4.2.3 sequence diagram

22
4.2.4 Data Flow Chart Diagram

Figure 4.2.4 Data flow chart diagram

23
4.2.5 Flow Chart Diagram

Figure 4.2.5 Admin Flow Chart Diagram

24
Figure 4.2.5 User Data Flow Diagram

25
CHAPTER 5

SYSTEM IMPLEMENTATION

5.1 Introduction
Implementation is the realization of an application, or execution of
a plan, idea, model, design, specification, standard, algorithm, or policy.

5.2 Method of Implementation

5.2.1 Java Technology:

Java has been around since 1991, developed by a small team of Sun
Microsystems developers in a project originally called the Green project. The intent
of the project was to develop a platform-independent software technology that
would be used in the consumer electronics industry. The language that the team
created was originally called Oak.

The first implementation of Oak was in a PDA-type device called


Star Seven (*7) that consisted of the Oak language, an operating system called
GreenOS, a user interface, and hardware. The name *7 was derived from the
telephone sequence that was used in the team's office and that was dialed in order
to answer any ringing telephone from any other phone in the office.

Around the time the First Person project was floundering in


consumer electronics, a new craze was gaining momentum in America; the craze
was called "Web surfing." The World Wide Web, a name applied to the Internet's
millions of linked HTML documents was suddenly becoming popular for use by
the masses. The reason for this was the introduction of a graphical Web browser
called Mosaic, developed by ncSA. The browser simplified Web browsing by
combining text and graphics into a single interface to eliminate the need for users
to learn many confusing UNIX and DOS commands. Navigating around the Web
was much easier using Mosaic.

26
It has only been since 1994 that Oak technology has been applied to
the Web. In 1994, two Sun developers created the first version of Hot Java, and
then called Web Runner, which is a graphical browser for the Web that exists today.
The browser was coded entirely in the Oak language, by this time called Java. Soon
after, the Java compiler was rewritten in the Java language from its original C code,
thus proving that Java could be used effectively as an application language. Sun
introduced Java in May 1995 at the Sun World 95 convention.

Web surfing has become an enormously popular practice among


millions of computer users. Until Java, however, the content of information on the
Internet has been a bland series of HTML documents. Web users are hungry for
applications that are interactive, that users can execute no matter what hardware or
software platform they are using, and that travel across heterogeneous networks and
do not spread viruses to their computers. Java can create such applications.

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

27
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.

Fig 5.2.1(a): Working of Java

You can think of Java bytecodes 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 bytecodes help make “write once, run anywhere” possible. You
can compile your program into bytecodes on any platform that has a Java compiler.
The bytecodes 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.

28
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.

Fig 5.2.1(b): The Java Platform

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 bytecode compilers can bring performance close
to that of native code without threatening portability.

29
Working of Java:

For those who are new to object-oriented programming, the concept


of a class will be new to you. Simplistically, a class is the definition for a segment
of code that can contain both data and functions. When the interpreter executes a
class, it looks for a particular method by the name of main, which will sound
familiar to C programmers. The main method is passed as a parameter an array of
strings (similar to the arg[] of C), and is declared as a static method.

To output text from the program, I execute the println method of


System. out, which is java’s output stream. UNIX users will appreciate the theory
behind such a stream, as it is actually standard output. For those who are instead
used to the Wintel platform, it will write the string passed to it to the user’s program.

Swing:

Introduction to Swing:

Swing contains all the components. It’s a big library, but it’s
designed to have appropriate complexity for the task at hand – if something is
simple, you don’t have to write much code but as you try to do more your code
becomes increasingly complex. This means an easy entry point, but you’ve got the
power if you need it.

Swing has great depth. This section does not attempt to be


comprehensive, but instead introduces the power and simplicity of Swing to get
you started using the library. Please be aware that what you see here is intended to
be simple. If you need to do more, then Swing can probably give you what you
want if you’re willing to do the research by hunting through the online
documentation from Sun.

30
Benefits of Swing:

Swing components are Beans, so they can be used in any


development environment that supports Beans. Swing provides a full set of UI
components. For speed, all the components are lightweight and Swing is written
entirely in Java for portability.

Swing could be called “orthogonality of use;” that is, once you pick
up the general ideas about the library you can apply them everywhere. Primarily
because of the Beans naming conventions.

Keyboard navigation is automatic – you can use a Swing application


without the mouse, but you don’t have to do any extra programming. Scrolling
support is effortless – you simply wrap your component in a JScroll Pane as you
add it to your form. Other features such as tool tips typically require a single line
of code to implement.

Swing also supports something called “pluggable look and feel,”


which means that the appearance of the UI can be dynamically changed to suit the
expectations of users working under different platforms and operating systems. It’s
even possible to invent your own look and feel.

5.2.2 J2EE :

Client – Server :

Over view:

With the varied topic in existence in the fields of computers, Client


Server is one, which has generated more heat than light, and also more hype than
reality. This technology has acquired a certain critical mass attention with its
dedication conferences and magazines. Major computer vendors such as IBM and
DEC, have declared that Client Servers is their main future market. A survey of
DBMS magazine revealed that 76% of its readers were actively looking at the client

31
server solution. The growth in the client server development tools from $200
million in 1992 to more than $1.2 billion in 1996.

Client server implementations are complex but the underlying


concept is simple and powerful. A client is an application running with local
resources but able to request the database and relate the services from separate
remote server. The software mediating this client server interaction is often referred
to as MIDDLEWARE.

The typical client either a PC or a Work Station connected through


a network to a more powerful PC, Workstation, Midrange or Main Frames server
usually capable of handling request from more than one client. However, with some
configuration server may also act as client. A server may need to access other server
in order to process the original client request.

The key client server idea is that client as user is essentially insulated
from the physical location and formats of the data needs for their application. With
the proper middleware, a client input from or report can transparently access and
manipulate both local database on the client machine and remote databases on one
or more servers. An added bonus is the client server opens the door to multi-vendor
database access indulging heterogeneous table joins.

What is a Client Server

Two prominent systems in existence are client server and file server
systems. It is essential to distinguish between client servers and file server systems.
Both provide shared network access to data but the comparison dens there! The file
server simply provides a remote disk drive that can be accessed by LAN
applications on a file by file basis. The client server offers full relational database
services such as SQL-Access, Record modifying, Insert, Delete with full relational
integrity backup/ restore performance for high volume of transactions, etc. the
client server middleware provides a flexible interface between client and server,
who does what, when and to whom.

32
Why Client Server?

Client server has evolved to solve a problem that has been around
since the earliest days of computing: how best to distribute your computing, data
generation and data storage resources in order to obtain efficient, cost effective
departmental an enterprise wide data processing. During mainframe era choices
were quite limited. A central machine housed both the CPU and DATA (cards,
tapes, drums and later disks). Access to these resources was initially confined to
batched runs that produced departmental reports at the appropriate intervals. A
strong central information service department ruled the corporation. The role of the
rest of the corporation limited to requesting new or more frequent reports and to
provide hand written forms from which the central data banks were created and
updated. The earliest client server solutions therefore could best be characterized
as “SLAVE-MASTER”.

Time-sharing changed the picture. Remote terminal could view and


even change the central data, subject to access permissions. And, as the central data
banks evolved in to sophisticated relational database with non-programmer query
languages, online users could formulate adhoc queries and produce local reports
with out adding to the MIS applications software backlog. However remote access
was through dumb terminals, and the client server remained subordinate to the
Slave\Master.

Front end or User Interface Design

The entire user interface is planned to be developed in browser


specific environment with a touch of Intranet-Based Architecture for achieving the
Distributed Concept.

The browser specific components are designed by using the HTML standards, and
the dynamism of the designed by concentrating on the constructs of the Java Server
Pages.

33
Communication or Database Connectivity Tier

The Communication architecture is designed by concentrating on


the Standards of Servlets and Enterprise Java Beans. The database connectivity is
established by using the Java Data Base Connectivity.

The standards of three-tire architecture are given major


concentration to keep the standards of higher cohesion and limited coupling for
effectiveness of the operations.

Features of The Language Used

In my project, I have chosen Java language for developing the code.

JAVASCRIPT

JavaScript is a script-based programming language that was


developed by Netscape Communication Corporation. JavaScript was originally
called Live Script and renamed as JavaScript to indicate its relationship with Java.
JavaScript supports the development of both client and server components of Web-
based applications. On the client side, it can be used to write programs that are
executed by a Web browser within the context of a Web page. On the server side,
it can be used to write Web server programs that can process information submitted
by a Web browser and then updates the browser’s display accordingly.

Even though JavaScript supports both client and server Web


programming, we prefer JavaScript at Client side programming since most of the
browsers supports it. JavaScript is almost as easy to learn as HTML, and JavaScript
statements can be included in HTML documents by enclosing the statements
between a pair of scripting tags.

<SCRIPTS>..</SCRIPT>

<SCRIPT LANGUAGE = “JavaScript”>

34
JavaScript statements

</SCRIPT>

Here are a few things we can do with JavaScript :

 Validate the contents of a form and make calculations.


 Add scrolling or changing messages to the Browser’s status line.
 Animate images or rotate images that change when we move the mouse
over them.
 Detect the browser in use and display different content for different
browsers.
 Detect installed plug-ins and notify the user if a plug-in is required.
We can do much more with JavaScript, including creating entire application.

JavaScript Vs Java

JavaScript and Java are entirely different languages. A few of the


most glaring differences are:

 Java applets are generally displayed in a box within the web document;
JavaScript can affect any part of the Web document itself.
 While JavaScript is best suited to simple applications and adding
interactive features to Web pages; Java can be used for incredibly
complex applications.
There are many other differences but the important thing to
remember is that JavaScript and Java are separate languages. They are both useful
for different things; in fact they can be used together to combine their advantages.

ADVANTAGES

 JavaScript can be used for Sever-side and Client-side scripting.


 It is more flexible than VBScript.
 JavaScript is the default scripting languages at Client-side since all the
browsers supports it.

35
Hyper Text Markup Language

Hypertext Markup Language (HTML), the languages of the World


Wide Web (WWW), allows users to produces Web pages that include text, graphics
and pointer to other Web pages (Hyperlinks).

HTML is not a programming language but it is an application of ISO


Standard 8879, SGML (Standard Generalized Markup Language), but specialized
to hypertext and adapted to the Web. The idea behind Hypertext is that instead of
reading text in rigid linear structure, we can easily jump from one point to another
point. We can navigate through the information based on our interest and
preference. A markup language is simply a series of elements, each delimited with
special characters that define how text or other items enclosed within the elements
should be displayed. Hyperlinks are underlined or emphasized works that load to
other documents or some portions of the same document.

HTML can be used to display any type of document on the host


computer, which can be geographically at a different location. It is a versatile
language and can be used on any platform or desktop.

HTML provides tags (special codes) to make the document look


attractive. HTML tags are not case-sensitive. Using graphics, fonts, different sizes,
color, etc., can enhance the presentation of the document. Anything that is not a tag
is part of the document itself.

Basic HTML Tags :

<!-- --> Specifies comments

<A>……….</A> Creates hypertext links

<B>……….</B> Formats text as bold

<BIG>……….</BIG> Formats text in large font.

36
<BODY>…</BODY> Contains all
tags and text in the HTML document

<CENTER>...</CENTER> Creates text

<DD>…</DD> Definition of a term

<DL>...</DL> Creates definition list

<FONT>…</FONT> Formats text with a particular font

<FORM>...</FORM> Encloses a fill-out form

<FRAME>...</FRAME> Defines a
particular frame in a set of frames

<H#>…</H#> Creates headings of different levels

<HEAD>...</HEAD> Contains tags


that specify information about a document

<HR>...</HR> Creates a horizontal rule

<HTML>…</HTML> Contains all other HTML tags

<META>...</META> Provides meta-


information about a document

<SCRIPT>…</SCRIPT> Contains client-side or server-side script

<TABLE>…</TABLE> Creates a table

<TD>…</TD> Indicates table data in a table

<TR>…</TR> Designates a table row

<TH>…</TH> Creates a heading in a table

37
ADVANTAGES:

 A HTML document is small and hence easy to send over the net. It is
small because it does not include formatted information.
 HTML is platform independent.
 HTML tags are not case-sensitive.
Java Database Connectivity

What Is JDBC?

JDBC is a Java API for executing SQL statements. (As a point of


interest, JDBC is a trademarked name and is not an acronym; nevertheless, JDBC
is often thought of as standing for Java Database Connectivity. It consists of a set
of classes and interfaces written in the Java programming language. JDBC provides
a standard API for tool/database developers and makes it possible to write database
applications using a pure Java API.

Using JDBC, it is easy to send SQL statements to virtually any


relational database. One can write a single program using the JDBC API, and the
program will be able to send SQL statements to the appropriate database. The
combinations of Java and JDBC lets a programmer write it once and run it
anywhere.

What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:


 Establish a connection with a database
 Send SQL statements
 Process the results.

JDBC versus ODBC and other APIs

At this point, Microsoft's ODBC (Open Database Connectivity) API


is that probably the most widely used programming interface for accessing

38
relational databases. It offers the ability to connect to almost all databases on almost
all platforms.

So why not just use ODBC from Java? The answer is that you can
use ODBC from Java, but this is best done with the help of JDBC in the form of
the JDBC-ODBC Bridge, which we will cover shortly. The question now becomes
"Why do you need JDBC?" There are several answers to this question:

 ODBC is not appropriate for direct use from Java because it uses a C interface.
Calls from Java to native C code have a number of drawbacks in the security,
implementation, robustness, and automatic portability of applications.
 A literal translation of the ODBC C API into a Java API would not be
desirable. For example, Java has no pointers, and ODBC makes copious use
of them, including the notoriously error-prone generic pointer "void *". You
can think of JDBC as ODBC translated into an object-oriented interface that
is natural for Java programmers.
 ODBC is hard to learn. It mixes simple and advanced features together, and
it has complex options even for simple queries. JDBC, on the other hand, was
designed to keep simple things simple while allowing more advanced
capabilities where required.
 A Java API like JDBC is needed in order to enable a "pure Java" solution.
When ODBC is used, the ODBC driver manager and drivers must be
manually installed on every client machine. When the JDBC driver is written
completely in Java, however, JDBC code is automatically installable,
portable, and secure on all Java platforms from network computers to
mainframes.

39
Two-tier and Three-tier Models

The JDBC API supports both two-tier and three-tier models for
database access. In the two-tier model, a Java applet or application talks directly to
the database. This requires a JDBC driver that can communicate with the particular
database management system being accessed. A user's SQL statements are
delivered to the database, and the results of those statements are sent back to the
user. The database may be located on another machine to which the user is
connected via a network. This is referred to as a client/server configuration, with
the user's machine as the client, and the machine housing the database as the server.
The network can be an Intranet, which, for example, connects employees within a
corporation, or it can be the Internet.
JAVA
Client machine
Application

DBMS-proprietary protocol
JDBC

Database server
DBMS
In the three-tier model, commands are sent to a "middle tier" of
services, which then send SQL statements to the database. The database processes
the SQL statements and sends the results back to the middle tier, which then sends
them to the user. MIS directors find the three-tier model very of updates that can
Java applet or
Client machine (GUI)
Html browser

HTTP, RMI, or CORBA calls

Application
Server (Java) Server machine

JDBC

Database server

DBMS

40
be made to corporate data. Another advantage is that when there is a middle tier,
the user can employ an easy-to-use higher-level API which is translated by the
middle tier into the appropriate low-level calls. Finally, in many cases the three-tier
architecture can provide performance advantages.

Until now the middle tier has typically been written in languages
such as C or C++, which offer fast performance. However, with the introduction of
optimizing compilers that translate Java byte code into efficient machine-specific
code, it is becoming practical to implement the middle tier in Java. This is a big
plus, making it possible to take advantage of Java's robustness, multithreading, and
security features. JDBC is important to allow database access from a Java middle
tier.

JDBC Driver Types

The JDBC drivers that we are aware of at this time fit into one of
four categories:

 JDBC-ODBC bridge plus ODBC driver


 Native-API partly-Java driver
 JDBC-Net pure Java driver
 Native-protocol pure Java driver

JDBC-ODBC Bridge

If possible, use a Pure Java JDBC driver instead of the Bridge and
an ODBC driver. This completely eliminates the client configuration required by
ODBC. It also eliminates the potential that the Java VM could be corrupted by an
error in the native code brought in by the Bridge (that is, the Bridge native library,
the ODBC driver manager library, the ODBC driver library, and the database client
library).

41
What Is the JDBC- ODBC Bridge?

The JDBC-ODBC Bridge is a JDBC driver, which implements


JDBC operations by translating them into ODBC operations. To ODBC it appears
as a normal application program. The Bridge implements JDBC for any database
for which an ODBC driver is available. The Bridge is implemented as the
sun.jdbc.odbc Java package and contains a native library used to access ODBC.
The Bridge is a joint development of Intersolv and JavaSoft.

Java Server Pages (JSP)

Java server Pages is a simple, yet powerful technology for creating


and maintaining dynamic-content web pages. Based on the Java programming
language, Java Server Pages offers proven portability, open standards, and a mature
re-usable component model. The Java Server Pages architecture enables the
separation of content generation from content presentation. This separation not
eases maintenance headaches, it also allows web team members to focus on their
areas of expertise. Now, web page designer can concentrate on layout, and web
application designers on programming, with minimal concern about impacting each
other’s work.

Features of JSP

Portability:

Java Server Pages files can be run on any web server or web-enabled
application server that provides support for them. Dubbed the JSP engine, this
support involves recognition, translation, and management of the Java Server Page
lifecycle and its interaction components.

Components

It was mentioned earlier that the Java Server Pages architecture can
include reusable Java components. The architecture also allows for the embedding
of a scripting language directly into the Java Server Pages file. The components
current supported include Java Beans, and Servlets.

42
Processing

A Java Server Pages file is essentially an HTML document with JSP


scripting or tags. The Java Server Pages file has a JSP extension to the server as a
Java Server Pages file. Before the page is served, the Java Server Pages syntax is
parsed and processed into a Servlet on the server side. The Servlet that is generated
outputs real content in straight HTML for responding to the client.

Access Models:

A Java Server Pages file may be accessed in at least two different


ways. A client’s request comes directly into a Java Server Page. In this scenario,
suppose the page accesses reusable Java Bean components that perform particular
well-defined computations like accessing a database. The result of the Beans
computations, called result sets is stored within the Bean as properties. The page
uses such Beans to generate dynamic content and present it back to the client.

In both of the above cases, the page could also contain any valid
Java code. Java Server Pages architecture encourages separation of content from
presentation.

Steps in the execution of a JSP Application:

 The client sends a request to the web server for a JSP file by giving the name
of the JSP file within the form tag of a HTML page.

 This request is transferred to the JavaWebServer. At the server side


JavaWebServer receives the request and if it is a request for a jsp file server
gives this request to the JSP engine.

 JSP engine is program which can understands the tags of the jsp and then it
converts those tags into a Servlet program and it is stored at the server side.
This Servlet is loaded in the memory and then it is executed and the result
is given back to the JavaWebServer and then it is transferred back to the

43
result is given back to the JavaWebServer and then it is transferred back to
the client.

JDBC connectivity

The JDBC provides database-independent connectivity between the


J2EE platform and a wide range of tabular data sources. JDBC technology allows
an Application Component Provider to:

 Perform connection and authentication to a database server

 Manager transactions

 Move SQL statements to a database engine for preprocessing and


execution

 Execute stored procedures

 Inspect and modify the results from Select statements.

Tomcat 6.0 web server

Tomcat is an open source web server developed by Apache Group.


Apache Tomcat is the servlet container that is used in the official Reference
Implementation for the Java Servlet and Java Server Pages technologies. The Java
Servlet and Java Server Pages specifications are developed by Sun under the Java
Community Process. Web Servers like Apache Tomcat support only web
components while an application server supports web components as well as
business components (BEAs Weblogic, is one of the popular application server).
To develop a web application with jsp/servlet install any web server like JRun,
Tomcat etc to run your application.

44
45
5.2.3 Networking:

TCP/IP stack:

The TCP/IP stack is shorter than the OSI one:

Fig :5.2.3.1

TCP is a connection-oriented protocol; UDP (User Datagram Protocol) is a


connectionless protocol.

IP datagram’s :

The IP layer provides a connectionless and unreliable delivery


system. It considers each datagram independently of the others. Any association
between datagram must be supplied by the higher layers. The IP layer supplies a
checksum that includes its own header. The header includes the source and
destination addresses. The IP layer handles routing through an Internet. It is also
responsible for breaking up large datagram into smaller ones for transmission and
reassembling them at the other end.

UDP:
UDP is also connectionless and unreliable. What it adds to IP is a
checksum for the contents of the datagram and port numbers. These are used to give
a client/server model .

46
TCP:
TCP supplies logic to give a reliable connection-oriented protocol
above IP. It provides a virtual circuit that two processes can use to communicate.

Internet addresses:
In order to use a service, you must be able to find it. The Internet
uses an address scheme for machines so that they can be located. The address is a
32 bit integer which gives the IP address. This encodes a network ID and more
addressing. The network ID falls into various classes according to the size of the
network address.

Network address:
Class A uses 8 bits for the network address with 24 bits left over for
other addressing. Class B uses 16 bit network addressing. Class C uses 24 bit
network addressing and class D uses all 32.

Subnet address:
Internally, the UNIX network is divided into sub networks. Building
11 is currently on one sub network and uses 10-bit addressing, allowing 1024
different hosts.

Host address:
8 bits are finally used for host addresses within our subnet. This
places a limit of 256 machines that can be on the subnet.

47
Total address:

Fig :5.2.3.2

5.3 Modules:

 Removing Notational Words


 Generating Association Rule
 Sentiment Analysis
 Clustering Results.

5.3.1 REMOVINGNOTATIONAL WORDS :


With the seed words known, the general idea of implicit aspect
detection can be exploited to detect categories as well. The idea is to mine
association rules of the form [notional word → category] from a co-occurrence
matrix. Each entry in this co-occurrence matrix represents the frequency degree of
two notional words co-occurring in the same sentence. Stop words, like the and, as
well as less frequent words are omitted because they add little value for determining
the categories in review sentences.

5.3.2 GENERATING ASSOCIATION RULE:


Association rules are mined when a strong relation between a
notional word and one of the aspect categories exists, with the strength of the
relation being modeled using the co-occurrence frequency between category and
notional word. We distinguish between two different relation types: 1) direct and
2) indirect relations. A direct relation between two words A and B is modeled as
the positive conditional probability P(B|A) that word B is present in a sentence
given the fact that word A is present. An indirect relation between two words A and

48
B exists when both A and B have a direct relation with a third word C. This indicates
that A and B could be substitutes for each other, even though their semantics might
not be the same. Without checking for indirect relations, substitutes are usually not
found since they do not co-occur often together.
5.3.3 SENTIMENT ANALYSIS:
Sentiment analysis is a type of data mining that measures the
inclination of people’s opinions through natural language processing (NLP),
computational linguistics and text analysis, which are used to extract and analyze
subjective information from the Web - mostly social media and similar sources.

5.3.4 CLUSTERING RESULTS :


As the name suggests, these models are based on the notion that the
data points closer in data space exhibit more similarity to each other than the data
points lying farther away. These models can follow two approaches. In the first
approach, they start with classifying all data points into separate clusters & then
aggregating them as the distance decreases. In the second approach, all data points
are classified as a single cluster and then partitioned as the distance increases. Also,
the choice of distance function is subjective. These models are very easy to interpret
but lacks scalability for handling big datasets. Examples of these models are
hierarchical clustering algorithm and its variants.

Algorithm :
 Spreading Activation Algorithm: The data network structure used for the
spreading activation algorithm will consist of vertices that represent the notional
words, and links between two vertices representing a strictly positive co-occurrence
frequency. Each link represents the direct relation between two notional words and
receives weight equal to the conditional probability that word A co-occurs with
word B, given that B appears in a sentence. This also means that the links receive
direction as the conditional probability is not symmetric, making the data network
structure a co-occurrence digraph.

49
 Clustering Algorithm: Clustering analysis has been an emerging research
issue in data mining due its variety of applications. With the advent of many data
clustering algorithms in the recent few years and its extensive use in wide variety
of applications, including image processing, computational biology, mobile
communication, medicine and economics, has lead to the popularity of this
algorithms. Main problem with the data clustering algorithms is that it cannot be
standardized. Algorithm developed may give best result with one type of data set
but may fail or give poor result with data set of other types. Although there has been
many attempts for standardizing the algorithms which can perform well in all case
of scenarios but till now no major accomplishment has been achieved. Many
clustering algorithms have been proposed so far. However, each algorithm has its
own merits and demerits and cannot work for all real situations.

50
5.4 Sample code :

REGISTRATION CODE :
<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Product Category</title>

<meta name="keywords" content="free css website layout, insect, blog template,


XHTML, CSS" />

<meta name="description" content="Insect Blog Template - Free CSS website layout,


W3C compliant XHTML CSS" />

<link href="templatemo_style.css" rel="stylesheet" type="text/css" />

<!-- Free CSS Template | Designed by TemplateMo.com -->

<style type="text/css">

<!--

.style2 {color: #FF0000}

.style3 {font-size: 14px}

.style4 {

font-size: 18px;

color: #FFFFFF;

.style5 {font-size: 16px}

-->

</style>

</head>

<body>

51
<div id="templatemo_top_panel">

<div id="templatemo_top_section">

<div class="style2" id="site_title">

Sentiment Analysis </div>

<div class="style2" >

<div align="right">S<span class="style3">upervised and Unsupervised Aspect Category


Detection for <br />

Sentiment Analysis With Co-Occurrence Data </span></div>

</div>

<div id="templatemo_menu">

<ul>

<li><a href="index.html" >Home</a></li>

<li><a href="User.jsp" >User</a> </li>

<li><a href="PAdmin.jsp" class="current">Product Admin</a></li>

</ul>

</div> <!-- end of menu -->

</div> <!-- end of top section -->

</div> <!-- end of top panel -->

<div id="templatemo_content_panel">

<div id="templatemo_content_section">

<div id="templatemo_content_left">

<div id="left_column_section">

<div id="left_column_section_top"></div>

<div id="left_column_section_title">Admin Menu </div>

<div id="left_column_section_middle">

<div class="popular_post">

52
<h1>&raquo; <a href="View_Authorize_users.jsp">View and Authorizel Users </a>
</h1>

</div>

<div class="popular_post">

<h1>&raquo; <a href="index.html">Log Out </a> </h1>

</div>

</div>

</div>

</div> <!-- end of content left -->

<div id="templatemo_content_right">

<div class="right_column_section">

<div class="right_column_section_title">

<div align="center" class="style4">Category Added Successfully </div>

</div>

<div class="right_column_section_body">

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

<%@ page import="java.io.*"%>

<%@ page import="java.util.*" %>

<%@ page import="java.util.Date" %>

<%@ page import="com.oreilly.servlet.*"%>

<%@ page import ="java.text.SimpleDateFormat" %>

<span class="style18">

<%

ArrayList list = new ArrayList();

ServletContext context = getServletContext();

String dirName =context.getRealPath("Gallery/");

String title=null,categorie=null,location1=null,sk=null,bin = "", paramname=null;

53
FileInputStream fs=null;

File file1 = null;

try {

MultipartRequest multi = new MultipartRequest(request, dirName, 10 * 1024 *


1024);

Enumeration params = multi.getParameterNames();

while (params.hasMoreElements())

paramname = (String) params.nextElement();

if(paramname.equalsIgnoreCase("categorie"))

categorie=multi.getParameter(paramname);

FileInputStream fs1 = null;

String query1="select * from categories where category='"+categorie+"' ";

Statement st1=connection.createStatement();

ResultSet rs1=st1.executeQuery(query1);

if ( rs1.next() )

%>

</span>

<p class="style37">Categorie Already Exist..</p>

</p>

<p>&nbsp;</p>

<p><a href="A_AddCategory.jsp" class="style15 style38">Back</a><a


href="A_AddCategory.jsp" class="style8 style15"></a></p>

54
<p>

<%

else

SimpleDateFormat sdfDate = new SimpleDateFormat("dd/MM/yyyy");

SimpleDateFormat sdfTime = new SimpleDateFormat("HH:mm:ss");

Date now = new Date();

String strDate = sdfDate.format(now);

String strTime = sdfTime.format(now);

String dt = strDate + " " + strTime;

if(!categorie.equals(""))

String strQuery2 = "insert into categories(category) values('"+categorie+"')";

connection.createStatement().executeUpdate(strQuery2);
%><p class="style37">Category Added
Successfully..</p>

</p>

<p>&nbsp;</p>

<p><a href="A_AddCategory.jsp" class="style15 style38">Back</a></p>

<%

else

%><p class="style37">Please Input Categorie Name..</p>

<p class="style37">&nbsp;</p>

<a href="A_AddCategory.jsp" class="style15 style38">Back</a>

55
</p>

<%

catch (Exception e)

out.println(e.getMessage());

%>

<div class="cleaner"><span class="style5">&nbsp;<a href="AdminMain.jsp">Admin


Main</a></span></div>

</div>

</div>

<div class="right_column_section">

<div class="right_column_section_body"></div>

</div>

<div class="cleaner_with_height">&nbsp;</div>

</div> <!-- end of content right -->

</div> <!-- end of content section -->

</div> <!-- end of content panel -->

<div id="templatemo_bottom_panel">

<div id="templatemo_bottom_section"></div>

<!-- end of bottom section -->

</div>

<!-- end of bottom panel -->

<div id="templatemo_footer_panel">

56
</div> <!-- end of footer panel -->

</body>

<!-- Designed by w w w . t e m p l a t e m o . c o m --> </html>

57
SAMPLE CODE 2 :
<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>User Register</title>

<meta name="keywords" content="free css website layout, insect, blog template,


XHTML, CSS" />

<meta name="description" content="Insect Blog Template - Free CSS website layout,


W3C compliant XHTML CSS" />

<link href="templatemo_style.css" rel="stylesheet" type="text/css" />

<!-- Free CSS Template | Designed by TemplateMo.com -->

<style type="text/css">

<!--

.style2 {color: #FF0000}

.style3 {font-size: 14px}

.style4 {font-size: 16px}

-->

</style>

</head>

<body>

<div id="templatemo_top_panel">

<div id="templatemo_top_section">

<div class="style2" id="site_title">

Sentiment Analysis </div>

<div class="style2" >

58
<div align="right">S<span class="style3">upervised and Unsupervised Aspect Category
Detection for <br />

Sentiment Analysis With Co-Occurrence Data </span></div>

</div>

<div id="templatemo_menu">

<ul>

<li><a href="index.html" >Home</a></li>

<li><a href="User.jsp" class="current">User</a></li>

<li><a href="PAdmin.jsp">Product Admin</a></li>

</ul>

</div> <!-- end of menu -->

</div> <!-- end of top section -->

</div> <!-- end of top panel -->

<div id="templatemo_content_panel">

<div id="templatemo_content_section">

<div id="templatemo_content_left">

<div id="login_section">

<div id="login_section_top"></div>

<div id="login_section_title">User Registration </div>

<div id="login_section_bottom"></div>

</div>

<div id="left_column_section">

<div id="left_column_section_top"></div>

<div id="left_column_section_title">Concepts</div>

<div id="left_column_section_middle">

<div class="popular_post">

<h1>&raquo; Aspect category detection</h1>

59
</div>

<div class="popular_post">

<h1>&raquo;Consumer reviews</h1>

</div>

<div class="popular_post">

<h1>&raquo; Co-occurrence data</h1>

</div>

<div class="popular_post">

<h1>&raquo; Sentiment analysis,Spreading activation</h1>

</div>

</div>

</div>

</div> <!-- end of content left -->

<div id="templatemo_content_right">

<div class="right_column_section">

<div class="right_column_section_title">

Welcome to User Register </div>

<div class="right_column_section_body">

<form action="UserRegister1.jsp" method="post" id="" enctype="multipart/form-data">

<label for="name"><span class="style33">User Name (required)</span></label>

<p class="style33">

<input id="name" name="userid" class="text" />

</p>

<span class="style33">

<label for="password">Password (required)</label>

</span>

60
<p class="style33">

<input type="password" id="password" name="pass" class="text" />

</p>

<span class="style33">

<label for="email">Email Address (required)</label>

</span>

<p class="style33">

<input id="email" name="email" class="text" />

</p>

<span class="style33">

<label for="mobile">Mobile Number (required)</label>

</span>

<p class="style33">

<input id="mobile" name="mobile" class="text" />

</p>

<span class="style33">

<label for="address">Your Address</label>

</span>

<p class="style33">

<textarea id="address" name="address" rows="3" cols="50"></textarea>

</p>

<span class="style33">

<label for="dob">Date of Birth (required)<br />

</label>

</span>

<p class="style33">

61
<input id="dob" name="dob" class="text" />

</p>

<span class="style33">

<label for="gender">Select Gender (required)</label>

</span>

<p class="style33">

<select id="s1" name="gender" style="width:100px;" class="text">

<option>--Select--</option>

<option>MALE</option>

<option>FEMALE</option>

</select>

</p>

<span class="style33">

<label for="pincode"></label>

<label for="location"></label>

</span>

<p class="style33">

<label for="pic">Select Profile Picture (required)</label>

<input type="file" id="pic" name="pic" class="text" />

</p>

<p><br />

<input name="submit" type="submit" value="REGISTER" />

</p>

<p>&nbsp;</p>

</form>

<div class="cleaner">&nbsp;B</div>

62
</div>

</div>

<div class="right_column_section">

<div class="right_column_section_body"></div>

</div>

<div class="right_column_section">

<div class="right_column_section_body">

<div class="cleaner style4">&nbsp;<a href="index.html">Back</a></div>

</div>

</div>

<div class="cleaner_with_height">&nbsp;</div>

</div> <!-- end of content right -->

</div> <!-- end of content section -->

</div> <!-- end of content panel -->

<div id="templatemo_bottom_panel">

<div id="templatemo_bottom_section"></div>

<!-- end of bottom section -->

</div>

<!-- end of bottom panel -->

<div id="templatemo_footer_panel">

</div> <!-- end of footer panel -->

</body><!-- Designed by w w w . t e m p l a t e m o . c o m -->

</html>

63
CHAPTER 6

SYSTEM TESTING

6.1 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 the Software 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.

6.1.1 Testing Strategy and approach :

A strategy for software testing may also be viewed in the context of


the spiral. Unit testing begins at the vertex of the spiral and concentrates on each
unit of the software as implemented in source code. Testing progress by moving
outward along the spiral to integration testing,

Here focus is on the design and construction of software


architecture. Talking another turn on outward on the spiral we encounter validation
testing where requirements established as part of software requirements analysis
are validated against the software that has been constructed. Finally we arrive at
system testing, where the software and other system elements are tested as a whole.

Field testing will be performed manually and functional tests will be


written in detail.

Test objectives

 All field entries must work properly.

 Pages must be activated from the identified link.

64
 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.

UNIT TESTING

MODULE
TESTING

Component Testing SUB-SYSTEM


TESING

SYSTEM
TESTING
Integration Testing

ACCEPTANCE
User Testing TESTING

Figure 6.1.1: Testing Strategies

65
Unit testing:

Unit testing involves the design of test cases that validate that the
internal program logic is functioning properly, and that program inputs produce
valid outputs. All decision branches and internal code flow should be validated. It
is the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing, that
relies on knowledge of its construction and is invasive. Unit tests perform basic
tests at component level and test a specific business process, application, and/or
system configuration. Unit tests ensure that each unique path of a business process
performs accurately to the documented specifications and contains clearly defined
inputs and expected results.

Integration testing:

Integration tests are designed to test integrated software components


to determine if they actually run as one program. Testing is event driven and is
more concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as shown
by successfully unit testing, the combination of components is correct and
consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

Functional test:

Functional tests provide systematic demonstrations that functions


tested are available as specified by the business and technical requirements, system
documentation, and user manuals.

Functional testing is centered on the following items:

Valid Input : identified classes of valid input must be accepted.

Invalid Input : identified classes of invalid input must be rejected.

66
Functions : identified functions must be exercised.

Output : identified classes of application outputs must be


exercised.

Systems/Procedures: interfacing systems or procedures must be invoked.

Organization and preparation of functional tests is focused on


requirements, key functions, or special test cases. In addition, systematic coverage
pertaining to identify Business process flows; data fields, predefined processes, and
successive processes must be considered for testing. Before functional testing is
complete, additional tests are identified and the effective value of current tests is
determined.

System Testing:

System testing ensures that the entire integrated software system


meets requirements. It tests a configuration to ensure known and predictable results.
An example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

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.

67
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.

68
CHAPTER 7
RESULTS

7.1 SCREEN SHOTS:

Topology Construction

69
Login Form

70
Registration

Admin Login Form

71
User menu

72
73
User Menu

74
Search Post and View Response

75
76
77
78
79
80
81
82
CHAPTER 8

CONCLUSION AND FUTURE SCOPE

In this paper we have presented two methods for detecting aspect


categories, that is useful for online review summarization. The first, unsupervised
method, uses spreading activation over a graph built from word co-occurrence data,
enabling the use of both direct and indirect relations between words. This results in
every word having an activation value for each category that represents how likely
it is to imply that category. While other approaches need labeled training data to
operate, this method works unsupervised. The major drawback of this method is
that a few parameters need to be set beforehand, and especially the category firing
thresholds (i.e., τc) need to be carefully set to gain a good performance. We have
given heuristics on how these parameters can be set. The second, supervised,
method uses a rather straightforward co-occurrence method where the co-
occurrence frequency between annotated aspect categories and both lemmas and
dependencies is used to calculate conditional probabilities. If the maximum
conditional probability is higher than the associated, trained, threshold, the category
is assigned to that sentence. Evaluating this approach on the official SemEval-2014
test set , shows a high F1-score of 83%. In terms of future work, we would like to
investigate how injecting external knowledge would improve the results. While
lexicons are a good way of doing that, as shown by Kiritchenko , we are especially
interested in exploiting more semantic alternatives, like ontologies or other
semantic networks. Also, as we are dealing with unbalanced data, we plan to
explore machine learning techniques that address this problem.

83
REFERENCES
 P. F. Bone, “Word-of-mouth effects on short-term and long-term product
judgments,” J. Bus. Res., vol. 32, no. 3, pp. 213–223, 1995.
 R. Feldman, “Techniques and applications for sentiment analysis,”
Commun. ACM, vol. 56, no. 4, pp. 82–89, 2013.
 S. Sen and D. Lerman, “Why are you telling me this? An examination into
negative consumer reviews on the Web,” J. Interact. Marketing, vol. 21, no. 4, pp.
76–94, 2007.
 B. Bickart and R. M. Shindler, “Internet forums as influential sources of
consumer information,” J. Consum. Res., vol. 15, no. 3, pp. 31–40, 2001.
 D. Smith, S. Menon, and K. Sivakumar, “Online peer and editorial
recommendations, trust, and choice in virtual markets,” J. Interact. Marketing, vol.
19, no. 3, pp. 15–37, 2005.
 M. Trusov, R. E. Bucklin, and K. Pauwels, “Effects of word-of-mouth
versus traditional marketing: Findings from an Internet social networking site,” J.
Marketing, vol. 73, no. 5, pp. 90–102, 2009.
 M. T. Adjei, S. M. Noble, and C. H. Noble, “The influence of C2C
communications in online brand communities on customer purchase behavior,” J.
Acad. Marketing Sci., vol. 38, no. 5, pp. 634–653, 2010.
 B. Pang and L. Lee, “Opinion mining and sentiment analysis,” Found.
Trends Inf. Retrieval, vol. 2, nos. 1–2, pp. 1–135, 2008.
 C.-L. Liu, W.-H. Hsaio, C.-H. Lee, G.-C. Lu, and E. Jou, “Movie rating and
review summarization in mobile environment,” IEEE Trans. Syst., Man, Cybern.
C, Appl. Rev., vol. 42, no. 3, pp. 397–407, May 2012.
 M. Pontiki et al., “SemEval-2014 Task 4: Aspect based sentiment analysis,”
in Proc. 8th Int. Workshop Semantic Eval. (SemEval), Dublin, Ireland, 2014, pp.
27–35.
 S. Kiritchenko, X. Zhu, C. Cherry, and S. M. Mohammad, “NRCCananda-
2014: Detecting aspects and sentiment in customer reviews,” in Proc. 8th Int.
Workshop Semantic Eval. (SemEval), Dublin, Ireland, 2014, pp. 437–442.

84
 T. Brychcin, M. Konkol, and J. Steinberger, “UWB: Machine learning
approach to aspect-based sentiment analysis,” in Proc. 8th Int. Workshop Semantic
Eval. (SemEval), Dublin, Ireland, 2014, pp. 817–822.
 C. R. C. Brun, D. N. Popa, and C. Roux, “XRCE: Hybrid classification for
aspect-based sentiment analysis,” in Proc. 8th Int. Workshop Semantic Eval.
(SemEval), Dublin, Ireland, 2014, pp. 838–842.
 G. Castellucci, S. Filice, D. Croce, and R. Basili, “UNITOR: Aspect based
sentiment analysis with structured learning,” in Proc. 8th Int. Workshop Semantic
Eval. (SemEval), Dublin, Ireland, 2014, pp. 761–767. [15] Z. Hai, K. Chang, and
J.-J. Kim, “Implicit feature identification via co-occurrence association rule
mining,” in Proc. 12th Int. Conf. Comput. Linguist. Intell. Text Process. (CICLing),
Tokyo, Japan, 2011, pp. 393–404. [16] K. Schouten and F. Frasincar, “Survey on
aspect-level sentiment analysis,” IEEE Trans. Knowl. Data Eng., vol. 28, no. 3, pp.
813–830, Mar. 2016.
 Q. Su, K. Xiang, H. Wang, B. Sun, and S. Yu, “Using pointwise mutual
information to identify implicit features in customer reviews,” in Computer
Processing of Oriental Languages. Beyond the Orient: The Research Challenges
Ahead (LNCS 4285), Y. Matsumoto, R. Sproat, K.-F. Wong, and M. Zhang, Eds.
Berlin, Germany: Springer, 2006, pp. 22–30.
 Q. Su et al., “Hidden sentiment association in Chinese Web opinion
mining,” in Proc. 17th Conf. World Wide Web (WWW), Beijing, China, 2008, pp.
959–968.
 X. Zheng, Z. Lin, X. Wang, K.-J. Lin, and M. Song, “Incorporating
appraisal expression patterns into topic modeling for aspect and sentiment word
identification,” Knowl. Based Syst., vol. 61, no. 1, pp. 29–47, 2014. [20] W. Wang,
H. Xu, and W. Wan, “Implicit feature identification via hybrid association rule
mining,” Expert Syst. Appl. Int. J., vol. 40, no. 9, pp. 3518–3531, 2013.
 Y. Zhang and W. Zhu, “Extracting implicit features in Online customer
reviews for opinion mining,” in Proc. 22nd Int. Conf. World Wide Web Companion
(WWW Companion), 2013, pp. 103–104.
 G. Qiu, B. Liu, J. Bu, and C. Chen, “Opinion word expansion and target

85
extraction through double propagation,” Comput. Linguist., vol. 37, no. 1, pp. 9–
27, 2011.
 K. Schouten, F. Frasincar, and F. de Jong, “COMMIT-P1WP3: A co-
occurrence based approach to aspect-level sentiment analysis,” in Proc. 8th Int.
Workshop Semantic Eval. (SemEval), Dublin, Ireland, 2014, pp. 203–207.
 A. Garcia-Pablos, M. Cuadros, S. Gaines, and G. Rigau, “V3: Unsupervised
generation of domain aspect terms for aspect based sentiment analysis,” in Proc.
8th Int. Workshop Semantic Eval. (SemEval), Dublin, Ireland, 2014, pp. 833–837.
 Z. Wu and M. Palmer, “Verbs semantics and lexical selection,” in Proc.
32nd Annu. Meeting Assoc. Comput. Linquistics, Las Cruces, NM, USA, 1994, pp.
133–138.
 F. Crestani, “Application of spreading activation techniques in information
retrieval,” Artif. Intell. Rev., vol. 11, no. 6, pp. 453–482, 1997. [27] S. Bagchi, G.
Biswas, and K. Kawamura, “Task planning under uncertainty using a spreading
activation network,” IEEE Trans. Syst., Man, Cybern. A, Syst., Humans, vol. 30,
no. 6, pp. 639–650, Nov. 2000.
 A. Katifori, C. Vassilakis, and A. Dix, “Ontologies and the brain: Using
spreading activation through ontologies to support personal interaction,” Cognitive
Syst. Res., vol. 11, no. 1, pp. 25–41, 2010.
 C. D. Manning et al., “The Stanford CoreNLP natural language processing
toolkit,” in Proc. 52nd Annu. Meeting Assoc. Comput. Linguist. Syst.
Demonstrations, 2014, pp. 55–60. [Online]. Available:
http://www.aclweb.org/anthology/P/P14/P14-5010
 M.-C. de Marneffe and C. D. Manning, “Stanford typed dependencies
manual,” Stanford NLP Group, Stanford University, Stanford, CA, USA, Tech.
Rep., Sep. 2008. [Online]. Available:
https://nlp.stanford.edu/software/dependencies_manual.pdf
 Y. Tang, Y.-Q. Zhang, N. V. Chawla, and S. Krasser, “SVMs modeling for
highly imbalanced classification,” IEEE Trans. Syst., Man, Cybern. B, Cybern.,
vol. 39, no. 1, pp. 281–288, Feb. 2009.

86
87

Вам также может понравиться