论文笔记--Enriching Word Vectors with Subword Information
- [1. 文章简介](#1. 文章简介)
- [2. 文章概括](#2. 文章概括)
- [3 文章重点技术](#3 文章重点技术)
-
- [3.1 FastText模型](#3.1 FastText模型)
- [3.2 Subword unit](#3.2 Subword unit)
- [4. 文章亮点](#4. 文章亮点)
- [5. 原文传送门](#5. 原文传送门)
- [6. References](#6. References)
1. 文章简介
- 标题:Enriching Word Vectors with Subword Information
- 作者:Piotr Bojanowski, Edouard Grave, Armand Joulin, Tomas Mikolov
- 日期:2017
- 期刊:TACL
2. 文章概括
文章提出了FastText模型,在传统的skip-gram模型[1]的基础上增加了对字符级信息的捕捉,增强模型对合成词之间、相同词语的不同词性之间的理解能力。模型的整体架构基于skip-gram,除了增加一项负损失函数。
3 文章重点技术
3.1 FastText模型
给定大小为 W W W的词表,其中每个单词可以表示为它的索引 w ∈ { 1 , ... , W } w\in \{1, \dots, W\} w∈{1,...,W},模型的目标为学习每个单词 w w w的向量表示。参考skip-gram[1]的方法,我们建模的思想为通过当前单词预测它的上下文:给定单词序列 w 1 , ... , w T w_1, \dots, w_T w1,...,wT,模型需要最大化 ∑ t = 1 T ∑ c ∈ C t log p ( w c ∣ w t ) \sum_{t=1}^T \sum_{c\in \mathcal{C}_t} \log p(w_c|w_t) ∑t=1T∑c∈Ctlogp(wc∣wt),其中 C t \mathcal{C}t Ct表示单词 w t w_t wt的上下文索引。接下来我们通过使用每个单词的向量表示对条件概率 p ( w c ∣ w t ) p(w_c|w_t) p(wc∣wt)建模:考虑一个得分函数 s s s将当前单词与其上下文单词的向量映射为一个实数得分,则我们可以通过Softmax将 s s s转化为上述条件概率:
p ( w c ∣ w t ) = e s ( w t , w c ) ∑ j = 1 W e s ( w t , j ) p(w_c|w_t) = \frac{e^{s(w_t, w_c)}}{\sum{j=1}^W e^{s(w_t, j)}} p(wc∣wt)=∑j=1Wes(wt,j)es(wt,wc),但这种方法只能预测一个上下文单词 w c w_c wc的条件概率。为了解决该问题,我们可以将问题转化为一系列独立的二分类任务,每个分类任务的目的是预测上下文单词是否出现。
对每个分类任务:对于给定的 t t t位置的单词,我们要预测位置为 c c c的上下文单词。区别于skip-gram,我们采用二分类逻辑损失函数得到负对数似然函数:
log ( 1 + e − s ( w t , w c ) ) + ∑ n ∈ N t , c log ( 1 + e s ( w t , n ) ) \log (1 + e^{-s(w_t, w_c)}) + \sum_{n\in \mathcal{N}{t, c}}\log (1 + e^{s(w_t, n)}) log(1+e−s(wt,wc))+n∈Nt,c∑log(1+es(wt,n)),进一步,我们可以通过向量点积来表示得分函数 s s s,即 s ( w t , w c ) = u w t T v w c s(w_t, w_c) = \bold{u}^T{w_t} \bold{v}{w_c} s(wt,wc)=uwtTvwc,其中 u w t , v w c \bold{u}{w_t}, \bold{v}_{w_c} uwt,vwc分别表示当前单词和其上下文单词对应的向量表示。
3.2 Subword unit
为了捕捉单词内部结果,文章提出了另外一种得分函数 s s s:将每个单词 w w w表示为字符的n-gram,并在单词的开始和结束位置增加 < a n d > <and> <and>来区分同序列其它单词。例如,考虑单词where,当 n = 3 n=3 n=3时,它的所有n-grams为 <wh, whe, her, ere, re>。注意这里的her与单词<her>可通过<>进行区分。
接下来计算上述全部n-grams和单词整体(<where>)的向量表示,再求和得到新的得分函数
s ( w , c ) = ∑ g ∈ G w z g T v c s(w, c) = \sum_{g\in \mathcal{G}_w} \bold{z}_g^T \bold{v}_c s(w,c)=g∈Gw∑zgTvc,其中 G w \mathcal{G}_w Gw表示单词 w w w的所有n-grams(包含单词自身)的集合。
4. 文章亮点
文章提出了FastText模型,通过采用字符级别的n-grams向量表示将subword信息捕捉到模型中。实验表明文章提出的模型比skipgram, cbow表现更好,且对OOV单词的处理能力更强。数值实验表明,更大的n-grams对结果提升有帮助,文章建议采用 n − g r a m s = 3 , ... , 6 n-grams = 3, \dots, 6 n−grams=3,...,6。
5. 原文传送门
Enriching Word Vectors with Subword Information
6. References
[1] 论文笔记--Efficient Estimation of Word Representations in Vector Space