我们的第一步是先进行数据搜索:
确定需求
结合教育领域的需求,采集计算机组成原理、计算机网络、操作系统、数据库专业课知识和习题及其解析
数据来源
利用目前已有的公开数据集,如Kaggle、UCI Machine Learning Repository、Hugging Face Datasets等。我们选择了hugging face datasets,搜索了hugging face上所有可能得qa数据集。
使用hugging face的过程:
首先对hugging face 有一个基本的了解:
在Hugging Face上搜索所有可能的QA(Question Answering)数据集:
1.安装hugging face datasets库:pip install datasets
2.(尝试一)浏览所有的QA数据集:通过使用datasets库中的datasets.list_datasets
方法来列出所有可用的数据集,然后通过检查这些数据集的描述来找出适合QA任务的数据集。
from datasets import list_datasets, load_dataset
# 列出所有可用的数据集
all_datasets = list_datasets()
# 筛选出包含QA的数据集
qa_datasets = []
for dataset in all_datasets:
try:
# 加载数据集信息
dataset_info = load_dataset(dataset, split='train').info
# 检查描述中是否包含"question answering"
if "question answering" in dataset_info.description.lower():
qa_datasets.append(dataset)
except Exception as e:
# 忽略加载失败的数据集
pass
# 打印QA数据集列表
print("Possible QA datasets:")
for dataset in qa_datasets:
print(dataset)
尝试下载的结果:
3.加载和使用QA数据集
我们的模型主要专注于计算机教学,所以这里给出的示例是寻找与计算机组成原理有关的QA数据集:(搜索方式是通过搜索数据标记的关键词 “computer organization” “question answering”)
from datasets import list_datasets, load_dataset
# Load all available datasets
all_datasets = list_datasets()
# Search for datasets related to computer organization and QA format
search_keyword = "computer organization"
related_datasets = []
for dataset_name in all_datasets:
try:
# 加载数据集信息
dataset_info = load_dataset(dataset_name, split='train').info
if search_keyword in dataset_name.lower() and "question answering" in dataset_info.description.lower():
related_datasets.append(dataset_name)
except Exception as e:
# 忽略加载失败的数据集
pass
# Print related datasets
print("Datasets related to 'computer organization' and QA format:")
for dataset in related_datasets:
print(dataset)
可知,查询成功。
接下来找到数据:
如何根据JSON文件找到地址信息,这里我本来以为下载好的文件就是数据内容,但实际上不是,只是一些地址信息,还需要继续处理。
这里有两种方法:都要根据JSON文件找到地址信息:
一:使用Python代码
from datasets import load_dataset
# 加载数据集
dataset = load_dataset("hf://datasets/afrikaans_ner_corpus@445834a997dce8b40e1d108638064381de80c497/afrikaans_ner_corpus")
# 查看数据集信息
print(dataset)
二:若方法一无法找到特定的数据集脚本或数据文件。这可能是因为尝试加载数据集时出现了问题。为了解决这个问题,我们尝试手动下载数据集文件,然后加载它:
下载后可以得到一个parquet文件,通过Python查看内容:
import pandas as pd
# 指定 Parquet 文件的路径
parquet_file =r'C:\Users\天真\Downloads\train-00000-of-00001.parquet'
# 读取 Parquet 文件
df = pd.read_parquet(parquet_file)
# 打印 DataFrame 的前几行
print(df)
但是,无法避免的是,不是所有关于计算机的QA数据集都能被搜索到,所以,还有一些是通过人工搜索的方法直接从网页获得:
比如与指令有关的问题:
结果总结:
计算机相关
数学
https://huggingface.co/datasets/math-ai/StackMathQA
python编程
https://huggingface.co/datasets/lucasmccabe-lmi/codex_math_qa_alpaca_style/viewer/default/train?p=280&row=28004
https://huggingface.co/datasets/flytech/python-codes-25k
sql编程
https://huggingface.co/datasets/b-mc2/sql-create-context
代码指令
https://huggingface.co/datasets/m-a-p/CodeFeedback-Filtered-Instruction?row=38
https://huggingface.co/datasets/m-a-p/Code-Feedback/viewer/default/train?p=663&row=66310
论文NLP
https://huggingface.co/datasets/allenai/qasper?row=0
stackExchange
https://huggingface.co/datasets/lvwerra/stack-exchange-paired?row=16
综合包括computer science
https://huggingface.co/datasets/MMMU/MMMU/viewer/Computer_Science/test?row=2
https://huggingface.co/datasets/cais/mmlu/viewer/college_computer_science?row=29
https://huggingface.co/datasets/ikala/tmmluplus/viewer/computer_science/test
https://www.kaggle.com/datasets/mujtabamatin/computer-science-theory-qa-dataset
以上是我们检索到的所有数据。