Apache UIMA SnowballAnnotator README file

INTRODUCTION

This project provides a version of the Snowball stemmers. The Snowball stemmers are licensed under
the BSD License (see http://snowball.tartarus.org/license.php), with Copyright (c) 2001, 
Dr Martin Porter, and (for the Java developments) Copyright (c) 2002, Richard Boulton.

The Snowball stemmers are used to build an UIMA analysis component based on the Apache UIMA framework.

For more information on UIMA, see:
  http://incubator.apache.org/uima

For more information on Snowball, see:
  http://snowball.tartarus.org/