试题模板生成器

qpt-generator的Python项目详细描述


qpt_发生器

一种用C++编写的试题模板生成算法,提供了高性能。它在内部使用Cython来创建python包。在

简介

通过题库生成试题是学习管理系统和教育机构的一项重要活动。问题纸的质量取决于各种设计约束条件,例如一份问题纸是否按照布鲁姆的分类法评估不同的问题解决技能,它是否涵盖了课程大纲中的所有单元,以及它是否涵盖了各种难度级别。在

我已经实现了Vaibhav M. Kale和Arvind W. Kiwelekar编写的C++中的问题纸模板生成算法,以提供快速的性能。这个实现是可扩展的,它支持创建问题纸模板。在

qptu生成器包是出于我的学术项目Question Paper Generator的需要而设计的。在

安装

您可以使用easy_install使用以下命令安装qpt_generator:

pip install qpt-generator

或者

^{pr2}$

使用

安装模块后,可以使用以下命令导入:

fromqpt_generatorimportQPTGenerator

必须向QPTGenerator的构造函数提供两个输入:

  1. 限制和标记分布列表的词典 例如:如果要生成具有4个约束的纸张:
  • 分数的单位分布
  • 难度等级分布
  • 认知水平分数分布
  • 按问题分配分数
  1. 与问号分布列表相关联的问题编号列表。同一题号的重复表示该题的子题。在

当您调用QPTGenerator类的generate方法时,将生成输出。在这里,输出是一个字典,列出了分配的单元、认知水平、难度和按问题编号打分

fromqpt_generatorimportQPTGeneratormark_distributions={"question":[5,5,10,4,6,5,5],"unit":[8,8,8,5,11],"difficulty":[13,15,12],"cognitive":[12,18,10],}question_no=[1,1,2,3,3,4,4]qpt=QPTGenerator(mark_distributions,question_no)output=qpt.generate()# output = {'cognitive': [2, 3, 2, 3, 3, 1, 3, 1, 1, 2],#           'difficulty': [3, 1, 2, 2, 1, 3, 3, 1, 2, 3],#           'question': [5, 5, 8, 2, 2, 1, 1, 6, 5, 5],#           'question_no': [1, 1, 2, 2, 3, 3, 3, 3, 4, 4],#           'unit': [4, 5, 1, 3, 2, 2, 3, 5, 2, 3]}

要满足所有给定的约束: 问题1应包含2个子问题:

  • 第一道题的认知水平应为2级,难度为3级,单元号为4,分数为5
  • 第二道题的认知水平=3,难度=1,单元号=5,分数=5

你可以从你的题库数据库中随机选择这类问题。在

参考文献

  1. An Algorithm for Question Paper Template Generation in Question Paper Generation System

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用Ibatis在插入时返回ID(使用返回关键字)   java(org.hibernate.TransactionException)org。冬眠TransactionException:事务未成功启动   java小程序jwindow始终位于JNLP顶部   在Java中重新解析JSON对象?   java单击后将ListView数据移动到新屏幕   Mule ESB中的java WSA寻址特性   Java,对象编程:获取返回0值的方法   hibernate的Java通用问题,如何处理T get(K id)   java在使用超级CSV读取CSV时忽略引用   ssh使用Java远程运行命令   java如何向具体用户发送websocket消息?   在JAVA中,我可以在不指定的情况下使用条件运算符吗?