9.5 NLP slide: 第二课 预处理 T42-T46 One-hot/tf-idf T46-T56 分词 T46-42
预处理
1. 去停用词,低频词
2. Normalization:将不同时态的英文单词映射到同一个英文单词上 stemming / Lemazater
stemming : 可能将 flies -> fli 生成无效单词
Lemmazater: 保证生成有效单词 使用 knowledge base
Word Representation :
1) 图像 语音 文本 都需要转化成向量 ,one-hot
Boolean Vector / Count Vector
2) 然后对两句话的 one-hot向量,可以计算距离,也可以算余弦相似度 v1 * v2 / |v1|*|v2|
3) tf-idf : 提取文本特征向量
tfidf(w) = tf(d,w) * idf(w)
tf : 某文档D中W出现的次数, 这里W出现次数越多 tf-idf越大
idf: 总文档中,包含单词W的文档数量 , w出现在越少的文档里,值越大
总结:文档d中出现次数越多,总词库中包含w的文档越少,tf-idf越大
应用: 从而可以对文本生成 tf-idf向量,向量长度 = |V|
词向量:
1) one-hot 编码的单个单词向量之间,是彼此垂直的,无法计算相似度 ; sparsity 稀疏性
2) one-hot representation -> Distributed representation 分布式表示法 T59
比较 : one-hot representation Distributed representation
容量小 容量大,可以自定义维度
NLP核心: 如何计算该词向量 BERTS
3) 词向量的训练:
将某领域语料库(corpus),放入模型,就能学出词向量
传统词向量模型: SkipGram Glove CBOW
考虑上下文的模型: ELMO BERT XLNET
4) 训练完后,可视化
词向量领域 - 降维算法 T-SNE 其他领域 PCA
5)词向量 -> 句向量:
one-hot : 将词向量相加
Distributed representation: 将词向量做平均 ,然后再在上面加一些 tf-idf向量作为特征
比如一个 4维向量,总长度为 4+|V|
6)训练词向量的思想: 通过上下文单词的词向量 -> 未知单词的词向量 CBOW
Skip-Gram: T67
例如 _ _ working _ _ project, it is interesting
1)最终目标是未知单词的词向量 , 方法是最大化 概率乘积 T68
2) window_size
3)
4) Fast-Text subword model with skipGram: 使用了n-gram T 74