기사 디렉토리
인간 언어의 소리 : 음성학과 음운론
인간 언어의 소리 : 음성학과 음운론
- 음성학 음성학 사운드 스트림 - 무적 "물리학"
- 음운론의 음운론 하나 더 많은 고유의 범주를 가정 음소의 고유 한 특성
- 하나의 가능성은 널리 유형학하지만 언어는 특별한 이해입니다
- 음운론에서 인식의 범위의 가장 좋은 증거
- 음소 내부의 차이를 줄이고, 음소의 차이 확장
형태는 : 단어의 부품
어휘 : 품사를
-
전통적으로, 형태소 의미의 최소 단위이며
-
深度学习:很少研究形态学;递归神经网络的一个尝试是(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
- 附着词 Clitics
Models below the word level
- 需要处理数量很大的开放词汇:巨大的、无限的单词空间
- 丰富的形态:nejneobhospodařovávatelnějšímu (“to the worst farmable one”)
- 音译(特别是名字,在翻译中基本上是音译)
- 非正式的拼写
Character-Level Models
- 词嵌入可以由字符嵌入组成
为位置单词产生嵌入
相同的拼写分享相同的嵌入
解决OOV(未登录词)问题 - 连续的语言可以被当作字符处理
这两种方法都被证明是很成功的
- 有些令人惊讶的是,传统上,音素/字母不是一个语义单位,但是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
- 最初是一种压缩算法
- 把经常出现的byte pair用一个新的byte来代替,例如假设(‘A’, ’B‘)经常顺序出现,则用一个新的标志’AB’来代替它们。
Rico Sennrich, Barry Haddow, and Alexandra Birch. Neural Machine Translation of Rare Words with SubwordUnits. ACL 2016.
https://arxiv.org/abs/1508.07909 https://github.com/rsennrich/subword-nmt https://github.com/EdinburghNLP/nematus
- 把经常出现的byte pair用一个新的byte来代替,例如假设(‘A’, ’B‘)经常顺序出现,则用一个新的标志’AB’来代替它们。
- 也是一种分词算法
- 从底向上聚类
- 从数据中所有(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模型使用原始文本
- 空格被保留为特殊标记(_),并正常分组
- 可以通过将片段连接起来并将它们重新编码到空格中,从而在末尾将内容反转
- https://github.com/google/sentencepiece
- https://arxiv.org/pdf/1804.10959.pdf
- 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的n-gram集合
细节:对于所有的grams,使用“hashing技巧”来获得固定数量的向量
- 在频率较低单词上的不同收益
总结
- 字符级别能够捕获一些语言结构上的特征,使用FastText embeddings在一些语言上可以获得更好的效果
- 일반적으로 두 개의 유용한 캐릭터 레벨이 있습니다 :
- 단어 문자 표현을 생성함으로써, OOV 문제, 캡처 더 많은 기능을 해결했다
- 그리고 단어 수준이 큰 구조의 성분으로서 혼입
- 순수한 캐릭터 레벨 일반적인 처리 단계는 다음과 같습니다 회선, 최대 풀링, 고속도로, LSTM. 어떤 고속도로가 매우 중요
- LSTM는 특징을 추출하기 위해 캐릭터 레벨에 직접 사용할 수있는 (없는 순수한 캐릭터 레벨, 긴 의존 수도 없습니다 캡처)