Page 63 - 《软件学报》2026年第7期
P. 63

2748                                                       软件学报  2026  年第  37  卷第  7  期


                    步骤  2: 卡片分类   (card sorting). 采用混合卡片分类  (hybrid card sorting), 参考近期研究中提出的在线交流平台
                 对话主题分类框架       [18] , 根据  Discord  平台对话特性扩充主题类别. 两位作者依据主题语义相似度, 遵循             LaToza 等
                 人  [35] 提出的分类原则, 将具有相同语义的编码, 聚类至潜在主题类别中.
                    具体而言, 将数据集      II 对话随机划分为     3  组: (1) 70  个对话, 即每社区  10  个; (2) 140  个对话, 即每社区  20  个;
                 (3) 剩余对话. 上述分阶段设置       [36] , 可在不同的样本规模下验证标注一致性的稳定性             [37] . 针对每组对话, 两位标注
                 者分别独立进行卡片分类, 并采用          Cohen’s Kappa 系数  [38] 量化评估两位标注者的分类一致性. 每轮卡片分类后, 两
                 位标注者与另一名协调员针对分歧点进行讨论, 直至达成共识. 首轮分类中, 两位标注者在对话主题及互动模式分
                 类中的   Kappa 系数分别为   0.514  和  0.630; 第  2  轮分别为  0.656  和  0.659; 第  3  轮分别为  0.802  和  0.813. Kappa 系数
                 显示, 标注一致性显著或近乎完美.
                    在上述分类过程中, 当对话可能涉及多个主题时, 两位标注者依据语义相似度将其归入最契合的单一主题, 以
                 确保每个对话仅对应一个主题.
                  2.4   定量分析

                  2.4.1    交流特征分析
                    基于数据集     I, 首先进行消息层面的定量分析, 聚焦          Discord  社区中消息贡献量最多的参与者, 以及其贡献消
                 息的时间特征. 接着, 进行对话层面的定量分析, 关注两类消息, 即开启新对话的原始问题, 以及原始问题的首次回
                 复. 原始问题与首次回复的时间间隔, 即为对话的响应时间.
                    接着, 基于各社区参与者的消息时间序列, 通过聚类方法识别出活跃时段相似、可能处于相同时区的参与者
                 群体, 进而分析各社区整体活跃时段分布. 首先, 将参与者消息时间序列标准化至                        24  维, 以对应  24 h  发言频率, 并
                 使用  tslearn  库  (https://github.com/tslearn-team/tslearn) 中的  TimeSeriesScalerMeanVariance 方法进行归一化处理.
                 随后, 采用  k-Shape 聚类方法  [39] , 基于消息时间序列相似度, 对各社区参与者进行聚类. 具体而言, 对每个社区中的
                 参与者时间序列数据, 采用        tslearn 库中的  KShape 类进行聚类, 聚类数量参数    k 的取值范围为     2–11. 对每个候选  k 值
                 计算模型的轮廓系数       (silhouette coefficient), 并选择得分最高的  k 作为该社区的最优聚类数.
                    基于收集到的包含表情符号的消息, 从消息与参与者角度, 分别对各社区表情符号使用情况进行统计分析, 并
                 采用文献   [40] 提出的方法, 评估各类型表情符号的积极/消极情绪, 进而比较不同社区在表情符号使用上的差异.
                  2.4.2    评估交流特征对响应时间和解决情况的影响
                    基于数据集     I, 定量分析对话特性对其响应时间及问题解决情况的影响.
                    ● 数据选择与特征收集. 如表        3  所示, 一方面, 为评估沟通特征对于对话响应时间的影响, 基于数据集                 I, 排除无
                 回复对话, 提取原始问题特征, 对响应时间变量进行对数变换, 以降低数据异方差性                        [41,42] . 另一方面, 为评估沟通特
                 征对问题解决情况的影响, 基于数据集            II, 提取消息层面   (如对话主题) 和对话层面       (如对话轮数) 特征, 通过对话互
                 动模式确定问题解决情况. 值得注意的是, 14           个交流特征中, 9    个借鉴   Gitter 平台相关研究  [17] , 5  个为本文首次提出,
                 包括  3  个参与者相关特征, 即提问者是否有社区预定义角色               (预定义角色是指由服务器拥有者设定的用于快速分配
                 身份标识和权限规则的角色模板)、回答者是否有社区预定义角色、是否由社区活跃参与者回复, 以及                                 2  个对话相
                 关特征, 即对话持续时间、对话轮数. 社区活跃参与者是指过去                  30  天内发言数量排名在前       25%  的用户  [17] .
                    ● 混合效应模型     (mixed-effects model) 构建. 运用混合效应模型  [43] , 评估交流特征对响应时间及问题解决情况
                 的影响. 混合效应模型同时考虑变量对结果产生的固定效应与随机效应, 解析变量对结果的作用机制. 具体而言,
                 将消息、参与者及对话相关特征变量设定为固定效应, 作为核心预测因子. 同时, 引入                          Discord  社区作为随机效应
                 项, 捕捉结果变量的潜在变异原因. 针对响应时间与问题解决状态两类因变量, 分别构建线性混合效应模型                               (模型  A)
                 与逻辑混合效应模型       (模型  B).
                    模型  A  具体形式如下:

                                                 y i = X i β+Z i u i +ε i , i ∈ {1,2,...,7}           (1)
                                                                                   i
                 其中,  y i  表示第   个社区中观测样本的对话响应时间向量, 为连续输出变量.                X i  表示第   个社区中观测样本的固定
                             i
   58   59   60   61   62   63   64   65   66   67   68