A python3 implementation of Coactive Critiquing for preference elicitation.
Coactive critiquing extends coactive learning with support for example critiquing interaction.
Please see our paper:
Stefano Teso, Paolo Dragone, Andrea Passerini. "Coactive Critiquing: Elicitation of Preferences and Features", accepted at AAAI'17, 2017.
The following packages are required:
- numpy
- matplotlib
- pymzn, tested with version 0.10.7
- minizinc, tested with version 2.0.13
- gecode, tested with version 4.4.0
- cvxpy, tested with version 0.4.3
Type:
$ ./main --help
to get the full list of options.
To run the synthetic experiment, type:
$ ./main canvas ${method} -U 20 -T 100 -S ${sparsity} -E 0.1 -s 0 -d -W users/canvas_${sparsity}.pickle
where ${method} can be:
pp-attrfor pure Coactive Learning (fixed feature space) over the base features onlypp-allfor pure Coactive Learning (fixed feature space) over the full feature spacecppfor Coactive Critiquing (dynamic feature space acquisition) and${sparsity}is the degree of sparsity. The values used in the paper are0.2(sparse case) and1.0(non-sparse case).
Similarly, to run the travel planning experiment, type:
$ ./main travel ${method} -U 20 -T 100 -S ${sparsity} -E 0.1 -s 0 -d -W users/travel_${sparsity}_tn_10.pickle
The project is supported by the CARITRO Foundation through grant 2014.0372.