【数学之美 系列七】信息论在信息处理中的应用

程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹 昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹 一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹马,8个跑道,选出最快的... 阅读详情
2006年5月25日 上午 07:56:00
发表者:吴军, Google 研究员

我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。

先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少 语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天的语音识别和机 器翻译也是这么做的。但这种测试方法对于研发语言模型的人来讲,既不直接、又不方便,而且很难从错误率反过来定量度量语言模型。事实上,在贾里尼克 (Fred Jelinek)的人研究语言模型时,世界上既没有像样的语音识别系统,更没有机器翻译。我们知道,语言模型是为了用上下文预测当前的文字, 模型越好,预测得越准,那么当前文字的不确定性就越小。

信息熵正是对不确定性的衡量,因此信息熵可以直接用于衡量统计语言模型的好坏。贾里尼克从信息熵出发,定义了一个称为语言模型复杂度  (Perplexity)的概念,直接衡量语言模型的好坏。一个模型的复杂度越小,模型越好。李开复博士在介绍他发明的 Sphinx 语音识别系统时谈 到,如果不用任何语言模型(即零元语言模型)时,复杂度为997,也就是说句子中每个位置有 997 个可能的单词可以填入。如果(二元)语言模型只考虑 前后词的搭配不考虑搭配的概率时,复杂度为 60。虽然它比不用语言模型好很多,但是和考虑了搭配概率的二元语言模型相比要差很多,因为后者的复杂度只有  20。

信息论中仅次于熵的另外两个重要的概念是“互信息”(Mutual Information) 和“相对熵”(Kullback-Leibler Divergence)。

“互信息”是信息熵的引申概念,它是对两个随机事件相关性的度量。比如说今天随机事件北京下雨和随机变量空气湿度的相关性就很大,但是和姚明所在的休斯敦 火箭队是否能赢公牛队几乎无关。互信息就是用来量化度量这种相关性的。在自然语言处理中,经常要度量一些语言现象的相关性。比如在机器翻译中,最难的问题 是词义的二义性(歧义性)问题。比如 Bush 一词可以是美国总统的名字,也可以是灌木丛。(有一个笑话,美国上届总统候选人凯里 Kerry 的名字 被一些机器翻译系统翻译成了"爱尔兰的小母牛",Kerry 在英语中另外一个意思。)那么如何正确地翻译这个词呢?人们很容易想到要用语法、要分析语句 等等。其实,至今为止,没有一种语法能很好解决这个问题,真正实用的方法是使用互信息。具体的解决办法大致如下:首先从大量文本中找出和总统布什一起出现 的互信息最大的一些词,比如总统、美国、国会、华盛顿等等,当然,再用同样的方法找出和灌木丛一起出现的互信息最大的词,比如土壤、植物、野生等等。有了 这两组词,在翻译 Bush 时,看看上下文中哪类相关的词多就可以了。这种方法最初是由吉尔(Gale),丘奇(Church)和雅让斯基 (Yarowsky)提出的。

当时雅让斯基在宾西法尼亚大学是自然语言处理大师马库斯 (Mitch Marcus) 教授的博士生,他很多时间泡在贝尔实验室丘奇等人的研究室里。也 许是急于毕业,他在吉尔等人的帮助下想出了一个最快也是最好地解决翻译中的二义性,就是上述的方法,这个看上去简单的方法效果好得让同行们大吃一惊。雅让 斯基因而只花了三年就从马库斯那里拿到了博士,而他的师兄弟们平均要花六年时间。

信息论中另外一个重要的概念是“相对熵”,在有些文献中它被称为成“交叉熵”。在英语中是 Kullback-Leibler Divergence,是 以它的两个提出者库尔贝克和莱伯勒的名字命名的。相对熵用来衡量两个正函数是否相似,对于两个完全相同的函数,它们的相对熵等于零。在自然语言处理中可以 用相对熵来衡量两个常用词(在语法上和语义上)是否同义,或者两篇文章的内容是否相近等等。利用相对熵,我们可以到处信息检索中最重要的一个概念:词频率 -逆向文档频率(TF/IDF)。我们下回会介绍如何根据相关性对搜索出的网页进行排序,就要用的餐TF/IDF 的概念。另外,在新闻的分类中也要用到 相对熵和 TF/IDF。

对信息论有兴趣又有一定数学基础的读者,可以阅读斯坦福大学托马斯.科弗 (Thomas Cover) 教授的专著 "信息论基础"(Elements of Information Theory):
http://www.amazon.com/gp/product/0471062596/ref=nosim/103-7880775-7782209?n=283155
http://www.cnforyou.com/query/bookdetail1.asp?viBookCode=17909
科弗教授是当今最权威的信息论专家。


http://googlechinablog.com/2006/05/blog-post_25.html  
信息熵在图像处理中的应用 信息论是人们在长期通信实践活动中,由通信技术与概率论、随机过程、数理统计等学科相 结合而逐步发展起来的一门新兴交叉学科。而熵是信息论中事件出现概率的不确定性的量度, 能有效反映事件包含的信息。 立即下载

相关推荐

Xftp卸载报错1628终极解决指南:深入解析InstallShield残留问题

本文深入解析了Xftp卸载时遇到的1628错误,其根源在于InstallShield安装引擎的残留问题。文章提供了从手动清理注册表项到彻底删除隐藏安装备份文件夹的完整解决方案,并给出了防患于未然的实用建议,帮助用户彻底解决这一经典安装报错。

