专栏首页AI科技评论从静态到动态,词表征近几十年发展回顾

从静态到动态,词表征近几十年发展回顾

作者 | 杨晓凡

编辑 | 丛末

在自然语言处理技术的整个发展历史中,如何把最小语义元素「单词」做数字化表示,一直都是一个研究热点。

近几年,用海量无标记文本数据训练出的低维单词表征向量,也就是词嵌入 embedding,已经在包括词性标注、句法解析、命名实体识别、语意角色标注、机器翻译等许多任务中展现出了有效性。但这种词嵌入是静态的,因为只要训练过程完成之后,它们就不再会随着新的上下文而变化了。

虽然静态词嵌入有很高的效率,但它静态的本质属性让它很难应对一词多义的问题,因为这时词的意思依赖于它的上下文 。为了处理这个问题,研究者们近期提出了许多方法,根据上下文动态地学习词的意思。

比如两个句子「苹果销售手机」和「我吃了一个苹果」,静态词嵌入无法辨别这两个「苹果」之间的语义差异,而动态词嵌入却可以根据上下文给出不同的表示。很显然,这样的从预训练语言模型中提取出的动态词嵌入,相比此前的静态词嵌入,在诸多自然语言处理任务中能会发挥出更好的表现。

那么,词嵌入,从静态到动态,是如何发展的呢?现状如何?以及未来有什么样的趋势?

近日,哈尔滨工业大学王宇轩、侯宇泰、车万翔和刘挺等人在《机器学习和神经机械学国际期刊》(International Journal of Machine Learning and Cybernetics)上发表了一篇关于词嵌入的综述论文,回答了这个问题。

期刊源地址:https://doi.org/10.1007/s13042-020-01069-8

开放下载地址:http://ir.hit.edu.cn/~car/papers/icmlc2020-wang.pdf

这篇综述用一个全新的视角 —— 词嵌入从静态到动态的发展 —— 对词表示模型做了全面回顾,内容详实,值得收藏,是一份放在案角随时查阅的资料。

1

静态表征

静态词表征的发展大致可分为两个阶段。

在第一个阶段,主要使用稀疏和高维向量来表示单词。最为经典的就是独热(One‑hot)表示,每个词对应一个高维向量,向量中除了一位为「1」以外其余位都是「0」。这样的词向量相互之间全都是正交的,自然无法度量不同词之间的语意距离是否接近。这种嵌入系统存在着数据稀疏和高维的问题,通常词向量的维度与系统的词汇量一样大,难以使用。

为了解决这些问题,在第二阶段,人们用大量的文本数据训练稠密的低维向量,来代替高维向量。以下为这个阶段中几个代表性的词表示方法:

神经网络语言模型。用深度神经网络生成分布式词向量开创了一个新的时代,它很好地解决了第一阶段「数据稀疏」问题(即测试集中可能会出现训练集中不存在的词序列)。模型的训练目标是给定一个单词序列以后预测下一个可能出现的词。

SENNA。SENNA 同样是一种基于神经网络的模型,但它的训练目标是判断一段文本的可接受程度。这个目标比预测单词出现的概率要更简单可行。

CBOW 和 跳词模型(Skip‑gram)。经过创新设计、简化网络架构后得到的 CBOW 和 Skip‑gram 模型的计算复杂度大幅降低,成为分布式表征发展历史上的一座里程碑。大家耳熟能详的 Word2Vec 就是 CBOW 和Skip‑gram 的最受欢迎的实现。

GloVe 和fastText。在爆发式涌现的词嵌入模型中,GloVe 和fastText 留下了很大影响。前者更多地捕捉全局信息,更好地利用某些单词经常共同出现的特点;后者考虑了不同单词之间的拼写相似性,而且再一次大幅改进了训练速度。

虽然上述介绍的这些低维稠密分布表示在NLP领域已经取得了很大的成功,但对于一词多义问题却有点无能为力。这很显然,一个单词由一个原型向量(prototype vector)表示,这个向量不会随着上下文的变化而变化。

解决这个问题的一种直观方法是,使用多个原型向量来表示一个单词(的不同词义)。根据这一思想,Reisinger和Mooney提出了一个多原型向量空间模型,通过聚类为每个单词生成多个特定意义的向量。这种多原型的思想还被广泛应用到学习意义级的嵌入(sense-level embeddings)上,Huang等人在 SENNA架构中便使用了这种技术,取得了良好的效果。

2

动态表征

