Text mining and analytics学习笔记——第二周

导读:

1)什么是熵?对于什么样的随机变量,熵函数分别达到最小值和最大值?
2)什么是条件熵?
3)条件熵H(X | Y)和熵H(X)之间的关系是什么?哪个更大?
4)如何用条件熵来发现组合关系?
5)什么是互信息我(X; Y)?它与熵H(X)和条件熵H(X | Y)有什么关系?
6)I(X; Y)的最小值是多少?它是对称的吗?
7)对于什么样的X和Y,互信息I(X; Y)是否达到最小值?对于一个给定的X,为什么我(X; Y)达到最大值?
8)为什么交互信息有时比条件熵更有用于发现组合关系?
9)什么是话题?
10)我们如何定义话题挖掘和分析的计算任务?什么是输入?什么是输出?
11)我们怎样才能启发式地解决话题挖掘和分析问题呢?这种方法的主要问题是什么?
12)通过单词发布代表一个主题有什么好处?
13)什么是统计语言模型?什么是单语言模型?我们如何计算给定单一语言模型的一系列单词的概率?
14)给出文章文章的单字模型的最大似然估计是什么?
15)贝叶斯估计的基本思想是什么?什么是事先分配?什么是后验分布?他们如何相互关联?什么是贝叶斯规则?

基本术语


条件熵
相互信息
主题和主题的覆盖面
语言模型
生成模型
Unigram语言模型
字分布
背景语言模型
概率模型的参数
可能性
贝叶斯统治
最大似然估计
先验分布和后验分布
贝叶斯估计与推理
最大后验(MAP)估计
先前的模型
后台模式

组合关系的发掘

一、用熵发掘组合关系

1.词描述

1)问题定义为:

预测一个二元随机变量的值,用Xw表示它,w表示一个单词,所以这个随机变量恰好与一个单词相关联。

2)具体内容为:

当变量的值是1时,表示这个词是存在的。当它是0时,表示该词不存在,1和0的概率应该总和为1。

这里写图片描述

随机变量出现的次数越多,预测就越困难;相反,词越罕见越好预测。

2.熵

熵函数:给这个随机变量的不同分布以不同的值。取决于随机变量取值为1或0的概率。

熵一般是非负的
我们通常将log 0定义为0,因为log 0是未定义的.

将此函数与随机变量等于1(或0)的概率作图如下:
在两端,当X等于1的概率非常小或非常大时,则熵函数具有低值。当它在0.5的中间,然后达到最大值。

随机变量等于1和随机变量等于0的概率是对称的,并且是完全对称的。(即两个曲线相同)

将此函数与随机变量等于1的概率作图

3、投掷硬币例子

例子描述:

1)定义一个随机变量X子硬币,当硬币显示为头时为1,硬币显示为尾时为0。熵表明预测结果有多困难
2)公平的硬币:显示头像和尾概率相同。即1概率为0.5,0概率为0.5.
完全有偏见的硬币:总是显示为头像。即1概率为1

例子结果:

对于公平的硬币,熵达到最大值,即1。
对于完全有偏见的硬币,熵是0。

例子结论:

熵的值越高越难预测。

二、用条件熵发掘组合关系

1.探讨问题:

一个词的存在或不存在是否会减少另一个词的熵,从而提高词的可预测性。例如:吃的存在或不存在是否帮助我们预测肉的存在或不存在?

2.条件熵

把所有这些概率改变为条件概率得如下图所示:

这里写图片描述

3.条件熵的扩展

一般来说,对于任何离散的随机变量x和y,条件熵不大于变量x的熵。

这里写图片描述

变量x的熵是条件熵的最大值。
条件熵的最小可能值将是零

4.如何使用条件熵来捕捉组合关系

1)理论知识

条件熵直接提供了一个衡量两个词关联的方法。因为它告诉我们在多大程度上,当我们知道一个词的存在与否,可以预测一个词。

图中H(Xmeat | Xmeat)=0
H(Xmeat | Xw)最大时即为H(Xmeat)

这里写图片描述

2)预测时间
  • 对于每个单词W1,我们将列举整个其他单词W2。然后,我们可以计算给定W2的W1的条件熵。即 HW1|W2i
  • 所有的W2i都是按照条件熵的升序排列的
  • 最小的熵,意味着它可以帮助我们预测单词W1的时间。
  • 使用阈值来查找W2i的顶圈,把W2i的顶圈作为与W1具有潜在的组合关系的单词。
  • stresser可以是顶层候选人的数量,也可以是条件熵的绝对值。

