什么是词嵌入| Word Embedding

本文参考:词嵌入

维基百科解释

In natural language processing (NLP), word embedding is a term used for the representation of words for text analysis, typically in the form of a real-valued vector that encodes the meaning of the word such that the words that are closer in the vector space are expected to be similar in meaning.[1] Word embeddings can be obtained using a set of language modeling and feature learning techniques where words or phrases from the vocabulary are mapped to vectors of real numbers. Conceptually it involves the mathematical embedding from space with many dimensions per word to a continuous vector space with a much lower dimension.

Methods to generate this mapping include neural networks,[2] dimensionality reduction on the word co-occurrence matrix,[3][4][5] probabilistic models,[6] explainable knowledge base method,[7] and explicit representation in terms of the context in which words appear.[8]

Word and phrase embeddings, when used as the underlying input representation, have been shown to boost the performance in NLP tasks such as syntactic parsing[9] and sentiment analysis.[10]

【In Chinese】:
Word embedding 是自然语言处理中的重要环节,它是一些语言处理模型的统称,并不具体指某种算法或模型。Word embedding 的任务是把词转换成可以计算的向量 。从概念上讲,它涉及从每个单词一维的空间到具有更低维度的连续向量空间的数学嵌入。

生成这种映射的方法包括神经网络,单词共生矩阵的降维,概率模型,可解释的知识库方法,和术语的显式表示单词出现的上下文。

当用作底层输入表示时,单词和短语嵌入已经被证明可以提高NLP任务的性能,例如句法分析和情感分析。

计算机如何表示文本

计算机不能像人类一样抽象地理解文本,所以必须转换成计算机计算机能理解的语言——数字。其中向量就是这么一个很好的桥梁。所以,要让计算机处理文本这种结构化数据,必须将其转变为向量这种结构化数据。

文本表示方法

  1. 独热编码 | one-hot representation
  2. 整数编码
  3. 词嵌入 | word embedding (word2vec,GloVe,…)

word2vec是google在2013年推出的一个NLP工具,它的特点是将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系。它提供了连续词袋 (CBOW) 和 Skip-gram 模型 (SG) 的实现,以及几个演示脚本。
GloVe 是一种用于获取单词向量表示的无监督学习算法。训练是在来自语料库的聚合全局词-词共现统计数据上执行的,结果表示展示了词向量空间的有趣线性子结构。

One-Hot 编码

参考原文或其他文章,用烂的技术,下图出自参考原文在这里插入图片描述
缺点:

  1. 无法表达词语之间的关系
  2. 这种过于稀疏的向量,导致计算和存储的效率都不高

整数编码

顾名思义就是用一个整数来编码信息
缺点:

  1. 无法表达词语之间的关系
  2. 对于模型解释而言,整数编码可能具有挑战性

词嵌入|word embedding

word embedding 是文本表示的一类方法。跟 one-hot 编码和整数编码的目的一样,不过​他有更多的优点。

词嵌入并不特指某个具体的算法,跟上面2种方式相比,这种方法有几个明显的优势:

  1. 他可以将文本通过一个低维向量来表达,不像 one-hot 那么长(one-hot只用0/1来编码,向量显然每一位都有10个数字,显然能表示更多的信息)
  2. 语意相似的词在向量空间上也会比较相近(语义相近的词语,通过相同算法提取出来的特征词向量,在向量空间上不能说一定重合,但至少方向上是一致的)
  3. 通用性很强,可以用在不同的任务中(计算机通过向量理解文本信息,甚至图片、语音等信息,通过向量这个桥梁,可以打通不同模态的关系,可以参考多模态信息处理)

主流的word embedding算法

Word2vec
这是一种基于统计方法来获得词向量的方法,他是 2013 年由谷歌的 Mikolov 提出了一套新的词嵌入方法。
两种训练模式
1、通过上下文来预测当前词(CBOW)我的笔记:把词语向量化
2、通过当前词来预测上下文 (Skip-gram)
想要详细了解 Word2vec,可以看看这篇文章:《一文看懂 Word2vec(基本概念+2种训练模型+5个优缺点)

GloVe
GloVe 是对 Word2vec 方法的扩展,它将全局统计和 Word2vec 的基于上下文的学习结合了起来。

想要了解 GloVe 的 三步实现方式、训练方法、和 w2c 的比较。可以看看这篇文章:《GloVe详解

文本表示为词向量之后的应用

  • 把词向量(对词的理解)以某种方式组合,就可以作为句向量(对句子的理解),…,文章的理解
  • 词向量投射到向量空间中,用角度、点之间的距离等方式,可以得到词语之间的关系(相关性等)
  • 通过词语之间距离的换算,可以对词语进行推理
    参考: 莫烦python
 词语的距离换算。
词语距离计算这个比较有意思,比如可以拿词语做加减法。公猫 - 母猫 就约等于 男人 - 女人。 如果我哪天想知道 莫烦Python 的友商有哪些,我可以做一下这样的计算

友商 = 莫烦Python - (腾讯 - 阿里)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值