ARD Presentation
Download
Report
Transcript ARD Presentation
SmartSQL
AlfaTech Software Solutions
Application Requirements Document
Academic Advisor: Prof. Ehud Gudes
Technical Advisor:
Eliezer Kaplanski
Team Members:
Radi Bekker
Marina Shaevich
Vladimir Goldman
Alexander Shapiro
Background
The NLP problem:
This area has been around in the computing world for a
relatively long time.
Natural language processing (NLP) is a subfield of artificial
intelligence and linguistics.
The main goal of NLP is to be interpreted by the computer and
act according to its primary purpose.
The definition of "understanding" is one of the major problems
in natural language processing.
Natural language understanding is sometimes referred to as
an AI-complete problem (making computers as intelligent as people ) .
Background- Alfa Magic
The AlfaTech tool.
Alfa Magic can be used to create computer software
without using any computer languages.
Alfa Magic is a development platform that has been
optimized for developers of administrative applications.
Alfa Magic Designer lets you design your applications
graphically.
Alfa Magic allows a developer to focus on translating
the business logic of a customer to application logic.
Background- Alfa Magic
Problem Domain
Most of the software in the world deals with data extraction
from databases.
Query execution requires knowledge in SQL.
Requires many specialists and resources in order to maintain
databases.
Simple users, without programming or SQL knowledge
cannot change or update databases.
Asking the databases questions in a natural language is a
very convenient and easy method of data access, especially
for casual users who do not understand complicated
database query languages such as SQL.
Current Solutions
The first attempts at NLP database interfaces are just as old as
any other NLP research.
There are several known NLP-query builders:
ELF – works only with Access databases.
NALIX – works only with XML.
Such systems integrates some glossaries/grammars in order to
handle more NL queries.
They differ in a power of such glossaries and their structures.
Current Solutions
Three Levels Of Information:
Proposed Solution
SmartSQL
SmartSQL
SmartSQL will accept an arbitrary English language sentence
and translate it into exact DB query in SQL.
The performance of the software should be able to handle
queries in a variety of application domains.
SmartSQL will be integrated in the AlfaTech tool (AlfaMagic)
in order to enhance its given database access services.
SmartSQL – Cont.
When a new database is needed to be integrated into the
system, the system will first scan the database to extract all
the needed information.
Third level of information will be based on glossaries relevant
to the current applied database.
This glossaries will advance our system not only in the NLP
point of view but also in AI.
System Architecture
AlfaTech
SmartSQL
Company
Manager
System
Administrator
Query
Data Set
DBMS
(SQL server, access)
User
Functional Requirements
General Requirements:
The system will be able to extract and present
information from SQL Server or Access database.
The system will allow to users different actions
according to their status ( admin\ordinary user)
Administrator will be able to add/remove
database and its glossary.
The system will allow addition/removal of users.
Functional Requirements
NLP Analyzer:
Will receive a natural language sentence and
will transform it into SQL query.
In case of misunderstanding, clarification
questions will be asked.
Extensive use of glossaries in order to
understand the given NLP query.
Will support all SQL main commands: Select, Join,
Group by, Order by, Insert into, Update, Delete, Drop .
Will not support: join on more then 2 tables,
having, Reports.
Functional Requirements
Graphical Query Builder:
Creation of queries using graphical interface.
Queries can be saved.
Ability to open saved queries.
Functional Requirements
Graphical presentation of data:
Presentation of the query in different modes (Pie, data grid,
columns, etc.) by choosing the desired parameters: height,
width, location, color, angle, etc.
Functional Requirements
User interaction with the system through
several graphical interfaces:
Login window.
Administrator window.
Natural language window.
SQL builder window.
Presentation window.
Non-Functional Requirements
Speed:
System response within 2 seconds.
In case of interaction with DBMS, system will timeout
within 20 seconds.
Capacity:
One – threaded system.
Safety & Security:
Authorization
Access Control.
Non-Functional Requirements
Usability:
User-friendly interface.
No previous knowledge required.
Availability:
Available 24 hours a day.
Technologies:
Visual Studio 2005, C#.
MS Access.
SQL Server 2000 or later.
Risks
NATURAL LANGUAGE
PROCESSING
Use Case Diagram
Creating SQL with SQL builder
Generation SQL from Natural
Language
Interaction with result
presentation
Questions