Loading...
墨滴

希仔

2021/04/10  阅读:18  主题:默认主题

词嵌入

词嵌入

Embedding 含义

Embedding在数学上表示一个maping: f: X -> Y, 也就是一个function,其中该函数是

  • injective(就是我们所说的单射函数,每个Y只有唯一的X对应,反之亦然)

  • 和structure-preserving (结构保存,比如在X所属的空间上X1 < X2,那么映射后在Y所属空间上同理 Y1 < Y2)。

Word Embedding

那么对于word embedding,就是将单词word映射到另外一个空间,其中这个映射具有injective和structure-preserving的特点。

词嵌入(word embedding)是一种词的类型表示,具有相似意义的词具有相似的表示,是将词汇映射到实数向量的方法总称。词嵌入是自然语言处理的重要突破之一。下面将围绕什么是词嵌入、三种词嵌入的主要算法展开讲解,并通过案例具体讲解如何利用词嵌入进行文本的情感分析。

什么是词嵌入?

词嵌入实际上是一类技术,单个词在预定义的向量空间中被表示为实数向量,每个单词都映射到一个向量。举个例子,比如在一个文本中包含“猫”“狗”“爱情”等若干单词,而这若干单词映射到向量空间中,“猫”对应的向量为(0.1 0.2 0.3),“狗”对应的向量为(0.2 0.2 0.4),“爱情”对应的映射为(-0.4 -0.5 -0.2)(本数据仅为示意)。像这种将文本X{x12345……xn12345……yn },这个映射的过程就叫做词嵌入。

之所以希望把每个单词都变成一个向量,目的还是为了方便计算,比如“猫”,“狗”,“爱情”三个词。对于我们人而言,我们可以知道“猫”和“狗”表示的都是动物,而“爱情”是表示的一种情感,但是对于机器而言,这三个词都是用0,1表示成二进制的字符串而已,无法对其进行计算。而通过词嵌入这种方式将单词转变为词向量,机器便可对单词进行计算,通过计算不同词向量之间夹角余弦值cosine而得出单词之间的相似性。

img
img

此外,词嵌入还可以做类比,比如:v(“国王”)-v(“男人”)+v(“女人”)≈v(“女王”),v(“中国”)+v(“首都”)≈v(“北京”),当然还可以进行算法推理。有了这些运算,机器也可以像人一样“理解”词汇的意思了。

词嵌入主要算法

那么如何进行词嵌入呢?目前主要有三种算法:

  • Embedding Layer
  • Word2Vec(Word to Vector)/ Doc2Vec(Document to Vector)
  • GloVe(Global Vectors for Word Representation)

希仔

2021/04/10  阅读:18  主题:默认主题

作者介绍

希仔