NLP --- 写在前面(概率图模型)

本节将正式进入自然语言处理的领域,在自然语言处理的总结中,我不会总结的那么细了,如刚开始的语言模型,自动机及其应用、校准、歧义消除、平滑方法等,这些基础性的知识大家需要找本书看看,例如宗成庆老师的《统计自然语言处理》,前五章的内容大家应该有所了解,我这里就不重复了,一是因为这是很老的内容的了,在现代的自然语言处理中很少使用,但是语言表示规则还在使用,二是宗老师的书前5章写的很详细了,看不懂的找个视频辅助来看一下就可以了,大家粗略的看一下就可了,下面先把这个自然语言处理的总结思路写一下。

        本人计划开始从概率图模型开始总结,然后引出隐马尔可夫过程(HMM),为了计算隐马尔可夫需要使用期望最大化算法(EM),但是隐马尔可夫模型也具有不好的特性因此引出更好的算法条件随机场(CRF),实现条件随机场需要使用最大熵模型,因此后面会总结最大熵模型,在这期间会涉及到其他知识点,也会详细总结,这四个算法抛开自然语言处理的来说都是很重要的算法,当然理解难度也很大,大家不要惧怕,其实也没有那么难,前面那么难的算法都走过来了,还惧怕这些嘛。一旦我们掌握这四个算法,它带给我们的不仅仅能够处理自然语言处理的问题,也能处理其他方面的问题,这样我们处理问题的方法又多了,以后遇到类似的问题可以拿过来直接使用,这是很重要的。把这四个算法总结完以后,就开始总结现代的自然语言处理技术如汉语分词技术、命名体识别、词性标注等基本方法,然后详细总结一下句法分析、语义分析、文本分类、情感分析以及文本深度挖掘等内容,这些是我们的重点,这个系列的总结主要是那4个算法,这四个算法很有用,大家需要用心理解,切不可走马观花,其他的都是流程问题了,虽然也涉及了算法,但是和他们相比都是小儿科,当然总结时我也会把总重点放在这四个算法上。

上面就是简单的介绍一下,自然语言处理的总结的大体轮廓,后面将按照这个流程进行,下面先简单介绍一下概率图模型,下一节将开始介绍隐马尔可夫过程(HMM)。

概率图模型

结构化概率模型

结构化概率模型是一种能够构建和理解复杂系统概率模型的通用框架,那么什么是复杂系统呢?复杂系统的一个特点是存在多个相互关联的部分,并且许多部分与推理任务有关。例如,在医疗诊断的应用中,这些部分包括:患者可能罹患的多种可能疾病,几十种或者几百种症状以及诊断检测,经常形成疾病诱发因素的个体特征,以及许多其他需要考虑的因素。这些论域(domain)可以通过一组随机变量来刻画,其中每个变量的值定义了论域的一个重要性质。例如,一种具体的疾病,比如流感,在这个论域,可以用一个变量来刻画。这个变量有两个值,比如存在或者不存在:一个症状,比如发烧,在这个论域,也可以用个变量来刻画,但这个变量可能取连续的值。可能变量与变量值的集合是一个重要的设计决策,很大程度上取决于要回答的论域问题。我们的任务是概率性地推断出一个或多个变量的可能值,有可能是在给定一些其他变量的观测之下进行这一推断。为了采用规则化的概率推理来完成这一任务,我们需要在某些随机变量\large \chi的可能取值空间上构造一个联合分布。这类模型使我们能够回答广泛的有兴趣的询问。例如,我们可以观测到变量\large X_i,取得一个特定值\large x_i,并可根据后验分布的结果询问另一个变量\large X_j取值的概率分布为何。下面举个列子:

例.  考虑一个非常简单的医疗诊断问题,其中,我们只关注两种疾病,流感和花粉热。这两种疾病之间并不互斥,因为患者可以只患一种、同时患两种,或者不患任何疾病。因此,有两个二值的随机变量:流感和花粉热。我们还有一个与流感和花粉热均有关系的4值随机变量:季节。此外,还有两种需要用两个二值随机变量来表示的症状:充血和肌肉疼痛。总的来说,概率空间具有2×2×4×2×2=64个值,对应于上述5个变量的所有可能取值。当给定这个空间上的一个联合分布时,我们就可以查询问题。比如,假定现在是秋季,并且患者有鼻窦充血的症状,但没有肌肉疼痛的症状,那么患者患流感的几率是多少?作为一种概率表述,这种询问可以表示为:
              P(Flu = true|Season = fall,congestion=true,Musle Pain = false)

