问卷调研数据收集与自动统计分析
适用场景
当用户的任务涉及"发问卷 + 收数据 + 出报告"的结构化调研时调用:市场调研、用户研究、满意度 / 需求 / 行为调研、课程作业、内部调研等。
不要用于无结构化问卷的纯访谈、舆情分析或非量化调研。
固定输入参数(每次调用必须明确)
| 参数 | 含义 | 示例 |
|---|---|---|
调研主题 |
研究主题 | 大学生早餐需求调查 |
调研对象 |
目标人群 | 市场营销专业本科生 |
样本目标 |
计划回收的有效样本量 | 50 份 / 100 份 |
题型选择 |
用到的题型组合 | 单选、李克特5级量表、多选、开放问答 |
输出文档格式 |
最终报告格式 | Markdown / HTML / Word(docx) / PDF |
若用户未给出某参数,按默认补齐并在开场说明:
- 题型默认 = [单选 + 李克特5级量表 + 多选 + 1 道开放问答];
- 输出默认 = Markdown(同时附一版可预览的 HTML);
- 样本目标默认 = 50。
内部固定流程(严格按顺序,不要改逻辑)
- 生成问卷:按主题与对象产出完整问卷,必须包含【卷首说明 / 甄别题 / 人口统计学基础信息题 / 核心研究题 / 开放题】五个模块;总题量 12–18 题;题型严格覆盖用户所选组合。生成后同时产出该问卷的结构化 schema(JSON)(格式见
references/questionnaire_template.md与examples/schema_example.json),供第 4 步统计脚本使用。 - 录入答卷:等待用户粘贴回收的答卷。支持两种来源:
- 文本粘贴(推荐格式见本文件末"答卷文本格式");
- 图片型 / 扫描型 PDF(用references/pdf_extract.md的方法渲染成 PNG 后读取)。
把逐份答卷整理成脚本可解析的输入。 - 清洗无效数据:调用
scripts/survey_analyze.py。自动剔除:
① 连续全部选同一答案(straight-lining:所有单选 / 量表题答案位置完全一致);
② 大面积空白(空白题数占比 ≥ 40%);
③ 甄别题未通过(按 schema 中screen组与expected判定,分流或剔除)。
输出清洗日志(原始份数、剔除数、各原因、保留有效 N)。 - 统计各类题目数据:脚本统一计算——
- 单选题 / 量表题:各选项占比、量表平均分(与标准差);
- 多选题:各选项频次与占比(基数 = 有效份数,注明多选之和 > 100%);
- 开放题:高频观点归纳 + 关键词提炼(脚本给 n-gram 词频,agent 做定性归纳)。
跳题逻辑导致的不同基数需在报告中显式标注。 - 生成汇总表格 + 调研报告:基于统计数据撰写报告,必须含【样本概况 / 各题目统计结果 / 数据解读 / 调研总结与建议】,并附带【全量数据汇总表】。按用户所选
输出文档格式产出:Markdown 与 HTML 用 Write 直接生成;docx / PDF 走对应 Office 技能(tencent-docx / 发布为应用)。
输出物(三项必交)
- 问卷原文:
XX调查问卷.md(含卷首说明与全部题目,及对应 schema.json)。 - 数据汇总表:
XX数据汇总表.csv或报告内嵌附表(由脚本生成summary_table.md+cleaned.csv)。 - 完整调研分析报告:
XX调研报告.md/.html/.docx,含上述四节 + 汇总表。
关键规则
- 严格按 1→5 顺序,不要跳步或改逻辑;未收到答卷前只做第 1 步并等待用户粘贴。
- 多选题占比之和 > 100%,必须注明;跳题导致基数不同,必须注明。
- 开放题若用户未提供原始文本,报告中明确标"待补全"并请用户补交,不要编造。
- 数据为平台汇总结果(无逐份原始卷)时,逐份清洗无法重做,须如实标注,仅基于汇总数据出报告(可跳过第 3 步,直接做第 4/5 步)。
- 中文关键词提取优先用 jieba(可选依赖),缺失时脚本自动回退到 n-gram,无需联网。
答卷文本格式(推荐,供用户粘贴)
——— 答卷 1 ———
Q1=A Q2=A Q3=A Q4=女 Q5=大三 Q6=C Q7=C
Q8=C Q9=4 Q10=3 Q11=5 Q12=4 Q13=3 Q14=4
Q15=美妆护肤,服饰鞋包,食品零食
Q16=价格优惠/折扣力度,主播信任度/专业性,商品展示直观
Q17=主播信任度低和假货新闻会让我不愿下单,大促折扣则会提升意愿。
——— 答卷 2 ———
...
- 单人一段,用
———/===或含"答卷 / 受访者"的行分隔; - 单选 / 量表:
Qx=选项字母或数值;多选:Qx=选项1,选项2(中英文逗号均可); - 开放题:
Qx=自由文本,文本可含标点与逗号。
参考文件
scripts/survey_analyze.py:清洗 + 统计 + 汇总表生成(纯标准库,无第三方依赖)。references/questionnaire_template.md:问卷五模块结构与 schema 写法。references/report_template.md:报告四节 + 汇总表模板。references/pdf_extract.md:图片型 PDF 答卷的渲染读取方法。examples/schema_example.json:问卷 schema 样例。examples/sample_responses.txt:示例答卷(可直接跑脚本验证)。