解决一词多义问题的另一种方法(可能也是更有效的),是使用动态表征,或所谓的“上下文嵌入”,其表征随着上下文的变化而变化。

CoVe。这是根据上下文内容不同而生成不同词表征的首个尝试。他们在序列到序列的机器翻译任务上训练了一个深度 LSTM 编码器,然后用它生成根据上下文变化的词嵌入,再在下游任务中应用这些词嵌入。这个模型的设计简单直接,但它在许多任务中都带来了改进,也开启了动态表征这条路线。

ELMo。相比于 CoVe,ELMo 的训练不再需要双语数据,从而让它可以直接利用几乎无限多的无标注文本,它在下游任务中的重大成功也引发了整个 NLP 研究领域的注意。技术角度上,在大规模无标注语料库上训练一个深度双向语言模型,然后从它内部的层中提取表征,就是 EMLo 表征。

ULMFit。ULMFit 是基于 LSTM 的一个改进尝试,它的技术亮点在于判别式精细调节 discriminativefinetuning 、倾斜三角学习率 slanted triangular learning-rates 以及逐层解冻 gradual unfreezing,可以帮助模型在微调阶段更好地适应目标任务,从而以很大优势领先当时的其它模型。

GPT。LSTM 的学习能力是比较有限的,所以采用了 LSTM 的 ELMo 和ULMFit 都无法很好处理长序列中的依赖关系。在基于注意力的 Transformer 模型提出以后,采用 Transformer 作为核心的 GPT 模型发挥出了优秀的表现,也进一步证明了语言模型预训练和基于上下文的词表征的有效性。

BERT。同样基于Transformer,而且考虑了从左到右、从右到左两种顺序的预训练模型 BERT 无疑是 2019 年一整年中最常被对比、最常被讨论的模型。不仅因为它的表现极为优秀,还因为它提出了单词掩膜和下句预测这两种新的无监督预训练任务,也为后来的研究者们带来了很多启发。基于 BERT 的改进模型也有一大批。

XLNet。有研究者认为BERT 的掩膜方式带来了新的缺点,而且也有观点认为 BERT 存在训练不足(不够收敛)的问题。XLNet 重新设计了预训练过程中的诸多细节,再一次刷新了预训练词嵌入的表现记录。

3

评价方法和数据集

现有的词嵌入评价指标分为两类,即内在评价和外在评价。

内在评价是在人工评价的基础上,直接评价词语之间的句法或语义关系。根据评价方法的不同,可将其分为绝对内在评价法和比较内在评价法。在第一类中,预先收集人类评估,然后作为嵌入方法的基准。而在比较内在评价法中,accessor直接根据它在特定词关系任务上的结果来评价词嵌入的质量。绝对内在评价比比较内在评价更为常用,因为它们在测试时不需要人的参与。比较流行的评估方法包括:

评估方法

数据集

Word semantic similarity

SimVerb-3500、WordSim-353、MEN

Word analogy

Google Analogy、Microsoft Research Syntactic Analogies Dataset、WordRep、BATS

Synonym detection

TOEFL、ESL、RDWP

Concept categorization

BM、AP、ESSLLI-2008

Selectional preference

MSTNN、UP、GDS

外在评价使用词嵌入作为下游任务的输入,并使用这些任务的特定度量来测量变化。由于词嵌入几乎适用于所有 NLP 任务,因此理论上所有任务都可以看作是外部评价。

在外在评价下,隐含的假设是,词嵌入在一个任务上有好的结果,在另一个任务上也会。但这种假设并不正确,实验结果表明,不同的NLP任务对不同的词嵌入有不同的偏好。因此,虽然某个外在评价对特定任务上的词嵌入是有用的,但并不能认为它们可以作为一般评估的指标。

4

跨语言词嵌入

世界上大约有7000种不同的语言,但只有少数语言具有丰富的人类注释资源。这就需要跨语言的词嵌入迁移学习,以资源丰富的语言作为训练对象,迁移到资源较少的语言中,输入的嵌入则被投射到一个共享的语义空间中。这种嵌入被称为跨语言词嵌入。

根据训练目标的不同,还可以分为on-line和off-line两种方式。通常,on-line 方法联合优化单语和跨语目标,而off-line方法将预先训练的不同语言的单语词嵌入作为输入,并将它们投射到共享的语义空间。

根据单语词嵌入类型的不同,跨语言嵌入学习方法可以分为静态嵌入和动态嵌入两种。

