哥伦比亚NLP笔记第一周#1-5

第一周 1.1-2 Introduction

这两节课主要解释了三个问题:什么是自然语言处理;自然语言处理为什么如此困难;这个课程的主要内容是什么?

什么是自然语言处理?

自然语言处理关心的是如何利用计算机处理人类语言或者自然语言。一方面,我们称之为自然语言理解:我们将文本输入计算机,让它去处理文本从而获得有价值的信息;另一方面我们称之为自然语言生成,机器生成一种与人类沟通的语言。
在这里插入图片描述
NLP一个比较经典的应用是机器翻译,它也是一个非常重要的难题。这个难题就是将一种语言的句子映射到另一种语言上去。PPT展示的是谷歌翻译的例子,我们可以看到这是一个从阿拉伯语到英语的翻译例子。通过翻译后输出的句子,你可以了解到阿拉伯语的含义。
在这里插入图片描述
第二个应用就是我们通常说的信息抽取。它的工作流程是将一些文本作为输入,通过分析,产生结构化的文本核心内容。比如我们输入一则招聘启事,输出显示了这则招聘启事的各个重要信息,比如涉及行业,职位,工作地点,薪水等等。我们希望计算机在一定程度上理解无结构化的文本输入,并将它转化为一种数据库结构化表示,一旦我们可以达到这一步,我们就能够做一些非常复杂的搜索:比如I want to find all jobs inthe advertising sector paying at least a certain salary in aparticular location.对普通的搜索引擎来说,这是一个非常难解决的搜索。(要对这句话进行语义理解,而不是简单字面匹配)。但是如果我先使用我的信息抽取系统对网上能找到的招聘启事进行处理,我们就可以执行数据库查询,回答像上面一样复杂的搜索。另外,我们可以执行统计搜索,告诉你会计方面的岗位近几年的变化,或者去年波士顿地区软件工程岗位的数目。
在这里插入图片描述
第三个重要应用是文本摘要:输入单个或者多个文档,试着将他们融合为一个显示这些文档主要内容的摘要。哥伦比亚大学的News Blaster系统就是一个多文档摘要系统。系统会处理相似新闻报道的多文档,然后生成一个显示这些文档主要内容的摘要。
在这里插入图片描述
还有一项关键应用就是我们所说的对话系统,人类可以去与计算机进行互动对话去完成一些任务。比如图上的例子就是用户希望定一个航班的例子,在用户表达完自己的请求之后,系统发现缺少航班时间要求的信息,所以系统自主生成一个对话询问时间,用户回答后,系统返回符合用户需求的航班列表。一个对话系统的基本问题是建立一个人类可以使用自然语言与计算机互动的系统。这个系统涉及自然语言处理,还涉及自然语言生成。

  • 除了刚才所提的应用之外,我们再来看一些自然语言处理的基础问题:
    在这里插入图片描述
    第一个基础问题就是标注问题:一些序列或者字符作为输入,输出上我们回得到一个被标注的序列。第一个例子就是词性标注,将一个句子作为输入,然后输出标注了它的词性的序列。第二个例子如下图,是一个实体识别问题,这里的问题同样是将一句话作为输入,但需要识别句子中的基本实体。NA表示他不属于任何实体,或者有的字符属于公司(命名实体)的一部分,Sc表示公司(命名实体)的开始部分,Cc表示公司(命名实体)的组成部分。类似地,SL表示地址(命名实体)的开始部分,CL表示地址(命名实体)组成部分。简单的说,标记问题就是一个输入序列的映射问题,通常是将字符映射到标记序列,使每个字符都有自己的标记。
    在这里插入图片描述
    另外一个基础问题就是自然语言处理的句法分析,这里我们仍然使用一些句子作为输入,将它映射到输出,通常的输出被称之为句法树。句法树是依照算法知识对句子进行基本的层次分解,一旦我们可以识别出这种表示,我们可以识别出基本语法单元的关系。