概率图模型

        如上例所示,在64个可能值上指定一个联合分布,似乎己经相当令人畏惧。而当我们考虑实际中一个典型医疗诊断问题有几十个甚至几百个相关属性时,问题看上去就完个不能处理了。因此引入一种描述了概率图模型的框架,该框架为能利用复杂分布中的结构来紧凑表示它们,提供了一种机制,并在某种程度上,使得模型能够被有效地构造和利用。
        概率图模型把基于图的表示作为在高维空间上紧凑编码复杂分布的基础。在下图中,节点(或者椭圆)与问题中的变量对应,而边与它们之间的直接概率交互对应。例如下图a是流感例子的一种可能的图结构表示。在这个图中,可以看到,在肌肉疼痛和季节之间没有接的交互作用,但是它们均与流感有直接的交互作用。

上图为关于概率图模型的不同视角,上图的第一行是图模型,第二行是由图模型导出的独立关系,第三行由图结构导出的因子分解,(a)贝叶斯网络,(b)为马尔科夫网络 

       我们可以用对偶的双重视角来说明这个图的结构。存在的独立关系集合的一个紧凑表示;对羊一组变量X,Y,Z而言,这些关系成为:给定Z时,变量XY独立,表示为(X\perp Y\mid Z)。例如,关于之前的例了,目标分布P一一一分布编码了我们关于这种特殊情形的信念一一或许满足了(Congestion\perp Season\mid Flu,Hayfever)。这个声明断言:

                                 P(Congestion\mid Flu,Hayfever,Season) = P(Congestion\mid Flu,Hayfever)
也就是说,如果我们对有充血症状的患者的分布情况感兴趣,并且我们知道他是否患流感和是否患花粉热,那么季节将不再提供信息。需要注意的是,这种断言并不代表季节与充血是独立的;这仅仅表明,我们己经通过了解患者是否患有流感和花粉热,认得了从季节可以获得的有关患者存在充血症状机会的所有信息。上图的图a表明了一组有关的独立关系假设。
       另外一个视角是,图定义了紧凑表示高维分布的一种框架:与其对问题中所有变量的可能取值的概率进行编码,不如将分布“分解"为一些更小的因子,使每个因了定义在一个更小的概率空间上。然后,我们可以将总体联合分布定义为这些因子的积。
例如上图的最后一行显示的分布的因子分解与上图第一行有关。可以断言,例如,事件“春天,没有流感、花粉热、鼻窦充血、肌肉疼痛”的概率可以通过如下五个数值相乘得到:\small P(Season=spring),P(Flu=false\mid Season=spring),P(Hayfever=true\mid Season=spring ),P(Congestion = true\mid Hayfever=true,Flu=False)\small P(Pain =true\mid Flu=false)。相对于原始联合分布的63个必要参数(因为联合分布中所有表值的和必须为1,所以第64个参数可以完全山其他的参数来确定)这种参数化方法显然史加紧凑,只需要3+4+4十4十2=17个必要的参数。图结构定义了与其相关的分布\small P的因子分解一一因子的集合以及它们所包含的变量。

这里详细的讲一下图(a)的因子分解,这样大家就容易理解了,这里需要先强调的是,这里的独立只是计算上的独立,在现实中他们并不是独立的,好下面就详细推倒:

这里大家需要知道条件概率,不懂的建议看我的这篇文章,我这里直接把条件概率贴出来即:

                \large P(AB)=P(B/A)P(A)

图(a)的因子分解:根据上图:

               \large P(SFHMC) ={\color{Red} P(M/SFHC)}P(SFHC)这里利用的就是上式的条件概率

                                            \large ={\color{Red}P(M/F) }P(SFHC)  这里的肌肉疼痛只和流感有关,和其他无关,因此可以写为本式

                                            \large =P(M/F){\color{Green} P(C/SFH)}P(SFH)

                                            \large =P(M/F){\color{Green} P(C/H)}P(SFH)     同理可从上图可知鼻窦充血只和花粉热有关,和其他无关

                                            \large =P(M/F)P(C/H){\color{Blue} P(F/SH)}P(SH)

                                            \large =P(M/F)P(C/H){\color{Blue} P(F/S)}P(SH) 同理流感只和季节有关而和鼻窦充血无关

                                            \large =P(M/F)P(C/H)P(F/S){\color{DarkRed} P(H/S)}P(S)

