code: def records(self):
          
          compounds = ModelList()
          seen_labels = set()
          # Ensure no control characters are sent to a parser (need to be XML compatible)
          tagged_tokens = [(CONTROL_RE.sub('', token), tag) for token, tag in self.tagged_tokens]
          for parser in self.parsers:
              for record in parser.parse(tagged_tokens):
                  p = record.serialize()
                  if not p:  # TODO: Potential performance issues?
                      continue
                  # Skip duplicate records
                  if record in compounds:
                      continue
                  # Skip just labels that have already been seen (bit of a hack)
                  if all(k in {'labels', 'roles'} for k in p.keys()) and set(record.labels).issubset(seen_labels):
                      continue
                  seen_labels.update(record.labels)
                  compounds.append(record)
          return compounds
docs: Return a list of records for this sentence.