静态嵌入的on-line方法,通常会去学习源语言和目标语言的语言模型,并通过跨语言目标共同优化它们的目标。而静态嵌入的off-line方法,则是去学习一个映射(大多是线性转移矩阵),将源语言的向量空间转化为目标语义的向量空间。

受单语的动态词嵌入启发,最近有人开始研究跨语言的动态词嵌入。在on-line方法中,Mulcaire等人基于ELMo模型,通过从多语言数据中获取字符级信息,提出了一种多语言上下文表示模型。Lample和Conneau 采用了BERT 的目标,并从并行数据中利用跨语言监督来学习跨语言语言模型(XLMs),这些模型已经在多个跨语言任务中获得了最新的结果。而对于off-line方法,Mulcaire等人通过线性映射,将预先训练好的上下文词嵌入对齐。Wang等人提出在语义空间中直接学习这种转换,从而获得一个能够保留词义的跨语言动态嵌入。

除了利用映射将富资源语言嵌入到低资源语言中,还可以尝试同时训练不同语言的嵌入。Devlin等人对来自104种语言的单语维基百科语料库,预训练了一个单语模型(Multi-BERT),该模型在zero-shot 跨语言模型迁移方面表现出惊人的优势。

5

总结

尽管动态词嵌入在大多数NLP任务中都取得了惊人的成功,但这个领域中仍有许多问题还值得探索。作者在文章中对 8 个具有挑战性的方面做了探讨,包括自监督学习、多任务学习、多模态学习、小样本学习、语言生成、可解释性、对抗性攻击和简化训练过程,我们这里不再赘述,感兴趣的读者可以阅读https://www.yanxishe.com/events/ICLR2020。

本文分享自微信公众号 - AI科技评论(aitechtalk),作者:杨晓凡

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货 | 用 Keras 实现图书推荐系统

    推荐系统试图依据用户旧物品评级或偏好来预测对某一物品的评级或偏好。为了提高服务质量,几乎每个大公司都使用推荐系统。

    AI科技评论
  • NAACL 2019 | ​注意力模仿:通过关注上下文来更好地嵌入单词

    在稀疏上下文信息的情况下,很难得到较高质量的低频单词嵌入,“模仿”被认为是一种可行的解决方案:通过给定标准算法的词嵌入,首先训练模型出现频次高的单词的嵌入,然后...

    AI科技评论
  • 现阶段将波士顿动力的核心定位于人工智能和机器学习是不合适的

    AI 科技评论按,就在上个月,波士顿动力在 YouTube 上刷了一波 Atlas 2 的新技能。从视频中可以看到,相比今年五月在跨越障碍时还得停顿片刻,这次 ...

    AI科技评论
  • Jeff Dean强推:可视化Bert网络,发掘其中的语言、语法树与几何学

    这篇文章是为了补充解释论文,大致呈现了主要的结论。请参阅论文以获得完整的参考文献和更多信息

    代码医生工作室
  • 如何可视化BERT?你需要先理解神经网络的语言、树和几何性质

    语言的结构是离散的,而神经网络则基于连续数据运作:高维空间中的向量。成功的语言处理网络必须要能将语言的符号信息转译为某种几何表征——但是这种表征该是怎样的形式呢...

    机器之心
  • Jeff Dean强推:可视化Bert网络,发掘其中的语言、语法树与几何学

    本文是论文(Visualizing and Measuring the Geometry of BERT)的系列笔记的第一部分。这篇论文由Andy Coenen...

    大数据文摘
  • 文本的词嵌入是什么?

    词嵌入(Word embeddings)是一种单词的表示形式,它允许意义相似的单词具有类似的表示形式。

    StoneDemo
  • 干货 | 用 Keras 实现图书推荐系统

    推荐系统试图依据用户旧物品评级或偏好来预测对某一物品的评级或偏好。为了提高服务质量,几乎每个大公司都使用推荐系统。

    AI科技评论
  • 深度 | 万物向量化:用协作学习的方法生成更广泛的实体向量

    选自blog.insightdatascience 作者:Javed Qadrud-Din 机器之心编译 参与:Edison Ke、刘晓坤 来自 Insight...

    机器之心
  • 【干货】Entity Embeddings : 利用深度学习训练结构化数据的实体嵌入

    【导读】本文是数据科学家Rutger Ruizendaal撰写的一篇技术博客,文章提出深度学习在非结构数据中有不错的表现,当前通过实体嵌入也可以使之在结构化数据...

    WZEARW

扫码关注云+社区

领取腾讯云代金券