Learning Algebraic Recombination for Compositional Generalization