Software

This page provides and links to software components
developed by ESSENCE fellows.

Software Components

First-Person Communication Planner

Tânia Marques

Extension of the symbolic planning technology to allow explicit communication planning regadless of the domain.

Programming Language: C
Dependencies: Flex, Bison (included in repository)

Link to the software

AMI Adjancency Pair Tools

Julian J. Schlöder

Tools to extract and analyse the adjacency pair annotation in the AMI meeting corpus.

Programming Language: Python
Dependencies: NLTK, NXT toolkit (for data extraction)

Link to the software

Polarity Model for Disagreement Detection

Julian J. Schlöder

A toy implementation of the polarity-based model for disagreement detection (paper). The model analyses the AMI corpus, using the Adjacency Pair Tools above.

Programming Language: Python
Dependencies: NLTK, scikit-learn, NXT toolkit (for data extraction)

Link to the software

Adaptation in ambiguous communication

Thomas Brochhagen

Iterated dyadic interaction between ambiguous language users without a common prior.  Linguistic behavior is a generalized variant of Iterated Quantal Response, coupled with adaptive dynamics.

Programming Language: Python
Dependencies: numpy (matplotlib and seaborn for visualization)

Link to the software

Expressivity and learnability in cultural transmission

Thomas Brochhagen

Population level dynamics on linguistic types that exert pressure towards either only expressivity, only learnability, or a combination thereof. Linguistic behavior is a variant of Iterated Quantal Response / RSA. Dynamics are replicator dynamics (expressivity) and iterated Bayesian learning as mutator dynamics (learnability).

Programming Language: Python
Dependencies: numpy

Link to the software

User Interface for the translation of WordNet concepts to any other language

Mercedes Huertas-Migueláñez

User interface that supports the translation of WordNet-like concepts in other languages. This simplified version has been tested to translate English concepts into Italian and submit them to a database.

Programming Language: HTML5, CSS, Angularjs
Dependencies: Angularjs, Mongodb

Link to the software

Crowdsourcing platform on OmegaWiki synset and WordNet Synset alignments

Khuyagbaatar Batsuren

In the first phase, an automatic method was used to estimate the similarities between WordNet synsets of two resources. Based on findings from the first phase, this platform asks users whether WordNet synsets and Omegawiki synsets match.

Programming Language: Java, Angularjs
Dependencies: Apache Web Server, Zend Framework, Webix, and Angularjs

Link to the software

Vocabulary Alignment in Openly Specified Interactions

Paula Chocrón

Simulations that show pairs of  heterogeneous agents  aligning their vocabulary from the experience of interacting with each other. The interactions are specified in Linear Temporal Logic, and the learning is inspired by very simple reinforcement learning techniques.

Programming Language: Python
Dependencies: NuSMV (included in the package)

Link to the software

Two-agent system arguing about meaning in order to build contrast sets

Kemo Adrian

Two agents build contrast sets (knowledge representations associated to a vocabulary) that is initially unable to guarantee mutual intelligibility. Through argumentation over the concepts that compose the contrast set, the agents build a new version of their initial contrast set. This final contrast set guarantees mutual intelligibility while providing the same expressiveness as their initial versions.

Programming Language: Java
Dependencies: FTL (included in repository)

Link to the software

Domain-Aware Semantic Matcher

Francisco José Quesada Real

This component carries out semantic matching between two schemas considering domain information and domain-specific terminologies.

Programming Language: Java
Dependencies: WordNet, S-Match and Diversicon

Link to the software

A Web-Based Editor and Visualiser for Distributed Linked-Data Instructions

Paolo Pareti

This Javascript application allows non-expert users to generate resources that embed Linked Data into simple human-readable HTML pages (using RDFa). These resources describe human instructions, and they can be interconnected not only through HTML links, but also through semantic links (Linked Data). This application allows the exploration of potentially distributed resources by following semantic links and by displaying them in a graphical representation.

Programming Language: Javascript
Dependencies: rdflib.js

Link to the software

A Framework for Exploring Structure Alignment between Co-situated Agents

Michael Anslow

A multi-agent framework for exploring structure alignment problems where structures are graph knowledge bases of agents in a multi-agent system and where these structures are their representation of a shared environment. The essential problem is that of finding structural similarity between knowledge graphs while the setting provides the scenario in which structure matching occurs.

Programming Language: Java
Dependencies: Neo4J, Cypher

Link to the software

GUESSence guessing game for the Taboo Challenge

Dagmar Gromann

This is a web application that is also displayed in a webview Android mobile application of the guessing game GUESSence that is based on the popular board game Taboo. The two game roles are describer and guesser. The describer describes a given city to a guesser without using a set of forbidden words that are provided. The guesser provides city names they think are being described. The game was used to collect the dataset for the Taboo Challenge held at IJCAI 2017.

Programming Language: Python
Dependencies: Django, NLTK, NGINX, Stanford NER

Link to the software

Image Schema Extraction using Spectral Clustering

Dagmar Gromann

Extracting image schemas, spatio-temporal cognitive building blocks, from natural language text is an open challenge and no gold standard data set exists. For this reason this code represents a first unsupervised spectral clustering method to identify them in natural language based on prepositions as spatial indicators, verbs as movement indicators, and their co-occurring nouns with frequencies as feature vectors. The code includes required preprocessing steps to go from raw input sentences to spatial clusters that are potentially image schematic in English, Swedish, and German.

Programming Language: Python, Java (for dependency parsing)
Dependencies: sklearn, scipy, gensim, Stanford NER

Link to the software

Meta-Layer Problem Solving for Computational Construction Grammar

Paul Van Eecke

We present a series of major advances in Fluid Construction Grammar (FCG), a fully operational computational construction grammar framework. FCG can be used to comprehend (semantically parse) and formulate (semantically produce) natural language. It is mainly used in multi-agent experiments into language emergence and evolution. We have integrated a library of diagnostics and repairs for on-the-fly meta-layer problem solving and learning. It is now also available as a web service, for easier integration into external applications and NLP pipelines.

Technical details : FCG can be called through a web-api based on http requests. The source code can also be downloaded freely and is written in common lisp. It is compatible with all major operating systems (including linux, OSX and windows) and major lisp distributions (including LispWorks, Closure Common Lisp and Steel Bank Common Lisp).

Web service: https://www.fcg-net.org/fcg-interactive
Download: https://www.fcg-net.org/download

Programming Language: Common Lisp (ANSI standard)
Dependencies: gnuplot and graphviz for visualisation (other libraries are included in the release)

Evolution of the tone of Artificial Intelligence Narratives

Aysenur Bilgin

The aim of this project is to explore how the narratives regarding Artificial Intelligence (AI) have been changing throughout its history (1950s-today). The project combines the following two approaches:
- Diachronic computational linguistics: Using context predicting distributional semantic models to mine word/topic associations and to create semantic vector spaces for each specified time interval
- Natural Language Processing: Using lexicon based unsupervised methods to analyse and track the changes in sentiment over time

Programming Language : Python 2.7
Dependencies: Gensim, NLTK, StanfordCoreNLP Server for training and analysis

Link to the software

Leave a Reply