Git Product home page Git Product logo

exam-question-bank-dataset-zh_mnbvc's Introduction

Exam-Question-Bank-Dataset-zh

通用考试题库数据集 选择 填空 简答

处理流程

1.格式转换 所有.doc 转为.docx 格式

2.格式对齐 所有.docx文件 转为markdown格式 文件中的图片公式等需要解码的统一存在资源文件夹内

3.统计文件是否为试卷

4.统计试卷中是否还有答案

5.有答案的试卷进行切分-对齐

代码使用

0.环境安装

pip install pypandoc  #centos系统要提前安装好pandoc,pypandoc这个库只是一个封装调用api

1.centos 系统下,解压xxx.zip 数据集, 解压含有中文字符的文件会乱码。请使用zip2.py

python zip2.py
zip_file_path = '../docx_math.zip'  # 替换为你的 zip 文件路径
dest_path = '../docx_math'  # 替换为你想解压到的目标文件夹路径
index_csv_path = 'index_to_filename.csv'  # 替换为你想存储索引到文件名映射的 CSV 文件路径

2.将所有.docx 文件转为 markdown格式 静态资源保存在静态文件夹 python docx2markdown2.py

docx_folder = r'/www/dataset/MNBVC/docx_math' 
markdown_folder = r'/www/dataset/MNBVC/clear_data'  # 存放.md文件的文件夹路径
image_folder ="/www/dataset/MNBVC/image_folder"

3.统计文件是否为试卷.

python examination_paper_classifier.py --input_dir="./docx" --csv_path="classifier.csv"
以上指令会以"./docx"下所有的doc/docx/md文件进行"试卷"以及"试卷类型"的分类,结果会保存到"classifier.csv"中

options:
--input_dir 必填项, 输入目录
--output_dir 输出目录,可不填,不填入代表不进行输出
--model_url 模型下载链接,有默认值,如果填入,则此模型必须可由 joblib 进行加载
--threshold 预测阈值,默认0.5,如果 output_dir 未填入,则此参数没有任何作用
--just_by_file_name 是否仅仅通过文件名(0/1), 默认0
--csv_path 保存的csv路径,默认"./classifier.csv"

csv列名:
-- file_path: str, 文件的输入路径
-- target_path: str, 文件的输出输出路径,如果 output_dir 未填入或者预测值小于 threshold ,此字段等同于 file_path
-- probability: float|None,模型的预测值
-- type: str: [公务员|化学|医学|历史|地理|政治|数学|物理|生物|语文|理综|文综|other|None],如果模型的预测值小于 threshold ,此字段为None

注意事项*
- 此脚本仅接受 doc,docx,md 文件
- 在这个脚本中当提取文件的文本内容较少时,会采用根据文件名检测的策略,在这种情况下csv列名的 probability 为 None

4.统计为试卷的文件中是否含有答案

python 判断是否有答案.py
output_csv_with_answers = 'rows_with_answers.csv' #含有答案的
output_csv_without_answers = 'rows_without_answers.csv' #不含有答案的

5.含有答案的试卷进行切分-对齐尝试

python 有答案试卷切分-对齐.py
 csv_file = 'rows_with_keywords.csv' #结果输出到 rows_with_keywords.csv

exam-question-bank-dataset-zh_mnbvc's People

Contributors

wzixiao avatar unstoppablecurry avatar

Stargazers

blueorris avatar 小梅 avatar  avatar Roger avatar Linglingfa avatar

Watchers

 avatar

exam-question-bank-dataset-zh_mnbvc's Issues

会议记录(这个issues不要删,我会每周进行更新)

2023-8-2会议记录:

  1. 试卷的数量
  • 目前的数量太少了,我们与现在收费的语料差了三个数量级
  • 假设在理想状态下一张试卷能提取22道题(22是高考数学的总题数),那么我们目前所有的仅有200k道,而收费的语料普遍都是过100m的
  • 除了试卷外,也可以找找看除了试卷以外有没有关于题的问答格式数据
  • 优先找编程题
  1. 对齐的问题
  • 因为我们现在数据量太少了,我们应该在对齐的时候哪怕找不到答案,也要先提取出来,后期在做处理
  1. 试卷内容提取的问题
  • 目前的思路是docx转化成markdown,目前的代码无法把公式提取出来(在转化成markdown的文件中是空的字符串)
  1. 分类问题
  • 我们需要一个可以从试卷内容检测试卷类型的代码。
  • 之前统计时有一部分使用的是路径在统计,而这些路径是人工标的,我们在今后尽量减少人工的操作

题目答案对齐

给定markdown

  • 判断是不是试卷(分类器?)
  • 判断有没有答案
  • 有答案的对齐

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.