Integrating Symbolic and Neural Computation