词向量与词向量拼接_动态词向量算法—ELMo

ELMo是一种动态词向量算法,通过深度双向语言模型(biLM)提供上下文相关的词向量。与静态的Word2Vec和Glove不同,ELMo的词向量会根据句子的上下文变化,从而更准确地表示单词的含义。它使用biLSTM模型,通过前向和后向输出捕捉单词的前文和后文信息,并且不同层次的LSTM关注不同级别的语义细节。
摘要由CSDN通过智能技术生成

传统的词向量模型,例如 Word2Vec 和 Glove 学习得到的词向量是固定不变的,即一个单词只有一种词向量,显然不适合用于多义词。而 ELMo 算法使用了深度双向语言模型 (biLM),只训练语言模型,而单词的词向量是在输入句子实时获得的,因此词向量与上下文信息密切相关,可以较好地区分歧义。

1. 静态词向量算法

在之前的文章中介绍了词嵌入算法 Word2Vec 和 Glove。与传统的 one-hot 编码、共现向量相比,词嵌入算法得到的词向量维度更低、也可以比较好地支持一些下游的任务,例如文档分类,问答系统等。

但是这两种算法都是静态词向量算法,在数据集上训练好一个语言模型之后,每一个词的词向量就固定下来了。后续使用词向量时,无论输入的句子是什么,词向量都是一样的,例如:

"我喜欢吃小米"中的"小米"指一种食物"小米手机挺好用"中的"小米"指手机品牌给定上面两个句子,在 Word2Vec 和 Glove 中去得到"小米"的词向量都是一样的,不能根据上下文给出更准确的词向量。

而 ELMo是一种动态词向量算法,在大型的语料库里训练一个 biLSTM (双向LSTM模型)。下游任务需要获取单词词向量的时候,将整个句子输入 biLSTM,利用 biLSTM 的输出作为单词的词向量,包含了上下文信息。可以理解成,biLSTM 是一个函数,函数的输入是一个句子,输出是句子中单词的词向量。

2. 双向语言模型

首先介绍什么是双向语言模型,以及如何通过 biLSTM 得到单词的词向量,对 LSTM 不熟悉的童鞋可以参考前一篇文章

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值