项目实训一--数据获取(从现有公开的数据集)

我们的第一步是先进行数据搜索:

确定需求
结合教育领域的需求,采集计算机组成原理、计算机网络、操作系统、数据库专业课知识和习题及其解析

数据来源
利用目前已有的公开数据集,如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

以上是我们检索到的所有数据。

 

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值