一、向量空间模型 VSM
向量空间模型主要用于文档的表达向量空间模型假设单词和单词之间是相互独立的,每个单词代表一个独立的语义单元,实际上很难满足:
文档中单词和单词之间存在一定的关联性,例如单词与上下几个单词之间可能存在语义上的相似性文档中可能存在一词多义 或 多词同意的现象,每个单词并不代表独立的语义单元
1. 文档-单词 矩阵
给定语料库 D 和 词汇表 V,定义 文档-单词 矩阵为:
其中 D(i,j)=1D(i,j)=1D(i,j)=1表示文档 DiD_{i}Di 中含有单词 wordjword_{j}wordj,那么文档 DiD_{i}Di 就可以表示为
事实上,文档的上述表达并未考虑单词的词序 和 单词的出现次数。一种改进策略是考虑单词的出现次数,从而赋予 文档-单词 矩阵不同的权重:
其中 wi,jw_{i,j}wi,j 表示文档 DiD_{i}Di 中单词 wordjword_{j}wordj 的权重:
若单词 wordjword_{j}wordj 在文档 DiD_{i}Di 中未出现,则 wi,j=0w_{i,j}=0wi,j=0若单词 wordjword_{j}wordj 在文档 DiD_{i}Di 中出现,则 wi,j≠0w_{i,j}
eq0wi,j=0
权重 wi,jw_{i,j}wi,j 有两种常用的选择方法:
单词权重等于单词出现的频率(TF):wi,j=TF(Di,wordj)w_{i,j}=TF(mathcal{D}_i,mathrm{word}_j)wi,j=TF(Di,wordj)
TF(Di,wordj)TF(mathcal{D}_i,mathrm{word}_j)TF(Di,wordj) 表示单词 wordjword_{j}wordj 在文档 DiD_{i}Di 中出现的次数缺点:一些高频词会以较大的权重出现在每个文档之中,这意味着对每篇文档这些高频词是非常重要的。事实上对于对大多数 NLP 任务,删除这些词不会有什么影响
单词权重等于单词的 TF-IDF:wi,j=TF(Di,wordj)×IDF(wordj)w_{i,j}=TF(mathcal{D}_{i},mathrm{word}_{j}) imes IDF(mathrm{word}_{j})wi,j=TF(Di,wordj)×IDF(wordj)
IDF(wordj)IDF(mathrm{word}_{j})IDF(wordj) 表示单词的逆文档频率,IDF(wordj)=logNDF(wordj)IDF(mathrm{word}_j)=logfrac{N}{DF(mathrm{word}_j)}IDF(wordj)=logDF(wordj)N。其中:N 为语料库的文档数量,DF(wordj)DF(mathrm{word}_j)DF(wordj) 为出现单词 wordjword_{j}wordj 的文档数量,DF(wordj)Nfrac{DF(mathrm{word}_j)}{N}NDF(wordj) 为单词 wordjword_{j}wordj 出现在一篇文档中的概率。TF-IDF 对于高频词进行降权。如果单词 wordjword_{j}wordj 出现在大部分文档内,那么 DF(wordj)Nfrac{DF(mathrm{word}_j)}{N}NDF(wordj) 较大,因此 IDF(wordj)IDF(mathrm{word}_{j})IDF(wordj) 变小。TF-IDF 不仅考虑了单词的局部特征,也考虑了单词的全局特征
词频 TF(Di,wordj)TF(mathcal{D}_{i},mathrm{word}_{j})TF(Di,wordj) 描述了单词在文档中的局部特征逆文档频率 IDF(wordj)IDF(mathrm{word}_{j})IDF(wordj) 描述了单词在语料库中的全局特征