文本表示方法
词向量
独热编码模型和分布式表征模型
独热编码 | 分布式表征 | |
---|---|---|
固定长度的稠密词向量 | ||
优点 | 一个单词一个维度,彼此之间构成标准正交向量组 | 数字化后的数值可以表示语义上的关系 |
缺点 | 稀疏, | 词向量维度大导致计算效率低 |
独热编码会根据语料库中的单词个数,来确定词向量的维度
分布式表征,预先确定词向量的维度,生成的词向量
文本表示方法
基于统计的词向量
词袋模型 Bag of words, BOW
忽略文本中词语的顺序和语法结构,将文本视为词的集合,通过词汇表中每个单词在文本中出现的次数来表示文本。
TF-IDF
单词在特定文本中的重要性得分表示为:单词在文本出现的频率和出现改单词的文本数量在语料库中的频率。
基于神经网络的词向量
Word2Vec
Word2Vec 有两种架构:CBOW(Continuous Bag of Words) 和 Skip-Gram。其中,CBOW 是根据上下文来预测中心词,而 Skip-Gram 是根据中心词来预测上下文。
例如:you say goodbye and i say hello.
如果上下文窗口为 1,对于 CBOW 来说,you say goodbye 中的目标预测词为 say,上下文为 you goodbye。
CBOW
训练过程
构建训练集和测试集。
you say goodbye and i say hello.设定上下文窗口为 1.
上下文 | 目标词 |
---|---|
you goodbye | say |
say and | goodbye |
goodbye i | and |
and say | i |
i hello | say |
- 文本预处理。假设词汇表大小为 V,词向量为 d
word2vec连续词袋模型CBOW详解,使用Pytorch实现 - 知乎
Glove
基于单词的共现矩阵来学习词向量。其中,共现矩阵记录两个单词在语料库中共现的次数。
Transformer 相较于 RNN 的改进
- 并行计算
- 因为 attention 机制能一次获取全局信息,所以最长计算路径短
- 可以捕捉长距离依赖关系