NATASNatural language has been one of the most desired and preferred modes of interaction across both verbal and written communication. The ubiquity of emails and mobile-based SMS technology has increased offline interaction between humans. In this context, TCS Innovation Labs-Delhi is primarily focused on addressing the following challenges.
NATAS is a natural language enabled, email-based interface to business applications. Business ChallengesGiven the ubiquity of email and mobile-based-SMS interaction between humans, the question is “Can email become a mode of interaction/communication between a human and a business application system?” However, since emails are written in the natural language and do not posses well-defined structure in their content (i.e. the mail body), an email-based interface would require a natural language processing and response interface to interact with a business application. The NATAS solution seeks to achieve this through explicit domain ontology and semantic web technologies such as OWL, N3, CWM, RDF, SPARQL, and so on. OverviewNATAS takes email from an end-user as an input, processes it, parses the natural language text from the body of the mail, and uses the ontology and data of the application to derive facts, reason for and against possibilities, and answers the user’s input. The interface seeks clarification from the user, in the event that the context of the user input is unclear and then, depending on the user’s input for the clarification sought, responds back.
The technology and processing behind the NATAS Engine is as:- The Domain Parser parses the user’s input and tags it with Parts Of Speech such as proper nouns, nouns, verbs, adjectives etc. Next the root word for each of the tagged words is determined.We use the open source software, MontyLingua, for carrying out tagging and root-word identification. The Parser next reads in the Domain Ontology (RDF) and identifies the relevant concepts from tagged set of root-words. The concepts are used to identify the task the user wants to carry out. The task may require just a traversal of domain ontology which is loaded in memory or may call an API in the application system. The system first identifies whether the raised concepts require an API call, if so then the corresponding API function gets called to retrieve the answer to the user’s query. If not then the system generates a SQL query based on the raised concepts which gets fired over the application database. Even after this if the system does not get the answer to the user’s input, the ontology is traversed and the output from the system is sent to the user. NATAS has been programmed in Python programming language. At the application database level NATAS has been configured for the database created in any of the following DBMS
We use the corresponding DB-Python connectors for connecting to an application database and further for querying over it. NATAS works on an explicit domain ontology described using semantic web technology (OWL, N3, CWM, RDF and SPARQL). Domain ontology describes the domain terms and their relationship. The application data (actual data present in the business application) and the seed ontology (describing the basic relations that are applicable in the domain) are passed through the ontology generator, which creates an instance of the seed ontology populated by the application data. This application ontology (N3 form) along with rules (written for the domain in N3 format) is evaluated by a rule engine (such as CWM) to obtain domain ontology (RDF format). The domain ontology is read as a graph structure and stored in the memory. The natural language sentence sent by the user (through an email) is parsed and relevant concepts are identified after traversing the ontology. Depending upon the concepts identified, the application retrieves an answer by either traversing the ontology in memory, or formulating an appropriate SPARQL query (query for RDF) over the ontology. An API call is executed to carry out the user’s tasks in the business application system. BenefitsFollowing are the benefits that a business can achieve through NATAS.
The user need not traverse menu based systems to find some relevant information when the purpose could just be solved just by sending a query in Natural Language to NATAS system. User specific API’s can be embedded in NATAS for implementing user defined functionality in NATAS system. The system is built for the users who know what they want but do not know where to find it. The following is the list of NATAS published papers:
|