@classmethod<EOL><INDENT>@overrides<EOL>def read(self, data_path: str, dialogs: bool = False) -> Dict[str, List]:<DEDENT>
required_files = (self._data_fname(dt) for dt in ('<STR_LIT:train>', '<STR_LIT>', '<STR_LIT:test>'))<EOL>if not all(Path(data_path, f).exists() for f in required_files):<EOL><INDENT>log.info('<STR_LIT>'.format(self.url, data_path))<EOL>download_decompress(self.url, data_path)<EOL>mark_done(data_path)<EOL><DEDENT>data = {<EOL>'<STR_LIT:train>': self._read_from_file(<EOL>Path(data_path, self._data_fname('<STR_LIT:train>')), dialogs),<EOL>'<STR_LIT>': self._read_from_file(<EOL>Path(data_path, self._data_fname('<STR_LIT>')), dialogs),<EOL>'<STR_LIT:test>': self._read_from_file(<EOL>Path(data_path, self._data_fname('<STR_LIT:test>')), dialogs)<EOL>}<EOL>return data<EOL>
Downloads ``'kvrest_public.tar.gz'``, decompresses, saves files to ``data_path``.

Parameters:
    data_path: path to save data
    dialogs: flag indices whether to output list of turns or list of dialogs

Returns:
    dictionary with ``'train'`` containing dialogs from ``'kvret_train_public.json'``, ``'valid'`` containing dialogs from ``'kvret_valid_public.json'``, ``'test'`` containing dialogs from ``'kvret_test_public.json'``. Each fields is a list of tuples ``(x_i, y_i)``.