Giter Site home page Giter Site logo

paulachocron / learning-alignment-fsm Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 33 KB

Code for the paper "Attuning Ontology Alignments to Semantically Heterogeneous Multi-Agent Interactions". Agents learning vocabulary alignments from interactions specified with automata.

License: GNU General Public License v3.0

Python 100.00%

learning-alignment-fsm's Introduction

This is the code for the work described in the paper "Attuning Ontology Alignments to Semantically Heterogeneous Multi-Agent Interactions", presented at ECAI 2016.

The following files are included:

  • interaction.py: contains the basic classes necessary for the interaction, such as Interaction Model and Alignment

  • generator.py: contains the random generator for all the classes in the file above. In particular, contains a random protocol generator and a method that creates alignments with particular values of precision and recall with respect to another one.

  • issa.py: contains the definition of the four agents that are described in the paper. These are AgentWA, that only uses an alignment; ISSAgent, that only learns an alignment from the experience; ISSAgentWA, a straightforward combination between the previous two; AgentWAExp, a more sophisticated combination

  • examples.py: contains the toy examples that I used for preliminary experimentation, in particular an alignment between european countries and its capitals, and the Travel Agency scenario presented in the paper

  • experiments.py: the experimentation that is presented in the paper

  • example.py: a demo showing the behaviour of agents. Explained now in detail.

########### The EXAMPLE ##########

The example shows the evolution of the alignment learning by two agents that use an interaction model with 50 states. The two agents are created with different protocols and alignment, and by interacting with each other they learn the alignment between its vocabularies. I included two examples:

  • 'europe': agents use a vocabulary that consists on european countries and capitals, and protocols are generated randomly.
  • 'travel': agents use the travel agency scenario presented in the paper

When agents have previous alignments, they have precision and recall 0.5 with respect to the correct alignment.

To execute the example, call

-------------- python example.py [-a -i -p -v -s] --------------

It accepts 5 parameters:

  • -a determines the kind of agent that will be used. The possibilities are:

    • 0: AgentWA, an agent with an alignment but without learning
    • 1: ISSAgent, an agent with learning but without any alignment
    • 2: ISSAgentWA, an agent with learning and alignment, and a simple technique to combine both
    • 3: AgentWAExp, an agent with learning and alignment and a more involved technique to combine both Defaults to 3.
  • -i determines the quantity of interactions to be performed by the agents. Defaults to 100

  • -p determines the example to show. Can be 'europe' or 'travel' and defaults to 'europe'

  • -v determines the verbosity. If it is 1, agents show the dynamics of the interaction and their alignments in each step. Defaults to 0.

  • -s determines the size of the protocol to be used, if generating it randomly. Defaults to 90.

The demo in no verbose mode will print the result of each interaction, as well as the final percentage of successful ones.

learning-alignment-fsm's People

Watchers

James Cloos avatar Paula Chocron avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.