这个算法并不能帮助我们从整个集合中挖掘在H(Wx | W1)的最强组合关系。例如:在吃的情况下,哪种食物与吃的关系最强。因为要做到这一点,我们必须确保这些条件熵在不同的单词之间具有可比性。

这里写图片描述

条件熵H(W1 | W2) 和条件熵H(W1 | W3)是可比的。他们都衡量预测W1有多难。
条件熵H(W1 | W2)和条件熵H(W3 | W2)是不可比的。因为他们有不同的界限,分别是H(W1)和H(W3)

三、交互信息

问题:如何使用其他办法使H(Wx | W1)具有可比性

特征:

1)非负性(条件熵决不会超过原始熵。)
2)对称性
3)若独立,则为0.
这里写图片描述

条件熵对不同的Y进行排序,与基于相互信息的排序相同的顺序。因为在这里的函数中,H(X)是固定的,因为X是固定的。

但互信息使我们可以比较不同的x和y对,这使得相互信息更普遍,更有用。

例子:

  • 一个词和它本身之间的相互信息是最大的
  • 此处最大的为H(meats | eats).

这里写图片描述

如何计算交互信息——交互信息重写

1.方法:KL发散(度量了两个分布的发散程度)

公式描述
1)两个随机变量的不同值的组合上的和。但是在和里面,主要是两个联合分布的比较。
2)分子有节点,实际观察两个随机变量的联合分布。
3)分母可以解释为两个随机变量的期望联合分布。当两个随机变量是独立的时,它们的联合分布等于这两个概率的乘积。

这个比较会告诉我们这两个变量是否真的是独立的。如果分子与分母不同,那就意味着这两个变量不是独立的,这有助于度量关联。

这里写图片描述

式子中的和考虑到这两个随机变量的所有值的组合。每个随机变量都可以选择两个值中的一个,0或1,所以这里有四个组合。

结果表明,在独立假设下,互信息与期望分布的实际联合分布的发散是一致的。这种发散越大,交互值越高

2.相互信息公式所涉及的确切概率

这里写图片描述

3.概率计算

这里写图片描述

四、极大似然估计

方式:即简单的对事件发生的次数归一化
理论:观测数据中事件的经验计数来估计概率

1.数三次:

1)数出现W1的段的个数
2)数出现W2的段的个数
3)数同时出现W1和W2的段的个数
分别处以N段,得到归一化的概率,用来计算互信息

这里写图片描述

2.用平滑化处理数出的个数为0的情况

方法内容:加一个小的数
原理:增加一个有四个虚拟数据的段,则对应的数数步骤中一、二则加0.5;步骤三加0.25,分母加1.
这里写图片描述

组合关系总结

三个概念

  • 熵,衡量一个变量的不确定性。
  • 条件熵,描述的是已知Y时,变量X的熵。
  • X和Y的交互信息(主要方法),表示的是由于Y已知带来变量X的熵损失,或者变量X已知时变量Y的熵损失。——从文档中发掘最突出的语义关联。

这里写图片描述

关系挖掘分析总结

  • 纯统计学方法是可行的
  • 由于这些方法是基于单词的统计,所以他们可以在不用任何人力的情况下用于各种文本
  • 可以用不同的方法定义段和上下文,这使得程序的变型更有趣(例如,上下文可以非常狭窄,比如几个单词,一个单词,一个句子,或者段落,因为使用不同的上下文可以发现不同风格的范式关系。将段定义为窄文本窗口或较长的文本文章。用视觉信息来计算共现,来发现合成关系。)

这里写图片描述

这些发现关联可以支持许多其他应用程序,包括信息检索、文本和数据挖掘。

主题挖掘和分析

这里写图片描述

1.主题挖掘和分析概述

定义:一段文本数据所讨论的主要思想
动机:从文本数据中找到讨论主题,通过主题了解不同人群的观点。
任务定义:

1)从一系类文本中找出大量主题
2)那篇文章在多大程度上涵盖了哪个话题

输入:一系列文本(k一般会给出)
输出:某文本涵盖某主题的值

这里写图片描述

2.术语定义法

术语定义法介绍:一个词或词组
例如主题被定义为:旅游、体育、科学

两个任务:

1)发现主题
2)分析主题覆盖范围

这里写图片描述

2.1发现主题

步骤:

1)解析集合中的文本数据以获取候选词(单词或短语)
2)将设计一个评分函数来匹配每个时期作为一个主题的好程度。(使用纯粹的统计来设计这样一个评分函数)
这里写图片描述

