2.2. Prerequisites

This section is about suggested prerequisites for using the QALL-ME Framework. Subsection 2.2.1 is about prior qualifications which are expected from new users of the framework. For example, you will learn here, which web standards you should be familiar with in order to understand what’s going on behind the scenes of the framework and in order to make efficient use of the framework. Subsection 2.2.2 will then list the software that is required or recommended to be used in conjunction with the framework. The main focus here will be on tools from the Java world as the provided tutorials and demo components (cf. section 3) use Java technology, too.

Before going on starting with the QALL-ME Framework, you should consider the following: the framework is just that – a framework. Thus, if you are looking for a complete question answering (QA) system which is more or less ready for deployment, then the QALL-ME Framework is probably not made for you. If, however, you are looking for a guiding QA system skeleton which has proven to work and which is well documented, then you should read on. It doesn’t matter whether you are a researcher who is just trying out some of the latest QA component technologies or whether you are some industrial person who wants to make some data accessible via a natural language question interface; the framework should be useful for many different audiences. Note, however, that depending on the intended usage more or less efforts may have to be necessary on the way to your own QA system.

Depending on whether you are just trying out the QALL-ME Framework or whether you are actually using it for developing your own QA system, there are different kinds of technologies and standards that you should be familiar with. For evaluating the framework you should have at least the following basic skills (aside from having a generally good command of using your computer, i.e., of installing software, etc.):

Basic Command Line Usage

You should have a basic grip of working with the command line (aka the “shell”) which is provided by your operating system; nothing fancy is required here, though.

XML Standards Family

You should have worked with XML data before, i.e., you should know how to read and write it, how to deal with XML Namespaces, etc. Basic knowledge of XML Schema may also be useful at times.

General Interest in Natural Language Processing (NLP)

You should have a general interest – ideally even some background – in language technology. In NLP many problems are handled specially and in ways that may not always be obvious to people with no computational linguistic background at all.

People with the above mentioned previous knowledge should easily be able to at least set up and run the QALL-ME Framework demos; see the detailed tutorials in 3.1 and 3.2 for this. For actually developing your own QA system the following additional skills are recommended:

Java Development

Although not required for leveraging the concepts of the framework, advanced skills of developing Java 5 software is highly recommended. The system-wide component implementations of the framework are currently available in Java only. The same holds for all demo components that can greatly help you to get started with the QALL-ME Framework. Knowledge about related tools from the Java ecosystem, such as Apache Ant, is a plus, too.

Familiarity with Web Service (WS) Technology

You should at least be able to read and understand WSDL 1.1 documents, have heard about SOAP 1.1 and know about Java tools to work with these standards (e.g., JAX-WS, etc.).

Experience in NLP

Developing a QA system from scratch is not an easy task; developing one on the basis of a framework eases the process a lot, however, the design and implementation of the QA components still requires some experience in the field of NLP.

Basic Knowledge of Semantic Web Technologies

The QALL-ME Framework builds on some basic Semantic Web technologies. You should at least have basic familiarity with OWL onotlogies, RDF documents and querying with SPARQL.

Basic Knowledge of TIMEX2

Temporal anchoring of questions in the current implementation of the QALL-ME Framework is done using an “extended” form of TIMEX2 annotations (cf. 4.2.1). Therefore at least some basic knowledge of this linguistic standard is ideal.

Basic Conception of the Service Oriented Architecture (SOA) paradigm

As the QALL-ME Framework is based on a SOA which is implemented using standard WS technology, it may at times be advantageous to have a basic notion of the concepts behind that architecture.

We believe that the demo components and the documentation that we provide can greatly help to also get started with some of the above recommended prerequisites. However, at the same time it is probably not possible to get familiar with this knowledge without referring to further resources.