code: def get_batch(sentences,
                    token_dict,
                    ignore_case=False,
                    unk_index=1,
                    eos_index=2):
          batch_size = len(sentences)
          max_sentence_len = max(map(len, sentences))
          inputs = [[0] * max_sentence_len for _ in range(batch_size)]
          outputs_forward = [[0] * max_sentence_len for _ in range(batch_size)]
          outputs_backward = [[0] * max_sentence_len for _ in range(batch_size)]
          for i, sentence in enumerate(sentences):
              outputs_forward[i][len(sentence) - 1] = eos_index
              outputs_backward[i][0] = eos_index
              for j, token in enumerate(sentence):
                  if ignore_case:
                      index = token_dict.get(token.lower(), unk_index)
                  else:
                      index = token_dict.get(token, unk_index)
                  inputs[i][j] = index
                  if j - 1 >= 0:
                      outputs_forward[i][j - 1] = index
                  if j + 1 < len(sentence):
                      outputs_backward[i][j + 1] = index
          outputs_forward = np.expand_dims(np.asarray(outputs_forward), axis=-1)
          outputs_backward = np.expand_dims(np.asarray(outputs_backward), axis=-1)
          return np.asarray(inputs), [outputs_forward, outputs_backward]