def test_get_sentence(self):
        # arrange
        gen = SentenceGenerator()

        # act, assert
        self.assertEqual('es ist zwölf uhr'.split(' '),
                         gen.get_sentence(time(12, 0)))
        self.assertEqual('es ist zwölf uhr'.split(' '),
                         gen.get_sentence(time(0, 0)))
        self.assertEqual('es ist sechs uhr'.split(' '),
                         gen.get_sentence(time(6, 0)))
        self.assertEqual('es ist sechs uhr'.split(' '),
                         gen.get_sentence(time(18, 0)))
        self.assertEqual('es ist fünf nach eins'.split(' '),
                         gen.get_sentence(time(1, 5)))
        self.assertEqual('es ist zehn nach zwei'.split(' '),
                         gen.get_sentence(time(2, 11)))
        self.assertEqual('es ist viertel nach drei'.split(' '),
                         gen.get_sentence(time(3, 14)))
        self.assertEqual('es ist zwanzig nach vier'.split(' '),
                         gen.get_sentence(time(4, 22)))
        self.assertEqual('es ist fünf vor halb fünf2'.split(' '),
                         gen.get_sentence(time(4, 25)))
        self.assertEqual('es ist halb sechs'.split(' '),
                         gen.get_sentence(time(5, 30)))
        self.assertEqual('es ist fünf nach halb sieben'.split(' '),
                         gen.get_sentence(time(6, 34)))
        self.assertEqual('es ist zwanzig vor acht'.split(' '),
                         gen.get_sentence(time(7, 42)))
        self.assertEqual('es ist viertel vor neun'.split(' '),
                         gen.get_sentence(time(20, 45)))
        self.assertEqual('es ist zehn vor zehn2'.split(' '),
                         gen.get_sentence(time(21, 49)))
        self.assertEqual('es ist fünf vor elf'.split(' '),
                         gen.get_sentence(time(10, 55)))
        self.assertEqual('es ist fünf vor eins'.split(' '),
                         gen.get_sentence(time(12, 55)))
Exemple #2
0
    # when training a model from scratch).
    if not use_pickled_vocab:
        pickled_vocab = ""
    # Note: the training data used is either pickled_shards, pickled_pairs,
    # or all_sentences (in that priority).
    if not use_pickled_shards:
        pickled_shards = []
    if not use_pickled_pairs:
        pickled_pairs = ""
    sentence_generator.train_generator(all_sentences,
                                       num_train_iters,
                                       pickled_pairs=pickled_pairs,
                                       pickled_shards=pickled_shards,
                                       pickled_vocab=pickled_vocab,
                                       vocab_size=30000,
                                       max_output_length=50,
                                       teacher_forcing_ratio=0.5,
                                       batch_size=64,
                                       learning_rate=0.0002,
                                       rnn_cell='lstm')
    pickle.dump(sentence_generator, open(model_save_path, "wb"))

# Test the model.
emb = sentence_generator.get_embedding("This is a test sentence.")
sent = sentence_generator.get_sentence(emb)
print(sent)

emb = sentence_generator.get_embedding("This is also a test.")
sent = sentence_generator.get_sentence(emb)
print(sent)