diff --git a/combo/main.py b/combo/main.py index c7aac871159b8d8b94d8081e0a9b4d12e2f69fb8..44ad091f8c5004bf9f4e70323ec828bf44288447 100644 --- a/combo/main.py +++ b/combo/main.py @@ -146,6 +146,9 @@ def run(_): else: use_dataset_reader = FLAGS.conllu_format predictor = _get_predictor() + if FLAGS.input_file == "-": + use_dataset_reader = False + predictor.without_sentence_embedding = True if use_dataset_reader: predictor.line_to_conllu = True if FLAGS.silent: diff --git a/combo/predict.py b/combo/predict.py index ebbb37290bd0857309a4b209bf1a31e089ded8ce..b6c7172c2477efdea4c5e11e0ea1575450602db0 100644 --- a/combo/predict.py +++ b/combo/predict.py @@ -32,6 +32,7 @@ class SemanticMultitaskPredictor(predictor.Predictor): self._dataset_reader.generate_labels = False self._dataset_reader.lazy = True self._tokenizer = tokenizer + self.without_sentence_embedding = False self.line_to_conllu = line_to_conllu def __call__(self, sentence: Union[str, List[str], List[List[str]], List[data.Sentence]]): @@ -127,6 +128,8 @@ class SemanticMultitaskPredictor(predictor.Predictor): def dump_line(self, outputs: data.Sentence) -> str: # Check whether serialized (str) tree or token's list # Serialized tree has already separators between lines + if self.without_sentence_embedding: + outputs.sentence_embedding = [] if self.line_to_conllu: return sentence2conllu(outputs, keep_semrel=self._dataset_reader.use_sem).serialize() else: