code: def guess_unmatched(self, token):
          
          # Check if this is probably an apartment:
          if token.lower() in ['apt', 'apartment']:
              return False
              # Stray dashes are likely useless
          if token.strip() == '-':
              return True
              # Almost definitely not a street if it is one or two characters long.
          if len(token) <= 2:
              return False
              # Let's check for a suffix-less street.
          if self.street_suffix is None and self.street is None and self.street_prefix is None and self.house_number is None:
              # Streets will just be letters
              if re.match(r"[A-Za-z]", token):
                  if self.line_number >= 0:
                      pass
                  #                    print "{0}: Guessing suffix-less street: ".format(self.line_number), token
                  else:
                  #                    print "Guessing suffix-less street: ", token
                      pass
                  self.street = self._clean(token.capitalize())
                  return True
          return False
docs: When we find something that doesn't match, we can make an educated guess and log it as such.