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