自然语言处理 cs224n 2019 Lecture 12: Information from parts of words: Subword Models课程笔记

课程内容

  1. 语言学的一点小知识
  2. 纯粹的字符级别的模型
  3. 子单词模型:Byte Pair Encoding and friends
  4. Hybrid character 和单词级的模型
  5. fastText

(这节课也没怎么听懂,以后要边听边做笔记了)

一、人类语言声音:语音学和音系学

语音学是音流,这是属于物理层面的东西

词法学:一个n-grams的代替方案

 

在基于单词的模型中存在一些问题:

需要处理很大的词汇表,在英语中单词只要变个形态就是另一个单词了,比如说:gooooood bye

字符级别模型

单词嵌入可以由字符嵌入表示:

  1.     能为不知道的单词生成嵌入
  2.     相似的拼写有相似的嵌入
  3.     解决了oov问题

传统来说,一个因素或者一个字母不是一个因素单元,但是深度语言模型把它们组合在一起了。

单词之下的书写系统

大部分深度学习的任务都是从语言的书写形式来处理语言的,这是一个简单的过程,需要寻找数据。

纯粹的字符级别的模型

  1. 刚开始效果并不好
  2. 后来只有解码器使用
  3. 然后变成了有前景的结果

3、子单词模型:两个趋势

和单词级别的模型有相同的架构

但是使用了更少的词单元:“词块”

Hybrid architectures:主要的模型含有单词,一些其他的含有字符

字节对的编码

使用的是一个压缩算法:将大部分频繁出现的字节对标记为新的字节对。

自然语言处理 cs224n 2019 Lecture 12: Information from parts of words: Subword Models课程笔记_第1张图片

  • 有一个目标词汇量,当你达到时就停止
  • 确定最长段的单词分割
  • 分割的单词是由之前的标记器标记的
  • 不再有传统意义上的单词出现

词块、句子块模型:

谷歌使用的模型

比起使用n-gram模型,使用一个贪心算法最大化语言模型的对数可能性来选择块

最大化的增加n-gram来减少复杂度

词块模型标记内部单词,句子块模型根据原始文本工作。

四、字符级别去构建单词级别的

  1. 字符的卷积来生成词嵌入
  2. 使用pos标记固定的窗口

自然语言处理 cs224n 2019 Lecture 12: Information from parts of words: Subword Models课程笔记_第2张图片

五、FastText embeddings

使用n-grams和整个单词来代表单词

自然语言处理 cs224n 2019 Lecture 12: Information from parts of words: Subword Models课程笔记_第3张图片

然后把它们加起来:

自然语言处理 cs224n 2019 Lecture 12: Information from parts of words: Subword Models课程笔记_第4张图片

 

 

你可能感兴趣的:(NLP自然语言处理)