多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 为 word2vec 模型准备数据 我们将使用流行的 PTB 和 text8 数据集进行演示。 **Penn Treebank** ( **PTB** )数据集是在 UPenn 进行的 Penn Treebank 项目的副产品( [https://catalog.ldc.upenn.edu/ldc99t42](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](http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz) 。 可以从以下链接下载 PTB 数据集:[http://www.fit.vutbr.cz/~imikolov/rnnlm/rnn-rt07-example.tar.gz](http://www.fit.vutbr.cz/~imikolov/rnnlm/rnn-rt07-example.tar.gz). **text8** 数据集是一个较短的清理版本的大型维基百科数据转储,大小约为 1 GB。有关如何创建 text8 数据集的过程,请参见以下链接: [http://mattmahoney.net/dc/textdata.html](http://mattmahoney.net/dc/textdata.html) 。 text8 数据集可以从以下链接下载:[http://mattmahoney.net/dc/text8.zip](http://mattmahoney.net/dc/text8.zip). 使用我们的自定义库`datasetslib`中的`load_data`代码加载数据集: `load_data()`函数执行以下操作: 1. 如果数据集的 URL 在本地不可用,它将从数据集的 URL 下载数据存档。 2. 由于`PTB`数据有三个文件,它首先从训练文件中读取文本,而对于`text8`,它从归档中读取第一个文件。 3. 它将训练文件中的单词转换为词汇表,并为每个词汇单词分配一个唯一的数字,word-id,将其存储在集合`word2id`中,并准备反向词典,这样我们就可以从 ID 中查找单词,并将其存储在集合`id2word`中。 1. 它使用集合`word2id`将文本文件转换为 ID 序列。 2. 因此,在`load_data`的末尾,我们在训练数据集中有一系列数字,在集合`id2word`中有一个 ID 到字的映射。 让我们看一下从 text8 和 PTB 数据集加载的数据: