Lecture 12: Information from parts of words: SubwordModels

在这里插入图片描述

Human language sounds: Phonetics and phonology

人类语言声音:语音学和音韵学

  • Phonetics 语音学是声音流——毫无争议的“物理学”
  • Phonology 音位学假定一个或多个独特的范畴单位:音素的独特特征
    • 一种可能是普遍的类型学,但语言是特殊的认识
    • 范畴知觉的最好证据来自音韵学
    • 音素内部的差别缩小;音素之间的差别扩大
      在这里插入图片描述

Morphology: Parts of words
词法:词类

  • 传统上,语素是最小的语义单位

    • [ [ u n [ [ f o r t u n ( e ) ] R O O T a t e ] S T E M ] S T E M l y ] W O R D [[un [[fortun(e) ]_{ROOT}ate]_{STEM}]_{STEM }ly]_{WORD}
  • 深度学习:很少研究形态学;递归神经网络的一个尝试是(Luong,Socher,&Manning 2013)
    在这里插入图片描述
    一种可能的方法来处理更大的词汇-大多数看不见的单词是新的形态形式(或数字)

  • 一个简单的替代方法是使用字符n-grams

    • Wickelphones(Rumelhart& McClelland 1986)
    • Microsoft’s DSSM (Huang, He, Gao, Deng, Acero, & Hect2013)
  • 使用卷积层的相关想法

  • 能更容易地发挥词素的许多优点吗?
    在这里插入图片描述

Words in writing systems

  • 书写系统在表达单词的方式上各不相同
    • 没有分词:美国关岛国际机场及其办公室均接获
    • 词(大多数)被分开:This is a sentence with words
      • 附着词 Clitics
        分开的:在这里插入图片描述
        连续的:在这里插入图片描述
      • 复合名词 -
        分开的 life insurance company employee
        连续的 Lebensversicherungsgesellschaftsangestellter

Models below the word level

  • 需要处理数量很大的开放词汇:巨大的、无限的单词空间
    • 丰富的形态:nejneobhospodařovávatelnějšímu (“to the worst farmable one”)
    • 音译(特别是名字,在翻译中基本上是音译)
    • 非正式的拼写
      在这里插入图片描述

Character-Level Models

  1. 词嵌入可以由字符嵌入组成
    为位置单词产生嵌入
    相同的拼写分享相同的嵌入
    解决OOV(未登录词)问题
  2. 连续的语言可以被当作字符处理

这两种方法都被证明是很成功的

  • 有些令人惊讶的是,传统上,音素/字母不是一个语义单位,但是DL模型组成了组
  • 深度学习模型可以存储和构建来自于多个字母组的含义表示,从而模拟语素和更大单位的意义,从而汇总形成语义

Below the word: Writing systems

  • 大多数度入学习NLP的工作都是从书面语言开始的——它是易于处理和发现的数据
  • 但人类语言书写系统不是一回事!
    在这里插入图片描述

Purely character-level models

  • 我们在上节课上看到了一个句子分类的纯字符级模型的好例子:
    • 用于文本分类的超深卷积网络
    • Conneau, Schwenk, Lecun, Barrault.EACL 2017
  • 通过堆积卷积块得到的不错的结果

Purely character-level NMT models
以字符作为输入和输出的机器翻译系统

  • 最初,效果不令人满意
    (Vilaret al., 2007; Neubiget al., 2013)
  • 只有decoder(成功的)
    (JunyoungChung, KyunghyunCho, YoshuaBengio. arXiv 2016).
  • 然后有前景的结果
    • (Wang Ling, Isabel Trancoso, Chris Dyer, Alan Black, arXiv 2015)
    • (Thang Luong, Christopher Manning, ACL 2016)
    • (Marta R. Costa-Jussà, José A. R. Fonollosa, ACL 2016)

English-Czech WMT 2015 Results

在这里插入图片描述

  • Luong和Manning测试了一个纯字符级seq2seq (LSTM) NMT系统作为基线
  • 它在单词级基线上运行得很好
  • 对于 UNK,是用 single word translation 或者 copy stuff from the source
  • 字符级的 model 效果更好了,但是太慢了
    • 但是在运行时需要3周的时间来训练,运行时没那么快
  • 如果放进了 LSTM 中,序列长度变为以前的数倍(大约七倍)

Fully Character-Level Neural Machine Translation without Explicit Segmentation
Jason Lee, KyunghyunCho, Thomas Hoffmann. 2017.
编码器如下,解码器是一个字符级的GRU
在这里插入图片描述
输入的字符先被映射到character embedding。然后与窗口大小不同的卷积核进行卷积操作再将输出联结起来,例如上图中有三种窗口大小分别为3,4,5的卷积核,相当于学习了基于字符的trigram, 4-grams, 5-grams。然后对卷积的输出进行max pooling操作,相当于选择最显著的特征产生segment embedding。由此我们从最基础的输入的character embedding得到了系统中认为语言学上有意义的segment embedding。然后将这些特征经过Highway Network(有些类似于Residual network,方便深层网络中信息的流通,不过加入了一些控制信息流量的gate)和双向的GRU,这样得到最终的encoder output。之后decoder再利用Attention机制以及character level GRU进行decode。

Stronger character results with depth in LSTM seq2seq model

Revisiting Character-Based Neural Machine Translation with Capacity and Compression. 2018. Cherry, Foster, Bapna, Firat, Macherey, Google AI
在这里插入图片描述

  • 左图横坐标表示LSTM层数,如1×2+2表示encoder使用1层BiLSTM,decoder使用2层LSTM,同样地,3×2+4表示encoder使用3层BiLSTM,decoder使用4层LSTM
  • 模型较小时,word-level 更佳;模型较大时,character-level 更佳

Sub-word models: two trends

  • 与词向量相同的架构
    • 但使用更小的单元,“word pieces”
    • [Sennrich, Haddow, Birch, ACL’16a],
      [Chung, Cho, Bengio, ACL’16].
  • 混合结构
    • 主模型使用单词,其他使用字符级
    • [Costa-Jussà& Fonollosa, ACL’16],
      [Luong & Manning, ACL’16].

Byte Pair Encoding

  • 最初是一种压缩算法
  • 也是一种分词算法
    • 从底向上聚类
    • 从数据中所有(Unicode)字符的unigram词汇表开始
    • 频率最高的ngram pairs↦一个新的ngram
      下面是一个例子
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  • 有一个目标词汇大小,当达到时停止。
  • 做确定的最长片段分词
  • 分割只在一些先前的tokenizer(通常是用于MT的Moses tokenizer)识别的单词内进行
  • 自动决定系统的词汇
    • 不再是传统的“词”

Wordpiece/Sentencepiece model

  • 谷歌的NMT(GNMT)使用了它的一个变体
    • V1:wordpiecemodel
    • V2:sentencepiece model
  • 不使用字符的 n-gram count,而是使用贪心近似来最大化语言模型的对数似然函数值,选择对应的pieces
    • 添加最大限度地减少困惑度(衡量语言模型)的n-gram
  • Wordpiece模型标记内部单词(即将一个单词划分成几个单词)
  • Sentencepiece模型使用原始文本
  • BERT 使用了 wordpiece 模型的一个变体
    • (相对)在词汇表中的常用词
      • at, fairfax, 1910s
    • 其他单词由wordpieces组成
      • hypatia = h ##yp ##ati ##a(如何从四个向量中得到hypatia的表示,加起来平均,或选择最大的,或经过一个LSTM进行编码等等)
  • 如果你在一个基于单词的模型中使用BERT,你必须处理这个

Character-level to build word-level

Learning Character-level Representations for Part-ofSpeech Tagging
(Dos Santos and Zadrozny2014)
在这里插入图片描述

  • 对字符进行卷积以生成单词嵌入
  • 为词性标注使用固定窗口的词嵌入

Character-based LSTM to build word rep’ns
在这里插入图片描述
Ling, Luís, Marujo, Astudillo, Amir, Dyer, Black, Trancoso. Finding Function in Form: Compositional Character Models for Open Vocabulary Word Representation. EMNLP’15.

  • 随机初始化字符嵌入,然后使用BiLSTM的两个最终隐藏状态作为单词嵌入,然后经过一个RNN-LM训练字符嵌入
  • 使用Bi-LSTM构建单词表示
    在这里插入图片描述

Character-Aware Neural Language Models
Yoon Kim, Yacine Jernite, David Sontag, Alexander M. Rush. 2015

  • 一个更复杂/精密的方法
  • 动机
    • 派生一个强大的、健壮的语言模型,该模型在多种语言中都有效
    • 编码子单词关联性:eventful, eventfully, uneventful…
    • 解决现有模型的罕见字问题
    • 用更少的参数获得可比较的表达性