weixin_29276847的博客 336

数学之美 系列七 -- 信息论在信息处理中的应用

我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中 谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识 别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天的语音识别和机器翻译也是这么做的。但这种

ruixj的专栏 1268

从Delta Delay到Timing Window:详解数字芯片后端时序差异的那些坑

本文深入剖析了数字芯片后端设计中,模块级与系统级时序分析结果不一致的核心原因。重点解释了Delta Delay如何导致模块级分析的乐观假设,以及Timing Window(时序窗口)差异如何通过影响串扰噪声计算,在顶层集成时引发新的时序违例,尤其是保持时间问题。文章为工程师提供了从约束建模到签核策略的系统性应对方案。

beer8的博客 499

信息论在通信系统中的应用

它主要是研究通讯和控制系统中普遍存在着信息传递的共同规律以及研究最佳解决信息的获限、度量、变换、储存和传递等问题的基础理论。自香农 (C.E.Shannom)提出信息理论以来,信息论已经成为通信理论中重要而又基础的 一 部分。如今 ,通信中越来越多的使用光作为传输媒质以及光器件的快速发展 ,。信息论还研究信道的容量、消息的编码与调制的问题以及噪声与滤波的理论等方面的内容。信息论还研究语义信息、有效信息和模糊信息等方面的问题。信息论有狭义和广义之分。

xia_hua_yan的博客 2835

Cadence17.2 > OrCAD Capture CIS > 设计规则检查(Design Rule Check)DRC学习记录详解

选中设计完成的DSN文件,选择Tool->Design Rule Check,弹出下面对话框,详解如下。 一、Design Rule Check对话框选项详解 Design Rules Options tab Set the scope, mode and type of design rule (electrical and / or physical) test options for the design rules check. 为

DL_62532的专栏 1万+

神联动:LSTM+卡尔曼滤波!一区大门轻松开!

近来热度飙升,成为时间序列预测和状态估计等领域的香饽饽,非常好发高区!主要在于:这两者结合,不仅能提高模型预测准确性;还能拓展应用场景,为我们的论文创新提供发挥空间,且当下还在蓝海阶段,还不算卷。具体点说:卡尔曼滤波擅长处理线性状态估计和噪声,能使LSTM更好地适应动态环境的变化,减少噪声干扰,降低预测误差。而LSTM通过捕捉长期依赖关系,擅长处理非线性时间序列,能够弥补卡尔曼滤波在这方面的不足,从而把应用场景从传统的状态估计,延伸到金融预测、工业检测、自动驾驶等任务。

2401_82426425的博客 2209

数学之美 系列七 信息论在信息处理中的应用

 发表者:吴军, Google 研究员 我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天

Emacser's Blog 666

AOSP14 Launcher3——手势上滑关键类AbsSwipeHandler解析

通过精密的事件监听、状态管理和对系统动画 API 及 Launcher 内部组件的协调,实现了复杂而流畅的手势导航体验。它的抽象设计允许子类(如。是 Quickstep (Launcher3 的手势导航实现) 中处理。的核心逻辑抽象基类。这个非常核心且复杂的类。)定制特定的回家动画逻辑。好的,我们来深入分析。

Micheal_Yang's Blog 1519

数学之美 系列七 – 信息论在信息处理中的应用

数学之美 系列七 -- 信息论在信息处理中的应用2006年5月25日 上午 07:56:00uT("time114822338683782989");发表者:吴军, Google 研究员 我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,

peter1_jiang的专栏 756

matlab 一维相位解缠

一维相位解缠算法的matlab代码实现。

点云侠的博客 372

数学之美系列之七:信息论在信息处理中的应用

 我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天的语音识别和机器翻译也是这么做的。但这种测

G.T@优快云程序志 1249

【CUDA Runtime】第一个“Hello World“程序

CUDA(Compute Unified Device Architecture)是 NVIDIA 提供的一个并行计算平台和编程模型,旨在通过利用 GPU 的强大计算能力来加速计算密集型应用。对于许多开发者而言,开始学习 CUDA 编程的第一步通常是编写一个简单的“Hello World”程序。尽管 CUDA 的实际应用远远超出一个简单的例子,但这个初步的示例能帮助开发者快速入门,理解基本的 CUDA 编程流程。

m0_62599305的博客 1507

数学之美(系列七) 之 信息论在信息处理中的应用

数学之美 系列七 -- 信息论在信息处理中的应用2006年5月25日 上午 07:56:00uT("time114822338683782989");发表者:吴军, Google 研究员 我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,

pengpengfly的专栏 644

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数学之美系列七:信息论在信息处理中的应用

我们已经介绍了信息熵,它是信息论的基础,我们这次谈谈信息论在自然语言处理中的应用。 先看看信息熵和语言模型的关系。我们在系列一中谈到语言模型时,没有讲如何定量地衡量一个语言模型的好坏,当然,读者会很自然地想到,既然语言模型能减少语音识别和机器翻译的错误,那么就拿一个语音识别系统或者机器翻译软件来试试,好的语言模型必然导致错误率较低。这种想法是对的,而且今天的语音识别和机器翻译也是这么做的。但

xiaohang20103的专栏 747

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: 【数学之美系列六】 图论和网络爬虫 (Web Crawlers)
下一篇: 【数学之美 系列八】 贾里尼克的故事和现代语言处理
丰盘ECM产研团队博客
博客等级 码龄20年 123粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值