code: def _normalize(self, word):
          '''Normalization used in pre-processing.
  
          - All words are lower cased
          - Digits in the range 1800-2100 are represented as !YEAR;
          - Other digits are represented as !DIGITS
  
          :rtype: str
          '''
          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(f _normalize(self, word):
          '''Normalization used in pre-processing.
  
          - All words are lower cased
          - Digits in the range 1800-2100 are represented as !YEAR;
          - Other digits are represented as !DIGITS
  
          :rtype: str
          '''
          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()
docs: Normalization used in pre-processing.
  
          - All words are lower cased
          - Digits in the range 1800-2100 are represented as !YEAR;
          - Other digits are represented as !DIGITS
  
          :rtype: str