当前位置:   article > 正文

自然语言处理综论第三版,个人笔记(1)_自然语言处理综述pdf

自然语言处理综述pdf

对应于https://web.stanford.edu/~jurafsky/slp3/4.pdf的4.7到4.10

当评估文本分类系统时,通常使用混淆矩阵,混淆矩阵是一个二维表格,用于可视化算法在与人工标签(即金标签)的关系中的性能表现。混淆矩阵有两个维度:系统输出和金标签,每个单元格表示一组可能的结果。在垃圾邮件检测的情况下,例如,真正例(True Positives)是指系统正确地将确实是垃圾邮件的文档(由人工金标签指示)标记为垃圾邮件。假反例(False Negatives)是指确实是垃圾邮件的文档,但我们的系统错误地标记为非垃圾邮件。

混淆矩阵的右下角是准确度(Accuracy)的公式,它用来衡量系统正确标记的所有观察值的百分比。尽管准确度可能看起来是一个自然的度量标准,但在文本分类任务中,通常不使用它。这是因为当类别不平衡时,准确度不适用,而在垃圾邮件检测这类任务中,类别通常不平衡,因为垃圾邮件占绝大多数,而与之相反的情况较少。

准确度(Accuracy)不是一个好的评估指标,以及为什么我们更倾向于使用精确率(Precision)和召回率(Recall)来评估性能。

首先,假设有一百万条推特,其中只有100条是关于美味馅饼的。如果一个愚蠢的分类器简单地将所有推特都标记为“不是关于馅饼”,那么这个分类器会有999,900个真负例和100个假负例,从而得到了99.99%的准确度。看起来准确度非常高,但这个“没有馅饼”分类器实际上是毫无用处的,因为它无法找到任何我们正在寻找的与顾客评论相关的推文。这说明在目标是发现罕见事物或至少在频率上不平衡的情况下,准确度不是一个好的指标。

因此,我们通常转向两个其他度量标准,即精确率和召回率。精确率(Precision)衡量系统正确检测到的项目中,实际上是正类别的百分比(根据人工金标签定义)。

精确率和召回率有助于解决“没有馅饼”分类器的问题。尽管这个分类器具有99.99%的准确度,但召回率却为0(因为没有真正例,而有100个假反例,所以召回率为0/100)。你应该明白找到相关推文的精确率同样有问题。因此,与准确度不同,精确率和召回率强调真正例,即找到我们要寻找的内容。

为了综合精确率和召回率的影响,可以使用F1分数(F-measure),它是这两者的加权调和均值

为了更全面地评估文本分类系统,我们引入了以下三个关键度量标准:

1. **精确率(Precision)**:精确率衡量系统标记为正类别(例如垃圾邮件或美味馅饼相关的文本)的文档中,有多少是真正的正类别。精确率的计算公式如下:

Precision = \frac{True Positives}{True Positives + False Positives}

2. **召回率(Recall)**:召回率衡量了系统能够正确识别的真正正类别文档的比例。召回率的计算公式如下:

Recall = \frac{True Positives}{True Positives + False Negatives}

3. **F1分数(F-measure)**:F1分数综合考虑了精确率和召回率,它是精确率和召回率的调和均值,用于平衡这两个度量标准。F1分数的计算公式如下:

F1 = \frac{2 \cdot Precision \cdot Recall}{Precision + Recall}

这三个度量标准一起提供了对文本分类系统性能的更全面评估。精确率强调了系统的准确性,召回率强调了系统的全面性,而F1分数在二者之间取得平衡。在不平衡类别的情况下,这些度量标准通常比准确度更有实际意义。

此外,还可以引入参数β,根据应用程序的需要不同加权召回率和精确率。当β>1时,更注重召回率,当β<1时,更注重精确率。当β=1时,精确率和召回率平衡,这也是最常使用的度量标准,通常被称为F1分数。 F1分数来源于精确率和召回率的加权调和平均。

在文本分类中,训练和测试的过程类似于我们在语言建模中看到的过程。首先,我们使用训练集来训练模型,然后使用开发测试集(也称为开发集)来调整一些参数,以确定最佳的模型。一旦我们确定了我们认为是最佳模型,就会在(迄今为止未见过的)测试集上运行它,以报告其性能。使用开发测试集可以避免过拟合测试集的问题。

然而,固定的训练集、开发集和测试集也会引入另一个问题:为了节省数据用于训练,测试集(或开发集)可能不足以具有代表性。那么,如果我们能够在训练时使用所有数据,同时在测试时仍然使用交叉验证,是否会更好呢?这可以通过交叉验证来实现。

在交叉验证中,我们选择一个数字k,并将数据分成k个不相交的子集,称为折叠(folds)。现在,我们选择其中一个折叠作为测试集,在其余的k - 1个折叠上训练我们的分类器,然后计算测试集上的错误率。然后,我们再选择另一个折叠作为测试集,再次在其余的k - 1个折叠上训练。我们重复这个抽样过程k次,并对这k次运行的测试集错误率进行平均,以获得平均错误率。如果我们选择k = 10,那么我们将训练10个不同的模型(每个模型使用90%的数据),测试模型10次,并对这10个值进行平均。这被称为10折交叉验证。

