词嵌入是所有自然语言处理任务所必须要经历的步骤,非常的重要。词向量在网络上已经有了大量的文章,但是,出于我们专栏的完整性系统性的考虑,笔者还是决定加上这样一个专题。
计划用3-4次,彻底说清楚在自然语言处理中,词向量的由来,本质和训练。公众号专栏主要讲基本原理,知识星球讲实际的操作。
本篇主要讲述词向量的由来及本质。
作者 | 小Dream哥
编辑 | 言有三
1 词的向量化
首先,我们提出这样一个问题,
一个文本,经过分词之后,送入某一个自然语言处理模型之前该如何表示?
例如,“
人/如果/没用/梦想/,/跟/咸鱼/还有/什么/差别”,向机器学习模型直接输入字符串显然是不明智的,不便于模型进行计算和文本之间的比较。那么,我们需要一种方式来表示一个文本,这种文本表示方式要能够便于进行文本之间的比较,计算等。最容易想到的,就是对文本进行向量化的表示。例如,根据语料库的分词结果,建立一个词典,每个词用一个向量来表示,这样就可以将文本向量化了。
最早的文本向量化方法是词袋模型,我们先来看看词袋模型。
2 词袋模型
要讲词向量,我们首先不得不说的就是词袋模型。词袋模型是把文本看成是由一袋一袋的词构成的。例如,有这样两个文本:
1) “人/如果/没有/梦想/,/跟/咸鱼/还有/什么/差别”
2) “人生/短短/几十/年/,差别/不大/,/开心/最/重要”
这两个文本,可以构成这样一个词典&