NLP中embeding干了什么事?怎么干的?

基本常识

在做深度学习时,各种神经网络只能处理数字,不能处理文字,所以在输入前只能将文字转换成数字输入网络。那么embedding干的事情就是把文字转换成向量,且转换后的向量尽可能保留原文字的语意信息。

1.word2index

顾名思义就是简单的把词或字转换成相应的索引。(这种方式及其不推荐)

2.onehot

将字独热编码,这样稍好于第一种方法,但是缺陷也很明显,首先如果NLP任务重词量较大那么onehot维度将会非常大,其次onehot相当于任意个词之间是独立了(这不符合逻辑,‘不喜欢’和‘讨厌’语意相近。onehot他们是完全不相关的)

3.embedding

首先随机初始化初始(N,dim)的权重,N为训练任务的词的总个数(不重复的),dim是一个词embedding后的维度。在训练nlp任务时(N,dim)的权一起训练。
也可以使用预训练的方法来训练embedding。在进行NLP任务之前,先利用CBOW的方法预训练embedding,然后在把embedding的权重应用到自自己的NLP任务。embedding训练方法可以参考那
cs224n课程

你可能感兴趣的:(机器学习)