如何表示词?

  • one-hot 编码
    • 优点:编码简单
    • 缺点:编码太长,信息量低,无法体现词之间的相似性 使用稠密向量:
  • 目标:相近的词具有相似的语义

一种直接的做法是,根据前 个词,预测第 个词的概率分布。

  • 首先查表获得词向量,然后 concat 成一个长度为 的向量
  • 拼接后送入 MLP,输出层大小等于词表大小
  • 最后经过 softmax 层转换成概率分布

word2vec

CBOW

通过上下文预测中间词。将上下文词对应的词向量直接相加求平均。输出层替换成 Huffman 数构建的路由:

  • 叶子节点为词
  • 内部节点为神经元,含一个权重向量 ,输出词向量为 时,选择左子树的概率为 为 sigmoid
  • 损失函数为选择到正确词的概率的负对数
  • 越常用的词计算量越小

跳词模型

根据中心词预测上下文。输入中心词,查表得到词向量,然后和一个输出矩阵相乘,最后 softmax 2C 次得到输出。

二者都不关心顺序。

TextCNN

文本情感分类。

  • 将文本映射为词向量
  • 用多个不同大小的卷积核,宽度和词向量维度一致
  • 然后再过一个池化层,取最大值,concat(这一步解决了变长问题)
  • 最后过 MLP,映射到两个(或多个)输出