Class constructor

The class constructor lets us load the data and candidates, and then build a vocabulary and subsequently initialize our TensorFlow session and memory network object:

class ChatBotWrapper(object):
def __init__(self, train_data, test_data, val_data,
candidates, candidates_to_idx,
memory_size, batch_size, learning_rate,
evaluation_interval, hops,
epochs, embedding_size):
self.memory_size = memory_size
self.batch_size = batch_size
self.evaluation_interval = evaluation_interval
self.epochs = epochs

self.candidates = candidates
self.candidates_to_idx = candidates_to_idx
self.candidates_size = len(candidates)
self.idx_to_candidates = dict((self.candidates_to_idx[key], key)
for key in self.candidates_to_idx)
# Initialize data and build vocabulary
self.train_data = train_data
self.test_data = test_data
self.val_data = val_data
self.build_vocab(train_data + test_data + val_data, candidates)
# Vectorize candidates
self.candidates_vec = vectorize_candidates(
candidates, self.word_idx, self.candidate_sentence_size)
# Initialize optimizer
optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate)
# Initialize TensorFlow session and Memory Network model
self.sess = tf.Session()
self.model = MemoryNetwork(
self.sentence_size, self.vocab_size,
self.candidates_size, self.candidates_vec,
embedding_size, hops,
optimizer=optimizer, session=self.sess)
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset