refactor(dataset processing): 重构数据集处理流程并添加新功能

This commit is contained in:
2025-07-14 10:57:23 +08:00
parent 7591a231df
commit d8643d11dd
3 changed files with 22 additions and 14 deletions
-13
View File
@@ -1,16 +1,4 @@
from utils import process_dataset from utils import process_dataset
import re
def comprehensive_normalization(text):
replacements = {
'\u2018': "'", '\u2019': "'", '\u0060': "'",
'\u201C': '"', '\u201D': '"',
'\u2013': '-', '\u2014': '--', '\u2212': '-',
'\u00A0': ' ',
'\u2026': '...'
}
pattern = re.compile('|'.join(re.escape(k) for k in replacements))
return pattern.sub(lambda m: replacements[m.group()], text)
if __name__ == "__main__": if __name__ == "__main__":
@@ -18,5 +6,4 @@ if __name__ == "__main__":
dataset_name="HuggingFaceFW/fineweb", dataset_name="HuggingFaceFW/fineweb",
output_subdir="english-fineweb", output_subdir="english-fineweb",
dataset_config="sample-10BT", dataset_config="sample-10BT",
normalization_func=comprehensive_normalization
) )
+7
View File
@@ -0,0 +1,7 @@
from utils import process_dataset
if __name__ == "__main__":
process_dataset(
dataset_name="Blaze7451/enwiki_structured_content",
output_subdir="english-wiki"
)
+15 -1
View File
@@ -1,6 +1,19 @@
from datasets import load_dataset from datasets import load_dataset
import json import json
import os import os
import re
def comprehensive_normalization(text):
replacements = {
'\u2018': "'", '\u2019': "'", '\u0060': "'",
'\u201C': '"', '\u201D': '"',
'\u2013': '-', '\u2014': '--', '\u2212': '-',
'\u00A0': ' ',
'\u2026': '...'
}
pattern = re.compile('|'.join(re.escape(k) for k in replacements))
return pattern.sub(lambda m: replacements[m.group()], text)
def process_dataset( def process_dataset(
dataset_name: str, dataset_name: str,
@@ -8,7 +21,7 @@ def process_dataset(
dataset_config: str = None, dataset_config: str = None,
split_name: str = "train", split_name: str = "train",
chunk_size: int = 1000000, chunk_size: int = 1000000,
normalization_func=None normalization_func=comprehensive_normalization
): ):
dataset_dict = load_dataset(dataset_name, dataset_config) if dataset_config else load_dataset(dataset_name) dataset_dict = load_dataset(dataset_name, dataset_config) if dataset_config else load_dataset(dataset_name)
@@ -37,3 +50,4 @@ def process_dataset(
print(f"Saved text chunk {i} to {output_path}") print(f"Saved text chunk {i} to {output_path}")