面向机器学习的自然语言标注3.1 语料库分析中的基本概率知识

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介:

语料库分析

既然你已经成功地为自己定义的目标建立了一个语料库,那么接下来的一个重要工作就是探究这个语料库包含了哪些信息。本章的目的是为你介绍一些可用于分析语料库的语言学内容的工具。因此,我们将为你介绍各种可用于在语料库上完成各种统计分析的技术和工具。

为此,我们将从语言学的角度介绍一些统计和概率知识。我们称这个领域为语料库分析(corpus analytics)。具体包括以下内容:

如何计算单词出现的基本频率,分别根据词型和词例(token)。

如何把要分析的数据标准化。

如何测量语料库中单词与短语之间的相关性(即分布)。

了解语料库中所包含的信息能帮助你创建模型来自动识别标签(它们将在下一章创建)。我们将尽可能使用语言学方面的例子引入这些概念。在本章中,我们将使用一个电影评论语料库,它是从IMDb.com(IMDb)上收集的。这个语料库将为我们介绍本章中的概念和方法带来便利。

统计之所以重要有多方面的原因,但最重要的是能给我们以下两种能力:

数据分析

发现数据集合中的潜在性质。

推断统计的重要性

允许我们根据语料库的内容做出判断并获得信息。

本章的确会提供用于分析语料库的统计知识的概要介绍,但不会给出完整的统计或概率教程。如果你想了解更多的相关知识,尤其是语料库语言学方面的知识,我们为你推荐下列书籍和论文:

Probability for Linguists. John Goldsmith. Math. & Sci. hum. / Mathematics and Social Sciences (45e année, no. 180, 2007(4)). http://hum.uchicago.edu/~jagoldsm/Papers/probabilityProofs.pdf

Analyzing Linguistic Data: A Practical Introduction to Statistics using R. R.H. Baayen. Cambridge University Press; 1st edition, 2008.

Statistics for Linguistics with R: A Practical Introduction. Stefan Th. Gries. De Gruyter Mouton; 1st edition, 2010.


3.1 语料库分析中的基本概率知识


首先,让我们来了解几个概率的基本原理。

状态/样本空间

当我们进行一项试验或考虑可以赋予某个属性的可能值(比如将电子邮件标注为垃圾或非垃圾)时,我们所指的就是属性的状态空间,即{垃圾,非垃圾}。同样,掷硬币的可能结果是正面或反面,对应的状态空间为{正面,反面}。

随机变量

这是一个不指向固定值的变量,可以是来自定义域中的任何可能值。例如,上面所提到的状态空间中的值。

概率

来自状态空间的一个具体取值x的概率,用函数P(x)表示。我们说P(x)是“x的概率”,这里x是随机变量X的某个具体取值,x蝀。

概率有两个重要性质:

其取值一定在0~1之间,表示为:

       x:0 ≤ p(x) ≤ 1

所有可能事件的概率之和必须为1:

 

假设你对电影评论感兴趣。也许你的目的是收集语料库并训练一个算法去识别电影题材,例如语料库主要是基于IMDb.com上类似的剧情摘要。为了训练算法来进行文本分类和标注,你需要了解语料库的一些性质。

假设有500个电影的简介,共涉及5种题材,每种题材的电影数量相等,即,

Action(动作):100个文档。

Comedy(喜剧):100个文档。

Drama(戏剧):100个文档。

Sci-fi(科幻):100个文档。

Family(家庭):100个文档。

给定该语料库,我们可以定义随机变量G(题材),上述列表中的题材值构成G的状态空间(样本空间)。这是一个平衡语料库,任意g蜧都有相等的概率。例如,P(Drama)=0.20,P(Action)=0.20等。

注意: 如果你想用Python来查找语料库中的某一个具体变量的概率,你可以很容易地使用列表得到它。如果你有一个存有所有评论的列表以及一个存有喜剧类评论的列表,那么你就可以使用对应列表的长度来计算随机选择某种题材的概率值。假设all是所有评论的文件名列表,comedy是喜剧类评论的文件名列表:

