Page 64 - 《软件学报》2026年第7期
P. 64
王璐瑶 等: 面向 Discord 平台的开源软件实践者沟通实证研究 2749
效应模型矩阵, 作为预测变量, 涵盖原始问题和参与者相关特征变量. β 表示与 X i 相对应的固定效应系数向量. Z i
i
表示第 i 个社区中观测样本的随机效应模型矩阵. u i 是与 Z i 相对应的随机效应系数向量. ε i 则表示第 个社区中的
误差向量.
表 3 模型中采用的消息与对话层级特征
变量 类型 定义与说明 模型A模型B
响应时间 数值 从对话的原始问题到出现第1个回答的间隔时间 √ -
输出变量
是否存在解决方案 类别 对话是否存在能够解决原始问题的解决方案 - √
可测量的特征. 更长、更具描述性的问题可以传达更多信
问题长度 数值 √ √
息, 可能具有更强的效果
代码片段的存在与语句中包含的代码细节相对应, 有助于
是否包含代码片段 类别 √ √
受访者理解问题
消息中出现网址会影响其他参与者的回应行为. 例如, 软
是否包含网址 类别 [25,26,32,44] √ √
件开发人员可能倾向于不打开不可信的外部链接
消息层级变量 软件开发人员在工作日会比周末更愿意提供帮助并参与
是否为工作日提问 类别 √ √
对话 [4,25,44]
软件开发人员在白天的高峰时段更加活跃, 做出更多回
是否为高峰时间 类别 [4,25,44] √ √
应
是否提及其他社区参与者 类别 提问者标记其他参与者 (使用@), 要求他们引导所提问题 √ √
CLI (Coleman Liau index) [45] 用于测量问题和回答文本的可
问题可读性 数值 √ √
读性, 它以可读性得分来表示文本的难易程度
是否由社区活跃参与者提问 类别 在社区中的活动代表着参与者对特定项目有更多的了解. √ √
这样的参与者在社区内的交流方面也会有更多的知识. 在
过去30天内发言数量排名在前25%参与者被称为活跃参
用户层级变量 是否由社区活跃参与者回答 类别 与者 [17] - √
提问者是否有社区预定义角色 类别 提问者/回答者在社区中扮演预定义的角色可以佐证他们 √ √
回答者是否有社区预定义角色 类别 在社区中的参与程度 - √
对话主题 类别 通过主题分析确定的对话讨论主题 - √
对话层级变量 对话持续时间 数值 原始问题与对话最后一句话之间的持续时间 - √
对话轮数 数值 对话中提问者和回答者之间的互动回合数 - √
注: “√”表示该变量被纳入对应模型; “-”表示该变量未被纳入对应模型
模型 B 具体形式如下:
( )
logit y i j = x i j β+z i j u i , i ∈ {1,2,...,7} (2)
其中, y i j 表示第 个社区中第 次观测样本的问题解决情况, 为二元输出变量, 1 为已解决, 0 为未解决. logit 表示
i
j
i
j
对数几率比, 即 y ij = 1 与 y ij = 0 时优势比的自然对数. x ij 是第 个社区中第 次观测样本的固定效应向量, 作为预
i
测变量, 包含消息、参与者以及对话相关特征变量. β 是与 x ij 相对应的固定效应系数向量. z i j 是第 个社区中第 j
次观测样本的随机效应向量. u i 是与 z ij 相对应的随机效应系数向量.
分别使用 R 语言中 lme4 R 包 [46] 的 lmer 函数和 glmer 函数来拟合模型 A 和模型 B. 为避免潜在的相关特征干
扰对模型解读, 运用 Spearman 秩相关检验计算各特征之间的相关性 [47,48] , 显著性水平 p 的阈值设为 0.7, 运行 R 语
言中 Hmisc 包 [49] 的 varclus 函数构建特征间关系的层次概述. 结果显示模型 B 中的“问题长度”和“对话轮数”这两
个特征高度相关. 因此, 模型 B 在两者中保留“对话轮数”特征.
● 模型估计. 对于线性混合效应模型 A, 基于条件决定系数 R (由固定效应和随机效应共同解释的方差) 以及
2
c
2
边际决定系数 R (仅由固定效应解释的方差), 对模型解释力进行评估. 决定系数大于等于 0.26, 表明模型具有较
m
强解释力; 位于 [0.13, 0.26) 之间, 表明模型解释力中等; 位于 [0.02, 0.13) 之间, 表明模型解释力较弱; 低于 0.02, 表
明模型解释力非常弱 [50] . 对于逻辑混合效应模型 B, 采用 AUC (area under the curve) 评估模型判别能力. AUC 广泛
用于评估逻辑回归模型性能. AUC 取值范围在 [0.5, 1] 之间, AUC 值越高表明模型判别能力越强. AUC 值在 [0.9, 1]

