def METHOD_NAME(self, data_path):
    train_path = os.path.join(data_path, 'train_data.jsonl')
    test_path = os.path.join(data_path, 'test_data.jsonl')
    # The test data has 1341 episodes. Making valid this size gives
    # about 80/10/10 train/test/valid split
    test_set_episodes = 1341
    if self.datatype.startswith('test'):
        unmerged_episodes = self.get_data_from_file(test_path)
    elif self.datatype.startswith('valid'):
        unmerged_episodes = self.get_data_from_file(train_path)
        unmerged_episodes = unmerged_episodes[:test_set_episodes]
    else:
        unmerged_episodes = self.get_data_from_file(train_path)
        unmerged_episodes = unmerged_episodes[test_set_episodes:]
    # some speakers speak multiple times in a row.
    for unmerged_episode in unmerged_episodes:
        episode = []
        prev_speaker = None
        for message in unmerged_episode['messages']:
            curr_speaker = message['senderWorkerId']
            text = replace_movie_ids(message['text'], self.title_id_map)
            if curr_speaker == prev_speaker:
                episode[-1] = episode[-1] + " " + text
            else:
                episode.append(text)
                prev_speaker = curr_speaker
        self.episodes.append(episode)