>>> p_com = float(len(comedy))/float(len(all))

由于函数len()返回一个整数,所以为了得到概率,需要把整数转化为浮点数;否则,得到的概率为0。

3.1.1 联合概率分布

我们经常想问的关于语料库的问题不仅仅涉及一个随机变量,而且可能同时涉及多个随机变量。回到IMDb语料库,我们注意到有两种类型的剧情介绍:短的(short)和长的(long)。我们可以在样本空间{short,long}上定义随机变量S(摘要)。如果每种题材有50个短的和长的摘要,那么P(short)=0.5,P(long)=0.5。

现在,我们有两个随机变量:G(题材)和S(摘要)。我们用P(G,S)表示这些变量的联合概率分布(joint probability distribution)。如果G和S是独立变量,则可将P(G,S)定义为:

P(G ?S)=P(G) ?P(S)

假设两个变量彼此独立,则随机选择“短的喜剧类”评论的概率是:

P(comedy ?short)=P(comedy) ?P(short)

        = 0.20?.50

        = 0.10

但是这两个随机变量真的相互独立吗?直觉上,如果一个事件的发生不会改变另一个事件发生的可能性,那么这两个事件是相互独立的。

因此,我们可以假设先把短评论分离出来,然后再从中选择一个喜剧类评论,或者反之。一共有250个短影评,包含5种题材,每种题材有50条评论。或者,喜剧类共涉及100条,其中50条短的,50条长的。这种看问题的方式等同于计算条件概率。这个概率是已知B发生的条件下A发生的概率(读作“给定B后A的概率”),定义如下:

 

这是B发生且A也发生的部分。对于我们的例子,在已知评论为短类型的条件下选择一个喜剧类评论的概率为:

 

很快就可以知道返回值为0.20,这与P(comedy)相等。事实上,独立性意味着,如果G和S是独立的,那么:

  

类似地,因为P(S | G)=P(S),所以P(short | comedy)=P(short),其值为0.50。

请注意,从上式可以推出下面的等价公式,这称为概率的乘法法则(multiplication rule):

 

当需要计算多于两个的随机变量的联合概率分布时,这个等式可以泛化为所谓的链式法则(chain rule):

 

当我们在自己的标注语料库上建立第一个语言模型时,这个法则将变得尤为重要。

上述条件概率的计算方法对于我们将在第7章中介绍的机器学习算法也非常重要。特别地,朴素贝叶斯分类器依赖于语料库的条件概率计算。

注意: 理解语料库中不同属性之间的关系有助于判断数据集的哪些方面应该包含到标注任务中。如果事实表明短评论出现的概率与某一个或多个电影题材有关,那么将这个信息加入标注任务(或者在之后为机器学习算法构造特征集时)将会非常有用。

与此同时,评论的长度与题材之间的关联也可能纯属巧合,或者恰好是因为语料库在某些方面是不平衡的。因此,从联合概率分布的角度审视语料库也能确保语料库更准确地代表你正在使用的数据。

3.1.2 贝叶斯定理

对条件概率的计算做出说明后,我们就能给出一个与之等价的公式,称为贝叶斯定理(Bayes Theorem),如下所述:

 

该定理允许我们在事件之间变换依赖关系的顺序。它将条件概率P(A|B)转换为另外3个概率,后者的估值一般来说更易于获取。当我们想要设计一个机器学习算法来对语料库中的各种实体进行自动分类时,这一点非常重要,而且还能容易地获取与算法中正在使用的不同判断相关联的概率的统计。第7章将再次讨论这个问题。

