Пример #1
0
    def test_utils_get_bleu(self):
        orig = ["<start> 안녕 나는 이민혁 . <end> ."]
        sentence = ["안녕 나는 이민혁 ㅋ <end> z k"]
        bleu_score = get_bleu_score(x=orig, y=sentence)
        self.assertNotEqual(bleu_score, 1.0)

        bleu_score = get_bleu_score(
            x=[
                "<start> 나 는 <unk> 일 <unk> 고 <unk> 에 가요 . <end>",
                "<start> <unk> 는 <unk> 에 항상 <unk> <unk> 에 가요 . <end>",
            ],
            y=[
                "나 는 일어나 자마자 화장실 에 가요 . <end> <end> <end>",
                "선생 이 문장 이 이해 가 요 . <end> <end> <end>",
            ],
        )
        self.assertEqual(bleu_score, 0.2170999676365301)
Пример #2
0
            logger.info("Train Inferences")
            original_eng_text = tokenizer_ori.sequences_to_texts(
                en.numpy()[:2])
            logger.info(f"  original eng text: {original_eng_text}")
            ko_inferenced = inference(en)
            original_kor_text = tokenizer_tar.sequences_to_texts(
                ko.numpy()[:2])
            logger.info(f"  original kor text: {original_kor_text}")
            inferenced_kor_text = tokenizer_tar.sequences_to_texts(
                ko_inferenced.numpy()[:2])
            logger.info(f"  inferenced kor text: {inferenced_kor_text}")
            ko = tokenizer_tar.sequences_to_texts(ko.numpy())
            ko_inferenced = tokenizer_tar.sequences_to_texts(
                ko_inferenced.numpy())
            bleu_train = get_bleu_score(ko, ko_inferenced)
            logger.info(f"  mean bleu score: {bleu_train}")

            with log_writer.train.as_default():
                tf.summary.text("original_eng_text", original_eng_text, step)
                tf.summary.text("original_kor_text", original_kor_text, step)
                tf.summary.text("inferenced_kor_text", inferenced_kor_text,
                                step)
                tf.summary.scalar("bleu", bleu_train, step)

            logger.info(f"Test Inferences")
            en, ko = next(dataset_test_iterator)
            original_eng_text = tokenizer_ori.sequences_to_texts(en.numpy())
            logger.info(f"  original eng text: {original_eng_text}")
            ko_inferenced = inference(en)
            original_kor_text = tokenizer_tar.sequences_to_texts(ko.numpy())