synthetic-questions-generation是一款能根据文本自动生成各类题目的AI自动出题器,题目风格灵活(正式、学术、轻松、有趣等),可指定风格,支持通过Hugging Face数据集、本地JSON/JSONL或Parquet文件等作为输入,还能控制题目数量、单题长度、并发数及API调用频率。
核心功能
多来源生成题目:可上传文档(如Word、PDF)、直接输入文本描述或参考例题,快速提取知识点生成题目。
多种题型支持:能生成选择题、填空题、简答题、论述题等,可自定义难度、数量及知识点分布。
智能优化处理:自动检查答案准确性,调整题目表述逻辑,避免重复,保证题目规范且多样。
灵活输出使用:支持导出为Word、Excel或存入在线题库,方便组卷、打印或在线练习。
基本原理
通过语言模型(如大型语言模型LLM)生成题目。比如给定一段文本,模型会根据内容生成相关问题;同时会结合用户的使用场景和需求(如针对特定主题、关键词等),生成更贴合实际的问题。
应用场景
教育领域:自动生成高质量、多样化的测试题(选择题、填空题、简答题等),满足不同教学场景需求。
信息检索与问答系统:生成与文档相关的问题,结合文档内容向量化处理,提升语义搜索准确性。例如医学问答系统中,生成临床问题帮助快速获取电子健康记录信息。
多模态问答:处理包含文本、图像等多种内容的文档时,生成相关问题,用于评估和利用多模态问答模型。
实现方法与流程:
文本预处理:将输入文本拆分成小块,方便后续处理和生成题目。
生成题目:用语言模型根据每个文本块生成题目,可设置题目数量、风格、难度等参数(例如通过特定提示引导模型生成符合要求的题目)。
向量化存储:将生成的题目和文本块进行向量化处理,便于后续信息检索或模型训练。
质量优化:评估题目相关性、准确性和多样性,可通过人工或特定指标衡量并优化。
常用工具与框架:
检索增强生成:结合检索与生成,通过生成文档相关问题提升检索效果。
Tiny QA Benchmark++:轻量级合成数据生成工具包,可指定题目数量、语言、主题、难度等参数,生成多语言问答数据集。
多模态问答生成:用于生成多模态问答数据集的框架,结合检索器、大型语言模型及多模态模型,从多模态文档直接生成问答对。
Github:https://github.com/mkurman/synthetic-questions-generation