相关文章
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【2月更文挑战第31天】 随着人工智能的飞速发展,自然语言处理(NLP)技术在机器学习领域扮演着越来越重要的角色。本文旨在深入探讨NLP的关键技术,包括语言模型、词嵌入和深度学习方法,并分析这些技术如何相互协作,以实现更高效的文本分析和理解。通过案例研究和最新研究成果的介绍,我们展示了NLP在实际应用中的强大潜力,以及它如何推动人机交互和信息检索系统的革新。
203 0
|
4月前
|
机器学习/深度学习 数据采集 自然语言处理
【NLP】讯飞英文学术论文分类挑战赛Top10开源多方案–4 机器学习LGB 方案
在讯飞英文学术论文分类挑战赛中使用LightGBM模型进行文本分类的方案,包括数据预处理、特征提取、模型训练及多折交叉验证等步骤,并提供了相关的代码实现。
54 0
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
不做数值运算、纯靠嘴炮也能机器学习?基于自然语言的全新ML范式来了
【6月更文挑战第30天】基于自然语言的VML简化了机器学习,让模型参数变为人类可读的文本,提高理解和应用性。借助大型语言模型的进展,VML能直接编码先验知识,自动选择模型类,并提供可解释的学习过程。然而,表达能力、训练优化及泛化能力的挑战仍需克服。[论文链接](https://arxiv.org/abs/2406.04344)
47 1
|
5月前
|
机器学习/深度学习 自然语言处理 PyTorch
【机器学习】自然语言处理(NLP)领域革命性突破的模型——Transformer
【机器学习】自然语言处理(NLP)领域革命性突破的模型——Transformer
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【5月更文挑战第25天】 在数字化时代的浪潮中,自然语言处理(NLP)技术正迅速成为机器学习领域的一个重要分支。本文将深入探讨NLP的核心概念、关键技术及其在不同行业中的应用实例。我们将通过实际案例分析来揭示NLP如何改善信息检索、情感分析和智能对话系统,并讨论其在现实世界中所面临的挑战与未来的发展趋势。
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【5月更文挑战第21天】随着人工智能的迅猛发展,自然语言处理(NLP)已成为机器学习领域的重要分支。本文将深入探讨自然语言处理的核心概念、关键技术及其在不同应用场景下的实际效果。我们将从基础理论出发,逐步解析NLP的处理流程,并结合最新的研究动态,展示该领域的前沿技术和发展趋势。通过实例分析,本文旨在为读者提供对自然语言处理技术的全面认识,以及在解决实际问题时的应用指南。
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【5月更文挑战第21天】 在数字化时代,自然语言处理(NLP)技术作为人工智能的一个分支,正逐渐改变我们与机器的互动方式。本文将深入探讨NLP的核心概念、关键技术及其在不同领域的应用实例。通过分析当前的挑战和未来的发展趋势,旨在为读者提供一个关于NLP技术全貌的视角,并分享一些实用的技术实现细节,以促进对这一领域的理解和实践能力的提升。
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习中的自然语言处理技术
【5月更文挑战第21天】 在数字化时代,自然语言处理(NLP)技术作为人工智能的一大分支,正逐渐改变我们与机器的互动方式。从智能助手到情感分析,NLP的应用范围广泛而深入。本文将探讨NLP的核心概念、关键技术及其在不同领域中的创新应用。通过深入分析NLP的工作流程和挑战,我们将揭示如何利用这一技术提升信息处理的效率和智能化水平。
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战
【机器学习】自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战
85 0
|
7月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习在图像识别中的应用与挑战探索机器学习中的自然语言处理技术
【4月更文挑战第30天】 随着人工智能技术的飞速发展,深度学习已经成为计算机视觉领域的核心动力。本文将探讨深度学习在图像识别任务中的关键技术、应用实例以及面临的主要挑战。我们将重点讨论卷积神经网络(CNN)的架构优化、数据增强技术以及迁移学习的策略,并通过具体案例分析其在医疗影像、自动驾驶和面部识别等领域的应用成效。同时,我们也将指出当前模型泛化能力不足、对抗性攻击以及算力资源需求等挑战,并提出潜在的解决方向。 【4月更文挑战第30天】 在人工智能领域,自然语言处理(NLP)是赋予机器理解和响应人类语言能力的关键技术。本文将深入探讨NLP的发展历程、核心技术及其在不同领域的应用案例。我们将从

热门文章

最新文章