论文笔记--Enriching Word Vectors with Subword Information

论文笔记--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

相关推荐
kinlon.liu2 小时前
AI与自然语言处理(NLP):中秋诗词生成
人工智能·自然语言处理
zhangbin_2374 小时前
【Python机器学习】NLP信息提取——提取人物/事物关系
开发语言·人工智能·python·机器学习·自然语言处理
路人与大师5 小时前
生成式语言模型技术栈
人工智能·语言模型·自然语言处理
AI第一基地6 小时前
推荐系统-电商直播 多目标排序算法探秘
人工智能·深度学习·排序算法·transformer·知识图谱·word2vec
sp_fyf_20247 小时前
人工智能-大语言模型-微调技术-LoRA及背后原理简介
人工智能·语言模型·自然语言处理
知来者逆8 小时前
ChemChat——大语言模型与化学的未来,以及整合外部工具和聊天机器人的潜力
人工智能·gpt·语言模型·自然语言处理·机器人·llm·大语言模型
AI领航者8 小时前
大型语言模型的结构性幻觉:不可避免的局限性
人工智能·语言模型·自然语言处理·llm·大语言模型·ai大模型·大模型幻觉
豆本-豆豆奶8 小时前
23个Python在自然语言处理中的应用实例
开发语言·python·自然语言处理·编程语音
红豆和绿豆10 小时前
大语言模型的发展-OPENBMB
人工智能·语言模型·自然语言处理
好悬给我拽开线11 小时前
【论文阅读】Act3D: 3D Feature Field Transformers for Multi-Task Robotic Manipulation
论文阅读