Page 61 - 《软件学报》2026年第7期
P. 61
2746 软件学报 2026 年第 37 卷第 7 期
2.2 数据预处理
图 2 呈现了 Android 社区实时交流中的一段对话片段, 其中消息按时间顺序排列, 每条消息包含时间戳、用
户名及文本内容等信息.
图 2 Discord 上实时交流中的对话片段
步骤 1: 消息预处理. 对原始数据集进行清洗, 过滤两类数据: (1) 由频道机器人自动生成的系统消息 (5 206 条);
(2) 仅含图片不含文本的消息 (12 416 条). 最终得到包含来自 7 个社区的 616 443 条消息, 形成数据集 I. 其中, 仅含
图片不含文本的消息在原始数据集中的占比仅有 1.96%, 因此对主要研究结论的影响有限. 相关数据统计信息见
表 1.
步骤 2: 第 1 轮自动对话解缠. 在实时交互场景中, 同时进行的多个对话消息序列常呈现相互交织的状态, 称
为对话纠缠现象. 如图 2 所示, 同色系标注的消息构成独立对话单元. 为构建大规模标准化对话数据集, 本文采用
FF 模型 [31] 实施自动解缠处理. 该模型基于双层前馈神经网络架构, 相关研究 [18,32] 表明其在对话数据解缠中表现良
好. 进一步地, 在初步解缠的 97 160 个对话中, 排除 6 065 个解缠异常的对话样本, 例如回复时序早于初始提问的
无效对话.
步骤 3: 手动对话解缠. 基于步骤 2 自动解缠对话数量 (表 1 数据集 I “消息数量”列), 遵循置信区间 95% 误差
率 10% 统计标准, 对各社区消息进行随机抽样, 构建数据集 II. 通过人工追溯消息上下文语义关联, 依据对话逻辑
连贯性将相关的消息归为同一对话单元. 最终形成数据集 II, 其中包含 655 个对话, 涵盖 850 名社区参与者贡献的
17 289 条消息记录, 具体数据分布情况详见表 1.
步骤 4: 第 2 轮自动对话解缠. 借助数据集 II 标注样本, 对 FF 模型准确性进行评估, F1 值平均达 0.5. 为进一
步提升对话自动解缠的准确性, 采用近期文献 [27] 中提出的自动对话解缠方法, F1 值平均达 0.73, 与文献 [27] 的
0.79 接近. 最终在数据集 I 中识别出 56 851 个对话, 覆盖 18 216 名社区参与者, 具体数据分布情况见表 1.
2.3 定性分析
为了分析 Discord 平台中的沟通互动模式与讨论主题, 本文选择对数据集 II (对话数据集) 进行定性研究, 即
以对话作为分析单位. 该选择主要基于两方面考虑: 其一, 单条消息通常篇幅有限, 语境承载能力不足, 在消息层面
开展话题分析易导致结果碎片化; 相较之下, 对话由多条消息构成, 能够提供更完整的语境基础, 从而提升分析的
有效性. 其二, 本文关注的开源软件实践者沟通与协作模式并非体现在孤立消息中, 而是更多呈现于对话的动态展
开过程中, 因此以对话作为分析单位更契合研究目标.

