【NLP-CS224N2019】NLP简介与词向量

B站课程2017
B站课程2019
课程主页
课程资料


课程学习目标

  • 理解深度学习有效的现代方法:首先是基础知识,然后是在NLP中使用的关键方法:Recurrent networks(递归网络)、Attention(注意力)等;
  • 了解人类语言的全貌,以及理解和处理语言所面临的困难;
  • 理解并有能够为NLP中的一些主要问题构建系统(在PyTorch中):语义理解、依存句法分析、机器翻译、问答系统。

自然语言在这里插入图片描述
  • 人工智能:拥有人类知识的计算机;
  • 人类相当于一个人机计算机网络(human computer network),使用人类语言作为网络语言;
  • 人类语言:交际工具、思维工具,传达人类世界的知识;
  • 写作(writing)是一种可以学习知识的能力,它是使知识能够在空间上传送到世界各地,并在时间上传送的一种工具;
  • 相较于如今的互联网的传播速度而言,人类语言是一种缓慢发展的语言,但是,仅需人类语言形式的几百位信息,就可以构建整个视觉场景。

自然语言有什么特殊的

Natural language is a discrete/symbolic/categorical system.

  • 人类语言是一个专门用来表达意义(meaning)的系统,而不是由任何形式的物理表现产生的,这与视觉或任何其他机器学习任务都有很大的不同。
  • 大多数单词只是一个语言学以外的的符号:单词是一个映射到所指(signified 想法或事物,语言符号的意义)的能指(signifier,语言学术语,语言的符号形式,区别于意义)。
  • 语言的符号可以被编码成多种形式:声音、手势、文字等,然后通过连续的信号传输给大脑,大脑本身似乎也能以一种连续的方式对这些信号进行解码。人们在语言哲学和语言学方面做了大量的工作来概念化人类语言,并将词语与其参照、意义等区分开来。
自然语言处理的任务

  自然语言处理有不同层次的任务,从语言处理(speech processing)到语义解释(semantic interpretation)再到语篇处理(discourse processing)。自然语言处理的目标是通过设计算法使得计算机能够“理解”语言,从而能够执行某些特定的任务。

Easy

  • 拼写检查 Spell Checking
  • 关键词检索 Keyword Search
  • 同义词查找 Finding Synonyms

Medium

  • 解析来自网站、文档等的信息Parsing information from websites, documents, etc.

Hard

  • 机器翻译 Machine Translation
  • 语义分析 Semantic Analysis(What is the meaning of query statement?)
  • 指代消解 Coreference(e.g. What does “he” or “it” refer to given a document?)
  • 问答系统 Question Answering(e.g. Answering Jeopardy questions).
怎样表示一个词的意思(meaning)

The first and arguably most important common denominator across all NLP tasks is how we represent words as input to any of our models. To perform well on most NLP tasks we first need to have some notion of similarity and difference between words.

meaning (Webster dictionary)的定义

  • 由一个词或短语等表达的想法(idea);
  • 一个人想通过文字、符号等表达的想法(idea);
  • 表达在作品、艺术等方面的思想(idea)。

理解meaning的最普遍的语言方式(linguistic way):语义,将meaning视为想法、事物的代表。
在这里插入图片描述

1. 使用辞典库表示词义与词义(woed meaning)之间的关系

WordNet:一个包含同义词集(synonym sets)和上位词("is a"关系)(hypernyms)列表的辞典。
在这里插入图片描述
NLTK:NLP瑞士军刀,对任何东西都不是非常好,但有很多基本工具。

类似WordNet的辞典库存在的问题:

  • 作为一个资源很好,但忽略了细微差别;
    • 例如“proficient”被列为“good”的同义词,这只在某些上下文中是正确的
  • 缺少单词的新含义,难以持续更新;
  • 较主观;
  • 需要人力劳动来创造和维护;
  • 无法准确的计算单词相似度。

  能够用文字做的基本事情,至少是理解词语意义之间的相似性和关系,但是这种词典库只有一些固定的离散同义词集。

2. 使用离散的符号表示词语——one-hot vectors

  无论是规则学派,还是统计学派,绝大多数NLP学家都将词语作为最小单位。事实上,词语只是词表长度的one-hot向量,这是一种localist representation(大概是借用localist“局部”的意项)。
  one-hot的意思是,向量中只有一个元素为1,其余元素为0。此时,向量维数等于单词表中单词个数。

在这里插入图片描述

one-hot表示存在的问题:

  • 任意两个one-hot向量都是正交的,没有一个可以表示one-hot向量之间相似性的自然地概念。
    例如,当用户搜索"Seattle motel"时,我们也应该提供与"Seattle hotel"相关的文档,因为这两个词的意思是很相近的,但是这两个向量是正交的,我们没办法利用类似相关性这样的概念来表示两个向量的相似性。

  • 稀疏性,维数灾难

解决办法:

  • 使用类似WordNe的t辞典库获取单词之间的相似度,缺陷是,很难构造一个完整的辞典库;
  • 基于向量本身编码相似性。

3. 使用上下文(context)表示词语——word vectors

分布式语义:一个单词的意思由经常出现在它附近的单词给出的。
Distributional semantics: The concept of representing the meaning of a word based on the context in which it usually appears. It is dense and can better capture similarity.

“You shall know a word by the company it keeps” (J. R. Firth 1957: 11)

当一个单词 w w w出现在文本中时,它的上下文(context)是指出现在其附近的一组单词(在一个固定的窗口之中)。
在这里插入图片描述
为每个单词构建一个稠密的向量,使其与出现在相似的上下文中的单词向量相似。
在这里插入图片描述
词向量(word vectors)有时被称为词嵌入(word embeddings) 或词表示(word representations),它们是分布式表示 (distributed representation)。

词向量表示:

  • 为了描述不同词之间的关系,希望构造一个词向量空间;
  • 直觉上存在一个N维(N远小于13百万)向量空间足够用来编码语义。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值