转载请注明来源 http://blog.csdn.net/Recall_Tomorrow/article/details/79488639
欢迎大家查看这些模型简单实现的代码……
对于一个包含若干个文档的语料库(Corpus) C={
doc1,doc2,?,docm} C = { d o c 1 , d o c 2 , ? , d o c m } ,将其所有词条(Tokens)整合为一个大的词库(Lexicons) LC L C ,对于任意文档 doci,i∈R+ d o c i , i ∈ R + 的分词结果(当然这里已经包括了NER、stopwords、lemmatization等预处理)为 Wi W i ,那么文本表示为 Vi,|Vi|=len(LC) V i , | V i | = l e n ( L C )
词集模型(Set of Words)
对于文档 doci d o c i 的 Wi W i ,如果词库中第j
个token L(j)C L C ( j ) 出现在 Wi W i 中,那么该文档此处的向量分量 Vij V i j 就为1,否则就为0,即,
词袋模型(Bag of Words)
对于文档 doci d o c i 的 Wi W i ,如果词库中第j
个token L(j)C L C ( j ) 出现在 Wi W i 中,那么该文档此处的向量分量 Vij V i j 就为它的词频freq( L(j)C L C ( j ) ),否则就为0,即,
词频-逆文档频率(TF-IDF)
TF:(Term Frequency),衡量一个term在文档 doci d o c i 中出现的频率,
IDF:(Inverse Document Frequency),衡量某个term在语料库 C C 中的重要性,
TF?IDFi(w)=TFi(w)×IDFi(w) T F ? I D F i ( w ) = T F i ( w ) × I D F i ( w ) ,即,