交叉验证的唯一问题是,因为所有数据都用于测试,整个语料库必须是盲目的;我们不能检查任何数据以提出可能的特征,了解发生了什么,因为那样就会窥探测试集,这种作弊会导致我们高估系统性能。然而,观察语料库以理解发生了什么在设计自然语言处理系统中很重要!那么应该怎么办呢?因此,通常会创建一个固定的训练集和测试集,然后在训练集内执行10折交叉验证,但在测试集中以正常方式计算错误率,如图所示。这样可以在测试集中获得真实的性能评估,同时允许在训练集内进行交叉验证以更好地理解数据。

 

统计显著性测试是用于比较两个系统性能的方法,尤其是在自然语言处理(NLP)中。

在构建系统时,我们经常需要比较两个系统的性能。我们如何知道我们刚刚构建的新系统是否比旧系统更好?或者是否比文献中描述的其他系统更好?这涉及到统计假设检验的领域,在本节中,我们介绍了NLP分类器的统计显著性测试

当我们需要比较两个系统的性能时,我们想知道新系统是否比旧系统更好。为了回答这个问题,我们使用统计假设检验,其中我们将性能指标(比如F1分数或准确度)称为M。我们想知道系统A在某个测试集x上的M值是否比系统B更高。

假设我们发现A在x上的M值比B高了0.04,我们是否可以确定A更好?不一定,因为这可能只是因为偶然性造成的。我们需要知道A是否在不同的测试集或不同的情况下仍然更好。为了回答这个问题,我们使用了统计假设检验。

在假设检验中,我们有两个假设:零假设(H0)和备择假设(H1)。零假设假设A不比B好,而备择假设假设A更好。

我们想知道,如果零假设H0成立,那么在所有可能的测试集中,我们会看到我们找到的δ(x)值的概率有多大。这个概率被称为p-值,它是在零假设H0为真的情况下,观察到我们找到的δ(x)值或更大值的概率。如果p-值很小,意味着我们观察到的差异在零假设下是非常不太可能发生的,我们可以拒绝零假设,认为A确实比B更好。

通常,我们使用阈值(如0.05或0.01)来判断p-值是否小于阈值。如果p-值小于阈值,我们认为结果是具有统计显著性的,即A确实比B更好。

为了计算p-值,通常在NLP中使用非参数检验,如自助法检验。这种方法不依赖于数据的分布,而是通过多次随机抽样来估计概率。我们创建多个不同版本的实验设置,计算各个版本下的δ(x)值,然后观察这些值的分布。如果观察到的差异在分布中是非常不寻常的,即p-值很小,我们就可以拒绝零假设,认为A确实比B更好。这种方法通常在NLP中用于比较两个系统在相同测试集上的性能。

Bootstrap测试是一种用于比较两个系统性能的方法,可以适用于任何性能度量,如准确度、精确度、召回率或F1分数等。它的基本思想是通过多次随机抽样创建虚拟测试集,然后对这些虚拟测试集进行统计分析。

以一个小的文本分类示例为例,假设我们有一个包含10个文档的测试集x,对其进行分类并计算两个分类器(A和B)的性能。每个文档都可以被标记为以下四种情况之一:A和B都正确、A和B都错误、A正确B错误、A错误B正确。我们使用某个性能度量(例如准确度)来计算A和B的性能差异,即δ(x)。

接下来,我们创建大量b个虚拟测试集x(i),每个虚拟测试集的大小都是n = 10。为了创建每个虚拟测试集x(i),我们从原始测试集x中进行有放回的随机抽样,重复n = 10次。换句话说,我们从原始测试集x中多次随机选择一个单元格,并将其复制到新的虚拟测试集x(i)中。

创建了这些虚拟测试集后,我们可以对A是否具有偶然优势进行统计分析。我们使用估算的p-value来衡量观察到的差异有多大概率是偶然的。p-value表示,在假设A不比B好的情况下,我们观察到的δ(x)值或更大的概率。

p-value的计算方式是在许多虚拟测试集中计算δ(x(i))是否大于等于2δ(x)的次数,并将满足条件的次数占总次数的比例作为p-value。如果p-value小于事先设定的阈值(如0.01),则我们可以拒绝零假设,认为A确实比B更好。

在文本分类中,需要避免可能导致伤害的问题,这些伤害不仅存在于朴素贝叶斯分类器中,也存在于后续章节中介绍的其他分类算法中。

一类伤害是表征性伤害(Crawford 2017,Blodgett et al. 2020),这种伤害是由系统造成的,它通过贬低一个社会群体来产生,例如通过持续传播关于他们的负面刻板印象。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/349933
推荐阅读
相关标签
  

闽ICP备14008679号