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

相关推荐
L_cl43 分钟前
【NLP 17、NLP的基础——分词】
人工智能·自然语言处理
西西弗Sisyphus1 小时前
大型语言模型(LLMs)演化树 Large Language Models
人工智能·语言模型·自然语言处理·大模型
Captain823Jack3 小时前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
Captain823Jack4 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
weixin_443290699 小时前
【阅读记录-章节6】Build a Large Language Model (From Scratch)
人工智能·语言模型·自然语言处理
地中海~9 小时前
Stealthy Attack on Large Language Model based Recommendation
人工智能·语言模型·自然语言处理
三月七(爱看动漫的程序员)13 小时前
HiQA: A Hierarchical Contextual Augmentation RAG for Multi-Documents QA---附录
人工智能·单片机·嵌入式硬件·物联网·机器学习·语言模型·自然语言处理
18号房客16 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
强哥之神17 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai
18号房客17 小时前
一个简单的深度学习模型例程,使用Keras(基于TensorFlow)构建一个卷积神经网络(CNN)来分类MNIST手写数字数据集。
人工智能·深度学习·机器学习·生成对抗网络·语言模型·自然语言处理·tensorflow