接下来介绍一下基于机器学习的文本分类方法。
一、文本表示方法
在机器学习算法的训练过程中,假设给定 N N N个样本,每个样本有 M M M个特征,这样组成了 N × M N×M N×M的样本矩阵,然后完成算法的训练和预测。同样的在计算机视觉中可以将图片的像素看作特征,每张图片看作hight×width×3的特征图,一个三维的矩阵来进入计算机进行计算。
但是在自然语言领域,上述方法却不可行:文本是不定长度的。文本表示成计算机能够运算的数字或向量的方法一般称为词嵌入(Word Embedding)方法。词嵌入将不定长的文本转换到定长的空间内,是文本分类的第一步。
1、什么是Embedding?
Embedding在数学上表示一个映射关系,F: X -> Y, 也就是一个Function,其中该函数是injective(就是我们所说的单射函数,每个Y只有唯一的X对应,反之亦然)和structure-preserving (结构保存,比如在X所属的空间上X1 < X2,那么映射后在Y所属空间上同理 Y1 < Y2)。那么对于word embedding,就是将单词word映射到另外一个空间,其中这个映射具有injective和structure-preserving的特点。
深度学习中,Embedding 特指用一个低维度向量表示一个实体,实体可以是一个词(Word2Vec),可以是一个物品(Item2Vec),亦或者网络关系中的节点(Graph Embedding)。
举个栗子:
使用Word2Vec将单词映射到新的向量空间,获得单词的新的表达。从图中可以得出:
Embedding(Moscow) - Embedding(Russia) ≈ Embedding(Tokyo) - Embedding(Japan),即 Embedding 之后向量可以进行计算。并且,距离相近的向量对应的实体有相近的含义。
2、One-Hot
独热编码(One-Hot)编码,又称