Software


DeSR
DeSR is a Dependency Shift Reduce parser for multiple languages. It generates dependency parse trees for natural language sentences.
The parser has been trained on all the 18 languages of the CoNLL-X Shared task and CoNLL Shared task 2007.
Dependency structures are built scanning the input from left to right and deciding at each step whether to perform a shift or to create a dependency between two adjacent tokens.
The parser algorithm is deterministic and highly efficient while still achieving state of the art accuracy.

More details and the software for download are available at the DeSR Parser Home.


DeepNL
DeepNL is a Python library for Natural Language Processing based on Deep Learning. The architecture DeepNL is based on SENNA (Semantic Extraction using a Neural Network Architecture). This implemetation also provides the code for training the neural network, which is not included in SENNA.
The following applications of the library are included: POS (Part-Of-Speech) tagging, NER (Named Entity Recongnition) and SRL (Semantic Role Labeling).
These applications achieve state of the art results just relying on word embeddings, without requiring complex feature extraction or feature tuning.
The library contains tools for creating word embeddings from a collection of plain text documents. Three methods are available for creating embeddings:
The DeepNL software is available for download on GitHub at deepnl.

WikiExtractor
WikiExtractor is a tool for extracting plain text from Wikipedia dumps.

NlpNet
This is a Python version of SENNA (Semantic Extraction using a Neural Network Architecture), a library for Natural Language Processing based on Deep Learning. This implemetation also provides the code for training the neural network, which is not included in SENNA.
The following applications of the library are included: POS (Part-Of-Speech) tagging, NER (Named Entity Recongnition) and SRL (Semantic Role Labeling).
These applications achieve state of the art results just relying on word embeddings, without requiring complex feature extraction or feature tuning. Word Embeddings for several languages to use with the library can be obtained from Polyglot.
This branch is rewrite by Giuseppe Attardi) of nlpnet by Eric Fonseca.

The software is available for download on GitHub at nlpnet.


DgAnnotator
The Dependency Grammar Annotator (DGA) is a visual tool for annotating texts with syntactic information according to the formal framework of Dependency Grammars, in particular creating a dependency tree for each sentence, where each work is linked to its head.
The tool is useful for generating treebank corpora on which parsers and other NL tools can be trained. The tool reads and produces annotated documents in both XML and CoNLL-X tab separated format.

More details and the software for download are available at the DgAnnotator Project Home.


LoaMA
LoaMA is Personal Media Aggregator, a tool that handles multimedia contents of various types and provides a mechanism that allows users to compose transformers to manipulate RSS feeds. Transformations can be used to create customized playlists, which in turn can be shared among users as feeds.
Media aggregators combine the convenience of the RSS information feeds with the capabilities of media sharing and distribution. Personal media aggregators not only provide a way to create, store and distribute thematic content but also allow users to customize the way material is collected, transformed and further distributed.

The design of LoaMA is described in the following paper The LOA Customizable Media Aggregator, presented at the Conference Axmedis 2005.


Loacker
is an e-learning system, built on top of LoaCMS. Loacker provides facilities for creating online courses, organizing and publishing the teaching material, course enrollment and timetable, arranging assessment tests. Extensive communcation facilities include forums and real-time conferencing based on the Conference XP libraries.

Loa CMS
LoaCMS is a Content Management System, fully self-contained, consisting of an Object Store, a Versioning System, an Access Control System, a Web Server, a template language, a Worflow System and a Search Engine.

ECoLisp
ECoLisp (Embeddable Common Lisp) is an implementation of Common Lisp designed for being embeddable into C based applications. ECL uses standard C calling conventions for Lisp compiled functions, which allows C programs to easily call Lisp functions and viceversa. No foreign function interface is required: data can be exchanged between C and Lisp with no need for conversion. ECL is based on a Common Runtime Support (CRS) which provides basic facilities for memory managment, dynamic loading and dumping of binary images, support for multiple threads of execution. The CRS is built into a library that can be linked with the code of the application. ECL is modular: main modules are the program development tools (top level, debugger, trace, stepper), the compiler, and CLOS. A native implementation of CLOS is available in ECL: one can configure ECL with or without CLOS. A runtime version of ECL can be built with just the modules which are required by the application. The ECL compiler compiles from Lisp to C, and then invokes the GCC compiler to produce binaries.

Here you can retrieve the sources of ECoLisp. An updated version is available as ECLS on Sourceforge.


Customizable Memory Management
The CMM is a memory management facility supporting complex memory intensive applications in C++. The CMM can manage several heaps, each one implementing a different storage discipline. The default heap for collectable objects uses the technique of mostly copying garbage collection, providing good performance and memory compaction. Other available heaps are a temporary heap, and a mark&sweep heap.

CMM users can define their own heap classes for the specific storage requirements of their algorithms.

Dhere are the CMM sources.


Giuseppe Attardi