We based our algorithm on the correlation between your choices on the survey and a little database containing the different candidates point of view.
To create our database, we choose a few topics, and for each , some items we find that are important and/or controversial in recent elections.
We positioned our candidates on every item with: -1, 0 or +1. This way, we are able to compare points of view. Here, positive and negative have no meaning but positioning candidates on points of view.