Skip navigation.
Home
Semantic Software Lab
Concordia University
Montréal, Canada

Semantic Assistants Architecture

Overview


The Semantic Assistants project aims to bring natural language processing (NLP) techniques directly to end users by integrating them with common desktop applications, such as word processors, email clients, or Web browsers. To facilitate this integration, a service-oriented architecture has been developed that allows to integrate (desktop) clients with NLP services implemented in the GATE framework. NLP services are described with an ontology-based (OWL) semantic description that captures users, their languages, tasks, and various artifacts.

For the general motivation, design, and background on the Semantic Assistants project, please read our ASWC 2008 publication [1]. If you use our Semantic Assistants architecture, resources, or client-plug ins for your own work, please include a reference to this paper.

Architecture: Web Services for NLP

Semantic Assistants use a four-tier information system architecture:

Semantic Assistants ArchitectureSemantic Assistants Architecture

Tier 1
of the architecture consists of client applications and a Client-Side Abstraction Layer (CSAL). Currently, there are two example clients distributed with the system, a simple command-line client for testing purposes and a plug-in for the OpenOffice.org Writer word processor. The client-side abstraction layer consists partly of hand-written Java classes that provide common client-side functionality, partly of automatically generated Java classes. The communication between client and server is implemented by means of W3C Web services.
Tier 2
of the architecture consists of a Web server and the NLP Service Connector. The NLP Service Connector currently integrates the GATE framework for NLP. It is responsible for a number of tasks, including communication with the client, reading and querying the language service descriptions, running requested language services, and generating response messages.
Tier 3
is the NLP subsystem. At present, only the GATE framework is supported. It makes use of the GATE API in order to assemble language services, store them in a permanent way, and invoke them when they are requested by a client.
Tier 4
is the resource tier. Here we have the language service descriptions, which are authored in the Web Ontology Language (OWL). Tier 4 further contains external documents, which the NLP subsystem must be able to access.

System Components

The current implementation of the Semantic Assistants architecture comes with the following open source components:

Server
The server is the core of the architecture. It communicates with the clients through the CSAL on one hand and to the NLP framework through the NLP Service Connector on the other. At present, the architecture only contains a connector for GATE. However, it was explicitly designed to allow an easy integration of other frameworks (for example, UIMA). For describing available services, we use ontology-based (OWL) service descriptions. As a service-oriented architecture (SOA), every service is automatically available to all clients connected to the architecture, using standard Web Services Description Language (WSDL) interface descriptions.
Client-Side Abstraction Layer (CSAL)
Our top goal was to make it as easy as possible for client (plug-in) developers to integrate NLP functionality. As clients should be able to connect to the architecture entirely by "local" means, we provide an abstraction layer, named CSAL, which is located on the client side and performs the actual communication with the server.
Apart from the communication functionality, the CSAL also provides common client-side functionality, i.e., useful data types and methods that are frequently required when integrating NLP into desktop clients.
Clients
Two example clients come with the architecture: a command-line client and a plug-in for the OpenOffice.org Writer word processor.
Example Resources
NLP functionality is provided to clients through Web services. To match clients with suitable services (depending on language, formats, etc.), each NLP service comes with a semantic service description in OWL format. Three example service descriptions are included in the current distribution: an information extraction (IE) service that detects persons and locations (using GATE's ANNIE pipeline), an IR service (using the Yahoo PR) and a compound service, which combines the IR and the IE service. These should help you in defining your own NLP services that you deliver to end users (e.g., summarization, question-answering, domain-specific NLP services).

For support, please use the Semantic Assistants discussion forum.

Download

The current release is a beta-version:

License

The Semantic Assistants architecture, clients, and resources are published under the GNU Affero General Public License v3 (AGPL3).


References

  1. Witte, R., and T. Gitzinger, "{Semantic Assistants – User-Centric Natural Language Processing Services for Desktop Clients}", 3rd Asian Semantic Web Conference (ASWC 2008), vol. 5367, Bangkok, Thailand, Springer, pp. 360–374, February 2–5, 2009.