SmartSQL AlfaTech Software Solutions Application Requirements Document Radi Bekker Vladimir Goldman Marina Shaevich Alexander Shapiro Team Members: Academic Advisor : Academic Advisor :Prof. Ehud Gudes Technical Advisor: Technical Advisor: Eliezer Kaplanski
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 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
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. SmartSQL – Cont.
System Architecture Company Manager User DBMS (SQL server, access) System Administrator Query Data Set AlfaTech SmartSQL
Functional Requirements General 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. Login window. Administrator window. Administrator window. Natural language window. Natural language window. SQL builder window. SQL builder window. Presentation window. Presentation window.
Non-Functional Requirements Speed: Speed: System response within 2 seconds. In case of interaction with DBMS, system will timeout within 20 seconds. Capacity: Capacity: One – threaded system. One – threaded system. Safety & Security: Safety & Security: Authorization Authorization Access Control.
Non-Functional Requirements Usability: Usability: User-friendly interface. User-friendly interface. No previous knowledge required. Availability: Availability: Available 24 hours a day. Available 24 hours a day. Technologies: Technologies: Visual Studio 2005, C#. 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