Compositionally-Constructive Conceptual Boltzmann Machine Expectation Model

From Emcap


Compositionally-Constructive Conceptual Boltzmann Machine

by Ricard Marxer <>

Music Technology Group, Universitat Pompeu Fabra


Copyright (c) 2006-2008 All Rights Reserved.

Download Emerge 1.0 (GNU/Linux)

Download Emerge 1.0 (Windows)

What Is The Module?

It performs online, unsupervised and incremental pattern discovery and pattern matching on a sequence of symbolic events coming from an online and incremental classification process. The module implements a Boltzmann Machine as described in Pfleger 2002. Thus the module is capable of adapting to changes of the representation space without resetting the internal state. This allows tracking patterns on a continuously changing symbol space.

This module is often used between after a representer such as the Cobweb by Marxer. This allows to create expectations of feature sequence positions or even completions of past events. Currently the output of the module is only printed to screen since the module is still under construction.

What Are The Inputs/Outputs?

The input to the module consists of a stream of representation events. These are treated as a sequence of symbols, by ignoring the timestamp. Thus the module performs sequence expectation and completion. The module is capable of adapting to a incremental classifier. This means that the internal state of this module reacts to the changes on the partitioning of space without loosing information. The adaptation permits it to work on an online manner and eventually input feedback to prior processes in the pipeline (e.g. input to the representer the next expected symbol).

Currently the module creates no output whatsoever, since it is still under heavy development.

What Are The Parameters?

Currently the module does not accept any parameters.

What Are The System Requirements?


The package can be installed in several different ways, depending on your system. The easiest way is to install the setuptools package. On Debian based systems:

$ sudo apt-get install python-setuptools

and then just write the following:

$ sudo easy_install

If this method does not work correctly, one must install manually all the dependencies, and build the package himself. For the software to fully work you must have the following dependencies installed:

Then one must download the package here and run:

$ python build
$ sudo python install


A binary package has been made for ease of installation and use. To run, one must unzip the package somewhere and run the following executable from the command line:


How To Cite

 author = {Ricard Marxer and Piotr Holonowicz and Hendrik Purwins},
 title = {Dynamical Hierarchical Self-Organization of Harmonic, Motivic, and
 Pitch Categories},
 address = {Vancouver, Canada},
 booktitle = {Music, Brain and Cognition. Part 2: Models of Sound and
 Cognition, held at NIPS)},
 note = {(to appear)},
 year = {2007}

How To Use

$ emem-cccbm input_filename.rev output_filename.rev

Input File Format

A file containing one representation event per line. The events are of two kinds:

  • Assignments of classes to incoming feature events in the form
  • Changes to the representation space in the form:

Output File Format

Currently nothing. The module is still under construction.

Example Of Use

$ emem-cccbm transcribed.rev expected.rev