存在问题:主题倾向于有代表性的术语,意思是可以代表集合中的许多内容的术语。因此,这意味着我们希望使用频繁的术语。然而,如果我们简单地使用频率来设计评分函数,那么得分最高的术语将是一般术语或函数术语,例如,the等等。

解决方案:我们希望避免在顶部有这样的词,所以我们想惩罚这些词。但总的来说,我们希望使用比较频繁但不太频繁的条款。因此,一种特殊的方法可以基于TF-IDF(term frequency inverse document frequency)词频逆文档频率。

设计评分函数之后,通过选择得分最高的k个条目来发现k个主题术语。

再次出现问题,我们该如何解决:

出现问题:得分最高的条款都是非常相似的。
解决问题:最大似然法。(对集合中的所有内容进行覆盖,消除冗余)
最大似然法(结果得到K个主题):
1)第一个任期将被选中
2)选择下一个学期时,看看已经选择了哪些术语,并尽量避免选择一个过于相似的术语。(在名单中对一个任期进行排序的同时,也在考虑与我们已经选择的条款相比,候选人任期是否多余。)
——>一定的阈值处理

2.2计算主题覆盖率 Piij

简单地计算这些术语的出现情况。
1)公式是收集代表主题的所有术语的计数。
2)简单地将它们规范化,这样文档中的主题覆盖就会增加一个主题。
这构成了文档主题的分布,以描述文档中不同主题的覆盖范围。
这里写图片描述

方法的实证评估

NBA篮球比赛的文本文件
例子证明:当我们预测主题时应该考虑相关的词。不能简单地数某个话题。

这里写图片描述

术语做主题方法的缺点:
我们只有一个术语来描述这个主题,所以它不能真正描述复杂的主题。
1)缺乏表现力。
2)在词汇量方面是不完整的(意味着主题本身仅表示为一个术语)
3)存在词义分解的问题。专题术语或相关术语可能是模棱两可的。例如,篮球明星对天空中的明星。
待解决问题:歧义带来的主题偏差。
这里写图片描述

3.方法改进——词汇分布

方法综述

1)使用更多的词汇描述主题:解决术语方法缺乏表现力的缺点
2)量化词语:用来区别主题间的细微差别,和模糊地介绍语义相连的词。
3)多重语义的词汇分开:从而辨识主题,解决语义模糊的问题

这里写图片描述

1.改进后为:

1)使用很多次描述一个主题
2)量化术语:引入相关词汇
3)分离语感:用不同概率表示某一词汇在不同主题的作用
这里写图片描述

更改之后的输入输出重新定义为:

这里写图片描述

那么输入输出表示为:

C是集合;
k是主题的数量;
V是词汇,它有一组单词,用来确定哪些单位可以作为分析的基本单位。
输出将首先由一组由θI表示的主题组成。

这里写图片描述

词汇分布总结

1)词汇分布优点:

  • 用多个词来描述一个复杂的主题。
  • 量化词汇从而得到多种多样的语义。

    2)主题挖掘的任务和答案:
    输入:文本文章和许多主题以及词汇表集的交汇
    输出:是一组主题。(每一个文本输出是一个词汇的分布)
    参数Theta和Pi的两个限制:

  • 词汇分布的限制(一个主题的所有词汇的和必须为1)
  • 每个文档的主题覆盖限制(一个文档的所有主题的概率和必须为1)

这里写图片描述

2.计算主题覆盖率

方法:生成模型(使用统计建模来解决文本挖掘问题的一种主要方法。)
步骤:
1)先为数据设计一个模型(设计了一个概率模型来模拟数据的生成。基于我们的假设。实际数据并不一定是这样产生的。)

有n个文档,所以我们有n组pis,每组设置pi,pi值将加为1。
首先要假装我们已经有了这些词的分布和覆盖数。

这里写图片描述

2)将模型与我们的数据相匹配。根据数据估计参数或推断参数。调整这些参数值,直到得出数据集的最大概率。

这里写图片描述

用图表示为:

  • 在X轴上,只是把lambda参数,作为一个一维变量来说明。(这过于简单化了,但它足以显示这个想法。)
  • 而Y轴则表示数据的概率。这个概率显然取决于λ的值。在改变lambda的值时,它会发生变化。
  • 找到lambda * 可以最大化观测数据的概率。
    这里写图片描述

生成模型总结

在模型中,我们嵌入了一些我们感兴趣的参数,由lambda表示。然后,我们可以推断出最有可能的参数值lambda * ,给定一个特定的数据集。
这里写图片描述

