COR: a methodology to improve ad hoc data-driven linguistic rule learning methods by inducing cooperation among rules