SPiCe: Sequence PredIction ChallengE


This was very important during the competition. Now that it is finished, the data are available in a more usual form that allow a off-line computation of the score.

Script example

The python program submission.py is an example of a script for a submission process. At the begining of the script you need to give your user id (the one sent in the registration email) and the problem files. All that is missing then is the learning algorithm and the ranking function!

Use case

Here is a scenario of a participation:
  1. The first thing you have to do is to register. You then will receive an email containing an activation link and your user number.
  2. Once you followed the activation link, you can log in: you then will have access to the secured parts of the site.
  3. You then can download the data sets of a problem on the data page.
  4. You are now able to learn a model from the .train file you have just downloaded. This can be done using your own algorithm, or using one of the baselines we provide.
  5. Using the learned model, you can compute the ranking it associates to the unique prefix of the public test file provided you have initially downloaded.
  6. You can then submit your ranking for this prefix by accessing the webpage
    • USER is the user number that was provided in the email sent when you registered.
    • PROBLEM_NB is the number of the problem you are considering.
    • NAME is the name of your submission: it has to be unique to each test set submission on a given problem, meaning that each time you want to submit your rankings on a test set (private or public) of a given problem you have to change it (of course, you do not not change it between the different prefixes of the test set of the same submission). It must contain only letters, numbers and underscores. For instance, NAME can be my_algorithm_with_parameter_3, and once all the prefixes have been recursively submitted another submission can have my_algorithm_with_parameter_4 for NAME.
    • PREFIX is the prefix you are submitting your ranking for. The format should be the one use when the prefix was provided: the first number is the length of the prefix, then you have the number corresponding to the first letter, then the second and so on. Each number is seperated by a unique space and there is no space after the last number (in the case you are trying to get the url directly from a program, spaces should be replace by '%20'). For instance, PREFIX can be '3 12 2 42' (without the quotes) or '3%2012%20%202%2042' (without the quotes) in your program.
    • NUMBER is the prefix number. As the same prefix can appear several time in a test sample, we also need this information. The first prefix (the unique one avalaible in the downloadable test set) is numbered 1, the first one you received when submitting is number 2, and so on.
    • RANKING is the order on the possible next symbols that your model gives you, the more probable being the first one. You separate each symbol by a space with no space after the last one (as for the prefix, from a program you need to replace the spaces by '%20'). For instance, if your ranking gives 11 as the most probable next symbol, then 2, then 42, then -1, and finally 0, RANKING should be '11 2 42 -1 0', or '11%202%2042%20-1%200' in your program. The symbol '-1' stands for the end of sequence symbol: its probability corresponds to the probability of the prefix to be a complete sequence.
  7. If a problem occurs, the page you get starts with '[Error] '. Please, feel free to contact us if you do not understand why you have an error.
  8. If everything went well, the page you obtain contains the next prefix. You can then repeat the process from step 5 using this prefix.
  9. After all the rankings for all the prefixes have been given in this iterative way, the page indicates that the ranking for the last prefix of the test sample has been given: it starts with '[Success] ' and:
    • If the test set is a public one, it indicates then the score of the submission. You can then start to submit your results using another algorithm (or the same with a different parameter value) providing you change the name of the submission). Make sure you start with the first prefix of the test sample, the one contained in the file of the data section.
    • If the test set is private, no feedback is given (the page only contains '[Success]'). You cannot submit any new ranking for this problem. Remember that you are not allowed to have several accounts for the same team, so be sure you are perfectly confident about your algorithm before submitting on any private test sample.