gradient boosting logic programming semantic parser