Computational techniques to interpret the neural code underlying complex cognitive processes