machine-learning - 上下文嵌入和词嵌入有什么区别
问题描述
我试图理解深度学习模型嵌入的概念。
我了解雇用word2vec
如何解决使用 one-hot 向量的限制。
然而,最近我看到大量的博客文章说明 ELMo、BERT 等在谈论上下文嵌入。
词嵌入与上下文嵌入有何不同?
解决方案
两种嵌入技术,传统的词嵌入(例如 word2vec、Glove)和上下文嵌入(例如 ELMo、BERT),旨在学习文档中每个单词的连续(向量)表示。连续表示可用于下游机器学习任务。
传统的词嵌入技术学习全局词嵌入。他们首先通过忽略不同上下文中单词的含义,使用文档中的唯一单词构建一个全局词汇表。然后,对于在文档中出现得更频繁、彼此靠近的单词,学习相似的表示。问题在于,在这样的词表示中,词的上下文含义(从词的环境中得出的含义)被忽略了。例如,在“我把手机放在桌子的左边”这句话中,“左”只学习了一种表示。但是,“left”在句子中有两种不同的含义,需要在嵌入空间中有两种不同的表示。
另一方面,上下文嵌入方法用于 通过考虑文档中所有单词的序列来学习序列级语义。因此,这样的技术基于它们的上下文来学习多义词的不同表示,例如上面示例中的“left”。
推荐阅读
- reactjs - Redux Firebase:Firebase SDK 控制台
- symfony - Symfony 4 中的未知“数组”函数
- mysql - 在 Mysql 中按文本列分组
- swift3 - iOS RXSwift 如何从 .success Result 中获取价值?
- itext7 - 在 itext7 - PdfDocument.GetNumberOfPages() 一直只返回一页
- hive - 如何在 hive 中实现累积快照
- camunda - 如何将输出值从一个服务任务传递到另一个服务任务
- docker - 检查哪个用户推送到 docker 镜像
- javascript - Jquery 查找所有 id="" 的 div 并更改其文本
- r - 独立于平台的 xaringan 演示文稿 (Blackboard)