Language processing uses tools such as syntactic and semantic analyzers. In order to perform their tasks, some of these tools use linguistic information (for instance, dictionaries and grammars), making natural language processing by computers closer to the human process.
We are using natural language processing tools in many of our applications, namely in dialog management, automatic summarization, information retrieval, question answering, discourse analysis, term and emotion extraction.
Besides applying these tools to text we are applying them to automatic transcriptions of spoken documents, leading to new challenges.
- MARv - a morphossyntactic disambiguation tool;
- monge - a word form generator;
- PAsMo - a rule-based morphology processor, tag converter, and sentence splitter;
- RuDriCo - a rule-based morphology processor;
- SMorph - a morphological analyser;
- XA - a morphological analyser similar to ispell and jspell;
- YAH - yet another hyphenator.
- Algas -- establishes dependency relations between chunks and words
- ParVO -- a C++ implementation of Earley's algorithm with attribute unification (as in an attribute grammar).
- SuSAna -- susrface syntactic analyser and chunker
- TiraTeimas -- verifies if a set of chunks satisfies a set of constraints
- AsDeCopas -- applies contextual rules (possibly hierarchically organized) to a graph
- Ogre -- transforms a structure where both chunks and words are connected into a dependency structure
- ATA - automatic term extraction (semantics-like processing)
- DID - a discourse indentifier.
- Galinha - a portal for building and running applications.
- LRDB - a language resources database and access framework.
- FSTk - a finite-state transducer library.
- ShReP - A Framework for constructing NLP systems.
- L2F_PhoneAlign - A DTW-based phonetic aligner.
- L2F_MuLA - A tool to synchronize annotation of speech at various levels of granularity.
- AUDIMUS - Automatic Large Vocabulary Continuous Speech Recognition for the European Portuguese language