Writing Prompts Short Stories Dataset
收藏Writing Prompts Short Stories Dataset Creator
数据集概述
- 来源: Writing Prompts Subreddit
- 内容: 包含用户基于简短提示创作的短篇故事,字数通常在100到1000字之间。
- 用途: 适用于深度神经网络语言模型的训练或进一步处理。
- 数据处理:
- 数据清洗: 标准化空白字符、特殊字符、Unicode和部分词汇。
- 数据修剪: 移除不必要部分,如无意义文本、包含强烈亵渎语言的文本、非英语文本等。
- 数据过滤: 基于简单统计去除异常值。
- 数据标记化: 使用预训练的BERT系列模型(如RoBERTa)进行标记化。
- 数据编码: 使用预训练的BERT系列模型对句子和提示进行编码。
数据准备
- 原始数据: 存储在
data/raw目录下的Writing Prompts.db文件,需解压缩后使用。 - 第三方文件:
- 语言检测模型:
lid.176.bin,用于检测文本语言。 - GloVe词向量文件:
glove.840B.300d.zip,需解压缩后存储在data/external目录下。 - NLTK英语句子分词器: 通过
nltk.download(punkt)下载。 - spaCy英语模型: 通过
python -m spacy download en下载。
- 语言检测模型:
项目组织
-
文件结构:
├── config <== 配置模板和文件 ├── data <== 不同预处理阶段的数据及第三方数据 ├── LICENSE
├── models <== 存储Huggingface的预训练模型 ├── notebooks <== Jupyter Python Notebooks,用于预处理、编码和探索 ├── README.md
├── requirements.txt <== Python Pip包需求 ├── src <== 源代码(不包括Jupyter Notebooks) └── test <== 单元测试 -
源代码:
├── data │ ├── data_cleaning.py <== 文本、词汇和字符标准化 │ ├── data_exploration.py <== 手动探索,用于发现故事/提示预处理目标 │ ├── data_filtering.py <== 过滤不需要的文本 │ ├── data_pruning.py <== 移除文本中不需要的部分 │ ├── spacyoverlay.py <== 简化Spacy包的使用 │ └── vocab_coverage.py <== 确定词向量词汇表中覆盖的词汇数量 ├── preprocessing │ ├── dataset_creation.py <== 创建标记化数据集,将文本分割成句子 │ ├── text_encoding.py <== 使用BERT风格模型编码文本 │ └── token_encoding.py <== 使用训练好的分词器编码文本 └── utils ├── data_processing.py <== 简单的数据结构转换函数 ├── hdfs_caching.py <== 从/向HDFS保存和加载数据 ├── helpers.py <== 杂项辅助函数 ├── settings.py <== 访问config.json文件 └── sqlite.py <== Sqlite数据库键值存储功能