从上式我们可以看出,右边的联合概率不好求,通过因素分解就可以简单的计算出来,当然这里的独立只是计算上的独立,这里大家需要搞清楚呀。
         结果是这两种视角一一一图作为独立关系集合的表示与图作为分解分布的框架一一在深层意又上是等价的。准确地说,正是分布的独立特性才使得分布能够紧凑地以因子分解的形式表示。反之,分布的一个特别的因子分解确保了某些独立关系的成立“
         我们描述了分布的两类图表示。一类用有向图表示(即边有起点和终点),称为贝叶斯网(Bayesian network),如图a所示。一类用无向图表示,称为马尔可夫网(Markov network),如(b)(上图)所示。马尔可夫网既可以看作是定义了独立分布的一组断言(如图(b)所示),也可以看作是一组紧凑的因子分解。这两种表示都给出了独立关系和因子分解的对偶性,但是它们能够编码的分布独立关系集合和导出的分布的因子分解并不相同。这里需要提醒的是,这里的独立只是计算上的独立,但是在现实中并不是独立的,只是在计算上算作独立,这里大家需要理解。

那么概率图模型有什么用处呢?

表示、推理、学习

图形语言得益于呈现在我们要编码表述的许多实际分布所具有的结构:即变量倾向于直接与很少几个其他量交互的特征。采用图模型,呈现这类结构的分布一般可以自然且紧凑地用编码表示。这个框架有很多优点:

第一,分布通常可以用便于处理的方式描述,甚至在联合分布的显式表示如天文数字般庞大的情况下也是如此。重要的是,由此框架提供的这类表示是透明的,因而专家可以理解并评估其语义和性质。对于构建一个准确反映我们对问题理解的模型而言,这个性质是重要的,不透明的模型容易导致无法解释的、甚至不希望的答案。
第二,如我们所表明的,相同的结构常常可以使分布有效地应用于推理中一一把分布作为关于世界的模型来回答查询。特别地,在给定其他变量的证据之下,我们提供了计算某些变量后验概率的算法。例如,我们可能观测到现在是春天并且某患者有肌肉疼
痛的症状,而我们希望知道此患者得流感的可能性有多大,这个查询可以形式化地描述为\large P(Flu=true\mid Season=spring;Muscle Pain = true)。这些推理算法能在图结构上直接运行,而且计算速度常常比直接计算联合分布的速度快几个数量级。
第三,这一框架有助于这些模型的有效构造,无论是通过专家还是自动地,利用数据学习,一个模型能够提供对于我们过去经验的很好的近似。例如,我们可能有一组来自医生的患者病历,希望从中学到可以表述与我们累积经验一致的模型。概率图模型支持实践中非常有效的模型构造的数据驱动方法(data一driven approach)。用此方法,专家会论域建模提供一些粗略的指导原则。例如,人们一般会指定模型应包含的属性,经常表明模型要有哪些主要依赖关系,可能还会有其他一些方面。然而,利用模型拟合数据,细节部分一般会自动添加进来。与单纯手工构建的模型相比,此过程产生的模型通常可以更好地反映论域。此外,有些时候这样的模型还能够揭示变量间的一些令人惊讶的关系,并对论域提供新颖的洞察力。
       三个组成部分一一一表示、推理和学习一一一是构建智能系统的关健部分我们需要一个陈述性的表示,它是世界模型的一个合理编码。我们需要能够有效地利用这个表示在很广的范围内回答人们感兴趣的问题。还有,我们需要能够结合专家的知识和累积的数据来获取这一分布。就很广范围的问题而言,概率图模型是能够支持所有这三种功能的极少框架之一。

        简单来说概率图模型可以让我们看到,哪些量是独立的,一旦独立就可以使用因子分解进行求联合概率,这样求联合概率比较方便的方法,这也是概率图模型的意义所在,即找到独立的变量关系。

好,本节主要介绍了概率图模型的概念和用法以及意义,该部分在隐马尔科过程会用到,下一节我们将产生式模型和判别式模型。

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值