三、研究方法设计

三、研究方法设计

从图7-2可以看出,分析表达失范的关键步骤是监测失范微博、确定失范类型,后文将依此进行详细讨论。为了自动监测微博语料库中的异常表达,本章采用监督机器学习的方法(见图7-3)。首先,对部分微博进行标注,并对标注后的微博进行特征抽取,构建特征词典;其次,对被标注微博的各个特征进行权重计算,从而构造特征向量训练分类模型;最后,对语料库中的失范微博和规范微博进行区分。

图7-3 表达失范的分类框架

对表达失范类型的分类过程与失范表达的监测过程是相似的,不同之处在于前者使用失范微博作为实验语料库,将标注后的失范类型作为训练语料库,最后确定所有失范微博的失范类型。

(一)失范微博标注

本次研究的失范微博标注包括两个步骤。首先,将8名标注人员分成4组,每组对5 000个微博进行标注,并完成两个子任务:第一,标注规范微博和失范微博;第二,标注失范微博的失范类型。其次,使用卡帕系数(Kappa系数)评价两名标注人员标注结果的组内一致性。

卡帕系数可以根据表7-4使用以下三个等式计算得到:

更高的卡帕系数意味着更一致的标注结果,如果卡帕系数大于0.8,则标注结果基本相同。本次研究最后获得了20 000条微博的标注结果,部分标注示例如表7-5所示。

表7-4 卡帕系数计算

表7-5 表达失范的标注案例

(二)特征选择

本章采用CHI[1]进行特征选择,可以由等式④和等式⑤来计算:

X 2(t,Ci)是特征t在类别Ci中的重要程度。A 为特征t与类别Ci共现的次数;B 表示在没有类别C 出现时特征t的数量;C是指不包含特征t的类别C的数量;D 意味着既没有类别C 也没有特征t出现的数量。 是特征t最后的CHI价值。最终,特征t及其CHI值构成特征词典。

(三)特征权重计算

基于特征词典计算每条微博各特征的特征权重,本章采用TF-IDF(term frequency-inverse document frequency),通过公式⑥运用并计算[2]

其中,Weight(t)意味着在微博中特征t的权重;#t是特征t在微博中出现的数量;#word指的是微博中的单词数;#doc意味着语料库中微博的数量;#doc_t代表包含特征t的微博数量。

然后,使用SVM[3](support vector machine)训练分类器,SVM 在短文分类方面具有明显的优势[4]。因此,基于上述预处理结果,所有微博内容表示为分类器所需的向量形式。

(四)分类性能评价

本次研究采用以下指标来评估分类性能,包含宏平均精度、宏平均检索率、F1[5]等,如表7-6、表7-7所示。

表7-6 指标计算表

表7-7 分类性能评价等式

(五)分类性能评估结果

1.微博表达失范标注性能评估

图7-4展示了两个标注任务的标注性能:从图7-4(a)可以看出,当四个组进行“规范”或“失范”标注时,它们的卡帕系数约为0.9;图7-4(b)则表明,“道德失范”或“纪律失范”的标注任务具有很高的一致性,因为四个卡帕系数都大于0.85。这意味着两个标注任务的结果是可靠的,可以作为训练数据,训练分类器检测失范微博并识别失范类型。

图7-4 两个标注任务的标注一致性

2.微博表达失范分类性能评估

SVM 被用来监测失范微博并确定相应的失范类型,表7-8提供了两步分类法的绩效评估方法。从中可以看出,分类步骤1的评估指标约为0.85,这表明分类器可以识别失范微博与规范微博;分类步骤2的F1指标高于0.85,这意味着分类器可以准确地区分道德失范微博和纪律失范微博。因此,两步分类的结果是可靠的,经过训练的分类器可以用来确定剩余未标记的微博标签。

表7-8 两步分类绩效评估