NLP的困难之处(为什么NLP如此之困难)

  • 歧义问题
    在这里插入图片描述
    这个例子就很好地说明了歧义问题,这句话可能有三种解释,而如果不能知道上下文,那么我们就无法区分这三个理解,这样歧义的问题就出现了。
    在这里插入图片描述
    这是语音识别的一个很常见而又关键的问题:从纯粹的声学角来看,序列‘like your’会被其他序列所混淆。额,比如序列‘like cured’就是一个英语中有意义的序列。在听觉上,这两个序列很容易被混淆。当然,对比下一句(a computer that understands you like cured mother.),上面一个句子(a computer that understands you like your mother.)在英语中更加合理。但是如果一个从事语音识别的人仅仅依靠声学信息(进行语音识别),他将会遇到很多类似容易混淆的歧义序列。
    在这里插入图片描述
    有意思的是,这些歧义也会出现在句法层面上。歧义会导致句法层面上出现不同的结构。
    在这里插入图片描述
    另一个层次的歧义是语义方面的歧义,有一些词语在不同的上下文会有不同的含义。如上图,mother就会有两种意思,当然前一种出现率会非常高。

在这里插入图片描述
还有一类歧义叫做篇章歧义,比如she的指代问题。

课程的主要内容

在这里插入图片描述
在这里插入图片描述

1.3-1.4 Introduction to the Language Modeling Problem

什么是语言模型?

在这里插入图片描述
假设我们有一个V集合,并且它是一个有限集合(语言中的单词是有限个数的)。它包括我们语言中需要的(或者可能用到的)所有单词。通常这个集合非常的大,他可能很容易的就包含数以千记或者数以万记的单词。我们用V+这个记号去表示所有在英语可能(存在)的句子或字符串集合。上图列举了一些表示句子的示例。
在这里插入图片描述
有了集合的定义,我们就可以开始定义语言模型了。假设我们已经有了一些句子组成的训练样本,我们希望通过这些句子学习到单词出现的概率P。P有两个特点:P>=0且所有单词的P之和为1。我们的任务就是处理训练样本,将示例句子作为输入,输出函数P作为这个处理的输出。
在这里插入图片描述
比如,图上列举出了一些句子的可能性。

为什么我们要训练语言模型?

  • 由于语言模型在很多NLP应用中有着重要的作用,语音识别就是第一个用到语言模型的应用,其他的例子包括:光学字符识别,手写识别和机器翻译等等。简单的说,语言模型在NLP中非常有用。
  • 后面课程会讲到我们拓展的(语言模型)估计方法,这些方法对处理其他自然语言处理问题中也十分有帮助。比如我们会在词性标注、自然语言句法分析和机器翻译中直接套刚才说的估计方法。

语言模型的应用举例

在这里插入图片描述
这是一个关于语音识别的语言模型的例子。我们把语音记录作为输入,它的横轴代表时间,竖轴代表振幅或者能量。通常我们会做一些预处理步骤,比如将连续的序列分割成相对短的时间片段,这些片段通常称之为“帧”。每一帧的长度一般是10毫秒,然后我们对每一帧进行傅里叶变换,从帧上我们可以得到不同频率的能量,接下来的目标就是把这些声波映射成我们真实交流的单词,比如我们这里说的是recognize speech这个短语,但实际情况中可能会出现一些和输入序列相似或者发音混淆的句子,比如wreck a nice beach。从声波的角度上看,这两个句子非常相似,但是如果加上我们的语言模型,实际操作就要简单得多。因为前者会比后者更有可能性,所以很大概率输入的序列是recognize speech。

语言模型估计

在这里插入图片描述
这里介绍的是最简单并没有任何优化的语言模型,就是简单的出现次数比上总次数。这样的简单模型有很多缺陷,最大的一个问题就是它没有处理零的问题。在你语料并不能覆盖所有对话的情况下,会有大量的零概率出现,这是一个很大的问题。

1.5- Markov Processes

在这里插入图片描述
根据上一节讲到的语言模型,我们很自然地想到求概率的方式就是简单的比率,但上一节结尾的时候我们发现,这个方法有个致命的缺陷,就是对于一个没有在训练集出现的句子,模型给出的概率为0,而且目前没有一个相对较好的解决方法。

一阶马尔可夫模型

在这里插入图片描述
假设句子的长度是固定的,那么所有可能的句子有 ∣ V ∣ n |V|^n Vn条,随着数据量越来越大,我们每次都暴力枚举储存每个句子的可能性显然是不现实的,所以我们可以应用合理的计算方法来估计概率。
根据概率论知识(大雾),显然得上述式子。
在这里插入图片描述
上述是一阶马尔可夫模型的假设:
在这里插入图片描述
也就意味着句子中第i个单词出现的概率仅仅与它前面的一个单词有关,这样我们所需要估计的参数数量就大大减少了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值