Technical Approach
在这里插入图片描述
Convolutional Layer
在这里插入图片描述

Highway Network (Srivastavaet al. 2015)
在这里插入图片描述

  • 对n-gram交互建模
  • 在传递原始信息时应用转换。
  • 类似于LSTM存储单元的功能。

Long Short-Term Memory Network
在这里插入图片描述

  • 分级Softmax处理大的输出词汇
  • 使用 truncated backpropthrough time 进行训练

Quantitative Results
在这里插入图片描述

  • LSTM-Char比起word-level参数少,并且困惑度(PPL)也很低

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

  • 上两图结果表明,highway很有用,经过卷积之后只获得了结构上的相似性,而经过highway之后获得了语义上的相似性

Take-aways

  • 本文对使用词嵌入作为神经语言建模输入的必要性提出了质疑
  • 字符级的 CNNs + Highway Network 可以提取丰富的语义和结构信息
  • 关键思想:您可以构建“building blocks”来获得细致入微且功能强大的模型!

Hybrid NMT

  • A best-of-both-worlds architecture:
    • 翻译大多数是词级别的
    • 只有当需要的时候才使用字符级别
  • 使用一个复制机制,试图填充罕见的单词,产生了超过 2 BLEU的改进
    Thang Luong and Chris Manning. Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models. ACL 2016.

在这里插入图片描述

  • Encoder使用word级别,当遇到cute这种OOV(未登录词)词汇时使用char级别来获得word表示
  • Decoder类似,当遇到<UNK>时使用char级别
    2-stage Decoding
    在这里插入图片描述
  • 解码阶段使用两个级别的beam search,首先seq2seq在word级别搜索,当遇到<UNK>时,在字符级别使用beam search
  • 混合模型与字符级模型相比
    • 纯粹的字符级模型能够非常有效地是用字符序列作为条件上下文
    • 混合模型虽然提供了字符级的隐层表示,但并没有获得比单词级别更低的表示

English-Czech Results
在这里插入图片描述

Sample English-Czech translations
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
另一个例子
在这里插入图片描述
在这里插入图片描述

Chars for word embeddings

A Joint Model for Word Embedding and Word Morphology
在这里插入图片描述

  • 目标与w2v相同,但使用字符
  • 使用BiLSTM计算嵌入
  • 模型尝试捕捉形态学
  • 模型可以推断单词的词根

FastText embeddings

Enriching Word Vectors with SubwordInformation Bojanowski, Grave, Joulinand Mikolov. FAIR. 2016.
https://arxiv.org/pdf/1607.04606.pdf
https://fasttext.cc

  • 目的:下一代高效的word2vec类单词表示库,但更适用于具有大量词法的稀有单词和语言
  • 带有字符n-grams的 w2v 的 skip-gram模型的扩展
  • 将单词表示为用边界符号和整词扩充的字符n-grams
    w h e r e = < w h , w h e , h e r , e r e , r e > , < w h e r e > where = <wh, whe, her, ere, re>, <where>
    注意 < h e r > < h e r h e r <her>和<her不同于her
    前缀、后缀和整个单词都是特殊的
  • 使用这些表示的和来表示一个词,上下文单词得分为
    s ( w , c ) = g G ( w ) z g T v c s(w,c) = \sum_{g \in G(w)} \bold z^T_gv_c
    其中 G ( w ) G(w) 表示词w的n-gram集合
    细节:对于所有的grams,使用“hashing技巧”来获得固定数量的向量

在这里插入图片描述

  • 在频率较低单词上的不同收益
    在这里插入图片描述

总结

  • 字符级别能够捕获一些语言结构上的特征,使用FastText embeddings在一些语言上可以获得更好的效果
  • 字符级别一般有两个用处:
    • 通过字符表示产生word表示,可解决OOV问题,捕获更多的特征
    • 与word级别混合作为一个更大结构的部件
  • 纯字符级别一般的处理步骤是:卷积、最大池化、HighWay、LSTM。其中HighWay挺重要的
  • 也可以直接对字符级别使用LSTM来提取特征(不是纯字符级别,过长的依赖可能无法捕捉到)
发布了29 篇原创文章 · 获赞 10 · 访问量 7160

猜你喜欢

转载自blog.csdn.net/weixin_42017042/article/details/104213196