统计语言

1.概述

  • 单词序列的概率分布,取决于讨论的背景
  • 有些词序列的概率可能比其他词序列高,但相同的词序列在不同的上下文中可能有不同的概率。
  • 这样的归类可以实际用于主题归类,也可看做文本生成的概率机制。(这就意味着我们可以将文本数据看作是从这样一个模型中观察到的数据。——称为生成模型)

  • 这里写图片描述

因为不可能枚举所有可能的单词序列。因此,在实践中,我们将不得不在某种程度上简化模型。最简单的语言模型称为一元语法模型

2.一元语法模型

一个假设:这种模型独立的生成构成文本的每个单词。(有效的简化语言模型)
则有:

PW1W2W3....Wn=PW1PW2.....PWn

PW1+PW2+.....PWn=1
抽样生成文件。

当我们有模型时的考虑的两个问题:

1)给定一个模型,我们观察到的数据点的概率如何(对抽样过程感兴趣)
2)估计过程(基于给定模型和某些观测值的参数估计)

讨论问题1:一元语法模型生成文本

已知概率来求主题。给定特定的主题,不同的文本将对应不同的概率

这里写图片描述

讨论问题2:已知文本来对单词概率估计

这里写图片描述

两种不同的参数估计方法:

1)极大似然估计:将最优定义为数据似然值达到最大(是函数达到最大的参数值)当数据太小时会产生问题,会导致偏差

当100的文本中不包含另一个文本的单词时,那么此单词的参数为0,显然不对,但如果不为0则使得其他单词的参数值降低,从而不是最佳的答案。

2)贝叶斯估计(兼顾数据与参数的先验知识)我们假设对单词的前置信念先验用 Ptheta 定义为先验信念
PX|theta 定义为数据似然值; Ptheta|X 定义为后验信念(体现了两种信念的折中)
最大后验估计(MAP):将后验概率最大化,寻找后验概率最大化的theta.如果不含有先验信念则MAP取决于最大似然值,反之则取决于两个
这里写图片描述

定义先验信念

将theta用一维数值表示
1)先验告诉我们:某些值比其他值有更大的可能性
2)theta分布概率:那些theta值可能性更大
3)后验的值在先验和theta之间,结果得到一个theta的分布 Ptheta|X

贝叶斯推导后验分布的区间,以及其他依赖theta的量 ftheta ,在贝叶斯推断中,theta为不确定变量,所以我们要考虑theta的所有可能取值。

我们根据给定X条件下theta的后验分布得到f的期望值作为X的估计值。
特例:假设f(theta)=theta.则我们得到的是theta的期望值,即theta的后验均值,这个值也对应一个theta点。

这里写图片描述

经常使用在主题挖掘中,我们想要在其中注入关于主题的先验知识。

3.总结

1)使用了语言模型(即文本中的概率分布,又被称为文本数据的生成模型),最简单的模型是一元语法模型(即单词分布)
2)似然函数(即给定模型下的数据的概率)给定X的样本,我们能确定那些参数值能使观察数据概率最大化(极大似然估计)。
3)贝叶斯估计/贝叶斯推断:定义P(theta)的参数先验,关注参数的后验计算,其结果与先验和似然值呈正比。这样的分布能推导任意从theta导出的值。

这里写图片描述

从一个文档中挖掘一个主题

目的:

挖掘单一主题的词语分布,不需要覆盖率,因为只有一个主题100%。

这里写图片描述

模型:一元语言模型
目的:表示一个主题的词语分布
所有参数的数量和单词表中的单词数一致:M
Theta i 表示单词 i的概率,Theta i 的和为1. 假设单词生成的独立性,所以文档的概率是每个单词概率的乘积

这里写图片描述
写成第二行是为了方便计算,将乘变为加。将问题转化为约束最大值化问题。

解法1:拉格朗日乘数法

结合了目标函数和约束条件,引入拉格朗日乘子lambda.(将约束问题转化为非约束化问题),对lambda求偏导,赋值等于0,最后解出结果。
这个公式是文本长度正则化后的计数值(文本长度=所有单词计数和)

这里写图片描述

当解析函数太复杂,不会用闭合公式解优化问题,将采用一些数值算法

拓展:

一般来说:最高概率的一般为功能词汇,the, a,等;其次是主题相关词汇,最后是与主题无关词汇。
那么如何利用概率模型以某种形式去除功能词

这里写图片描述

练习答案:

这里写图片描述

检测答案:

这里写图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值