为 word2vec 模型准备数据

我们将使用流行的 PTB 和 text8 数据集进行演示。

Penn TreebankPTB )数据集是在 UPenn 进行的 Penn Treebank 项目的副产品( https://catalog.ldc.upenn.edu/ldc99t42 )。 PTB 项目团队在华尔街日报三年的故事中提取了大约一百万字,并以 Treebank II 风格对其进行了注释。 PTB 数据集有两种形式: 基本示例,大小约为 35 MB, 高级示例,大小约为 235 MB。我们将使用由 929K 字组成的简单数据集进行训练,73K 字用于验证,82K 字用于测试。建议您浏览高级数据集。有关 PTB 数据集的更多详细信息,请访问以下链接: http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz

可以从以下链接下载 PTB 数据集:http://www.fit.vutbr.cz/~imikolov/rnnlm/rnn-rt07-example.tar.gz.

text8 数据集是一个较短的清理版本的大型维基百科数据转储,大小约为 1 GB。有关如何创建 text8 数据集的过程,请参见以下链接: http://mattmahoney.net/dc/textdata.html

text8 数据集可以从以下链接下载:http://mattmahoney.net/dc/text8.zip.

使用我们的自定义库datasetslib中的load_data代码加载数据集:

load_data()函数执行以下操作:

  1. 如果数据集的 URL 在本地不可用,它将从数据集的 URL 下载数据存档。
  2. 由于PTB数据有三个文件,它首先从训练文件中读取文本,而对于text8,它从归档中读取第一个文件。
  3. 它将训练文件中的单词转换为词汇表,并为每个词汇单词分配一个唯一的数字,word-id,将其存储在集合word2id中,并准备反向词典,这样我们就可以从 ID 中查找单词,并将其存储在集合id2word中。

  4. 它使用集合word2id将文本文件转换为 ID 序列。

  5. 因此,在load_data的末尾,我们在训练数据集中有一系列数字,在集合id2word中有一个 ID 到字的映射。

让我们看一下从 text8 和 PTB 数据集加载的数据:

results matching ""

    No results matching ""