论文笔记--Enriching Word Vectors with Subword Information
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