'Normalization used in pre-processing.
- All words are lower cased
- Groups of digits of length 4 are represented as !YEAR;
- Other digits are represented as !DIGITS
:rtype: str'

def normalize(self, word):

    if (('-' in word) and (word[0] != '-')):
        return '!HYPHEN'
    elif (word.isdigit() and (len(word) == 4)):
        return '!YEAR'
    elif word[0].isdigit():
        return '!DIGITS'
    else:
        return word.lower()
