XL2248/VHM

关于数据集的问题

Youggls opened this issue · 6 comments

尊敬的作者您好,
非常感谢您分享您的代码,您的研究工作对我的科研工作有很大的帮助。
关于您的训练数据我有一些问题,看到代码中 run_config/train-enzh-self.json 文件有 /path/to/CLS_src/train_zh.text.wordseg.norm.bpe/path/to/CLS_tgt/train_en.sum.norm.tok.lowercase.bpe 这样的文件。我的理解是这里给出的应该是分词后的中英文文件。
想问一下您,具体分词的细节是怎么实现的,使用了什么分词器(是Google的sentencepiece吗)。能否给出更详细的数据处理流程呢?
非常感谢您在百忙之中解答我的问题!
再次感谢您的分享。

Youggls,你好:
对于数据集的处理,我们基本上是follow前人工作(NCLS和ATS)进行处理的。在本工作里的数据处理流程大致如下:
1)对于zh->en,我们首先使用Stanford CoreNLP toolkit进行分词,而后使用mosesdecoder/scripts/tokenizer里的normalize-punctuation.perl(对zh,en处理)和tokenizer.perl(对en端处理),en端做lowercase,并做句子过长截断处理(zh200,en120),之后采用subword-nmt-master进行bpe的学习,再apply到所有数据集上;之后构建词表,开始训练。
2)对于en->zh,对en端切词并做lowercase,对zh端切字,做句子过长截断处理(en200,zh150);之后构建词表并开始训练。
也建议你去看一下NCLS论文里的设置,以免有一些细节可能被上述过程所遗漏。
希望这对你能有所帮助。

非常感谢您的解释和分享!祝您科研工作顺利~

XL2248,您好:
能提供一下预处理后的数据集嘛?

czq1999,你好,
感谢你的关注。目前我们没有这个版权去散播这些数据集,你可以从原文那里下载下来,比如LCSTS和对应的英文,后续我会尽快把我处理数据的脚本开源出来。
希望能对你有所帮助。

Hi,提取数据时可参考preprocessing_scripts里的脚本,之后按照上面说的方式this进行处理即可。
也祝你科研顺利~