Removed ability to keep empty words - useless feature
Generic class for machine learning rules
Defining an abstract base class for all Rule classes