code: def _flatten_entities(self) -> Tuple[List[str], numpy.ndarray]:
          
          entities = []
          linking_scores = []
          for entity in sorted(self.linked_entities['number']):
              entities.append(entity)
              linking_scores.append(self.linked_entities['number'][entity][2])
  
          for entity in sorted(self.linked_entities['string']):
              entities.append(entity)
              linking_scores.append(self.linked_entities['string'][entity][2])
  
          return entities, numpy.array(linking_scores)
docs: When we first get the entities and the linking scores in ``_get_linked_entities``
          we represent as dictionaries for easier updates to the grammar and valid actions.
          In this method, we flatten them for the model so that the entities are represented as
          a list, and the linking scores are a 2D numpy array of shape (num_entities, num_utterance_tokens).