SparkMe
收藏资源简介:
SparkMe数据集由斯坦福大学研究团队创建,旨在支持基于大型语言模型的半结构化访谈自动化研究。该数据集包含多职业参与者的访谈记录,覆盖7个不同领域的70名受访者数据,通过模拟对话和真实用户研究生成。数据来源包括人工设计的访谈主题指南和动态涌现的对话子话题,采用多智能体架构进行系统性采集与标注。该数据集主要用于优化访谈算法的覆盖率和探索性,解决传统定性研究中专家访谈规模受限的问题,可应用于政策制定、产品设计等需要深度定性洞察的领域。
The SparkMe dataset was developed by a research team from Stanford University, with the objective of supporting automated research on semi-structured interviews powered by large language models. This dataset contains interview records from participants across various professions, with data collected from 70 respondents across 7 distinct domains, and was generated through both simulated conversations and real user studies. Its data sources include manually designed interview topic guides and dynamically emerging conversational subtopics, and the dataset was systematically collected and annotated using a multi-agent architecture. This dataset is primarily designed to optimize the coverage and exploratory performance of interview algorithms, addressing the issue of limited scale of expert interviews in traditional qualitative research. It can be applied to fields that require in-depth qualitative insights, such as policy formulation and product design.
SparkMe 数据集概述
数据集基本信息
- 数据集名称:SparkMe
- 核心功能:一个多智能体半结构化访谈系统,能够进行多轮访谈,具备策略性提问规划、实时笔记记录和新兴子主题发现功能。
- 支持界面:终端界面和网页界面。
访谈主题配置
- 主题文件位置:
data/configs/topics.json - 核心主题:包含10个主要主题和48个子主题。
- 主题领域:围绕“理解人工智能对劳动力的影响”展开,改编自WorkBank。涵盖领域包括:
- 背景
- 核心职责
- 任务熟练度
- 技术学习适应性
- AI工具采用
- 信任与控制
- 未来展望
系统运行模式
终端模式
- 启动命令:
python src/main.py --user_id <user_id> - 关键参数:
--user_id:(必需)会话的用户标识符。--user_agent:使用LLM智能体作为受访者,而非终端输入。--voice_input:为用户输入启用语音转文本。--voice_output:为访谈者响应启用文本转语音。--restart:清除该用户的先前会话数据并重新开始。--max_turns N:最大对话轮数。--additional_context_path:包含访谈额外上下文文件的路径。
网页模式(需GCP)
- 功能:
- 用户认证(注册/登录)
- 会话创建与管理
- 文本和语音消息支持
- 实时对话历史记录
- 会话超时处理(默认1小时)
- 部署脚本:位于
scripts/web_interview目录。
系统定制化
可通过修改以下三个组件来适配不同的访谈领域:
- 访谈主题:编辑
data/configs/topics.json文件。该文件是一个JSON数组,每个元素包含一个"topic"(主类别)和"subtopics"(要涵盖的具体领域列表)。 - 用户画像:编辑
data/configs/user_portrait.json文件。这是一个模板,包含在访谈过程中随着系统了解受访者而填充的空字段。可修改字段名称和结构以匹配要捕获的信息。 - 智能体提示词:修改
src/agents/目录下各智能体的prompts.py文件,以改变智能体在特定领域的行为:src/agents/interviewer/prompts.py:控制访谈者角色、访谈流程指令、STAR框架使用。src/agents/session_scribe/prompts.py:控制笔记记录策略、子主题覆盖评估、新兴见解检测。src/agents/strategic_planner/prompts.py:控制问题优先级排序、推出策略、效用函数权重。src/agents/user/prompts.py:控制模拟受访者行为(仅在使用--user_agent时相关)。
基线系统
在baselines/目录下提供了四个基线访谈系统。每个系统都接收一个主题规范JSON并运行逐轮访谈,支持人类输入(--input-mode user)和模拟LLM受访者(--input-mode llm)。
- InterviewGPT (
baselines/interviewgpt/interviewgpt.py):单智能体访谈者。每轮进行一次LLM调用,处理充分性判断(当前子主题是否已被充分涵盖)和下一个问题生成。从用户响应中跟踪每个子主题的浓缩笔记。将每轮记录为JSONL。 - LLMRoleplay (
baselines/llmroleplay/llmroleplay.py):单智能体系统,包含一个被提供议程并按特定固定顺序逐一处理议程每个部分的访谈者。在移动到下一个子主题之前,该智能体最多可以决定重新提问n次。 - MimiTalk (
baselines/mimitalk/mimitalk.py):异步双智能体访谈者(访谈者+监督者),其中监督者监控访谈者。 - StorySage (
baselines/storysage/):具有多个专门组件的多智能体系统:访谈者智能体、用于笔记记录的会话记录员、策略规划师、章节撰写者和会话协调器。使用向量数据库(FAISS)存储问题库和会话记忆,以便在访谈期间进行语义检索。是架构最复杂的基线。
用户智能体画像生成
可通过dataset_gen/generate_persona_facts.py生成用户智能体角色画像,基于WorkBank工作者种子为每个子主题生成初始角色事实,然后通过dataset_gen/generate_bio_notes.py生成要馈送给用户智能体的个人资料。
评估脚本
评估脚本位于evaluation/目录下,从不同角度评估访谈质量。所有脚本都支持--mode参数来指定要评估哪个系统的日志(sparkme、storysage、llmroleplay或freeform)。其中freeform对应于MimiTalk或InterviewGPT。
- 覆盖率评估 (
eval_coverage.py):衡量访谈笔记在1-5分制上捕捉基本事实的程度(5分=所有事实被明确找到,1分=未找到相关事实)。在访谈过程中可配置的快照间隔进行评估。 - 新兴性评估 (
eval_emergence.py):检测访谈过程中超出原始主题计划出现的新兴子主题。一个新兴子主题必须是真正新颖的,属于现有主题范畴,并且能够引发质性的新问题。 - 新兴性覆盖率评估 (
eval_emergence_coverage.py):评估新兴子主题的覆盖情况。 - 流程质量评估 (
eval_flow.py):从三个维度评估访谈质量(每个维度评分1-5分):- 连贯性:连续问题是否逻辑相连。
- 过渡性:主题间转换的流畅度。
- 应变性:后续问题是否基于受访者先前的回答。
- 覆盖率计算 (
calculate_coverage.py):从评估结果计算累积覆盖率指标。
引用信息
- 预印本标题:SparkMe: Adaptive Semi-Structured Interviewing for Qualitative Insight Discovery
- 作者:David Anugraha, Vishakh Padmakumar, Diyi Yang
- 期刊:arXiv preprint arXiv:XXXX.XXXXX
- 年份:2026



