当前位置: 代码迷 >> 综合 >> 文本表示(Text Representation)之词集模型(SOW)词袋模型(BOW)TF-IDF模型
  详细解决方案

文本表示(Text Representation)之词集模型(SOW)词袋模型(BOW)TF-IDF模型

热度:86   发布时间:2023-12-13 00:25:01.0

转载请注明来源 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,iR+ 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,即,

Vij={ 1,0,L(j)CWielse,    iR+,j[1,|len(LC)|] V i j = { 1 , L C ( j ) ∈ W i 0 , e l s e , i ∈ R + , j ∈ [ 1 , | l e n ( L C ) | ]

词袋模型(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,即,

Vij={ freqi(L(j)C),0,L(j)CWielse,    iR+,j[1,|len(LC)|] V i j = { f r e q i ( L C ( j ) ) , L C ( j ) ∈ W i 0 , e l s e , i ∈ R + , j ∈ [ 1 , | l e n ( L C ) | ]

词频-逆文档频率(TF-IDF)

     TF:(Term Frequency),衡量一个term在文档 doci d o c i 中出现的频率,

TFi(w)=term wfreqi(w)term|Wi| T F i ( w ) = t e r m w 在 文 档 中 出 现 的 次 数 f r e q i ( w ) 文 档 中 t e r m 的 总 数 | W i |

     IDF:(Inverse Document Frequency),衡量某个term在语料库 C C 中的重要性,
IDFi(w)=log|Ci|term wsum(I(wCj)) I D F i ( w ) = log ? 文 档 总 数 | C i | 包 含 t e r m w 的 文 档 数 s u m ( I ( w ∈ C j ) )
I(?)(indicatorfunction) 其 中 I ( ? ) 为 指 示 函 数 ( i n d i c a t o r f u n c t i o n )
    TF?IDFi(w)=TFi(w)×IDFi(w) T F ? I D F i ( w ) = T F i ( w ) × I D F i ( w ) ,即,
Vij=TF?IDFi(L(j)C),  iR+,j[1,|len(LC)|] V i j = T F ? I D F i ( L C ( j ) ) , i ∈ R + , j ∈ [ 1 , | l e n ( L C ) | ]

  相关解决方案