7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
1/53
2
SPEECH SYNTHESIZING SENTIENT QUERY
ANALYSER AND RESPONDER
A PROJECT REPORT
Submitted by
S.SANTHOSH KUMAR
V.KARTHIKEYAN
in partial fulfillment for the award of the degree
of
BACHELOR OF ENGINEERING
IN
COMPUTER SCIENCE AND ENGINEERING
SHREE MOTILAL KANHAIYALAL FOMRA INSTITUTE OF
TECHNOLOGY, KELAMBAKKAM
ANNA UNIVERSITY : CHENNAI 600 025
MAY 2011
ANNA UNIVERSITY : CHENNAI 600 025
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
2/53
2
BONAFIDE CERTIFICATE
Certified that this project report SPEECH SYNTHESIZING SENTIENT
QUERY ANALYSER AND RESPONDER is the bonafide work of
R.Rajarajan and S.Vikram Srinath who carried out the project work under my
supervision.
SIGNATURE SIGNATURE
MR.BHARATHI RAJA MR.VIJAI ANANDHead of the Department SUPERVISORDepartment of Computer Science, Department of Computer ScienceShree Motilal kanhaiyalal fomra Shree Motilal kanhaiyalal fomraInstitute of technology, Institute of technology,Kelambakkam-603103 kelambakkam-603103
INTERNAL EXAMINER EXTERNAL EXAMINER
ACKNOWLEDGEMENT
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
3/53
2
We would like to express my thanks to our honorable Correspondent
Mr.ShreeKumar Fomra for the facilities and support given by him in the college.
We would like to express our sincere thanks to benevolent Principal
Dr.R.John Stephen, Ph.D., for his valuable guidance, able supervision,
encouragement and enthusiasm throughout this project.
We deeply indebted to Mr. S.BarathiRaja, M.E Head of the Department,
Department of Computer Science and Engineering, for extending all facilities and
directions to complete this Project.
We profoundly express our gratitude and indebtedness to our guide
Mr.VijaiAnand, M.E Lecturer, Department of Computer Science And
Engineering, S M K fomra Institute of Technology, Chennai for his valuable
guidance and encouragement throughout this project work
We would like to thank all other staff members, our parents and all my
friends for their valuable comments and encouraging remarks.
ABSTRACT
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
4/53
2
The main aim of this project is to develop a speech search engine which is capable
of doing both text to speech and speech to text search analysis and responding
based on the query given by user.
With our application we thrive to bridge the gap between human-machine
communications by using the various speech synthesizing techniques. It can take
voice input as search query and respond back with the right result with as much
accuracy as possible keeping the response as much humanly as possible.
It listens to the words spoken by the user and converts them to text and
queries using it. It then finds out the most relevant result and reads the most
relevant text out of it.
TABLE OF CONTENTS
CHAPTER TITLE PAGE NO.
LIST OF FIGURES ii
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
5/53
2
LIST OF ABBREVATIONS iii
1 INTRODUCTION
1 About the Project 152 SYSTEM ANALYSIS
1 Existing system 162.2 Proposed system 16
3 REQUIREMENTS SPECIFICATION
3.1 Introduction 17
1 Hardware and Software specification 172 Technologies Used 18
3.3.1 Introduction to Visual Studio
3.3.2 Introduction to .NET Framework 19
3.3.3 Introduction to VB.net 20
3.3.4 World of Open Source 21
3.3.4.1 PHP 22
3.3.4.2 Ruby 23
3.3.5 APACHE Server 20
3.3.5.1 Introduction to APACHE server 213.3.6 Introduction to MySQL
4 SYSTEM DESIGN
4.1 Architecture Diagram 22
4.2 Sequence Diagram 23
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
6/53
2
4.3 Use Case Diagram 24
5 SYSTEM DESIGNDETAILED
5.1 Modules 26
5.2 Module explanation 26
6 VERIFICATION AND VALIDATION 27
CODING
SNAP SHOTS
REFERENCE
LIST OF FIGURES
FIGURE NO TITLE PAGE NO
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
7/53
2
Architecture diagram
of .NET framework
Architecture diagram
of SSSQAR
Sequence Diagram of
SSQAR
Use Case Diagram
SSQAR
LIST OF ABBREVATIONS
IEEE The Institute of Electrical and Electronics Engineers, Inc.
HTML Hyper Text Markup Language
HTTP Hyper Text Transport Protocol
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
8/53
2
SRS Software Requirements Specification
API Application Programming Interface
PHP Hypertext Preprocessor
OS Operating System
SSQAR Speech synthesizing sentient query analyzer and responder
INTRODUCTION
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
9/53
2
CHAPTER 1
INTRODUCTION
1 About the project:
Speech synthesizing sentient query analyzer and responder is an end to
end voice process, where the user can ask his queries directly to the system. It
fetches and analyzes those queries brings back the perfect and accurate result in
voice mode. In simple words this is a lively interrogation between the human and
the computer.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
10/53
2
Human voice is received with the help of a microphone, and then
Microsofts speech recognition API called MS Speech API (SAPI) 5.3 is used to
convert the given voice query in to textual query. Regular expression and pattern
matching system is used to prune the given textual query, as a result a perfect
keyword is received. This keyword is then fed into online search engines (Google
web services). From the list of results the accurate answer is yielded by data
mining process. Respective grammar is added to the perfect result in the result
builder module. Finally the textual form of result is converted into speech with the
help of MS Speech SPI (SAPI) 5.3 again.
SYSTEM ANALYSIS
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
11/53
2
CHAPTER 2
SYSTEM ANALYSIS
2.1 Existing system
The existing system requires at the least minimal keyboard or mouse interaction. It
lacks direct connectivity to the cloud and integration with web services which
makes them confined to a local storage with lesser data handling capabilities. It
does not allow spelling correction with letter by letter spelling dictation. It
responds to keyword tokens only and tends to fail or perform inefficiently when
further inputs are given.
1 Proposed system
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
12/53
2
The proposed system takes input in the regular human form. It has direct cloud
connectivity to recover updated information. Integrated with various web services
using a secured API key. It also has offline local storage to recover frequently
asked queries efficiently. Uses regular expression and text pattern matching to
recover the executed queries.
REQUIREMENT SPECIFICATION
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
13/53
2
CHAPTER 3
REQUIREMENT SPECIFICATIONS
3.1 INTRODUCTION
The requirements specification is a technical specification of
requirements for the software products. It is the first step in the requirements
analysis process it lists the requirements of a particular software system including
functional, performance and security requirements. The requirements also provide
usage scenarios from a user, an operational and an administrative perspective. The
purpose of software requirements specification is to provide a detailed overview of
the software project, its parameters and goals. This describes the project target
audience and its user interface, hardware and software requirements. It defines how
the client, team and audience see the project and its functionality.
3.2 HARDWARE AND SOFTWARE SPECIFICATION
3.2.1 HARDWARE REQUIREMENTS
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
14/53
2
Hard Disk : 80GB and Above
RAM : 512 MB and Above
Processor : Pentium IV and Above
3.2.2 SOFTWARE REQUIREMENTS
Server : Windows Operating System 2000 & Above
Language : VB.NET, PHP, Ruby
Server : Apache
Database : MySQL
3.3 TECHNOLOGIES USED
3.3.1 INTRODUCTION TO VISUAL STUDIO:
Microsoft Visual Studio is an integrated development
environment (IDE) from Microsoft. It can be used to develop console and
graphical user interface applications along with Windows Forms applications, web
sites, web applications, and web services in both native code together with
managed code for all platforms supported by Microsoft Windows, Windows
Mobile, Windows CE, .NET Framework, .NET Compact Framework and
Microsoft Silverlight.
Visual Studio includes a code editor supporting IntelliSense as well as coderefactoring. The integrated debugger works both as a source-level debugger and a
machine-level debugger. Other built-in tools include a forms designer for building
GUI applications, web designer, class designer, and database schema designer. It
accepts plug-ins that enhance the functionality at almost every levelincluding
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
15/53
2
adding support for source-control systems (like Subversion and Visual SourceSafe)
and adding new toolsets like editors and visual designers for domain-specific
languages or toolsets for other aspects of the software development lifecycle (like
the Team Foundation Server client: Team Explorer).
Visual Studio supports different programming languages by means of language
services, which allow the code editor and debugger to support (to varying degrees)
nearly any programming language, provided a language-specific service exists.
ARCHITECTURE OF VISUAL STUDIO:
Visual Studio does not support any programming language, solution or tool
intrinsically. Instead, it allows plugging in various types of functionality. Specific
functionality is coded as a VSPackage. When installed, the functionality is
available as a Service. The IDE provides three services: SVsSolution, which
provides the ability to enumerate projects and solutions; SVsUIShell, which
provides windowing and UI functionality (including tabs, toolbars and tool
windows); and SVsShell, which deals with registration of VSPackages. In addition,the IDE is also responsible for coordinating and enabling communication between
services. All editors, designers, project types and other tools are implemented as
VSPackages. Visual Studio uses COM to access the VSPackages. The Visual
Studio SDK also includes the Managed Package Framework (MPF), which is a set
of managed wrappers around the COM-interfaces that allow the Packages to be
written in any CLI compliant language. However, MPF does not provide all the
functionality exposed by the Visual Studio COM interfaces. The services can then
be consumed for creation of other packages, which add functionality to the Visual
Studio IDE.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
16/53
2
Support for programming languages is added by using a specific VSPackage
called a Language Service. A language service defines various interfaces which the
VSPackage implementation can implement to add support for various
functionalities. Functionalities that can be added this way include syntax coloring,
statement completion; brace matching, parameter information tooltips, member
lists and error markers for background compilation. If the interface is implemented,
the functionality will be available for the language. Language services are to be
implemented on a per-language basis. The implementations can reuse code from
the parser or the compiler for the language. Language services can be implemented
either in native code or managed code. For native code, either the native COM
interfaces or the Babel Framework (part of Visual Studio SDK) can be used. For
managed code, the MPF includes wrappers for writing managed language services.
Visual Studio does not include any source control support built in but it
defines two alternative ways for source control systems can integrate with the IDE.
A Source Control VSPackage can provide its own customized user interface. In
contrast, a source control plug-in using the MSSCCI (Microsoft Source Code
Control Interface) provides a set of functions that are used to implement various
source control functionality, with a standard Visual Studio user interface. MSSCCI
was first used to integrate Visual SourceSafe with Visual Studio 6.0 but was later
opened up via the Visual Studio SDK. Visual Studio .NET 2002 used MSSCCI
1.1, and Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005, 2008
and 2010 use MSSCCI Version 1.3, which adds support for rename and deletepropagation as well as asynchronous opening.
Visual Studio supports running multiple instances of the environment (each with
its own set of VSPackages). The instances use different registry hives (see MSDN's
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
17/53
2
definition of the term "registry hive" in the sense used here) to store their
configuration state and are differentiated by their AppId (Application ID). The
instances are launched by an AppId-specific .exe that selects the AppId, sets the
root hive and launches the IDE. VSPackages registered for one AppId are
integrated with other VSPackages for that AppId. The various product editions of
Visual Studio are created using the different AppIds. The Visual Studio Express
edition products are installed with their own AppIds, but the Standard, Professional
and Team Suite products share the same AppId. Consequently, one can install the
Express editions side-by-side with other editions, unlike the other editions which
update the same installation. The professional edition includes a superset of the
VSPackages in the standard edition and the team suite includes a superset of the
VSPackages in both other editions. The AppId system is leveraged by the Visual
Studio Shell in Visual Studio 2008.
3.3.2 INTRODUCTION TO .NET FRAMEWORK
The .NET Framework (pronounced dot net) is a software framework for Microsoft
Windows operating systems. It includes a large library, and it supports several
programming languages which allow language interoperability (each language can
use code written in other languages). The .NET library is available to all the
programming languages that .NET supports.
The framework's Base Class Library provides user interface, data access,
database connectivity, cryptography, web application development, numeric
algorithms, and network communications. The class library is used by
programmers, who combine it with their own code to produce applications.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
18/53
2
Programs written for the .NET Framework execute in a software (as
contrasted to hardware) environment, known as the Common Language Runtime
(CLR). The CLR is an application virtual machine so that programmers need notconsider the capabilities of the specific CPU that will execute the program. The
CLR also provides other important services such as security, memory
management, and exception handling. The class library and the CLR together
constitute the .NET Framework.
The .NET Framework is intended to be used by most new applications created for
the Windows platform. To develop new applications, software developers must
also install Microsoft's SDK for Windows 7 or .NET Framework 4 (or newer) or
Visual Studio 2010.
Principal design features:
Interoperability
Because computer systems commonly require interaction between new and older
applications, the .NET Framework provides means to access functionality that is
implemented in programs that execute outside the .NET environment. Access to
COM components is provided in the System.Runtime.InteropServices and
System.EnterpriseServices namespaces of the framework; access to other
functionality is provided using the P/Invoke feature.
Common Language Runtime EngineThe Common Language Runtime (CLR) is the execution engine of the .NET
Framework. All .NET programs execute under the supervision of the CLR,
guaranteeing certain properties and behaviors in the areas of memory management,
security, and exception handling.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
19/53
2
Language Independence
The .NET Framework introduces a Common Type System, or CTS. The CTS
specification defines all possible data types and programming constructs supported
by the CLR and how they may or may not interact with each other conforming to
the Common Language Infrastructure (CLI) specification. Because of this feature,
the .NET Framework supports the exchange of types and object instances between
libraries and applications written using any conforming .NET language.
Base Class Library
The Base Class Library (BCL), part of the Framework Class Library (FCL), is a
library of functionality available to all languages using the .NET Framework. The
BCL provides classes which encapsulate a number of common functions, including
file reading and writing, graphic rendering, database interaction, XML document
manipulation and so on.
Simplified Deployment
The .NET Framework includes design features and tools that help manage the
installation of computer software to ensure that it does not interfere with
previously installed software, and that it conforms to security requirements.
Security
The design is meant to address some of the vulnerabilities, such as buffer
overflows, that have been exploited by malicious software. Additionally, .NET
provides a common security model for all applications.
Portability
The design of the .NET Framework allows it theoretically to be platform
agnostic, and thus cross-platform compatible. That is, a program written to use the
framework should run without change on any type of system for which the
framework is implemented. While Microsoft has never implemented the full
framework on any system except Microsoft Windows, the framework is engineered
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
20/53
2
to be platform agnostic, and cross-platform implementations are available for other
operating systems (see Silverlight and the Alternative implementations section
below). Microsoft submitted the specifications for the Common Language
Infrastructure (which includes the core class libraries, Common Type System, and
the Common Intermediate Language), the C# language, and the C++/CLI language
to both ECMA and the ISO, making them available as open standards. This makes
it possible for third parties to create compatible implementations of the framework
and its languages on other platforms.
Architecture of .NET framework
Common Language Infrastructure (CLI)
The purpose of the Common Language Infrastructure, is to provide a language-
neutral platform for application development and execution, including functions
for Exception handling, Garbage Collection, security, and interoperability. By
implementing the core aspects of the .NET Framework within the scope of the
CLI, this functionality will not be tied to a single language but will be available
across the many languages supported by the framework. Microsoft's
implementation of the CLI is called the Common Language Runtime, or CLR.
Assemblies
The CIL code is housed in .NET assemblies. As mandated by specification,
assemblies are stored in the Portable Executable (PE) format, common on the
Windows platform for all DLL and EXE files. The assembly consists of one ormore files, one of which must contain the manifest, which has the metadata for the
assembly. The complete name of an assembly (not to be confused with the
filename on disk) contains its simple text name, version number, culture, and
public key token. The public key token is a unique hash generated when the
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
21/53
2
assembly is compiled, thus two assemblies with the same public key token are
guaranteed to be identical from the point of view of the framework.[dubious
discuss] A private key can also be specified known only to the creator of the
assembly and can be used for strong naming and to guarantee that the assembly is
from the same author when a new version of the assembly is compiled (required to
add an assembly to the Global Assembly Cache).
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
22/53
2
Class Library
The .NET Framework includes a set of standard class libraries. The class library is
organized in a hierarchy of namespaces. Most of the built in APIs are part of either
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
23/53
2
System.* or Microsoft.* namespaces. These class libraries implement a large
number of common functions, such as file reading and writing, graphic rendering,
database interaction, and XML document manipulation, among others. The .NET
class libraries are available to all CLI compliant languages. The .NET Framework
class library is divided into two parts: the Base Class Library and the Framework
Class Library.
The Base Class Library (BCL) includes a small subset of the entire class library
and is the core set of classes that serve as the basic API of the Common Language
Runtime. The classes in mscorlib.dll and some of the classes in System.dll and
System.core.dll are considered to be a part of the BCL. The BCL classes are
available in both .NET Framework as well as its alternative implementations
including .NET Compact Framework, Microsoft Silverlight and Mono.
The Framework Class Library (FCL) is a superset of the BCL classes and refers to
the entire class library that ships with .NET Framework. It includes an expanded
set of libraries, including Windows Forms, ADO.NET, ASP.NET, Language
Integrated Query, Windows Presentation Foundation, Windows Communication
Foundation among others. The FCL is much larger in scope than standard libraries
for languages like C++, and comparable in scope to the standard libraries of Java.
Memory management
The .NET Framework CLR frees the developer from the burden of managing
memory (allocating and freeing up when done); instead it does the memory
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
24/53
2
management itself even though there are no actual guarantees as to when the
Garbage Collector will perform its work, unless an explicit double-call is
issued[citation needed]. To this end, the memory allocated to instantiations of
.NET types (objects) is done contiguously from the managed heap, a pool of
memory managed by the CLR. As long as there exists a reference to an object,
which might be either a direct reference to an object or via a graph of objects, the
object is considered to be in use by the CLR. When there is no reference to an
object, and it cannot be reached or used, it becomes garbage. However, it still
holds on to the memory allocated to it. .NET Framework includes a garbage
collector which runs periodically, on a separate thread from the application's
thread, that enumerates all the unusable objects and reclaims the memory allocated
to them.
The .NET Garbage Collector (GC) is a non-deterministic, compacting, mark-and-
sweep garbage collector. The GC runs only when a certain amount of memory has
been used or there is enough pressure for memory on the system. Since it is not
guaranteed when the conditions to reclaim memory are reached, the GC runs are
non-deterministic. Each .NET application has a set of roots, which are pointers to
objects on the managed heap (managed objects). These include references to static
objects and objects defined as local variables or method parameters currently in
scope, as well as objects referred to by CPU registers. When the GC runs, it pauses
the application, and for each object referred to in the root, it recursively enumerates
all the objects reachable from the root objects and marks them as reachable. It uses.NET metadata and reflection to discover the objects encapsulated by an object,
and then recursively walk them. It then enumerates all the objects on the heap
(which were initially allocated contiguously) using reflection. All objects not
marked as reachable are garbage. This is the mark phase. Since the memory held
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
25/53
2
by garbage is not of any consequence, it is considered free space. However, this
leaves chunks of free space between objects which were initially contiguous. The
objects are then compacted together to make used memory contiguous again. Any
reference to an object invalidated by moving the object is updated to reflect the
new location by the GC. The application is resumed after the garbage collection is
over.
The GC used by .NET Framework is actually generational. Objects are assigned a
generation; newly created objects belong to Generation 0. The objects that survive
a garbage collection are tagged as Generation 1, and the Generation 1 objects that
survive another collection are Generation 2 objects. The .NET Framework uses up
to Generation 2 objects. Higher generation objects are garbage collected less
frequently than lower generation objects. This helps increase the efficiency of
garbage collection, as older objects tend to have a larger lifetime than newer
objects. Thus, by removing older (and thus more likely to survive a collection)
objects from the scope of a collection run, fewer objects need to be checked and
compacted.
3.3.3 INTRODUCTION TO VB.NET
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
26/53
2
Visual Basic .NET (VB.NET) is an object-oriented computer programming
language that can be viewed as an evolution of the classic Visual Basic (VB)
which is implemented on the .NET Framework. Microsoft currently supplies two
major implementations of Visual Basic: Microsoft Visual Studio, which is
commercial software and Microsoft Visual Studio Express, which is free of charge.
Versions
There are four versions and five releases of Visual Basic .NET implemented by the
Visual Basic Team.
Visual Basic .NET (VB 7)
The original Visual Basic .NET was released alongside Visual C# and ASP.NET in
2002. Significant changes broke backward compatibility with older versions and
caused a rift within the developer community.
Visual Basic .NET 2003 (VB 7.1)
Visual Basic .NET 2003 was released with version 1.1 of the .NET Framework.
New features included support for the .NET Compact Framework and a better VB
upgrade wizard. Improvements were also made to the performance and reliability
of the .NET IDE (particularly the background compiler) and runtime. In addition,
Visual Basic .NET 2003 was available in the Visual Studio.NET Academic Edition
(VS03AE). VS03AE is distributed to a certain number of scholars from each
country without cost.
Visual Basic 2005 (VB 8.0)
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
27/53
2
Visual Basic 2005 is the name used to refer to the Visual Basic .NET, Microsoft
having decided to drop the .NET portion of the title.
For this release, Microsoft added many features, including:
* Edit and Continue
* Design-time expression evaluation.
* The My pseudo-namespace (overview, details), which provides:
easy access to certain areas of the .NET Framework that otherwise
require significant code to access
dynamically-generated classes (notably My.Forms)
* Improvements to the VB-to-VB.NET converter
* The Using keyword, simplifying the use of objects that require the Dispose
pattern to free resources
* Just My Code, which when debugging hides (steps over) boilerplate code
written by the Visual Studio .NET IDE and system library code
* Data Source binding, easing database client/server development
The above functions (particularly My) are intended to reinforce Visual Basic
.NET's focus as a rapid application development platform and further differentiate
it from C#.
Visual Basic 2005 introduced features meant to fill in the gaps between it and other
"more powerful" .NET languages, adding:
* .NET 2.0 languages features such as:
generics
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
28/53
2
Partial classes, a method of defining some parts of a class in one file
and then adding more definitions later; particularly useful for
integrating user code with auto-generated code.
Nullable Types
* Support for unsigned integer data types commonly used in other languages
'IsNot' operator patented
One other feature of Visual Basic 2005 is the IsNot operator that makes 'If X IsNot
Y' equivalent to 'If Not X Is Y', which gained notoriety when it was found to be
the subject of a Microsoft patent application.
Visual Basic 2008 (VB 9.0)
Visual Basic 9.0 was released together with the Microsoft .NET Framework 3.5 on
19 November 2007.
For this release, Microsoft added many features, including:
* A true conditional operator, "If(boolean, value, value)", to replace the "IIf"
function.
* Anonymous types
* Support for LINQ
* Lambda expressions
* XML Literals
* Type Inference
Visual Basic 2010 (VB 10.0)
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
29/53
2
In April 2010, Microsoft released Visual Basic 2010. Microsoft had planned
to use the Dynamic Language Runtime (DLR) for that release but shifted to a co-
evolution strategy between Visual Basic and sister language C# to bring both
languages into closer parity with one another. Visual Basic's innate ability to
interact dynamically with CLR and COM objects has been enhanced to work with
dynamic languages built on the DLR such as IronPython and IronRuby. The Visual
Basic compiler was improved to infer line continuation in a set of common
contexts, in many cases removing the need for the "_" line continuation character.
Also, existing support of inline Functions was complemented with support for
inline Subs as well as multi-line versions of both Sub and Function lambdas.
3.3.4 WORLD OF OPEN SOURCE SOFTWARE
Open-source software (OSS) is computer software that is available in source
code form for which the source code and certain other rights normally reserved for
copyright holders are provided under a software license that permits users to study,
change, improve and at times also to distribute the software.
Some open source licenses meet the requirements of the Open Source
Definition. Some open source software is available within the public domain.
Open source software is very often developed in a public, collaborative
manner. Open-source software is the most prominent example of open-source
development and often compared to (technically defined) user-generated content or
(legally defined) open content movements.
A report by Standish Group states that adoption of open-source softwaremodels has resulted in savings of about $60 billion per year to consumers.
3.3.4.1 PHP
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
30/53
2
PHP is a general-purpose scripting language originally designed for web
development to produce dynamic web pages. For this purpose, PHP code is
embedded into the HTML source document and interpreted by a web server with a
PHP processor module, which generates the web page document. It also has
evolved to include a command-line interface capability and can be used in
standalone graphical applications. PHP can be deployed on most web servers and
as a standalone interpreter, on almost every operating system and platform free of
charge. PHP is installed on more than 20 million websites and 1 million web
servers.
PHP was originally created by Rasmus Lerdorf in 1995. The main
implementation of PHP is now produced by The PHP Group and serves as the de
facto standard for PHP as there is no formal specification. PHP is free software
released under the PHP License; it is incompatible with the GNU General Public
License (GPL) due to restrictions on the usage of the term PHP.
While PHP originally stood for "Personal Home Page", it is now said to
stand for "PHP: Hypertext Preprocessor", a recursive acronym.
USAGE
PHP is a general-purpose scripting language that is especially suited to server-side
web development where PHP generally runs on a web server. Any PHP code in a
requested file is executed by the PHP runtime, usually to create dynamic web page
content. It can also be used for command-line scripting and client-side GUI
applications. PHP can be deployed on most web servers, many operating systemsand platforms, and can be used with many relational database management systems
(RDBMS). It is available free of charge, and the PHP Group provides the complete
source code for users to build, customize and extend for their own use.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
31/53
2
PHP primarily acts as a filter, taking input from a file or stream containing text
and/or PHP instructions and outputs another stream of data; most commonly the
output will be HTML. Since PHP 4, the PHP parser compiles input to produce
bytecode for processing by the Zend Engine, giving improved performance over its
interpreter predecessor.
Originally designed to create dynamic web pages, PHP now focuses mainly on
server-side scripting,[ and it is similar to other server-side scripting languages that
provide dynamic content from a web server to a client, such as Microsoft's Asp.net,
Sun Microsystems' JavaServer Pages, and mod_perl. PHP has also attracted the
development of many frameworks that provide building blocks and a design
structure to promote rapid application development (RAD). Some of these include
CakePHP, Symfony, CodeIgniter, and Zend Framework, offering features similar
to other web application frameworks.
The LAMP architecture has become popular in the web industry as a way of
deploying web applications. PHP is commonly used as the P in this bundle
alongside Linux, Apache and MySQL, although the P may also refer to Python or
Perl or some combination of the three. WAMP packages (Windows/ Apache/
MySQL / PHP) and MAMP packages (Macintosh / Apache / MySQL / PHP) are
also available.
As of April 2007, over 20 million Internet domains had web services hosted on
servers with PHP installed and mod_php was recorded as the most popular Apache
HTTP Server module. PHP is used as the server-side programming language on
75% of all web servers. Web content management systems written in PHP include
MediaWiki, Joomla, eZ Publish, WordPress, Drupal and Moodle. All websites
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
32/53
2
created using these tools are written in PHP, including the user-facing portion of
Wikipedia, Facebook and Digg.
SECURITYThe National Vulnerability Database maintains a list of vulnerabilities found in
computer software. The overall proportion of PHP-related vulnerabilities on the
database amounted to: 20% in 2004, 28% in 2005, 43% in 2006, 36% in 2007,
35% in 2008, and 30% in 2009. Most of these PHP-related vulnerabilities can be
exploited remotely: they allow attackers to steal or destroy data from data sources
linked to the webserver (such as an SQL database), send spam or contribute to DoS
attacks using malware, which itself can be installed on the vulnerable servers.
These vulnerabilities are caused mostly by not following best practice
programming rules: technical security flaws of the language itself or of its core
libraries are not frequent (23 in 2008, about 1% of the total). Recognizing that
programmers cannot be trusted, some languages include taint checking to detect
automatically the lack of input validation which induces many issues. Such a
feature is being developed for PHP, but its inclusion in a release has been rejected
several times in the past.
Hosting PHP applications on a server requires careful and constant attention to
deal with these security risks. There are advanced protection patches such as
Suhosin and Hardening-Patch, especially designed for web hosting environments.
PHPIDS adds security to any PHP application to defend against intrusions.
PHPIDS detects Cross-site scripting (XSS), SQL injection, header injection,Directory traversal, Remote File Execution, Local File Inclusion, Denial of Service
(DoS).
3.3.4.2 RUBY
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
33/53
2
Ruby is a dynamic, reflective, general-purpose object-oriented programming
language that combines syntax inspired by Perl with Smalltalk-like features. Ruby
originated in Japan during the mid-1990s and was first developed and designed by
Yukihiro "Matz" Matsumoto. It was influenced primarily by Perl, Smalltalk, Eiffel,
and Lisp.
Ruby supports multiple programming paradigms, including functional,
object oriented, imperative and reflective. It also has a dynamic type system and
automatic memory management; it is therefore similar in varying respects to
Python, Perl, Lisp, Dylan, Pike, and CLU.
The standard 1.8.7 implementation is written in C, as a single-pass
interpreted language. There is currently no specification of the Ruby language, so
the original implementation is considered to be the de facto reference. As of
2010[update], there are a number of complete or upcoming alternative
implementations of the Ruby language, including YARV, JRuby, Rubinius,
IronRuby, MacRuby, and HotRuby. Each takes a different approach, with
IronRuby, JRuby and MacRuby providing just-in-time compilation and MacRuby
also providing ahead-of-time compilation. The official 1.9 branch uses YARV, as
will 2.0 (development), and will eventually supersede the slower Ruby MRI.
Rubys Flexibility
Ruby is seen as a flexible language, since it allows its users to freely alter its parts.
Essential parts of Ruby can be removed or redefined, at will. Existing parts can be
added upon. Ruby tries not to restrict the coder.
For example, addition isperformed with the plus (+) operator. But, if youd rather
use the readable word plus, you could add such a method to Rubys built-in
Numeric class.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
34/53
2
class Numeric
def plus(x)
self.+(x)
end
end
y = 5.plus 6
# y is now equal to 11
Rubys operators are syntactic sugar for methods. You can redefine them as well.
Libraries and Repositories
The Ruby Application Archive (RAA), as well as RubyForge, serve as repositories
for a wide range of Ruby applications and libraries, containing more than seven
thousand items. Although the number of applications available does not match the
volume of material available in the Perl or Python community, there are a wide
range of tools and utilities which serve to foster further development in the
language.
RubyGems has become the standard package manager for Ruby libraries. It is very
similar in purpose to Perl's CPAN, although its usage is more like apt-get.
Recently, many new and existing libraries have found a home on GitHub, which is
focused on Git.
Advantages in using Ruby
Ruby has a wealth of other features, among which are the following:
* Ruby has exception handling features, like Java or Python, to make it easy to
handle errors.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
35/53
2
* Ruby features a true mark-and-sweep garbage collector for all Ruby objects. No
need to maintain reference counts in extension libraries. As Matz says, This is
better for your health.
* Writing C extensions in Ruby is easier than in Perl or Python, with a very elegant
API for calling Ruby from C. This includes calls for embedding Ruby in software,
for use as a scripting language. A SWIG interface is also available.
* Ruby can load extension libraries dynamically if an OS allows.
* Ruby features OS independent threading. Thus, for all platforms on which Ruby
runs, you also have multithreading, regardless of if the OS supports it or not, even
on MS-DOS!
* Ruby is highly portable: it is developed mostly on GNU/Linux, but works on
many types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS,
OS/2, etc.
3.3.5 APACHE SERVER
The Apache HTTP Server, commonly referred to as Apache is web server softwarenotable for playing a key role in the initial growth of the World Wide Web. In
2009 it became the first web server software to surpass the 100 million web site
milestone. Apache was the first viable alternative to the Netscape Communications
Corporation web server (currently known as Oracle iPlanet Web Server), and has
since evolved to rival other web servers in terms of functionality and performance.
Typically Apache is run on a Unix-like operating system.
Apache is developed and maintained by an open community of developers
under the auspices of the Apache Software Foundation. The application is
available for a wide variety of operating systems, including UNIX, GNU,
FreeBSD, Linux, Solaris, Novell NetWare, AmigaOS, Mac OS X, Microsoft
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
36/53
2
Windows, OS/2, TPF, and eComStation. Released under the Apache License,
Apache is characterized as open-source software.
Since April 1996 Apache has been the most popular HTTP server software
in use. As of February 2011[update] Apache served over 59.13% of all websites
and more than 66.62% of the million busiest.
Features
Apache supports a variety of features, many implemented as compiled
modules which extend the core functionality. These can range from server-side
programming language support to authentication schemes. Some common
language interfaces support Perl, Python, Tcl, and PHP. Popular authentication
modules include mod_access, mod_auth, mod_digest, and mod_auth_digest, the
successor to mod_digest. A sample of other features include SSL and TLS support
(mod_ssl), a proxy module (mod_proxy), a URL rewriter (also known as a rewrite
engine, implemented under mod_rewrite), custom log files (mod_log_config), and
filtering support (mod_include and mod_ext_filter).
Popular compression methods on Apache include the external extension
module, mod_gzip, implemented to help with reduction of the size (weight) of web
pages served over HTTP. ModSecurity is an open source intrusion detection and
prevention engine for web applications. Apache logs can be analyzed through a
web browser using free scripts such as AWStats/W3Perl or Visitors.
Virtual hosting allows one Apache installation to serve many different actual
websites. For example, one machine with one Apache installation could
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
37/53
2
simultaneously serve www.example.com, www.test.com, test47.test-
server.test.com, etc.
Apache features configurable error messages, DBMS-based authentication
databases, and content negotiation. It is also supported by several graphical user
interfaces (GUIs).
Performance
Although the main design goal of Apache is not to be the "fastest" web
server, Apache does have performance comparable to other "high-performance"
web servers. Instead of implementing a single architecture, Apache provides a
variety of MultiProcessing Modules (MPMs) which allow Apache to run in a
process-based, hybrid (process and thread) or event-hybrid mode, to better match
the demands of each particular infrastructure. This implies that the choice of
correct MPM and the correct configuration is important. Where compromises in
performance need to be made, the design of Apache is to reduce latency and
increase throughput, relative to simply handling more requests, thus ensuring
consistent and reliable processing of requests within reasonable time-frames.
The Apache version considered by the Apache Foundation as providing
high-performances is the multi-threaded version which mixes the use of several
processes and several threads per process.
While this architecture works faster than the previous multi-process based
topology (because threads have a lower overhead than processes), it does not
match the performances of the event-based architecture provided by other servers,
especially when they process events with several worker threads.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
38/53
2
This difference can be easily explained by the overhead that one thread per
connection brings (as opposed to a couple of worker threads per CPU, each
processing many connection events). Each thread needs to maintain its own stack,
environment, and switching from one thread to another is also an expensive task
for CPUs.
3.3.6 INTRODUCTION TO MySQL
MySQL is a relational database management system (RDBMS)[1] that runs
as a server providing multi-user access to a number of databases. It is named after
developer Michael Widenius' daughter, My. The SQL phrase stands for Structured
Query Language.
The MySQL development project has made its source code available under
the terms of the GNU General Public License, as well as under a variety of
proprietary agreements. MySQL was owned and sponsored by a single for-profit
firm, the Swedish company MySQL AB, now owned by Oracle Corporation.
Free-software projects that require a full-featured database management
system often use MySQL. For commercial use, several paid editions are available,
and offer additional functionality. Some free software project examples: Joomla,
WordPress, MyBB, phpBB, Drupal and other software built on the LAMP
software stack. MySQL is also used in many high-profile, large-scale World Wide
Web products, including Wikipedia, Google (though not for searches) and
Facebook.
Deployment
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
39/53
2
MySQL can be built and installed manually from source code, but this can
be tedious so it is more commonly installed from a binary package unless special
customizations are required. On most Linux distributions the package management
system can download and install MySQL with minimal effort, though further
configuration is often required to adjust security and optimization settings.
Though MySQL began as a low-end alternative to more powerful
proprietary databases, it has gradually evolved to support higher-scale needs as
well.
It is still most commonly used in small to medium scale single-server
deployments, either as a component in a LAMP based web application or as a
standalone database server. Much of MySQL's appeal originates in its relative
simplicity and ease of use, which is enabled by an ecosystem of open source tools
such as phpMyAdmin.
In the medium range, MySQL can be scaled by deploying it on morepowerful hardware, such as a multi-processor server with gigabytes of memory.
There are however limits to how far performance can scale on a single
server, so on larger scales, multi-server MySQL deployments are required to
provide improved performance and reliability. A typical high-end configuration
can include a powerful master database which handles data write operations and is
replicated to multiple slaves that handle all read operations. The master server
synchronizes continually with its slaves so in the event of failure a slave can be
promoted to become the new master, minimizing downtime. Further improvements
in performance can be achieved by caching the results from database queries in
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
40/53
2
memory using memcached, or breaking down a database into smaller chunks
called shards which can be spread across a number of distributed server clusters.
Platforms and Interfaces
MySQL is written in C and C++. Its SQL parser is written in yacc, and a
home-brewed lexical analyzer named sql_lex.cc.
MySQL works on many different system platforms, including AIX, BSDi,
FreeBSD, HP-UX, eComStation, i5/OS, IRIX, Linux, Mac OS X, Microsoft
Windows, NetBSD, Novell NetWare, OpenBSD, OpenSolaris, OS/2 Warp, QNX,
Solaris, Symbian, SunOS, SCO OpenServer, SCO UnixWare, Sanos and Tru64. A
port of MySQL to OpenVMS also exists.
Many programming languages with language-specific APIs include libraries
for accessing MySQL databases. These include MySQL Connector/Net for
integration with Microsoft's Visual Studio (languages such as C# and VB are most
commonly used) and the ODBC driver for Java. In addition, an ODBC interface
called MyODBC allows additional programming languages that support the ODBC
interface to communicate with a MySQL database, such as ASP or ColdFusion.
The HTSQL - URL based query method also ships with a MySQL adapter,
allowing direct interaction between a MySQL database and any web client via
structured URLs. The MySQL server and official libraries are mostly implemented
in ANSI C/ANSI C++.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
41/53
2
SYSTEM DESIGN
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
42/53
2
CHAPTER 4
SYSTEM DESIGN
4.1 ARCHITECTURE DIAGRAM OF SSSQAR
4.2 SEQUENTIAL DIAGRAM OF SSSQAR
4.2 USECASE DIAGRAM OF SSSQAR
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
43/53
2
SYSTEM DESIGN-DETAILED
CHAPTER 5
SYSTEM DESIGN-DETAILED
5.1 MODULES
Speech Analysis
Integrating Rest
Query Analysis
Result Builder
Text to Speech
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
44/53
2
5.2 MODULES EXPLANATION
Speech Analysis
It is responsible for analysis of the analog signals. It sends the input to the speech
to text converter. It will connect with the MSAPI 5.3 and make use of the
necessary functions using direct API calls. It then converts the spoken speech to
text.
Integrating REST
The text query given by the speech analysis engine will be sent to a restful
router. The router will take these queries and send it to the REST API. The REST
API will take care of the query analysis and other executions. The response JSON
from the web services are also parsed by the RESTFUL API.
Query Analysis
This module is responsible for the necessary query formation and execution. It will
build various combinations of regular expressions and search the cloud using web
services. The web services offers various tools for implementations. It finds the
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
45/53
2
nearest page with all the matching patterns in it and gathers the necessary data
using the data mining mechanism.
Result Builder
This is responsible for preparing the output for the system. It will take the data
from the previous module and add necessary grammar to it. It will check the result
for any encoding errors and escape the necessary escape sequences and special
characters. Then it sends the data to the next module.
Text to Speech
The text data from the result builder is parsed and sent to the speech builder. It then
connects to the MSAPI again and sends the text result data using an API call. The
speech builder will then output the text as voice using the necessary configuration
settings.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
46/53
2
NG AND TESTINGput to the
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
47/53
2
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXVERVERIFICATION
AND VALIDATION
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
48/53
2
CHAPTER 6
VERIFICATION AND VALIDATION
Once the program exists, we must test it to see if it is free of bugs. High
quality products must meet users needs and expectations. Furthermore the product
should attain this with minimal or no defects, the focus being on improving
products prior to delivery rather than correcting them after delivery. The ultimate
goal of building high quality software is users satisfaction.
There are two basic approaches to system testing.
Validation is the task of predicting correspondence, which cannot be determined
until this system is in place.
Verification is the exercise of determining correctness.
Testing strategies
The extent of testing a system is controlled by many factors, such as the risk
involved, the limitations of the resources and deadlines. We deploy a testingstrategy that does the best job of finding the defects in the product within the given
constraints. The different testing strategies are:
Black Box Testing:
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
49/53
2
The concept of black box testing is used to represent the system
whose inside workings are not available for inspection. In black box testing, we try
various inputs and examine the resulting outputs. Black box testing works very
nicely in testing objects in object oriented environment. For inspection the input
and output are defined through use cases or other analysis information.
White Box Testing:
White box testing assumes that the specific logic is important and must
be tested to guarantee the systems proper functioning. The main use of the white
box id the error based testing. In a white box testing, the bugs are looked for that
have a low probability of execution that have been overlooked previously. It is also
known as path testing.
There are two types of path testing:
Statement testing coverage: where every statement in the objects method is
covered by executing it at least once.
Branch testing coverage: it is to perform enough tests to ensure that every branch
alternative is executed at least once.
Top down testing
A top-down strategy supports the user interface and event driven system. This
serves two purposes; first the top down approach can test navigation through
screens and verify that it matches the requirement. Second, users at the early stage
can see how the final application will look and feel.
Bottom up testing
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
50/53
2
Bottom up testing starts with the details of the system and proceeds to higher levels
by a progressive aggregation of details until they collectively fit requirements of
the system. In this testing the methods and classes which are independent are
tested.
SOURCE CODE
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
51/53
2
SCREEN SHOTS
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
52/53
2
REFERENCE
1 F. Jelinek, Statistical Methods for Speech Recognition. Cambridge, U.K.:
MIT Press, 1997.
2 S. F. Chen and J. Goodman, An empirical study of smoothing techniques
for language modeling, Comput. Speech Lang., vol. 13, no. 4, pp. 359393,
1999.
3 J. T. Goodman, A bit of progress in language modeling, Comput.Speech
Lang., pp. 403434, 2001.
4
S. M. Katz, Estimation of probabilities from sparse data for the languagemodel component of a speech recogniser,IEEE Trans. Acoust., Speech,
Signal Process., vol. ASSP-35, no. 3, pp. 400401, Mar. 1987.
5 D. Jurafsky and J. H. Martin, Speech and Language Processing: An
Introduction to Natural Language Processing, Computational Linguistics,
and Speech Recognition, 2nd ed. Upper Saddle River, NJ: Prentice- Hall,
2009.
6 R. Kneser and H. Ney, Improved backing-off for -gram language
modeling,Proc. ICASSP95, pp. 181184, 1995.
7 Y. Bengio, R. Ducharme, P. Vincent, and C. Jauvin, A neural probabilistic
language model,J. Mach. Learn. Res., vol. 3, pp. 11371155, 2003
8 J. Blitzer, A. Globerson, and F. Pereira, Distributed latent variable models
of lexical co-occurrences, in Proc. 10th Int. Workshop Artif.Intell. Statist.,
2005.
9 D. J. C. MacKay and L. C. B. Peto, A hierarchical Dirichlet language
model,Natural Lang. Eng., vol. 1, no. 3, pp. 119, 1994.
7/30/2019 SPEECH SYNTHESIZING SENTIENT QUERY ANALYSER AND RESPONDER (Autosaved).docx
53/53
10 S. J. Goldwater, T. L. Griffiths, and M. Johnson, Interpolating between
types and tokens by estimating power-law generators,Adv. Neural Inf.
Process. Syst. 18, 2006.