CLAM: Computational Linguistics Application Mediator
CLAM: Computational Linguistics Application Mediator

CLAM allows you to quickly and transparently transform your Natural Language Processing application into a RESTful webservice, with which both human end-users as well as automated clients can interact. CLAM takes a description of your system and wraps itself around the system, allowing end-users or automated clients to upload input files to your application, start your application with specific parameters of their choice, and download and view the output of the application once it is completed.

CLAM is set up in a universal fashion, requiring minimal effort on the part of the service developer. Your actual NLP application is treated as a black box, of which only the parameters, input formats and output formats need to be described. Your application itself needs not be network aware in any way, nor aware of CLAM, and the handling and validation of input can be taken care of by CLAM.

CLAM is entirely written in Python, runs on UNIX-derived systems, and is available as open source under the GNU Public License (v3). It is set up in a modular fashion, and offers an API, and as such is easily extendable. CLAM communicates in a transparent XML format, and using XSL transformation offers a full web 2.0 web-interface for human end users.

CLAM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

CLAM is written by Maarten van Gompel. Its development was funded by the NWO CLARIN-NL programme.

Download and installation

CLAM is maintained at github. To install the software, follow either of these routes:

Please consult the CLAM Manual for further instructions. After reading the manual, it is recommended to watch the CLAM tutorial videos at the bottom of this page.

For additional support and announcements please join the CLAM Mailing List

Architecture

CLAM has a layered architecture, with at the core the NLP application(s) you want to turn into a webservice. The application itself can remain untouched and unaware of CLAM. The scheme on the right illustrates the various layers.

Read more in the CLAM Manual and also see the CLAM poster presented at CLIN 21.

Last update: Thu Mar 8 2012